@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;1,8..60,400&family=Inter:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;margin:0 0 .4em;color:var(--ink);}
.kicker{
  font-family:var(--font-utility);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--brass);
  display:inline-block;
}
.dek{font-family:var(--font-body);font-style:italic;color:var(--muted);font-size:1.15em;margin:.3em 0 .8em;}

a:focus-visible,button:focus-visible{outline:2px solid var(--brick);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* ===== Masthead (signature element) ===== */
.masthead{border-bottom:none;background:var(--paper);}
.masthead-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:34px 0 20px;
  border-bottom:none;
}
.masthead-issue{
  font-family:var(--font-utility);font-size:13px;letter-spacing:.03em;
  color:var(--muted);text-transform:none;
}
.masthead-main{padding:0;text-align:left;}
.site-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.01em;margin:0;
}
.site-title a{color:var(--ink);}
.site-description{
  font-family:var(--font-utility);font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:6px;
}
.main-nav{border-top:1px solid var(--rule);border-bottom:3px solid var(--brick);}
.main-nav .wrap{display:flex;justify-content:flex-start;}
.main-nav ul{list-style:none;display:flex;gap:0;margin:0;padding:13px 0;flex-wrap:wrap;align-items:center;}
.main-nav li{display:flex;align-items:center;}
.main-nav li:not(:first-child)::before{
  content:"•";color:var(--rule);margin:0 16px;font-size:11px;
}
.main-nav a{
  font-family:var(--font-utility);font-size:13.5px;font-weight:600;
  letter-spacing:.01em;text-transform:none;color:var(--ink);
  border-bottom:2px solid transparent;padding-bottom:6px;
}
.main-nav a:hover{color:var(--brick);}
.main-nav .current-menu-item a{color:var(--brick);border-color:var(--brick);}
.nav-toggle{display:none;}

/* ===== Layout ===== */
.content-area{padding:48px 0 64px;}
.layout-2col{display:grid;grid-template-columns:2.1fr 1fr;gap:56px;}
@media (max-width:880px){.layout-2col{grid-template-columns:1fr;}}

/* ===== Hero / Featured ===== */
.featured-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;padding-bottom:0;margin-bottom:40px;border-bottom:1px solid var(--rule);}
@media (max-width:880px){.featured-grid{grid-template-columns:1fr;}}
.lead-story{position:relative;}
.lead-story .lead-media{position:relative;display:block;aspect-ratio:8/5;overflow:hidden;}
.lead-story .lead-media img{width:100%;height:100%;object-fit:cover;}
.lead-story .lead-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(10,16,22,.92) 0%,rgba(10,16,22,.88) 38%,rgba(10,16,22,.15) 70%,rgba(10,16,22,0) 100%);
}
.lead-story .lead-text{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 30px 28px;}
.lead-story .lead-badge{
  display:inline-block;background:var(--brick);color:#fff;font-family:var(--font-utility);
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 12px;margin-bottom:12px;
}
.lead-story h2{font-size:clamp(1.5rem,2.4vw,2rem);color:#fff;margin:0 0 .35em;}
.lead-story h2 a{color:#fff;}
.lead-story h2 a:hover{color:#E8C9A8;}
.lead-story .dek{font-style:normal;color:#C7CDD2;font-size:.92rem;margin:0 0 .7em;max-width:46ch;line-height:1.45;}
.lead-story .byline{color:#9FA8AE;border-bottom:none;padding-bottom:0;}
.lead-story .byline .author{color:#fff;}

.side-stories{display:flex;flex-direction:column;border-left:1px solid var(--rule);}
.side-story{padding:16px 0 16px 24px;border-bottom:1px solid var(--rule);}
.side-story:first-child{padding-top:2px;}
.side-story:last-child{border-bottom:none;}
.side-story h3{font-size:1.02rem;margin:.3em 0 .35em;}
.side-story h3 a:hover{color:var(--brick);}
.side-story .byline{border-bottom:none;padding-bottom:0;margin-top:0;}

/* ===== Article cards / archive grid ===== */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 28px;}
@media (max-width:980px){.card-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.card-grid{grid-template-columns:1fr;}}
.card{padding-top:0;}
.card img{aspect-ratio:8/5;object-fit:cover;margin-bottom:14px;}
.card h3{font-size:1.2rem;}
.card h3 a:hover{color:var(--brick);}
.card .excerpt{font-size:.92rem;color:var(--muted);margin-top:6px;line-height:1.5;}
.byline{font-family:var(--font-utility);font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.02em;padding-bottom:12px;border-bottom:1px solid var(--rule);}
.byline .author{color:var(--ink);font-weight:600;}

.section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:none;padding-bottom:0;margin-bottom:28px;}
.section-head h2{font-size:.85rem;margin:0;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-utility);font-weight:700;}
.section-head a{font-family:var(--font-utility);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--brick);}

/* ===== Sidebar ===== */
.widget{margin-bottom:40px;}
.widget-title{
  font-family:var(--font-utility);font-size:12.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink);
  border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:16px;
}
.most-read-item{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule);}
.most-read-item .num{font-family:var(--font-display);font-size:1.4rem;color:var(--rule);font-weight:600;}
.most-read-item h4{font-size:.98rem;margin:0;}
.most-read-item h4 a:hover{color:var(--brick);}
.widget ul{list-style:none;margin:0;padding:0;}
.widget select,.widget input[type=text],.widget input[type=search]{width:100%;font-family:var(--font-utility);padding:9px;border:1px solid var(--rule);background:#fff;}

/* ===== Single article ===== */
.article-header{max-width:760px;margin:0 auto 28px;text-align:center;}
.article-header h1{font-size:clamp(2.1rem,4vw,3.1rem);}
.article-meta{font-family:var(--font-utility);font-size:13px;color:var(--muted);margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.article-meta .sep{color:var(--rule);}
.article-feature-img{max-width:980px;margin:0 auto 36px;}
.article-feature-img img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.article-feature-img figcaption{font-family:var(--font-utility);font-size:12.5px;color:var(--muted);margin-top:8px;}
.article-body{max-width:720px;margin:0 auto;font-size:1.15rem;}
.article-body p{margin:0 0 1.3em;}
.article-body h2{font-size:1.6rem;margin-top:1.6em;}
.article-body h3{font-size:1.3rem;margin-top:1.4em;}
.article-body blockquote{
  font-family:var(--font-display);font-style:italic;font-size:1.3rem;
  border-left:3px solid var(--brick);margin:1.6em 0;padding:.2em 0 .2em 26px;color:var(--ink);
}
.article-body a{color:var(--brick);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;}
.article-body figure{margin:2em 0;}
.article-footer{max-width:720px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--rule);}
.tags{font-family:var(--font-utility);font-size:12px;}
.tags a{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--rule);padding:5px 11px;margin:3px 4px 3px 0;display:inline-block;}
.tags a:hover{border-color:var(--brick);color:var(--brick);}

