:root {
  --sn-navy: #11164f;
  --sn-navy-deep: #090d35;
  --sn-blue: #0054a5;
  --sn-cyan: #2aace3;
  --sn-gold: #f8b03e;
  --sn-gold-dark: #d98913;
  --sn-ink: #171a2b;
  --sn-muted: #65708a;
  --sn-border: #dfe4ed;
  --sn-mist: #f4f6fa;
  --sn-white: #fff;
  --sn-shadow: 0 18px 50px rgb(17 22 79 / 10%);
  --sn-radius-sm: 8px;
  --sn-radius: 14px;
  --sn-radius-lg: 24px;
  --sn-shell: 1180px;
  --sn-content: 760px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--sn-white);
  color: var(--sn-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body.nav-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }

a { color: var(--sn-blue); text-decoration: none; }
a:hover { color: var(--sn-navy); }

button,
input { font: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.65em;
  color: var(--sn-navy);
  font-family: Poppins, Inter, sans-serif;
  font-weight: 700;
  line-height: 1.18;
}

p { margin: 0 0 1.25em; }

.site-shell {
  width: min(calc(100% - 40px), var(--sn-shell));
  margin-inline: auto;
}

.site-main { min-height: 55vh; }

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
  z-index: 99999;
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  clip: auto;
  padding: 12px 18px;
  background: var(--sn-white);
  color: var(--sn-navy);
  border-radius: 4px;
}

.utility-bar { background: var(--sn-navy-deep); color: rgb(255 255 255 / 85%); font-size: 0.78rem; }
.utility-bar a { color: inherit; }
.utility-bar a:hover { color: var(--sn-gold); }
.utility-bar__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.utility-bar__links { display: flex; gap: 22px; }

.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgb(255 255 255 / 96%);
  border-bottom: 1px solid rgb(17 22 79 / 8%);
  backdrop-filter: blur(14px);
}

