/*
 * Brain Bee Competition Field Guide
 * A formal, continuous competition handbook for all first-level pages.
 */

.na-shell {
  width: min(100%, 1180px);
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 48px);
  box-sizing: border-box;
}

/* Contact page: one conversion point backed by Site Tools. */
.na-contact-handoff{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.45fr);border:2px solid var(--na-ink);background:#fff;box-shadow:12px 12px 0 var(--na-blue-pale)}
.na-contact-scan{padding:34px;border-right:1px solid var(--na-line);background:linear-gradient(rgba(28,127,196,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(28,127,196,.055) 1px,transparent 1px),#f8fbfe;background-size:24px 24px}
.na-contact-scan .na-eyebrow{margin-bottom:16px}
.na-contact-qr-group,.na-contact-qr-group .hl-cta-qr-dual{justify-content:flex-start!important}
.na-contact-qr-group .hl-cta-qr-panel{margin:0!important;text-align:left!important}
.na-contact-qr-img{width:190px!important;height:190px!important;max-width:190px!important;object-fit:contain;padding:8px;border:1px solid var(--na-line);border-radius:0!important;background:#fff}
.na-contact-qr-group figcaption{max-width:220px;margin-top:12px!important;color:var(--na-muted);font:700 10px/1.45 var(--na-mono);letter-spacing:.06em;text-transform:uppercase}
.na-contact-copy{padding:34px 38px}
.na-contact-copy h2{margin:0 0 12px;color:var(--na-ink);font:800 clamp(26px,3vw,40px)/1.06 var(--na-display);letter-spacing:-.035em}
.na-contact-copy>p{max-width:660px;margin:0 0 26px;color:var(--na-body);font-size:16px;line-height:1.7}
.na-contact-message{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 26px;border:1px solid var(--na-line)}
.na-contact-message>div{min-width:0;padding:18px;border-right:1px solid var(--na-line)}
.na-contact-message>div:last-child{border-right:0}
.na-contact-message b{display:block;margin-bottom:6px;color:var(--na-blue-dark);font:700 10px/1.2 var(--na-mono);letter-spacing:.08em;text-transform:uppercase}
.na-contact-message span{color:var(--na-ink);font-size:14px;font-weight:700}
.na-contact-link .hl-article-cta{margin:0!important;padding:20px!important;border-radius:0!important;box-shadow:none!important}
.na-contact-link .hl-article-cta-bullets,.na-contact-link .hl-article-cta-qr{display:none!important}
.na-contact-link .hl-article-cta-title{margin-bottom:4px!important;font-size:18px!important}
.na-contact-link .hl-article-cta-sub{margin-bottom:12px!important}
.na-contact-services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--na-line);border-left:1px solid var(--na-line)}
.na-contact-service{min-width:0;padding:24px;border-right:1px solid var(--na-line);border-bottom:1px solid var(--na-line);background:#fff}
.na-contact-service .n{display:block;margin-bottom:22px;color:var(--na-blue);font:700 11px/1 var(--na-mono);letter-spacing:.08em}
.na-contact-service h3{margin:0 0 8px;color:var(--na-ink);font:800 18px/1.15 var(--na-display)}
.na-contact-service p{margin:0;color:var(--na-muted);font-size:13px;line-height:1.6}
.na-contact-faq{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--na-line);background:var(--na-line)}
.na-contact-faq article{padding:26px;background:#fff}
.na-contact-faq article:last-child{grid-column:1/-1}
.na-contact-faq h3{margin:0 0 9px;color:var(--na-ink);font:800 17px/1.25 var(--na-display)}
.na-contact-faq p{margin:0;color:var(--na-body);font-size:14px;line-height:1.7}
@media(max-width:760px){
  .na-contact-handoff{grid-template-columns:1fr;box-shadow:7px 7px 0 var(--na-blue-pale)}
  .na-contact-scan{border-right:0;border-bottom:1px solid var(--na-line)}
  .na-contact-copy{padding:28px 22px}
  .na-contact-message{grid-template-columns:1fr}
  .na-contact-message>div{border-right:0;border-bottom:1px solid var(--na-line)}
  .na-contact-message>div:last-child{border-bottom:0}
  .na-contact-services,.na-contact-faq{grid-template-columns:1fr}
  .na-contact-faq article:last-child{grid-column:auto}
}

.wp-block-post-content {
  counter-reset: bb-section;
}

/* Competition mastheads -------------------------------------------------- */
.na-hero {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  color: var(--na-heading);
  background:
    linear-gradient(90deg, rgba(47,111,152,.055) 1px, transparent 1px) 0 0 / 78px 100%,
    linear-gradient(180deg, #fbfcfd 0%, #f3f6f8 100%);
  border-bottom: 1px solid rgba(16,37,54,.16);
}

.na-hero::before {
  content: "";
  position: absolute;
  top: -180px;
  right: -100px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(47,111,152,.14);
  border-radius: 48%;
  box-shadow:
    0 0 0 48px rgba(47,111,152,.025),
    0 0 0 96px rgba(47,111,152,.02);
}

.na-hero-layout {
  position: relative;
  z-index: 1;
  min-height: 320px;
  padding-top: clamp(48px, 6vw, 72px);
  padding-bottom: clamp(42px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .65fr);
  gap: clamp(34px, 6vw, 72px);
  align-items: end;
}

.na-kicker,
.na-eyebrow {
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.na-kicker {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 11px;
}

.na-kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  background: var(--na-cobalt);
}

.na-title {
  max-width: 820px;
  margin: 0;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(40px, 5vw, 60px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.025em;
}

.na-title .na-accent,
.na-title .tr {
  color: var(--na-cobalt);
  font-style: normal;
}

.na-deck {
  max-width: 700px;
  margin: 17px 0 0;
  color: var(--na-body);
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.52;
}

.na-actions {
  margin-top: 21px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.na-button-primary,
.na-button-secondary,
.na-china-action {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid var(--na-heading);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--na-heading);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .025em;
  text-decoration: none;
  transition: color .18s, background .18s, border-color .18s, transform .18s;
}

.na-button-primary {
  color: #fff;
  background: var(--na-heading);
}

.na-button-primary:hover,
.na-button-secondary:hover,
.na-china-action:hover {
  color: #fff;
  background: var(--na-cobalt);
  border-color: var(--na-cobalt);
  transform: translateY(-1px);
}

.na-disclaimer {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 9px;
  line-height: 1.55;
}

.na-fact-index {
  padding: 0;
  border-top: 2px solid var(--na-cobalt);
}

.na-fact-index::before {
  content: "Competition brief";
  display: block;
  padding: 10px 0 8px;
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.na-fact-index .r {
  padding: 8px 0;
  border-top: 1px solid rgba(16,37,54,.13);
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 14px;
}

.na-fact-index .k {
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 9px;
  text-transform: uppercase;
}

.na-fact-index .v {
  color: var(--na-heading);
  font-size: 13px;
  font-weight: 700;
}

/* Home masthead ---------------------------------------------------------- */
.na-home-hero {
  min-height: min(560px, calc(100vh - 101px));
  background: #f8fafb;
}

.na-home-hero::before { display: none; }

.na-home-hero .na-hero-art {
  position: absolute;
  inset: 0 0 0 42%;
  margin: 0;
}

.na-home-hero .na-hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #f8fafb 0%, rgba(248,250,251,.88) 20%, rgba(248,250,251,.18) 66%),
    linear-gradient(180deg, transparent 70%, rgba(16,37,54,.07));
}

.na-home-hero .na-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.na-home-hero .na-hero-layout {
  min-height: min(560px, calc(100vh - 101px));
  grid-template-columns: minmax(0, 650px) 1fr;
  align-items: center;
}

.na-home-hero .na-title {
  font-size: clamp(46px, 5.9vw, 70px);
}

.na-home-hero .na-deck { max-width: 560px; }

/* Universal competition pathway ---------------------------------------- */
.na-event-rail {
  position: relative;
  z-index: 3;
  background: rgba(252,253,254,.96);
  border-bottom: 1px solid var(--na-line);
}

.na-event-rail-in {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.na-event-rail a {
  min-height: 76px;
  padding: 13px 15px;
  border-right: 1px solid var(--na-line);
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-content: center;
  color: var(--na-heading);
  text-decoration: none;
  transition: background .18s, color .18s;
}

.na-event-rail a:first-child { border-left: 1px solid var(--na-line); }
.na-event-rail a:hover { color: var(--na-cobalt); background: #eef4f7; }

.na-event-rail a > span {
  grid-row: 1 / span 2;
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 9px;
}

.na-event-rail b {
  font-size: 13px;
  line-height: 1.2;
}

.na-event-rail small {
  margin-top: 3px;
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 8px;
  line-height: 1.25;
}

/* Continuous page rhythm ------------------------------------------------ */
.na-section {
  counter-increment: bb-section;
  position: relative;
  padding-top: clamp(38px, 4.6vw, 56px);
  padding-bottom: clamp(38px, 4.6vw, 56px);
  background: transparent;
}

.na-section + .na-section,
.na-section + .na-intro,
.na-intro + .na-section,
.na-section + .na-china-section {
  border-top: 1px solid rgba(16,37,54,.11);
}

.na-section > .na-shell {
  position: relative;
}

.na-section > .na-shell::before { display: none; }
.na-section > .na-shell > :first-child { margin-top: 0; }

.na-intro {
  counter-increment: bb-section;
  background: transparent;
}

.na-intro > .na-section {
  counter-increment: none;
}

.na-intro > .na-section::before { display: none; }

.na-section-head {
  max-width: 840px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  display: block;
}

.na-section-head .na-eyebrow {
  display: block;
  margin-bottom: 9px;
}

.na-section-title {
  max-width: 840px;
  margin: 0;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(29px, 3.4vw, 39px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.na-rule { display: none; }

.na-section-deck {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--na-body);
  font-size: 16px;
  line-height: 1.58;
}

.na-split {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr);
  gap: clamp(32px, 5vw, 58px);
  align-items: start;
}

.na-split h2 {
  max-width: 700px;
  margin: 0 0 14px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(30px, 3.7vw, 42px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.na-split h2 .tr,
.na-split h2 .na-accent {
  color: var(--na-cobalt);
  font-style: normal;
}

.na-split p {
  max-width: 720px;
  font-size: 16px;
  line-height: 1.64;
}

/* Image evidence, integrated into the reading flow ---------------------- */
.na-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  gap: clamp(28px, 5vw, 54px);
  align-items: center;
}

.na-feature.rev {
  grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr);
}

.na-feature.rev .fig { order: 2; }

.na-figure {
  position: relative;
  margin: 0;
  background: #edf2f5;
  border: 1px solid var(--na-line);
}

.na-figure::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255,255,255,.68);
  pointer-events: none;
}

.na-figure img {
  width: 100%;
  min-height: 250px;
  max-height: 390px;
  object-fit: cover;
  display: block;
  filter: saturate(.72) contrast(1.02);
}

.na-figure.na-plate img {
  object-fit: contain;
  background: #edf2f5;
}

.na-figure figcaption {
  position: relative;
  z-index: 1;
  padding: 8px 10px;
  border-top: 1px solid var(--na-line);
  color: var(--na-muted);
  background: #f9fbfc;
  font-family: var(--na-plate);
  font-size: 8px;
  line-height: 1.45;
}

.na-feature .txt .k {
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.na-feature .txt h3 {
  max-width: 560px;
  margin: 8px 0 11px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(29px, 3.4vw, 40px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.018em;
}

.na-feature .txt p {
  max-width: 600px;
  margin: 0;
  color: var(--na-body);
  font-size: 16px;
  line-height: 1.62;
}

/* Competition data ------------------------------------------------------ */
.na-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--na-heading);
  border-bottom: 1px solid var(--na-heading);
}

.na-stat {
  min-height: 132px;
  padding: 17px 17px 17px 0;
  border-right: 1px solid var(--na-line);
}

.na-stat + .na-stat { padding-left: 17px; }
.na-stat:last-child { border-right: 0; }

.na-stat .ch {
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 8px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.na-stat .n {
  margin: 15px 0 5px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(34px, 3.8vw, 47px);
  font-weight: 600;
  line-height: .8;
}

.na-stat .l {
  color: var(--na-body);
  font-size: 13px;
  line-height: 1.38;
}

.na-plate-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--na-heading);
}

.na-plate-card {
  min-height: 160px;
  padding: 21px 24px 23px 0;
  border-bottom: 1px solid var(--na-line);
}

.na-plate-card:nth-child(even) {
  padding-left: 24px;
  border-left: 1px solid var(--na-line);
}

.na-plate-card .ch,
.na-plate-card .grade {
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 8px;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.na-plate-card h3 {
  margin: 11px 0 5px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(23px, 2.5vw, 29px);
  font-weight: 600;
  line-height: 1.14;
}

.na-plate-card p {
  max-width: 510px;
  margin: 9px 0 0;
  color: var(--na-body);
  font-size: 15px;
  line-height: 1.55;
}

.na-specimen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--na-heading);
}

.na-specimen {
  min-height: 165px;
  padding: 20px 22px 22px 0;
  border-right: 1px solid var(--na-line);
  border-bottom: 1px solid var(--na-line);
}

.na-specimen:nth-child(3n+2),
.na-specimen:nth-child(3n+3) { padding-left: 22px; }
.na-specimen:nth-child(3n) { border-right: 0; }

.na-specimen .no {
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 11px;
}

.na-specimen h4 {
  margin: 16px 0 7px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.18;
}

.na-specimen p {
  margin: 0;
  color: var(--na-body);
  font-size: 14px;
  line-height: 1.55;
}

/* Tier and registration pathways --------------------------------------- */
.na-timeline {
  position: relative;
  max-width: 900px;
  margin-left: 0;
  border-top: 1px solid var(--na-heading);
}

.na-timeline .h { display: none; }

.na-timeline .r {
  position: relative;
  min-height: 88px;
  padding: 17px 92px 17px 130px;
  border-bottom: 1px solid var(--na-line);
}

.na-timeline .r::before {
  content: "";
  position: absolute;
  top: 23px;
  left: 105px;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--na-cobalt);
  box-shadow: 0 0 0 1px var(--na-cobalt);
}

.na-timeline .stage {
  position: absolute;
  top: 21px;
  left: 0;
  width: 86px;
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 9px;
}

.na-timeline .what b {
  display: block;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.18;
}

.na-timeline .what span {
  display: block;
  max-width: 590px;
  margin-top: 5px;
  color: var(--na-body);
  font-size: 15px;
  line-height: 1.5;
}

.na-timeline .when {
  position: absolute;
  top: 23px;
  right: 0;
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 8px;
  text-align: right;
}

/* China is part of the same dossier, with one regional accent ----------- */
.na-china-section {
  counter-increment: bb-section;
  position: relative;
  background: transparent;
  border-top: 1px solid rgba(16,37,54,.11);
}

.na-china-section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--na-oxide);
}