.author-box{max-width:720px;margin:36px auto;display:grid;grid-template-columns:64px 1fr;gap:16px;padding:22px;background:var(--paper-2);}
.author-box img{border-radius:50%;width:64px;height:64px;object-fit:cover;}
.author-box .author-name{font-family:var(--font-utility);font-weight:700;font-size:.95rem;}
.author-box .author-bio{font-size:.92rem;color:var(--muted);margin-top:4px;}

.related-articles{max-width:980px;margin:60px auto 0;border-top:3px solid var(--ink);padding-top:30px;}

/* ===== Pagination ===== */
.pagination{display:flex;justify-content:center;gap:10px;margin-top:48px;font-family:var(--font-utility);font-size:13px;}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--rule);}
.pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* ===== Footer ===== */
.site-footer{border-top:3px solid var(--ink);margin-top:60px;padding:44px 0 30px;background:var(--ink);color:var(--paper-2);}
.site-footer a{color:var(--paper-2);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;}
@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{font-family:var(--font-utility);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#A8B0B8;margin-bottom:14px;}
.footer-grid ul{list-style:none;margin:0;padding:0;font-size:13.5px;}
.footer-grid li{margin-bottom:9px;}
.footer-grid li a:hover{color:var(--brick);}
.footer-brand .site-title a{color:var(--paper);}
.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #2C3B47;font-family:var(--font-utility);font-size:12px;color:#8C97A1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ===== Search / 404 ===== */
.search-form-wrap{max-width:540px;margin:0 auto 40px;}
.search-form-wrap form{display:flex;}
.search-form-wrap input[type=search]{flex:1;padding:12px 14px;font-family:var(--font-utility);border:1px solid var(--ink);border-right:none;}
.search-form-wrap button{padding:12px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--font-utility);text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.error-404{text-align:center;padding:60px 0;}
.error-404 .code{font-family:var(--font-display);font-size:5rem;color:var(--rule);}

/* ===== Mobile nav ===== */
@media (max-width:700px){
  .masthead-top{flex-direction:column;gap:4px;text-align:center;}
  .main-nav ul{gap:16px 22px;}
}

/* ===== Gutenberg / Spectra / Kadence block support ===== */
.wp-block-group, .wp-block-columns{margin-top:1.5em;margin-bottom:1.5em;}
.alignwide{margin-left:calc(50% - 50vw + 50%);margin-right:calc(50% - 50vw + 50%);
  width:auto;max-width:calc(var(--container) + 160px);
  position:relative;left:50%;right:50%;
  margin-left:calc(-1 * (calc(var(--container) + 160px) / 2));
  margin-right:calc(-1 * (calc(var(--container) + 160px) / 2));
}
.alignfull{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.alignfull > .wp-block-group__inner-container,
.alignfull .kt-row-column-wrap{max-width:var(--container);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter);}

.fullwidth-page{max-width:none;}
.fullwidth-page .wp-block-image img{height:auto;}

/* Keep editor + block headings on-brand */
.wp-block-heading, .editor-styles-wrapper h1, .editor-styles-wrapper h2{font-family:var(--font-display);}