.admin-bar .site-header { top: 32px; }
.site-header__inner { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.site-branding { flex: 0 0 auto; }
.site-branding__link { display: inline-flex; align-items: center; gap: 12px; color: var(--sn-navy); }
.site-branding__logo { width: 138px; height: auto; object-fit: contain; }
.site-branding__section { padding-left: 12px; border-left: 1px solid var(--sn-border); color: var(--sn-navy); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.16em; line-height: 1; }
.site-branding__name { display: grid; line-height: 1; }
.site-branding__name strong { font-family: Poppins, sans-serif; font-size: 1.22rem; letter-spacing: -0.02em; }
.site-branding__name small { margin-top: 5px; color: var(--sn-cyan); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.19em; }
.brand-mark { position: relative; width: 37px; height: 42px; background: var(--sn-navy); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.brand-mark::before { content: ""; position: absolute; inset: 8px; background: var(--sn-gold); clip-path: inherit; }
.brand-mark span { position: absolute; z-index: 1; right: 2px; bottom: 6px; width: 24px; height: 8px; background: var(--sn-cyan); transform: skewY(-28deg); }

.primary-nav { margin-left: auto; }
.primary-nav__list { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.primary-nav__list a { position: relative; color: var(--sn-ink); font-size: 0.9rem; font-weight: 600; }
.primary-nav__list a::after { content: ""; position: absolute; right: 0; bottom: -10px; left: 0; height: 3px; background: var(--sn-gold); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.primary-nav__list a:hover::after,
.primary-nav__list .current-menu-item > a::after,
.primary-nav__list .current-cat > a::after { transform: scaleX(1); }

.search-toggle,
.menu-toggle {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--sn-mist);
  color: var(--sn-navy);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.search-toggle { font-size: 1.7rem; line-height: 1; }
.menu-toggle { display: none; }
.menu-toggle__lines,
.menu-toggle__lines::before,
.menu-toggle__lines::after { width: 20px; height: 2px; display: block; background: currentcolor; transition: 180ms ease; }
.menu-toggle__lines { position: relative; }
.menu-toggle__lines::before,
.menu-toggle__lines::after { content: ""; position: absolute; left: 0; }
.menu-toggle__lines::before { top: -6px; }
.menu-toggle__lines::after { top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::after { top: 0; transform: rotate(-45deg); }

.header-search { padding: 16px 0; background: var(--sn-mist); border-top: 1px solid var(--sn-border); }
.header-search[hidden] { display: none; }
.search-form { display: flex; width: 100%; gap: 10px; }
.search-field { min-width: 0; flex: 1; height: 50px; padding: 0 17px; background: var(--sn-white); color: var(--sn-ink); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-sm); }
.search-field:focus { outline: 3px solid rgb(42 172 227 / 22%); border-color: var(--sn-cyan); }
.search-submit { padding: 0 22px; background: var(--sn-navy); color: var(--sn-white); border: 0; border-radius: var(--sn-radius-sm); font-weight: 700; cursor: pointer; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 20px; border: 2px solid transparent; border-radius: var(--sn-radius-sm); font-size: 0.88rem; font-weight: 700; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.button:hover { transform: translateY(-2px); }
.button--navy { background: var(--sn-navy); color: var(--sn-white); }
.button--navy:hover { background: var(--sn-blue); color: var(--sn-white); box-shadow: var(--sn-shadow); }
.button--gold { background: var(--sn-gold); color: var(--sn-navy-deep); }
.button--gold:hover { background: var(--sn-white); color: var(--sn-navy); }
.button--outline { min-height: 40px; padding: 7px 13px; border-color: var(--sn-border); color: var(--sn-navy); }
.button--outline:hover { border-color: var(--sn-blue); background: var(--sn-mist); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--sn-blue); font-size: 0.88rem; font-weight: 700; }
.text-link span { transition: transform 180ms ease; }
.text-link:hover span { transform: translateX(4px); }
.eyebrow { display: inline-block; margin-bottom: 10px; color: var(--sn-blue); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.eyebrow--light { color: var(--sn-gold); }

.headline-section { padding: 56px 0 50px; background: linear-gradient(145deg, var(--sn-mist), var(--sn-white) 62%); }
.section-intro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr); align-items: end; gap: 54px; margin-bottom: 28px; }
.section-intro h1 { max-width: 760px; margin: 0; font-size: clamp(2rem, 4.4vw, 4rem); letter-spacing: -0.045em; }
.section-intro p { margin: 0 0 4px; color: var(--sn-muted); font-size: 1.03rem; }
.headline-grid { display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(300px, 0.72fr); grid-template-rows: repeat(3, 170px); gap: 14px; }
.headline-card { position: relative; min-width: 0; overflow: hidden; background: var(--sn-navy); border-radius: var(--sn-radius); }
.headline-card--lead { grid-row: 1 / 4; }
.headline-card__link { display: block; height: 100%; color: var(--sn-white); }
.headline-card__media,
.headline-card__media img,
.headline-card__fallback { width: 100%; height: 100%; }
.headline-card__media img { object-fit: cover; transition: transform 420ms ease; }
.headline-card__fallback,
.news-card__fallback { display: grid; place-items: center; background: linear-gradient(135deg, var(--sn-navy), var(--sn-blue) 60%, var(--sn-cyan)); }
.headline-card__fallback span,
.news-card__fallback span { color: rgb(255 255 255 / 14%); font-family: Poppins, sans-serif; font-size: clamp(5rem, 15vw, 11rem); font-weight: 700; }
.headline-card__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; background: linear-gradient(180deg, transparent 25%, rgb(8 12 52 / 92%) 100%); }
.headline-card--lead .headline-card__overlay { padding: clamp(26px, 4vw, 48px); }
.headline-card__overlay h2 { margin: 10px 0 8px; color: var(--sn-white); font-size: 1.15rem; }
.headline-card--lead h2 { max-width: 770px; font-size: clamp(1.7rem, 3.3vw, 3.1rem); letter-spacing: -0.035em; }
.headline-card__overlay p { max-width: 680px; margin: 0 0 12px; color: rgb(255 255 255 / 84%); }
.headline-card__meta { color: rgb(255 255 255 / 68%); font-size: 0.75rem; }
.headline-card:hover img { transform: scale(1.035); }
.category-label { align-self: flex-start; display: inline-flex; padding: 6px 9px; background: var(--sn-cyan); color: var(--sn-navy-deep); border-radius: 4px; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.category-label--gold { background: var(--sn-gold); }

.topic-bar { background: var(--sn-navy); }
.topic-bar__inner { min-height: 60px; display: flex; align-items: center; gap: 22px; overflow-x: auto; scrollbar-width: thin; }
.topic-bar__inner > span { color: var(--sn-gold); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.topic-bar a { flex: 0 0 auto; color: rgb(255 255 255 / 88%); font-size: 0.84rem; font-weight: 600; }
.topic-bar a:hover { color: var(--sn-gold); }

.section-space { padding-block: 76px; }
.section-space--mist { background: var(--sn-mist); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.section-heading h2 { margin: 0; font-size: clamp(1.8rem, 3.5vw, 2.7rem); letter-spacing: -0.035em; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 24px; }
.news-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-card { min-width: 0; background: var(--sn-white); border: 1px solid var(--sn-border); border-radius: var(--sn-radius); overflow: hidden; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.news-card:hover { transform: translateY(-4px); border-color: transparent; box-shadow: var(--sn-shadow); }
.news-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sn-navy); }
.news-card__media img,
.news-card__fallback { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.news-card:hover .news-card__media img { transform: scale(1.035); }
.news-card__body { padding: 21px; }
.news-card__title { margin: 11px 0 10px; font-size: 1.16rem; line-height: 1.32; }
.news-card__title a { color: var(--sn-navy); }
.news-card__excerpt { color: var(--sn-muted); font-size: 0.9rem; }
.news-card__excerpt p { margin-bottom: 15px; }
.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--sn-muted); font-size: 0.7rem; }
.post-meta__category { color: var(--sn-blue); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }

.brand-band { background: var(--sn-gold); color: var(--sn-navy-deep); }
.brand-band__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.brand-band__grid > div { min-height: 116px; display: flex; flex-direction: column; justify-content: center; padding: 20px 30px; border-right: 1px solid rgb(17 22 79 / 18%); }
.brand-band__grid > div:first-child { border-left: 1px solid rgb(17 22 79 / 18%); }
.brand-band strong { font-family: Poppins, sans-serif; font-size: 1.8rem; line-height: 1; }
.brand-band span { margin-top: 8px; font-size: 0.78rem; font-weight: 600; text-transform: uppercase; }

.editorial-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr); gap: 36px; }
.editorial-feature { overflow: hidden; background: var(--sn-white); border-radius: var(--sn-radius-lg); box-shadow: var(--sn-shadow); }
.editorial-feature__media { display: block; aspect-ratio: 16 / 8; overflow: hidden; }
.editorial-feature__media img,
.editorial-feature__media .news-card__fallback { width: 100%; height: 100%; object-fit: cover; }
.editorial-feature__body { padding: 30px; }
.editorial-feature h3 { margin: 12px 0; font-size: clamp(1.45rem, 3vw, 2.2rem); }
.editorial-feature h3 a,
.compact-story h3 a { color: var(--sn-navy); }
.editorial-feature p { color: var(--sn-muted); }
.editorial-list { display: grid; gap: 12px; }
.compact-story { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px; background: var(--sn-white); border: 1px solid var(--sn-border); border-radius: var(--sn-radius); }
.compact-story--no-image { grid-template-columns: minmax(0, 1fr); padding: 20px; }
.compact-story img { width: 112px; height: 82px; object-fit: cover; border-radius: 8px; }
.compact-story span { color: var(--sn-muted); font-size: 0.7rem; }
.compact-story h3 { margin: 5px 0 0; font-size: 0.93rem; line-height: 1.35; }

.institutional-cta { position: relative; overflow: hidden; background: linear-gradient(115deg, var(--sn-navy-deep), var(--sn-navy) 55%, var(--sn-blue)); color: var(--sn-white); }
.institutional-cta::after { content: "S"; position: absolute; right: 4vw; top: 50%; color: rgb(255 255 255 / 4%); font-family: Poppins, sans-serif; font-size: 18rem; font-weight: 700; line-height: 1; transform: translateY(-50%); }
.institutional-cta__inner { position: relative; z-index: 1; min-height: 290px; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.institutional-cta h2 { max-width: 700px; margin-bottom: 10px; color: var(--sn-white); font-size: clamp(1.8rem, 4vw, 3.2rem); }
.institutional-cta p { max-width: 690px; margin: 0; color: rgb(255 255 255 / 76%); }

.site-footer { background: var(--sn-navy-deep); color: rgb(255 255 255 / 70%); }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr 0.8fr 0.9fr 1fr; gap: 54px; padding-block: 64px; }
.site-footer h2 { color: var(--sn-white); font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer a { color: rgb(255 255 255 / 74%); }
.site-footer a:hover { color: var(--sn-gold); }
.footer-brand__title { display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; color: var(--sn-white); }
.footer-brand__title strong { font-family: Poppins, sans-serif; font-size: 1.6rem; }
.footer-brand__title span { color: var(--sn-cyan); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.18em; }
.footer-brand p { max-width: 390px; font-size: 0.88rem; }
.footer-menu,
.footer-contact { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; font-size: 0.83rem; }
.site-footer__bottom { padding: 18px 0; background: rgb(0 0 0 / 20%); font-size: 0.72rem; }
.site-footer__bottom .site-shell { display: flex; justify-content: space-between; gap: 20px; }

.archive-hero,
.page-hero { padding: 70px 0; background: linear-gradient(140deg, var(--sn-mist), var(--sn-white)); border-bottom: 1px solid var(--sn-border); }
.archive-hero h1,
.page-hero h1 { max-width: 850px; margin: 0; font-size: clamp(2rem, 4.5vw, 3.8rem); letter-spacing: -0.04em; }
.archive-hero p,
.archive-description { max-width: 720px; margin-top: 18px; color: var(--sn-muted); font-size: 1.05rem; }
.archive-hero--search .search-form { max-width: 760px; margin-top: 28px; }
.archive .page-title { display: block; }
.archive .page-title span { color: inherit; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 48px; }
.nav-links .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--sn-border); border-radius: 7px; color: var(--sn-navy); font-size: 0.84rem; font-weight: 700; }
.nav-links .current,
.nav-links a:hover { background: var(--sn-navy); color: var(--sn-white); border-color: var(--sn-navy); }
.page-content { max-width: var(--sn-content); font-size: 1.05rem; }

