/* Targeted successor: header navigation and Homepage proof band only.
   No content, CMS, media, renderer, GSAP timing or unrelated section edits. */
:root {
  --target-nav-size:1.125rem;
  --target-nav-track:.02em;
  --target-proof-index:.75rem;
  --target-proof-title:2.375rem;
  --target-proof-body:1.0625rem;
  --target-proof-leading:1.6;
}
body .site-header { background:#f4f1e8; border-bottom:1px solid #c9c3b0; }
body .site-header .nav-row { min-height:6rem; column-gap:2.5rem; }
body .site-header .desktop-nav { gap:clamp(1.25rem,1.8vw,1.75rem); }
body .site-header .brand strong { font-weight:600; letter-spacing:.25em; }
/* Distinguish discovery routes from the technical-capability group, without new labels. */
body .site-header .desktop-nav a[href="/rd/"] { margin-left:.4rem; padding-left:1.8rem; border-left:1px solid #c9c3b0; }
body .site-header .desktop-nav a {
  font-family:var(--font-sans); font-size:var(--target-nav-size); font-weight:500;
  letter-spacing:var(--target-nav-track); line-height:1.4; white-space:nowrap;
  color:#294c3e; text-decoration:none; transition:color 180ms ease;
}
body .site-header .desktop-nav a::after {
  left:0; right:auto; width:24px; bottom:-.75rem; height:1px; background:#a88b53;
  transform:scaleX(0); transform-origin:left center; opacity:.8;
  transition:transform 180ms cubic-bezier(.2,.7,.3,1);
}
body .site-header .desktop-nav a:hover,
body .site-header .desktop-nav a[aria-current="page"] { color:#103d30; }
body .site-header .desktop-nav a[aria-current="page"] { font-weight:600; }
body .site-header .desktop-nav a:hover::after,
body .site-header .desktop-nav a[aria-current="page"]::after { transform:scaleX(1); }
body .site-header .nav-conversion-link { font-size:1rem; font-weight:600; line-height:1.4; letter-spacing:.01em; }
body .mobile-menu { background:#082d24; }
body .mobile-menu a { font-family:var(--font-sans); font-size:1.5rem; font-weight:500; letter-spacing:.015em; line-height:1.4; padding:.75rem 0; border-bottom-color:rgba(220,228,209,.18); }
body .mobile-menu a[aria-current="page"] { font-weight:600; color:#e1d0ab; }
body .mobile-menu a[href="/rd/"] { margin-top:.6rem; }

/* Content-sized band prevents the larger approved text from colliding with the Hero CTA.
   It remains in its original DOM slot and retains the same cinematic media/timeline. */
body .bm-hero { height:auto; min-height:calc(100svh - var(--bm-top)); }
/* Preserve the previous cinematic image viewport; only the proof text band grows below it. */
body .bm-stage,body .bm-readability { bottom:auto; height:max(580px,calc(100svh - var(--bm-top))); }
body .bm-frame {
  height:auto; min-height:calc(100svh - var(--bm-top));
  grid-template-rows:auto minmax(min-content,1fr) auto auto;
  row-gap:1.4rem; padding-block:1.25rem 1.5rem;
}
body .bm-proof {
  position:relative; isolation:isolate;
  grid-template-columns:1fr 1fr 1.05fr 1.18fr; gap:1.75rem;
  margin-top:1rem; padding-top:2.25rem; padding-bottom:2rem;
  border-top:0; background:none;
}
/* One full-width evidence plane, not four boxed cards or image-overlay paragraphs. */
body .bm-proof::before { content:""; position:absolute; z-index:-1; pointer-events:none; top:0; bottom:0; left:calc((100% - 100vw)/2); width:100vw; background:#082d24; border-top:1px solid rgba(225,208,171,.55); }
body .bm-proof article { min-width:0; }
body .bm-proof article + article { border-left:1px solid rgba(191,209,184,.22); padding-left:1.5rem; }
body .bm-proof-index {
  display:flex; align-items:center; gap:1rem; margin:0 0 1rem; font-family:var(--font-sans);
  font-size:var(--target-proof-index); font-weight:500; line-height:1.5;
  letter-spacing:.12em; font-variant-numeric:tabular-nums; color:#e1d0ab;
}
body .bm-proof-index::after { content:""; height:1px; width:2.5rem; background:rgba(225,208,171,.45); }
body .bm-proof strong {
  display:block; min-height:1.08em; font-family:var(--font-display); font-size:var(--target-proof-title);
  font-weight:400; line-height:1.08; letter-spacing:-.02em;
  white-space:normal; overflow-wrap:anywhere; text-wrap:balance;
  font-variant-numeric:tabular-nums; color:#fffdf7;
}
body .bm-proof p {
  margin:1.25rem 0 0; font-family:var(--font-sans); font-size:var(--target-proof-body);
  font-weight:400; line-height:var(--target-proof-leading); color:#f3f0e7;
  max-width:38ch; overflow-wrap:break-word;
}
body .bm-bottom { min-height:48px; gap:1rem; padding-top:.35rem; border-top:1px solid rgba(191,209,184,.22); }
body .bm-bottom a {
  font-family:var(--font-sans); font-size:1rem; font-weight:600; line-height:1.5;
  letter-spacing:.01em; text-decoration:underline; text-underline-offset:.3em;
  text-decoration-thickness:1px; text-decoration-color:rgba(225,208,171,.55);
  transition:color 180ms ease,text-decoration-color 180ms ease;
}
body .bm-bottom a:hover { color:#c4e2b8; text-decoration-color:#c4e2b8; }
body .bm-bottom button { font-size:.75rem; font-weight:500; line-height:1.5; }

@media (max-width:1300px) and (min-width:821px) {
  :root { --target-nav-size:1.0625rem; --target-proof-title:2.125rem; }
  body .site-header .nav-row { column-gap:2rem; }
  body .site-header .desktop-nav { gap:1.25rem; }
  body .site-header .desktop-nav a[href="/rd/"] { padding-left:1.25rem; }
  body .bm-proof { gap:1.25rem; }
  body .bm-proof article + article { padding-left:1.25rem; }
}
@media (max-width:920px) {
  body .site-header .nav-row { min-height:4.5rem; column-gap:1rem; }
  /* Static-position top follows the actual rendered header, not a guessed notice height. */
  body .mobile-menu { position:absolute; inset:auto 0 auto; padding:1rem 1.5rem 1.5rem; }
}
@media (max-width:720px) {
  :root { --target-proof-title:2.25rem; --target-proof-body:1.0625rem; }
  body .bm-frame { row-gap:1.35rem; padding-block:1rem 1.25rem; }
  body .bm-stage,body .bm-readability { height:max(690px,calc(100svh - var(--bm-top))); }
  body .bm-proof { gap:1.25rem; padding-top:1.75rem; padding-bottom:1.5rem; }
  body .bm-proof::before { left:0; width:100%; }
  body .bm-proof article { flex-basis:308px; }
  body .bm-proof strong { min-height:2.16em; line-height:1.08; }
  body .bm-proof p { margin-top:.9rem; line-height:1.6; }
  body .bm-bottom { gap:.75rem; }
  body .bm-bottom a { font-size:.9375rem; letter-spacing:0; }
  body .bm-motion-control { min-width:132px; }
  body .site-header .nav-conversion-link { font-size:.875rem; letter-spacing:0; }
}
@media (prefers-reduced-motion:reduce) {
  body .site-header .desktop-nav a,body .site-header .desktop-nav a::after,body .bm-bottom a { transition:none; }
}

/* Human correction 03: only header navigation presentation and Hero text palette.
   Motion playback, evidence plane, CMS, links and approved wording are unchanged. */
body .site-header .desktop-nav { gap:clamp(34px,2.6vw,46px); }
body .site-header .desktop-nav a {
  font-size:17px; font-weight:550; line-height:1; letter-spacing:.025em;
  color:#294c3e; transition:color 300ms cubic-bezier(.22,.61,.36,1);
}
/* Fixed weight across route states avoids variable-font advance-width changes. */
body .site-header .desktop-nav a[aria-current="page"] { font-weight:550; color:#0b3529; }
body .site-header .desktop-nav a::after {
  width:100%; left:0; right:auto; bottom:-.7rem; height:1.5px;
  background:#b79c66; transform-origin:left center; opacity:.85;
  transition:transform 300ms cubic-bezier(.22,.61,.36,1),opacity 130ms ease;
}
body .site-header .desktop-nav a:hover { color:#0b3529; }
body .site-header .desktop-nav a:active { color:#082d24; }
body .site-header .desktop-nav a:active::after {
  transform:scaleX(1) scaleY(.6); opacity:.65; transition-duration:130ms;
}
body .site-header .desktop-nav a:focus-visible {
  outline:2px solid #285946; outline-offset:7px; border-radius:0;
}
body .site-header .desktop-nav a:focus-visible::after { transform:scaleX(1); }
body .mobile-menu a {
  font-size:18px; line-height:1; font-weight:550; letter-spacing:.025em;
  min-height:50px; padding:16px 0; color:#f4f0e5;
  transition:color 300ms cubic-bezier(.22,.61,.36,1),border-color 130ms ease;
}
body .mobile-menu a[aria-current="page"] { font-weight:550; color:#d0b77d; border-bottom-color:#b79c66; }
body .mobile-menu a:hover { color:#d0b77d; border-bottom-color:#b79c66; }
body .mobile-menu a:active { color:#e3cf9f; border-bottom-color:#e3cf9f; transition-duration:130ms; }
body .mobile-menu a:focus-visible { outline:2px solid #d0b77d; outline-offset:3px; }
@media (min-width:921px) and (max-width:1150px) {
  body .site-header .desktop-nav { gap:clamp(16px,2vw,23px); }
  body .site-header .desktop-nav a { font-size:16px; }
  body .site-header .desktop-nav a[href="/rd/"] { padding-left:16px; }
}
body .bm-h1 { color:#f4f0e5; text-shadow:0 2px 24px rgba(3,18,14,.14); }
body .bm-line:last-child { color:#d0b77d; }
body .bm-eyebrow { color:#d9ceb4; }
body .bm-role { color:#c4d8bc; }
body .bm-support { color:#eeeade; }
/* A persistent directional veil supports the mineral-gold line on all media cuts.
   Only the left reading area is deepened; the right cinematic image stays luminous. */
body .bm-readability {
  background:linear-gradient(90deg,rgba(3,20,16,.79),rgba(3,20,16,.62) 48%,rgba(3,20,16,.25) 80%),linear-gradient(0deg,rgba(3,20,16,.72),transparent 45%);
}
@media (max-width:720px) {
  body .bm-readability { background:linear-gradient(90deg,rgba(3,20,16,.78),rgba(3,20,16,.66)),linear-gradient(0deg,rgba(3,20,16,.82),transparent 75%); }
}
@media (prefers-reduced-motion:reduce) {
  body .site-header .desktop-nav a,body .site-header .desktop-nav a::after,body .mobile-menu a { transition:none; }
  body .site-header .desktop-nav a:active::after { transform:scaleX(1); }
}

/* Refinement04: motion owns entrance wrappers; interaction owns inner links only. */
body .bm-cta-entry { display:inline-flex; min-width:0; }
body .bm-cta-label,body .bm-cta-arrow { display:inline-block; }
body .bm-actions .bm-button { background:#f4f0e5; border-color:rgba(241,233,214,.8); box-shadow:inset 0 1px rgba(255,255,255,.65); transition:transform 280ms cubic-bezier(.215,.61,.355,1),background-color 280ms ease,box-shadow 280ms ease; }
body .bm-cta-label,body .bm-cta-arrow { transition:transform 280ms cubic-bezier(.215,.61,.355,1),opacity 280ms ease; }
body .bm-cta-arrow { opacity:.8; }
body .bm-secondary,body .bm-evidence-link { position:relative; display:inline-flex; align-items:center; gap:.35em; text-decoration:none; transition:opacity 110ms ease; }
body .bm-secondary::after,body .bm-evidence-link::after { content:""; position:absolute; left:0; right:0; bottom:-.35rem; height:1px; background:rgba(217,206,180,.7); transform:scaleX(0); transform-origin:left; transition:transform 320ms cubic-bezier(.215,.61,.355,1); }
body .bm-evidence-shell { position:relative; isolation:isolate; margin-top:1rem; min-width:0; }
body .bm-proof { margin-top:0; }
body .bm-proof::before { display:none; }
body .bm-evidence-shell::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:calc((100% - 100vw)/2); width:100vw; background:rgba(7,47,38,.74); border-top:1px solid rgba(225,208,171,.24); pointer-events:none; }
body .bm-rail-media { position:absolute; z-index:-2; top:0; bottom:0; left:calc((100% - 100vw)/2); width:100vw; overflow:hidden; pointer-events:none; }
body .bm-rail-shot { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 65%; transform-origin:center; }
body .bm-proof article + article { border-left-color:rgba(217,206,180,.22); }
body .bm-proof-index::after { background:rgba(225,208,171,.24); transition:background-color 240ms ease; }
body .bm-proof-index { color:#e7dec8; }
body .bm-evidence-item strong { transition:transform 240ms cubic-bezier(.215,.61,.355,1); }
body .bm-evidence-item p { opacity:.9; transition:opacity 240ms ease; }
body .bm-accent-mask { overflow:hidden; }
body .bm-accent-line { transform-origin:left center; }
@media (hover:hover) and (pointer:fine) {
 body .bm-button:hover { transform:translateY(-2px); background:#fffdf8; box-shadow:inset 0 1px rgba(255,255,255,.65),0 6px 22px rgba(3,20,16,.08); }
 body .bm-button:hover .bm-cta-label { transform:translateX(2px); }
 body .bm-button:hover .bm-cta-arrow { transform:translateX(5px); opacity:1; }
 body .bm-secondary:hover .bm-cta-label,body .bm-evidence-link:hover .bm-cta-label { transform:translateX(3px); }
 body .bm-secondary:hover .bm-cta-arrow { transform:translateX(6px); opacity:1; }
 body .bm-evidence-link:hover .bm-cta-arrow { transform:translateX(5px); opacity:1; }
 body .bm-secondary:hover::after,body .bm-evidence-link:hover::after { transform:scaleX(1); }
 body .bm-secondary:hover,body .bm-evidence-link:hover { text-decoration:none; }
 body .bm-evidence-item:hover strong { transform:translateX(2px); }
 body .bm-evidence-item:hover p { opacity:1; }
 body .bm-evidence-item:hover .bm-proof-index::after { background:rgba(225,208,171,.44); }
}
body .bm-button:active { transform:translateY(0) scale(.985); transition-duration:110ms; }
body .bm-secondary:active { opacity:.82; }
body .bm-secondary:active .bm-cta-label { transform:translateX(1px); transition-duration:110ms; }
body .bm-secondary:focus-visible::after,body .bm-evidence-link:focus-visible::after { transform:scaleX(1); }
@media (max-width:720px) {
 body .bm-cta-entry { display:flex; width:100%; }
 body .bm-evidence-shell::before,body .bm-rail-media { left:0; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 body .bm-cta-entry,body .bm-evidence-item,body .bm-evidence-shell,body .bm-accent-line,body .bm-actions .bm-button,body .bm-cta-label,body .bm-cta-arrow,body .bm-evidence-item strong { transform:none!important; }
 body .bm-rail-shot { transform:none!important; }
 body .bm-cta-label,body .bm-cta-arrow,body .bm-button,body .bm-secondary,body .bm-evidence-link,body .bm-secondary::after,body .bm-evidence-link::after,body .bm-evidence-item p,body .bm-evidence-item strong { transition:none; }
}

/* Header Brand/Nav Replacement 01: restrained editorial lockup; routes and page content remain unchanged. */
body .site-header { background:#f5f1e8; border-bottom-color:rgba(18,56,46,.16); backdrop-filter:none; }
body.v2-experience .site-header { background:#f5f1e8; border-bottom-color:rgba(18,56,46,.16); backdrop-filter:none; }
body .site-header .nav-row { min-height:5.25rem; gap:1.5rem; }
body .site-header .brand { display:inline-flex; align-items:center; gap:.85rem; color:#12382e; text-decoration:none; letter-spacing:normal; }
body .site-header .brand-mark { flex:0 0 auto; display:grid; place-items:center; width:2.35rem; height:2.35rem; color:#f5f1e8; background:#12382e; border:1px solid #c5a86c; border-radius:50%; font-family:var(--font-display); font-size:.78rem; font-weight:400; letter-spacing:.08em; line-height:1; }
body .site-header .brand-lockup { display:grid; min-width:0; gap:.18rem; }
body .site-header .brand-wordmark { color:#12382e; font-family:var(--font-display); font-size:1.45rem; font-weight:400; letter-spacing:.22em; line-height:1; white-space:nowrap; }
body .site-header .brand-tagline { color:#b18c52; font-family:var(--font-sans); font-size:.48rem; font-weight:600; letter-spacing:.19em; line-height:1.2; white-space:nowrap; }
@media (min-width:921px) { body .site-header .desktop-nav { display:flex; align-items:center; gap:clamp(1rem,1.55vw,1.85rem); } }
body .site-header .desktop-nav a { position:relative; color:#12382e; font-family:var(--font-display); font-size:clamp(1.0625rem,1.05vw,1.35rem); font-weight:400; letter-spacing:.025em; line-height:1.2; text-decoration:none; }
body .site-header .desktop-nav a + a::before { content:""; position:absolute; left:calc(-1 * clamp(.62rem,.78vw,.92rem)); top:50%; width:1px; height:.95rem; background:rgba(177,140,82,.38); transform:translateY(-50%); }
body .site-header .desktop-nav a::after { left:0; right:auto; bottom:-.5rem; width:100%; height:1px; background:#b18c52; transform:scaleX(0); transform-origin:left center; transition:transform 180ms ease; }
body .site-header .desktop-nav a:hover::after,body .site-header .desktop-nav a:focus-visible::after,body .site-header .desktop-nav a[aria-current="page"]::after { right:auto; transform:scaleX(1); }
body .site-header .desktop-nav a[aria-current="page"] { color:#b18c52; }
body .site-header .menu-button { border-color:rgba(18,56,46,.24); color:#12382e; }
body .mobile-menu { background:rgba(18,56,46,.98); }
body .mobile-menu a { color:#f5f1e8; font-family:var(--font-display); font-size:1.35rem; font-weight:400; letter-spacing:.02em; }
body .mobile-menu a[aria-current="page"] { color:#d7bd87; }
@media (max-width:1180px) {
 body .site-header .desktop-nav { gap:.9rem; }
 body .site-header .desktop-nav a { font-size:1.05rem; }
}
@media (max-width:620px) {
 body .site-header .nav-row { min-height:4.6rem; gap:.7rem; }
 body .site-header .brand { gap:.62rem; }
 body .site-header .brand-mark { width:2rem; height:2rem; font-size:.68rem; }
 body .site-header .brand-wordmark { font-size:1.14rem; letter-spacing:.18em; }
 body .site-header .brand-tagline { font-size:.38rem; letter-spacing:.11em; }
 body .mobile-menu { inset:6.6rem 0 0; }
}

/* Header Brand/Nav Runtime Correction 01
   D02: repair homepage specificity so the Header 01 navigation typography and the
        champagne active underline actually apply under body.hybrid-prototype[data-page="home"].
        Scoped to .site-header only; no importance override; no global specificity increase.
   D03: retire the legacy /rd/ border-left separator so a single separator system remains.
   Routes, hero, marquee, page content and brand lockup are unchanged. */
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a { font-family:var(--font-display); font-size:clamp(1.0625rem,1.05vw,1.35rem); font-weight:400; letter-spacing:.025em; line-height:1.2; color:#12382e; }
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a[aria-current="page"] { color:#b18c52; font-weight:400; }
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a::after { left:0; right:auto; bottom:-.5rem; width:100%; height:1px; background:#b18c52; opacity:1; transform:scaleX(0); transform-origin:left center; transition:transform 180ms ease; }
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a:hover::after,html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a:focus-visible::after,html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a[aria-current="page"]::after { transform:scaleX(1); }
body .site-header .desktop-nav a[href="/rd/"] { margin-left:0; padding-left:0; border-left:0; }
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a[href="/rd/"] { margin-left:0; padding-left:0; border-left:0; }

/* Three-series IA: the approved seven-item navigation uses full, descriptive
   labels. Switch to the existing menu before those labels are forced to crush. */
@media (max-width:1180px) {
 body .site-header .desktop-nav { display:none; }
 body .site-header .menu-button { display:inline-flex; }
}

/* Header Final Correction 02
   A01: desktop navigation optical scale. Linear viewport response across the desktop
        range, floor 17.5px, ceiling 21px:
          1024 ~17.9px · 1280 ~18.7px · 1440 ~19.2px · 1920 ~20.75px
        Family (Newsreader) and weight (400) are unchanged; gap, separators, active
        state, brand lockup and routes are untouched.
   D05: the mobile menu panel's top edge now resolves from its own static position,
        which is the header's real rendered bottom, instead of a guessed fixed offset.
        Both block insets stay auto so the static position governs the top edge; anchoring
        the bottom would make the height drive the top instead.
        No header-height variable is introduced and none is duplicated. */
body .site-header .desktop-nav a,
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a { font-size:clamp(17.5px,calc(14.6px + 0.3203vw),21px); }
@media (max-width:620px) {
 html body .mobile-menu[data-mobile-menu] { inset-block-start:auto; inset-block-end:auto; inset-inline:0; }
}

/* Header Approved Reference Visual Implementation 02
   Brand lockup rebuilt as a luxury beauty masthead: large botanical YZ emblem (inline SVG),
   display-scale YUANZE wordmark with wide tracking, champagne tagline beneath it, and a
   navigation type scale that belongs to the same editorial serif system.
   Header-only. Routes, hero, marquee, SEO/AEO/GEO, RFQ and every page section are untouched.
   The accepted D01-D05 behaviour is preserved: R&D label, single separator, champagne active
   underline, <=920px desktop-nav hidden, mobile panel top on the real header bottom. */

@font-face {
 font-family:"Cormorant Garamond";
 font-style:normal;
 font-weight:500;
 font-display:swap;
 src:url("/assets/cormorant-garamond-500-latin.woff2") format("woff2");
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* --- header shell ------------------------------------------------------- */
body .site-header { background:#f5f1e8; border-bottom:1px solid rgba(197,168,108,.5); box-shadow:none; backdrop-filter:none; }
body.v2-experience .site-header { background:#f5f1e8; border-bottom:1px solid rgba(197,168,108,.5); }
body .site-header .nav-row { min-height:6.5rem; gap:2rem; column-gap:2rem; }

/* --- botanical emblem --------------------------------------------------- */
body .site-header .brand { display:inline-flex; align-items:center; gap:1.15rem; text-decoration:none; }
body .site-header .brand-mark { display:block; width:auto; height:4rem; padding:0; background:none; border:0; border-radius:0; font-size:0; letter-spacing:normal; place-items:normal; flex:0 0 auto; }
body .site-header .brand-mark .brand-emblem { display:block; height:4rem; width:auto; overflow:visible; }

/* --- wordmark and tagline ----------------------------------------------- */
body .site-header .brand-lockup { display:grid; min-width:0; gap:.45rem; }
body .site-header .brand-wordmark { display:block; color:#12382e; font-family:"Cormorant Garamond",var(--font-display); font-size:clamp(2.5rem,2.95vw,2.75rem); font-weight:500; letter-spacing:.28em; line-height:.95; text-indent:.28em; white-space:nowrap; }
body .site-header .brand-tagline { display:block; color:#a98549; font-family:var(--font-sans); font-size:.6875rem; font-weight:500; letter-spacing:.18em; line-height:1.2; text-indent:.18em; white-space:nowrap; }

/* --- navigation scale, same serif system -------------------------------- */
body .site-header .desktop-nav a,
html body.hybrid-prototype[data-page="home"] .site-header .desktop-nav a { font-family:var(--font-display); font-size:clamp(17.5px,calc(13.2px + 0.40625vw),22px); font-weight:400; letter-spacing:.03em; line-height:1.2; }

/* --- mobile masthead ---------------------------------------------------- */
@media (max-width:620px) {
 body .site-header .nav-row { min-height:5.5rem; gap:.75rem; }
 body .site-header .brand { gap:.75rem; }
 body .site-header .brand-mark,
 body .site-header .brand-mark .brand-emblem { width:auto; height:2.75rem; }
 body .site-header .brand-lockup { gap:.3rem; }
 body .site-header .brand-wordmark { font-size:1.6rem; letter-spacing:.24em; text-indent:.24em; }
 body .site-header .brand-tagline { font-size:.5625rem; letter-spacing:.1em; text-indent:.1em; }
}

/* Homepage Top Notice + Mobile Menu Polish 01
   Keep the disclosure copy in the governed source and footer, but remove the
   system-style banner from the homepage's branded first impression. The menu
   trigger keeps its existing 48px target and interaction logic; only its visual
   frame and line weight are simplified. */
body[data-page="home"] .client-preview-note { display:none; }

body .site-header .menu-button.yz-action.yz-action--icon {
 width:48px; min-width:48px; height:48px; min-height:48px;
 padding:0; color:#12382e; background:transparent; border:0; border-radius:2px;
}
body .site-header .menu-button.yz-action.yz-action--icon::before {
 inset:0; clip-path:none; background:rgba(255,253,248,.22);
 border:1px solid rgba(18,56,46,.26); border-radius:2px;
}
body .site-header .menu-button.yz-action.yz-action--icon::after { content:none; }
body .site-header .menu-button.yz-action.yz-action--icon svg { width:17px; height:17px; }
body .site-header .menu-button.yz-action.yz-action--icon svg path { stroke-width:1.35; }
body .site-header .menu-button.yz-action.yz-action--icon:focus-visible {
 outline:2px solid #896a30; outline-offset:3px;
}
@media (hover:hover) and (pointer:fine) {
 body .site-header .menu-button.yz-action.yz-action--icon:hover::before {
  background:rgba(255,253,248,.42); border-color:rgba(18,56,46,.38);
 }
}
@media (max-width: 430px) {
  .yz-collab-panel__eyebrow,
  .gbe-impact-panel header > p,
  .gbe-impact-panel .gbe-signals b,
  .gbe-panel-heading p,
  .gbe-map-node,
  .gbe-supplier-host .logo-marquee-caption,
  .yz-catalog-scale__metrics span,
  .yc-concept,
  .yz-catalog-quality__credentials span,
  .series-kicker,
  .packaging-gallery-label,
  .packaging-format-index button,
  .px-page figcaption,
  .px-page .px-hero-texture span,
  .px-page .px-related-grid span,
  .px-page dt,
  .px-page .px-stage-label,
  .px-page .px-brief-summary *,
  .pdv1-kicker,
  .pdv1-hero-index span,
  .pdv1-bridge-flow span {
    font-size: 10px !important;
  }

  .gbe-supplier-fallback p {
    font-size: 10px !important;
  }

  .conversion-form input,
  .conversion-form select,
  .conversion-form textarea {
    font-size: 16px !important;
  }
}

/* --------------------------------------------------------------------------
   Premium Brand Lockup 06 — shared header pilot only.
   The existing verified vector emblem and brand copy are preserved.
   -------------------------------------------------------------------------- */
body .site-header .nav-row {
  min-height: 76px;
  gap: clamp(18px, 2vw, 28px);
}

body .site-header .brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  width: 220px;
  max-width: 220px;
  min-width: 0;
  gap: 6px;
  padding-block: 7px;
  color: #12382e;
}

body .site-header .brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 42px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
}

body .site-header .brand-mark .brand-emblem {
  display: block;
  width: auto;
  height: 40px;
  overflow: visible;
  opacity: .94;
  transition: opacity 400ms ease;
}

body .site-header .brand-lockup {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 4px;
  padding-bottom: 4px;
}

body .site-header .brand-lockup::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 52%;
  height: 1px;
  background: rgba(177, 140, 82, .72);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 400ms cubic-bezier(.2, .7, .2, 1);
}

body .site-header .brand-wordmark {
  display: block;
  color: #12382e;
  font-family: "Cormorant Garamond", var(--font-display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: .92;
  text-indent: .16em;
  white-space: nowrap;
}

body .site-header .brand-tagline {
  display: block;
  color: rgba(18, 56, 46, .66);
  font-family: var(--font-sans);
  font-size: 7px;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1.2;
  text-indent: .11em;
  white-space: nowrap;
}

body .site-header .brand:focus-visible {
  outline: 2px solid #a98549;
  outline-offset: 4px;
  border-radius: 2px;
}

@media (hover: hover) and (pointer: fine) {
  body .site-header .brand:hover .brand-emblem,
  body .site-header .brand:focus-visible .brand-emblem {
    opacity: 1;
  }

  body .site-header .brand:hover .brand-lockup::after,
  body .site-header .brand:focus-visible .brand-lockup::after {
    transform: scaleX(1);
  }
}

@media (min-width: 921px) and (max-width: 1180px) {
  body .site-header .nav-row { min-height: 74px; gap: 16px; }
  body .site-header .brand { width: 190px; max-width: 190px; gap: 8px; }
  body .site-header .brand-mark { flex-basis: 36px; width: 36px; height: 39px; }
  body .site-header .brand-mark .brand-emblem { height: 37px; }
  body .site-header .brand-lockup { gap: 3px; }
  body .site-header .brand-wordmark { font-size: 24px; letter-spacing: .17em; text-indent: .17em; }
  body .site-header .brand-tagline { font-size: 6.5px; letter-spacing: .15em; text-indent: .08em; }
}

@media (max-width: 620px) {
  body .site-header .nav-row { min-height: 72px; gap: 12px; }
  body .site-header .brand { width: 205px; max-width: 205px; gap: 10px; padding-block: 6px; }
  body .site-header .brand-mark { flex-basis: 38px; width: 38px; height: 40px; }
  body .site-header .brand-mark .brand-emblem { height: 38px; }
  body .site-header .brand-lockup { gap: 3px; padding-bottom: 3px; }
  body .site-header .brand-wordmark { font-size: 24px; letter-spacing: .18em; text-indent: .18em; }
  body .site-header .brand-tagline { font-size: 6.5px; letter-spacing: .14em; text-indent: .07em; }
}

@media (max-width: 430px) {
  body .site-header .brand { width: 176px; max-width: 176px; }
  body .site-header .brand-tagline { display: none; }
  body .site-header .brand-lockup { gap: 0; padding-bottom: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  body .site-header .brand-mark .brand-emblem,
  body .site-header .brand-lockup::after {
    transition: none;
  }
}