.na-china-section .in {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: clamp(34px, 6vw, 64px);
  align-items: center;
}

.na-china-section .na-kicker { color: var(--na-oxide); }
.na-china-section .na-kicker::before { background: var(--na-oxide); }

.na-china-section h2 {
  margin: 8px 0 12px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(31px, 3.8vw, 43px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.na-china-section h2 .cn {
  color: var(--na-oxide);
  font-style: normal;
}

.na-china-section p {
  max-width: 590px;
  font-size: 16px;
  line-height: 1.6;
}

.na-china-action {
  margin-top: 16px;
  border-color: rgba(149,81,92,.55);
  color: var(--na-oxide);
}

.na-rounds { border-top: 1px solid var(--na-heading); }

.na-rounds .r {
  padding: 12px 0;
  border-bottom: 1px solid var(--na-line);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.na-rounds .s {
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 19px;
}

.na-rounds small {
  display: block;
  margin-top: 4px;
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 8px;
}

.na-rounds .d {
  color: var(--na-oxide);
  font-family: var(--na-plate);
  font-size: 8px;
}

/* Reading lists, notes and prose ---------------------------------------- */
.na-notes-list { border-top: 1px solid var(--na-heading); }
.na-notes-list .h { display: none; }

.na-notes-list .r {
  padding: 12px 0;
  border-bottom: 1px solid var(--na-line);
  display: grid;
  grid-template-columns: 90px 110px minmax(0, 1fr) 60px;
  gap: 18px;
  align-items: baseline;
  color: var(--na-body);
  text-decoration: none;
}

.na-notes-list .ch,
.na-notes-list .dt,
.na-notes-list .st {
  color: var(--na-muted);
  font-family: var(--na-plate);
  font-size: 8px;
}

.na-notes-list .tt {
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 18px;
  line-height: 1.2;
}

.na-notes-list .r:hover .tt { color: var(--na-cobalt); }

.na-callout,
.na-panel {
  max-width: 820px;
  margin: 24px 0 0;
  padding: 17px 20px;
  border: 1px solid var(--na-line);
  border-left: 3px solid var(--na-cobalt);
  background: rgba(247,250,252,.74);
}

.na-callout .lbl,
.na-panel .lbl {
  color: var(--na-cobalt);
  font-family: var(--na-plate);
  font-size: 8px;
  text-transform: uppercase;
}

.na-callout h4,
.na-panel h4 {
  margin: 7px 0;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 21px;
  font-weight: 600;
}

.na-callout p,
.na-panel p {
  margin: 0;
  font-size: 15px;
  line-height: 1.58;
}

.wp-block-post-content .hl-prose {
  max-width: 820px !important;
  margin: 0 !important;
  color: var(--na-body);
  font-family: var(--na-body-font);
}

.wp-block-post-content .hl-prose > p {
  margin: 0 0 13px;
  font-size: 16px;
  line-height: 1.66;
}

.wp-block-post-content .hl-prose .lead {
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(20px, 2.3vw, 25px);
  line-height: 1.3;
}

.wp-block-post-content .hl-prose h2 {
  margin: 1.7em 0 .45em;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(27px, 3.1vw, 35px);
  font-weight: 600;
  line-height: 1.16;
}

.wp-block-post-content .hl-prose h3 {
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: 21px;
  font-weight: 600;
}

.wp-block-post-content .hl-prose a {
  color: var(--na-cobalt);
  text-decoration: underline;
  text-decoration-color: rgba(47,111,152,.3);
  text-underline-offset: 3px;
}

.wp-block-post-content .hl-prose li {
  margin-bottom: 7px;
  font-size: 16px;
}

.wp-block-post-content .hl-prose li::marker { color: var(--na-cobalt); }

.wp-block-post-content .na-balanced-prose {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  column-count: initial !important;
  column-gap: 0 !important;
  column-rule: 0 !important;
}

.wp-block-post-content .na-balanced-prose-col {
  min-width: 0;
  padding-right: 32px;
}

.wp-block-post-content .na-balanced-prose-col + .na-balanced-prose-col {
  padding-right: 0;
  padding-left: 32px;
  border-left: 1px solid rgba(16,37,54,.11);
}

.wp-block-post-content .na-balanced-prose-col > p {
  margin: 0 0 13px;
  color: var(--na-body);
  font-size: 16px;
  line-height: 1.66;
}

.wp-block-post-content .na-balanced-prose-col > .lead {
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(20px, 2.3vw, 25px);
  line-height: 1.3;
}

.wp-block-post-content .na-balanced-prose-col > p:last-child {
  margin-bottom: 0;
}

/* Final action is the last chapter, not a separate poster --------------- */
.na-cta-band {
  counter-increment: bb-section;
  background: transparent;
  border-top: 1px solid rgba(16,37,54,.11);
}

.na-cta-band > .na-section {
  counter-increment: none;
}

.na-cta {
  padding: clamp(26px, 4vw, 42px);
  border-top: 1px solid var(--na-heading);
  border-bottom: 1px solid var(--na-heading);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: clamp(30px, 5vw, 54px);
  align-items: center;
  background: linear-gradient(115deg, rgba(228,239,245,.72), rgba(252,253,254,.48));
}

.na-cta h2 {
  max-width: 620px;
  margin: 0 0 10px;
  color: var(--na-heading);
  font-family: var(--na-display);
  font-size: clamp(29px, 3.6vw, 40px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.na-cta p {
  max-width: 620px;
  margin: 0;
  font-size: 16px;
  line-height: 1.58;
}

.na-qr-side {
  padding-left: 28px;
  border-left: 1px solid var(--na-line) !important;
}

.na-cta .hl-article-cta {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--na-body) !important;
  background: transparent !important;
}

.na-cta .hl-article-cta-title {
  color: var(--na-heading) !important;
  font-family: var(--na-display);
}

.na-cta .hl-cta-online-btn { background: var(--na-cobalt) !important; }

/* Wide-screen reading density ------------------------------------------ */
@media (min-width: 1100px) {
  .na-section-head {
    max-width: 100%;
  }

  .na-section-title {
    max-width: 980px;
  }

  .na-section-deck {
    max-width: 1080px;
  }

  .na-timeline,
  .na-callout,
  .na-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .na-timeline .r {
    padding-right: 128px;
  }

  .na-timeline .what {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .na-timeline .what span {
    max-width: none;
  }

  .na-timeline .when {
    width: 108px;
    white-space: nowrap;
  }

  .wp-block-post-content .na-section .hl-prose {
    width: 100%;
    max-width: 1000px !important;
  }

  .wp-block-post-content .na-section .hl-prose:has(> p + p):not(:has(> h2, > h3, > ul, > ol)) {
    max-width: none !important;
    column-count: 2;
    column-gap: 48px;
    column-rule: 1px solid rgba(16,37,54,.11);
  }

  .wp-block-post-content .na-section .hl-prose:has(> p + p):not(:has(> h2, > h3, > ul, > ol)) > p {
    break-inside: avoid;
  }
}

/* Responsive ------------------------------------------------------------ */
@media (max-width: 920px) {
  .na-hero,
  .na-hero-layout { min-height: auto; }

  .na-hero-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .na-home-hero,
  .na-home-hero .na-hero-layout { min-height: 520px; }

  .na-home-hero .na-hero-layout {
    grid-template-columns: 1fr;
    align-content: center;
  }

  .na-home-hero .na-hero-art { inset: 0 0 0 30%; }
  .na-home-hero .na-hero-art img { object-position: 62% center; }

  .na-event-rail { overflow-x: auto; }
  .na-event-rail-in { width: 810px; padding-inline: 20px; }

  .na-feature,
  .na-feature.rev,
  .na-split,
  .na-china-section .in,
  .na-cta {
    grid-template-columns: 1fr;
  }

  .na-feature.rev .fig { order: 0; }
  .na-section-deck,
  .na-callout,
  .na-panel,
  .wp-block-post-content .hl-prose {
    margin-left: 0 !important;
  }

  .na-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .na-stat:nth-child(2) { border-right: 0; }
  .na-stat:nth-child(3) { padding-left: 0; border-top: 1px solid var(--na-line); }
  .na-stat:nth-child(4) { border-top: 1px solid var(--na-line); }

  .na-timeline { margin-left: 0; }
  .na-qr-side {
    padding: 24px 0 0;
    border-left: 0 !important;
    border-top: 1px solid var(--na-line);
  }

  .wp-block-post-content .na-balanced-prose {
    grid-template-columns: 1fr;
  }

  .wp-block-post-content .na-balanced-prose-col,
  .wp-block-post-content .na-balanced-prose-col + .na-balanced-prose-col {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  .wp-block-post-content .na-balanced-prose-col + .na-balanced-prose-col {
    margin-top: 13px;
  }
}

@media (max-width: 650px) {
  .na-hero-layout {
    padding-top: 42px;
    padding-bottom: 38px;
  }

  .na-title { font-size: clamp(36px, 10.5vw, 46px); }

  .na-home-hero,
  .na-home-hero .na-hero-layout { min-height: 500px; }

  .na-home-hero .na-title { font-size: clamp(41px, 12vw, 54px); }
  .na-home-hero .na-hero-art { inset: 0 0 0 12%; opacity: .65; }
  .na-home-hero .na-hero-art::after {
    background: linear-gradient(90deg, #f8fafb 0%, rgba(248,250,251,.82) 55%, rgba(248,250,251,.28));
  }

  .na-event-rail-in {
    width: 100%;
    padding-inline: 20px;
    grid-template-columns: repeat(5, 1fr);
  }
  .na-event-rail a {
    min-height: 54px;
    padding: 7px 3px;
    display: block;
    text-align: center;
  }
  .na-event-rail a > span {
    display: block;
    margin-bottom: 3px;
    font-size: 8px;
  }
  .na-event-rail b {
    display: block;
    font-size: 10px;
  }
  .na-event-rail small { display: none; }

  .na-section {
    padding-top: 35px;
    padding-bottom: 35px;
  }

  .na-section-title { font-size: clamp(27px, 8vw, 34px); }
  .na-section-deck { font-size: 15px; }
  .na-feature .txt h3 { font-size: 30px; }
  .na-figure img { min-height: 210px; max-height: 320px; }

  .na-plate-grid,
  .na-specimen-grid {
    grid-template-columns: 1fr;
  }

  .na-plate-card,
  .na-plate-card:nth-child(even),
  .na-specimen,
  .na-specimen:nth-child(n) {
    min-height: 0;
    padding: 16px 0 18px;
    border-right: 0;
    border-left: 0;
    border-top: 0;
  }

  .na-stat-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .na-stat,
  .na-stat + .na-stat {
    min-height: 126px;
    padding-top: 14px;
    padding-bottom: 15px;
  }

  .na-stat {
    padding-right: 12px;
  }

  .na-stat + .na-stat {
    padding-left: 12px;
  }

  .na-stat:nth-child(3) {
    padding-left: 0;
  }

  .na-stat .n {
    margin-top: 11px;
    font-size: clamp(31px, 9vw, 38px);
  }

  .na-stat .l {
    font-size: 12px;
    line-height: 1.4;
  }

  .na-timeline .r {
    padding: 16px 0 16px 36px;
  }

  .na-timeline .r::before {
    top: 21px;
    left: 7px;
  }

  .na-timeline .stage {
    position: static;
    width: auto;
    margin-bottom: 6px;
    display: block;
  }

  .na-timeline .what b { font-size: 23px; }
  .na-timeline .when {
    position: static;
    display: block;
    margin-top: 7px;
    text-align: left;
  }

  .na-notes-list .r {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 7px 12px;
  }

  .na-notes-list .dt { grid-column: 1; }
  .na-notes-list .tt {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-size: 19px;
  }
  .na-notes-list .st { display: none; }

  .na-cta { padding: 24px 20px; }
  .na-cta h2 { font-size: 30px; }
}

/* Contact QR composition refinement. */
.na-contact-handoff {
  grid-template-columns: 320px minmax(0, 1fr);
  box-shadow: 9px 9px 0 rgba(28,127,196,.12);
}

.na-contact-scan {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 26px;
  background:
    linear-gradient(rgba(28,127,196,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,127,196,.035) 1px, transparent 1px),
    #f5f9fc;
  background-size: 28px 28px;
}

.na-contact-scan .na-eyebrow {
  width: 236px;
  margin: 0 0 12px;
  color: var(--na-blue-dark);
}

.na-contact-qr-group {
  width: 236px;
}

.na-contact-qr-group .hl-cta-qr-panel {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 12px 14px;
  border: 1px solid rgba(20,40,63,.22);
  background: #fff;
  box-shadow: 5px 5px 0 rgba(28,127,196,.09);
}

.na-contact-qr-img {
  width: 200px !important;
  height: 200px !important;
  max-width: 200px !important;
  padding: 0;
  border: 0;
}

.na-contact-qr-group figcaption {
  max-width: none;
  margin: 12px 2px 0 !important;
  padding-top: 10px;
  border-top: 1px solid var(--na-line);
  text-align: center;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .na-contact-handoff { grid-template-columns: 1fr; }
  .na-contact-scan { padding: 28px 20px 30px; }
  .na-contact-scan .na-eyebrow,
  .na-contact-qr-group { width: 236px; }
}

/* Homepage FAQ: indexed accordion instead of long-form prose. */
.na-home-faq {
  border-top: 2px solid var(--na-ink);
  border-bottom: 2px solid var(--na-ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(28,127,196,.09), transparent 28%),
    #f8fbfd;
}
.na-home-faq-layout {
  display: grid;
  grid-template-columns: minmax(250px,.68fr) minmax(0,1.55fr);
  gap: 52px;
  align-items: start;
}
.na-home-faq-intro {
  position: sticky;
  top: 112px;
}
.na-home-faq-count {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 24px;
  color: var(--na-cobalt);
  font: 700 10px/1 var(--na-plate);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.na-home-faq-count::before {
  width: 28px;
  height: 2px;
  background: var(--na-cobalt);
  content: "";
}
.na-home-faq-intro h2 {
  max-width: 390px;
  margin: 0 0 18px;
  color: var(--na-ink);
  font: 800 clamp(38px,4.4vw,62px)/.98 var(--na-display);
  letter-spacing: -.055em;
}
.na-home-faq-intro p {
  max-width: 360px;
  margin: 0 0 26px;
  color: var(--na-body);
  font-size: 15px;
  line-height: 1.7;
}
.na-home-faq-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.na-home-faq-links a {
  padding: 9px 12px;
  border: 1px solid var(--na-line);
  background: rgba(255,255,255,.72);
  color: var(--na-cobalt);
  font: 700 10px/1 var(--na-plate);
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}
.na-home-faq-list {
  border-top: 1px solid var(--na-ink);
}
.na-home-faq-item {
  border-bottom: 1px solid var(--na-line);
  background: rgba(255,255,255,.68);
}
.na-home-faq-item[open] {
  background: #fff;
  box-shadow: inset 4px 0 0 var(--na-cobalt);
}
.na-home-faq-item summary {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 38px;
  gap: 18px;
  align-items: center;
  min-height: 88px;
  padding: 0 18px 0 20px;
  cursor: pointer;
  list-style: none;
}
.na-home-faq-item summary::-webkit-details-marker { display: none; }
.na-home-faq-no {
  color: var(--na-cobalt);
  font: 700 11px/1 var(--na-plate);
  letter-spacing: .08em;
}
.na-home-faq-question {
  color: var(--na-ink);
  font: 800 clamp(18px,2vw,24px)/1.2 var(--na-display);
  letter-spacing: -.015em;
}
.na-home-faq-toggle {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--na-line);
  border-radius: 50%;
  color: var(--na-cobalt);
  font: 400 20px/1 var(--na-plate);
  transition: transform .2s ease,background .2s ease,color .2s ease;
}
.na-home-faq-item[open] .na-home-faq-toggle {
  transform: rotate(45deg);
  background: var(--na-heading);
  color: #fff;
}
.na-home-faq-answer {
  max-width: 760px;
  padding: 0 74px 26px 92px;
}
.na-home-faq-answer p {
  margin: 0;
  color: var(--na-body);
  font-size: 15px;
  line-height: 1.75;
}
.na-home-faq-answer a {
  color: var(--na-cobalt);
  font-weight: 700;
  text-underline-offset: 3px;
}
@media (max-width: 850px) {
  .na-home-faq-layout { grid-template-columns: 1fr; gap: 32px; }
  .na-home-faq-intro { position: static; }
  .na-home-faq-intro h2,
  .na-home-faq-intro p { max-width: 680px; }
}
@media (max-width: 600px) {
  .na-home-faq-item summary {
    grid-template-columns: 34px minmax(0,1fr) 32px;
    gap: 10px;
    min-height: 78px;
    padding: 0 12px;
  }
  .na-home-faq-answer { padding: 0 44px 22px 56px; }
  .na-home-faq-question { font-size: 17px; }
}