.article-header { padding: 64px 0 48px; background: linear-gradient(140deg, var(--sn-mist), var(--sn-white) 65%); }
.article-header__inner { max-width: 980px; }
.breadcrumbs { display: flex; gap: 8px; align-items: center; margin-bottom: 28px; overflow: hidden; color: var(--sn-muted); font-size: 0.72rem; white-space: nowrap; }
.breadcrumbs a { color: var(--sn-muted); }
.breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; }
.article-header .category-label { margin-bottom: 18px; }
.article-header h1 { max-width: 940px; margin-bottom: 20px; font-size: clamp(2.2rem, 5.4vw, 4.5rem); letter-spacing: -0.052em; }
.article-header__lead { max-width: 820px; color: #48526b; font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.55; }
.article-byline { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.article-byline div { display: grid; }
.article-byline strong { color: var(--sn-navy); font-size: 0.84rem; }
.article-byline span { color: var(--sn-muted); font-size: 0.75rem; }
.author-mark { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; background: var(--sn-navy); color: var(--sn-gold); border-radius: 50%; font-family: Poppins, sans-serif; font-weight: 700; }
.article-updated { margin: 10px 0 0 52px; color: var(--sn-muted); font-size: 0.72rem; }
.article-hero { max-width: 1180px; margin-top: 42px; }
.article-hero img { width: 100%; max-height: 680px; object-fit: cover; border-radius: var(--sn-radius-lg); }
.article-hero figcaption { margin-top: 10px; color: var(--sn-muted); font-size: 0.73rem; }
.article-layout { display: grid; grid-template-columns: 70px minmax(0, var(--sn-content)) minmax(230px, 1fr); gap: 34px; align-items: start; padding-block: 60px 84px; }
.article-content { min-width: 0; }
.entry-content { font-size: 1.08rem; line-height: 1.78; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 { margin-top: 2.15em; margin-bottom: 0.65em; font-size: clamp(1.55rem, 3vw, 2.15rem); letter-spacing: -0.028em; scroll-margin-top: 120px; }
.entry-content h3 { margin-top: 1.9em; font-size: 1.3rem; scroll-margin-top: 120px; }
.entry-content a { text-decoration: underline; text-decoration-color: rgb(42 172 227 / 45%); text-underline-offset: 3px; }
.entry-content blockquote { margin: 2em 0; padding: 24px 28px; background: var(--sn-mist); border-left: 5px solid var(--sn-gold); color: var(--sn-navy); font-size: 1.15rem; }
.entry-content ul,
.entry-content ol { padding-left: 1.35em; }
.entry-content li { margin-bottom: 0.55em; }
.entry-content img { border-radius: var(--sn-radius); }
.entry-content table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.entry-content th,
.entry-content td { padding: 10px 12px; border: 1px solid var(--sn-border); text-align: left; }
.entry-content th { background: var(--sn-navy); color: var(--sn-white); }
.article-toc { margin-bottom: 32px; padding: 18px 22px; background: var(--sn-mist); border: 1px solid var(--sn-border); border-radius: var(--sn-radius); }
.article-toc[hidden] { display: none; }
.article-toc button { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0; background: transparent; color: var(--sn-navy); border: 0; font-weight: 800; cursor: pointer; }
.article-toc ol { display: grid; gap: 7px; margin: 14px 0 0; padding-left: 20px; color: var(--sn-muted); font-size: 0.86rem; }
.article-toc.is-collapsed ol { display: none; }
.share-rail { position: sticky; top: 140px; display: grid; justify-items: center; gap: 10px; }
.share-rail > span { margin-bottom: 4px; color: var(--sn-muted); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.share-rail a { width: 40px; height: 40px; display: grid; place-items: center; background: var(--sn-mist); color: var(--sn-navy); border: 1px solid var(--sn-border); border-radius: 50%; font-size: 0.75rem; font-weight: 800; }
.share-rail a:hover { background: var(--sn-navy); color: var(--sn-white); }
.article-sidebar { position: sticky; top: 126px; }
.sidebar-box { padding: 22px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius); }
.sidebar-box h2 { padding-bottom: 12px; border-bottom: 3px solid var(--sn-gold); font-size: 1.05rem; }
.ranked-list { counter-reset: recent; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ranked-list li { counter-increment: recent; position: relative; padding: 15px 0 15px 36px; border-bottom: 1px solid var(--sn-border); }
.ranked-list li:last-child { border-bottom: 0; }
.ranked-list li::before { content: counter(recent, decimal-leading-zero); position: absolute; left: 0; top: 12px; color: var(--sn-cyan); font-family: Poppins, sans-serif; font-size: 0.78rem; font-weight: 700; }
.ranked-list a { display: block; color: var(--sn-navy); font-size: 0.78rem; font-weight: 700; line-height: 1.35; }
.ranked-list span { color: var(--sn-muted); font-size: 0.65rem; }
.article-tags { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--sn-border); color: var(--sn-muted); font-size: 0.8rem; }
.article-tags a { display: inline-block; margin: 4px; padding: 5px 9px; background: var(--sn-mist); border-radius: 4px; color: var(--sn-navy); }
.article-share-mobile { display: none; }
.author-box { display: grid; grid-template-columns: auto 1fr; gap: 18px; margin-top: 36px; padding: 26px; background: var(--sn-mist); border-radius: var(--sn-radius); }
.author-mark--large { width: 58px; height: 58px; font-size: 1.3rem; }
.author-box h2 { margin-bottom: 6px; font-size: 1.15rem; }
.author-box p { margin: 0; color: var(--sn-muted); font-size: 0.84rem; }
.related-section { border-top: 1px solid var(--sn-border); }

.empty-state,
.error-page { max-width: 760px; text-align: center; }
.empty-state .search-form,
.error-page .search-form { margin: 28px auto; }
.error-page__code { display: block; color: var(--sn-gold); font-family: Poppins, sans-serif; font-size: clamp(5rem, 16vw, 10rem); font-weight: 700; line-height: 0.9; }
.error-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.error-page p { color: var(--sn-muted); }

@media (max-width: 1080px) {
  .primary-nav__list { gap: 16px; }
  .primary-nav__list a { font-size: 0.8rem; }
  .headline-grid { grid-template-columns: minmax(0, 1.5fr) minmax(270px, 0.7fr); }
  .article-layout { grid-template-columns: 52px minmax(0, 1fr) 220px; gap: 24px; }
  .site-footer__grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; }
}

@media (max-width: 900px) {
  .admin-bar .site-header { top: 46px; }
  .site-header__inner { min-height: 70px; }
  .menu-toggle { display: grid; margin-left: auto; }
  .primary-nav { position: fixed; z-index: 999; top: 106px; right: 0; bottom: 0; left: 0; display: none; margin: 0; padding: 28px 20px; background: var(--sn-white); overflow-y: auto; }
  .admin-bar .primary-nav { top: 116px; }
  .primary-nav.is-open { display: block; }
  .primary-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
  .primary-nav__list li { border-bottom: 1px solid var(--sn-border); }
  .primary-nav__list a { display: block; padding: 16px 4px; font-size: 1rem; }
  .primary-nav__list a::after { display: none; }
  .headline-grid { grid-template-columns: 1.35fr 0.65fr; grid-template-rows: repeat(3, 150px); }
  .section-intro { grid-template-columns: 1fr; gap: 16px; }
  .section-intro p { max-width: 680px; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-band__grid { grid-template-columns: repeat(2, 1fr); }
  .brand-band__grid > div:nth-child(3) { border-left: 1px solid rgb(17 22 79 / 18%); border-top: 1px solid rgb(17 22 79 / 18%); }
  .brand-band__grid > div:nth-child(4) { border-top: 1px solid rgb(17 22 79 / 18%); }
  .editorial-grid { grid-template-columns: 1fr; }
  .editorial-list { grid-template-columns: repeat(2, 1fr); }
  .article-layout { grid-template-columns: 54px minmax(0, 1fr); }
  .article-sidebar { display: none; }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .site-shell { width: min(calc(100% - 28px), var(--sn-shell)); }
  .utility-bar__inner { min-height: 32px; }
  .utility-bar__inner > a { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .utility-bar__links a:first-child { display: none; }
  .site-branding__logo { width: 112px; }
  .site-branding__section { padding-left: 9px; font-size: 0.58rem; }
  .site-branding__name strong { font-size: 1.05rem; }
  .search-toggle,
  .menu-toggle { width: 38px; height: 38px; }
  .headline-section { padding-top: 36px; }
  .section-intro h1 { font-size: clamp(2rem, 10vw, 3.1rem); }
  .headline-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; }
  .headline-card--lead { grid-row: auto; min-height: 430px; }
  .headline-card--secondary { min-height: 170px; }
  .headline-card--lead .headline-card__overlay { padding: 24px; }
  .headline-card--lead h2 { font-size: 1.8rem; }
  .headline-card__overlay p { display: none; }
  .topic-bar__inner { gap: 18px; }
  .section-space { padding-block: 54px; }
  .section-heading { align-items: start; flex-direction: column; gap: 10px; }
  .news-grid,
  .news-grid--three { grid-template-columns: 1fr; }
  .brand-band__grid { width: 100%; grid-template-columns: repeat(2, 1fr); }
  .brand-band__grid > div { min-height: 100px; padding: 16px 20px; }
  .brand-band strong { font-size: 1.45rem; }
  .brand-band span { font-size: 0.65rem; }
  .editorial-list { grid-template-columns: 1fr; }
  .compact-story { grid-template-columns: 92px 1fr; }
  .compact-story img { width: 92px; height: 75px; }
  .institutional-cta__inner { min-height: 340px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 24px; padding-block: 48px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 32px; padding-block: 48px; }
  .site-footer__bottom .site-shell { flex-direction: column; gap: 3px; }
  .article-header { padding: 42px 0 34px; }
  .breadcrumbs { margin-bottom: 20px; }
  .article-header h1 { font-size: clamp(2rem, 10.5vw, 3rem); }
  .article-header__lead { font-size: 1.05rem; }
  .article-hero { width: 100%; margin-top: 0; }
  .article-hero img { border-radius: 0; }
  .article-hero figcaption { padding-inline: 14px; }
  .article-layout { display: block; padding-block: 42px 60px; }
  .share-rail { display: none; }
  .entry-content { font-size: 1.03rem; }
  .entry-content h2 { font-size: 1.55rem; }
  .article-share-mobile { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 30px; }
  .article-share-mobile strong { width: 100%; }
  .author-box { grid-template-columns: 1fr; }
  .archive-hero,
  .page-hero { padding: 48px 0; }
}

@media (max-width: 420px) {
  .site-branding__name { display: none; }
  .site-branding__logo { width: 104px; }
  .site-branding__section { display: none; }
  .headline-card--lead { min-height: 390px; }
  .brand-band__grid > div { padding: 15px 13px; }
  .search-form { flex-direction: column; }
  .search-submit { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
