  :root {
    --cream:#F6F1E7;
    --cream-deep:#EFE8D9;
    --parchment:#EAE4D6;
    --ink:#1B1813;
    --pine:#1E3A2F;
    --pine-deep:#162B23;
    --charcoal:#171512;
    --bronze:#A98352;
    --bronze-light:#C9A472;
    --hair:rgba(27,24,19,0.16);
    --hair-dark:rgba(246,241,231,0.16);
    --ink-muted:rgba(27,24,19,0.66);
    --cream-muted:rgba(246,241,231,0.74);
    --serif:'Fraunces',serif;
    --sans:'Inter',sans-serif;
    --mono:'IBM Plex Mono',monospace;
    --pad-x:clamp(24px,5vw,84px);
    --pad-y:clamp(96px,12vw,170px);
    --ease:cubic-bezier(.22,.61,.36,1);
    --z-marquee:10; --z-header:40; --z-nav:50; --z-skip:60;
  }

  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    background:var(--cream);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:clip;
  }
  img { display:block; max-width:100%; }
  a { color:inherit; text-decoration:none; }
  button { font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

  ::selection { background:var(--bronze); color:var(--cream); }

  :focus { outline:none; }
  :focus-visible { outline:2px solid var(--pine); outline-offset:4px; }
  .on-dark :focus-visible { outline-color:var(--bronze-light); }

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

  .skip-link {
    position:absolute; left:-9999px; top:0;
    background:var(--ink); color:var(--cream);
    padding:12px 18px;
    font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    z-index:var(--z-skip);
  }
  .skip-link:focus { left:12px; top:12px; }

  /* Paper grain over light surfaces */
  .grain { position:relative; }
  .grain::after {
    content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
    opacity:.5; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.5 0 0 0 0 0.42 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .grain > * { position:relative; z-index:2; }

  .container { max-width:1380px; margin:0 auto; }
  .section { padding:var(--pad-y) var(--pad-x); position:relative; overflow:clip; }
  .section--pine { background:var(--pine); color:var(--cream); }
  .section--cream-deep { background:var(--cream-deep); }
  .section--charcoal { background:var(--charcoal); color:var(--cream); }

  /* Kicker: number · label ————————— rule */
  .kicker {
    display:flex; align-items:center; gap:20px;
    margin-bottom:clamp(48px,6vw,76px);
  }
  .kicker-num { font-family:var(--mono); font-size:11px; letter-spacing:0.22em; color:var(--bronze); flex-shrink:0; }
  .kicker-label {
    font-family:var(--mono); font-size:11px; letter-spacing:0.26em;
    text-transform:uppercase; color:var(--ink-muted); flex-shrink:0;
  }
  .kicker::after { content:""; height:1px; background:var(--hair); flex:1; }
  .on-dark .kicker-num { color:var(--bronze-light); }
  .on-dark .kicker-label { color:var(--cream-muted); }
  .on-dark .kicker::after { background:var(--hair-dark); }

  .section-title {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(34px,4.6vw,64px); line-height:1.08;
    letter-spacing:-0.01em; text-wrap:balance;
  }
  .section-title em { font-style:italic; font-weight:340; color:var(--pine); }
  .on-dark .section-title em { color:var(--bronze-light); }

  /* Underline-grow link language */
  .u-link {
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat;
    background-size:0% 1px;
    background-position:left calc(100% - 1px);
    transition:background-size .45s var(--ease);
  }
  .u-link:hover, .u-link:focus-visible { background-size:100% 1px; }

  .btn {
    display:inline-flex; align-items:center; gap:14px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.18em;
    text-transform:uppercase;
    padding:16px 30px;
    transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  }
  .btn .btn-arrow { transition:transform .35s var(--ease); }
  .btn:hover .btn-arrow { transform:translateX(6px); }
  .btn--bronze { background:var(--bronze-light); color:var(--charcoal); }
  .btn--bronze:hover { background:var(--cream); }
  .btn--ghost-dark { color:var(--cream); border:1px solid rgba(246,241,231,0.45); }
  .btn--ghost-dark:hover { background:rgba(246,241,231,0.1); border-color:rgba(246,241,231,0.8); }

  /* ============ Header ============ */
  .site-header {
    position:fixed; top:0; left:0; right:0; z-index:var(--z-header);
    color:var(--cream);
    transition:background .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
  }
  .header-inner {
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding:22px var(--pad-x);
    border-bottom:1px solid rgba(246,241,231,0.14);
    transition:border-color .5s var(--ease), padding .5s var(--ease);
  }
  .site-header.is-solid {
    background:rgba(246,241,231,0.9);
    -webkit-backdrop-filter:blur(16px) saturate(1.1);
    backdrop-filter:blur(16px) saturate(1.1);
    color:var(--ink);
  }
  .site-header.is-solid .header-inner { border-bottom-color:var(--hair); padding-top:16px; padding-bottom:16px; }
  .brand { display:inline-flex; align-items:baseline; font-family:var(--serif); font-weight:340; font-size:25px; letter-spacing:.005em; }
  .brand .brand-dot { color:var(--bronze-light); }
  .site-header.is-solid .brand .brand-dot { color:var(--bronze); }
  .brand sup {
    font-family:var(--mono); font-size:8.5px; letter-spacing:0.3em;
    color:var(--bronze-light); margin-left:8px;
    position:relative; top:-0.9em;
  }
  .site-header.is-solid .brand sup { color:var(--bronze); }
  .primary-nav { display:flex; gap:clamp(8px,2vw,26px); }
  .primary-nav a {
    font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
    padding:12px 6px;
  }
  .header-cta {
    font-family:var(--mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    border:1px solid rgba(246,241,231,0.5);
    padding:12px 24px;
    transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  }
  .site-header.is-solid .header-cta { border-color:rgba(27,24,19,0.4); }
  .header-cta:hover { background:var(--bronze-light); color:var(--charcoal); border-color:var(--bronze-light); }

  .nav-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:6px; }
  .nav-toggle span { display:block; width:24px; height:1.5px; background:currentColor; transition:transform .35s var(--ease), opacity .35s var(--ease); }
  body.nav-open .nav-toggle span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2) { opacity:0; }
  body.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

  .mobile-nav {
    position:fixed; inset:0; z-index:var(--z-nav);
    background:var(--pine-deep); color:var(--cream);
    display:none; flex-direction:column; justify-content:center;
    padding:0 var(--pad-x);
  }
  body.nav-open .mobile-nav { display:flex; }
  .mobile-nav a {
    display:flex; align-items:baseline; gap:20px;
    font-family:var(--serif); font-weight:300; font-size:clamp(32px,8vw,52px);
    padding:16px 0; border-bottom:1px solid var(--hair-dark);
  }
  .mobile-nav a .idx { font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--bronze-light); }
  .mobile-nav a:hover { color:var(--bronze-light); }
  .mobile-nav .mobile-nav-cta {
    font-family:var(--mono); font-size:12px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--bronze-light); border-bottom:0; margin-top:28px;
  }
  .mobile-nav-close {
    position:absolute; top:22px; right:var(--pad-x);
    width:44px; height:44px; color:var(--cream); font-size:20px;
  }

  /* ============ Hero ============ */
  .hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--charcoal); }
  .hero-bg { position:absolute; inset:0; }
  .hero-bg img {
    width:100%; height:100%; object-fit:cover;
    animation:hero-settle 9s var(--ease) both;
  }
  @keyframes hero-settle { from { transform:scale(1.09); } to { transform:scale(1); } }
  .hero-scrim {
    position:absolute; inset:0; pointer-events:none;
    background:
      linear-gradient(to top, rgba(15,17,14,0.94) 0%, rgba(15,17,14,0.6) 38%, rgba(15,17,14,0.22) 70%, rgba(15,17,14,0.35) 100%);
  }
  .hero-frame {
    position:absolute; inset:clamp(14px,2vw,26px); pointer-events:none;
    border:1px solid rgba(246,241,231,0.14);
  }
  .hero-content {
    position:relative; z-index:2; width:100%;
    max-width:1380px; margin:0 auto;
    padding:180px var(--pad-x) clamp(64px,8vh,100px);
    color:var(--cream);
  }
  .hero-kicker {
    display:flex; align-items:center; gap:18px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.26em;
    text-transform:uppercase; color:var(--bronze-light);
    margin-bottom:34px;
  }
  .hero-kicker::before { content:""; width:44px; height:1px; background:var(--bronze-light); }
  .hero h1 {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(52px,7.6vw,118px); line-height:1.02; letter-spacing:-0.018em;
    max-width:14ch; text-wrap:balance;
  }
  .hero h1 em { font-style:italic; font-weight:340; color:var(--bronze-light); }
  .hero-foot {
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:48px; margin-top:56px; flex-wrap:wrap;
  }
  .hero-lede {
    font-size:clamp(16px,1.3vw,18.5px); font-weight:300; line-height:1.8; max-width:52ch;
    color:rgba(246,241,231,0.88);
  }
  .hero-lede strong { font-weight:500; color:var(--cream); }
  .hero-ctas { display:flex; gap:16px; flex-wrap:wrap; }
  .hero-meta {
    position:relative; z-index:2;
    display:flex; justify-content:space-between; align-items:center; gap:24px;
    max-width:1380px; margin:0 auto;
    padding:0 var(--pad-x) 34px;
    font-family:var(--mono); font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:rgba(246,241,231,0.55);
    flex-wrap:wrap;
  }
  .hero-scroll { display:inline-flex; align-items:center; gap:12px; color:rgba(246,241,231,0.55); }
  .hero-scroll::after { content:""; width:1px; height:36px; background:linear-gradient(var(--bronze-light), transparent); animation:scroll-pulse 2.4s ease-in-out infinite; }
  @keyframes scroll-pulse { 0%,100% { opacity:.35; transform:scaleY(.6); transform-origin:top; } 50% { opacity:1; transform:scaleY(1); } }

  /* Hero load choreography */
  .js .hero-reveal { opacity:0; transform:translateY(28px); animation:rise .9s var(--ease) forwards; }
  .js .hero-reveal:nth-child(1) { animation-delay:.15s; }
  .js .hero-kicker.hero-reveal { animation-delay:.15s; }
  .js .hero h1.hero-reveal { animation-delay:.3s; }
  .js .hero-foot .hero-lede.hero-reveal { animation-delay:.55s; }
  .js .hero-foot .hero-ctas.hero-reveal { animation-delay:.7s; }
  @keyframes rise { to { opacity:1; transform:translateY(0); } }

  /* ============ Ticker ============ */
  .ticker {
    border-bottom:1px solid var(--hair);
    background:var(--cream);
    overflow:hidden; white-space:nowrap;
    display:flex; align-items:stretch;
  }
  .ticker-label {
    flex-shrink:0;
    display:flex; align-items:center;
    padding:16px 24px;
    border-right:1px solid var(--hair);
    font-family:var(--mono); font-size:10px; letter-spacing:0.24em;
    text-transform:uppercase; color:var(--bronze);
    background:var(--cream);
    position:relative; z-index:2;
  }
  .ticker-viewport { overflow:hidden; flex:1; display:flex; align-items:center; }
  .ticker-track { display:inline-flex; animation:ticker 52s linear infinite; will-change:transform; }
  .ticker-track span {
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.24em;
    text-transform:uppercase; color:var(--ink-muted);
    padding:16px 0 16px 80px;
  }
  @keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

  /* ============ 01 Group ============ */
  .group-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(40px,6vw,110px); align-items:start; }
  .group-copy .section-title { margin-bottom:36px; }
  .group-lede { font-size:16.5px; font-weight:300; line-height:1.85; color:var(--ink-muted); max-width:54ch; margin-bottom:28px; }
  .group-lede strong { font-weight:500; color:var(--ink); }
  .group-aside {
    font-family:var(--serif); font-style:italic; font-weight:300;
    font-size:clamp(19px,1.8vw,24px); color:var(--pine);
    border-left:1px solid var(--bronze); padding-left:24px;
    margin-top:40px; max-width:40ch;
  }
  .stats-col { display:flex; flex-direction:column; }
  .stat {
    display:grid; grid-template-columns:minmax(90px,150px) 1fr; gap:24px; align-items:baseline;
    padding:30px 0; border-top:1px solid var(--hair);
  }
  .stat:last-child { border-bottom:1px solid var(--hair); }
  .stat-value {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(44px,4vw,64px); line-height:1; color:var(--pine);
    font-variant-numeric:tabular-nums;
  }
  .stat-value .suffix { color:var(--bronze); }
  .stat-label { font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-muted); line-height:1.9; }

  /* Meridian ornament */
  .ornament {
    position:absolute; pointer-events:none; z-index:0; opacity:.55;
  }

  /* ============ 02 Divisions ============ */
  .section--pine .grain::after { display:none; }
  #divisions { background:linear-gradient(180deg, var(--pine) 0%, var(--pine-deep) 100%); }
  #divisions .section-title { margin-bottom:clamp(56px,7vw,88px); max-width:20ch; }
  .division-list { border-top:1px solid var(--hair-dark); position:relative; z-index:2; }
  .division-row {
    position:relative;
    display:grid;
    grid-template-columns:minmax(90px,150px) minmax(220px,1.05fr) 1.9fr auto;
    gap:clamp(16px,3vw,52px); align-items:start;
    padding:clamp(36px,4vw,52px) clamp(8px,1.5vw,20px);
    border-bottom:1px solid var(--hair-dark);
    transition:background .4s var(--ease);
  }
  .division-row::before {
    content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
    background:var(--bronze-light); transform:scaleY(0);
    transform-origin:top; transition:transform .45s var(--ease);
  }
  .division-row:hover { background:rgba(246,241,231,0.04); }
  .division-row:hover::before { transform:scaleY(1); }
  .division-index {
    font-family:var(--serif); font-weight:300; font-size:clamp(32px,3vw,46px);
    color:rgba(246,241,231,0.22); line-height:1;
    transition:color .4s var(--ease);
  }
  .division-row:hover .division-index { color:var(--bronze-light); }
  .division-id { display:flex; flex-direction:column; gap:12px; }
  .division-name { font-family:var(--serif); font-weight:340; font-size:clamp(25px,2.5vw,36px); line-height:1.12; }
  .division-tag { font-family:var(--mono); font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--cream-muted); }
  .division-body { display:flex; flex-direction:column; gap:20px; padding-top:8px; }
  .division-desc { font-size:15px; font-weight:300; line-height:1.8; color:var(--cream-muted); max-width:52ch; }
  .division-link { font-family:var(--mono); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--bronze-light); }
  .division-arrow {
    font-family:var(--serif); font-size:26px; color:var(--bronze-light); padding-top:8px;
    transition:transform .4s var(--ease); display:inline-block;
  }
  .division-row:hover .division-arrow { transform:translateX(10px); }

  /* ============ 03 Insights ============ */
  .insights-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; margin-bottom:clamp(48px,6vw,72px); }
  .insights-head .section-title { max-width:22ch; }
  .view-all {
    font-family:var(--mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--pine); display:inline-flex; align-items:center; gap:10px;
    padding-bottom:6px; border-bottom:1px solid rgba(30,58,47,0.35);
    transition:border-color .35s var(--ease), gap .35s var(--ease);
    white-space:nowrap;
  }
  .view-all:hover { border-color:var(--pine); gap:16px; }
  .featured {
    display:grid; grid-template-columns:1.25fr 1fr;
    gap:clamp(32px,4.5vw,72px); align-items:stretch;
  }
  .featured-media { position:relative; display:block; min-height:420px; overflow:hidden; background:var(--pine); }
  .featured-media img {
    width:100%; height:100%; min-height:420px; object-fit:cover;
    position:absolute; inset:0;
    filter:saturate(.82) contrast(1.02);
    transition:transform 1.1s var(--ease), filter .6s var(--ease);
  }
  .featured-media::after {
    content:""; position:absolute; inset:0;
    background:linear-gradient(200deg, rgba(30,58,47,0.28), transparent 55%);
    transition:opacity .6s var(--ease);
  }
  .featured-media:hover img { transform:scale(1.035); filter:saturate(1) contrast(1); }
  .featured-media:hover::after { opacity:.4; }
  .featured-flag {
    position:absolute; top:0; left:0; z-index:2;
    font-family:var(--mono); font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    background:var(--cream); color:var(--bronze); padding:10px 16px;
  }
  .featured-body { display:flex; flex-direction:column; justify-content:center; gap:24px; }
  .featured-cat { font-family:var(--mono); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--bronze); }
  .featured-title {
    font-family:var(--serif); font-weight:340;
    font-size:clamp(27px,2.7vw,40px); line-height:1.18; letter-spacing:-0.005em;
    text-wrap:balance;
  }
  .featured-title .t { background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-size:0% 1px; background-position:left 100%; transition:background-size .5s var(--ease); }
  .featured-title:hover .t { background-size:100% 1px; }
  .featured-desc { font-size:15.5px; font-weight:300; line-height:1.85; color:var(--ink-muted); max-width:50ch; }
  .featured-meta { font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-muted); }
  .news-list { border-top:1px solid var(--hair); margin-top:clamp(56px,7vw,80px); }
  .news-row {
    display:grid;
    grid-template-columns:minmax(100px,150px) minmax(130px,190px) 1fr auto;
    gap:clamp(16px,3vw,48px); align-items:baseline;
    padding:32px clamp(4px,1vw,16px);
    border-bottom:1px solid var(--hair);
    transition:background .35s var(--ease), padding-left .35s var(--ease);
  }
  .news-row:hover { background:var(--cream-deep); padding-left:clamp(12px,1.8vw,28px); }
  .news-date { font-family:var(--mono); font-size:11px; letter-spacing:0.12em; color:var(--ink-muted); }
  .news-cat { font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--bronze); }
  .news-title { font-family:var(--serif); font-weight:340; font-size:clamp(17px,1.7vw,23px); line-height:1.35; }
  .news-arrow { font-family:var(--serif); font-size:20px; color:var(--pine); transition:transform .35s var(--ease); }
  .news-row:hover .news-arrow { transform:translateX(8px); }

  /* ============ 04 Approach ============ */
  #approach { overflow:hidden; }
  .approach-quote-wrap { position:relative; max-width:900px; margin-bottom:clamp(72px,9vw,120px); }
  .approach-quote-mark {
    position:absolute; top:-.32em; left:-0.06em;
    font-family:var(--serif); font-weight:300; font-style:italic;
    font-size:clamp(160px,22vw,300px); line-height:1; color:rgba(169,131,82,0.16);
    pointer-events:none; user-select:none;
  }
  .approach-quote {
    position:relative;
    font-family:var(--serif); font-style:italic; font-weight:300;
    font-size:clamp(27px,3.6vw,50px); line-height:1.28;
    max-width:24ch; text-wrap:pretty;
    padding-left:clamp(28px,5vw,72px);
  }
  .approach-quote cite {
    display:block; margin-top:28px;
    font-family:var(--mono); font-style:normal; font-size:11px;
    letter-spacing:0.22em; text-transform:uppercase; color:var(--bronze);
  }
  .approach-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(36px,4vw,56px); counter-reset:tenet; }
  .approach-cell { border-top:1px solid var(--ink); padding-top:26px; counter-increment:tenet; }
  .approach-cell h3 {
    display:flex; align-items:baseline; gap:16px;
    font-family:var(--serif); font-weight:340; font-size:clamp(21px,1.9vw,26px);
    margin-bottom:16px;
  }
  .approach-cell h3::before {
    content:counter(tenet, decimal-leading-zero);
    font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--bronze);
  }
  .approach-cell p { font-size:14.5px; font-weight:300; line-height:1.85; color:var(--ink-muted); }

  /* ============ Heritage ============ */
  #heritage { background:linear-gradient(180deg, var(--charcoal), #121110); }
  .heritage-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(48px,7vw,120px); align-items:center; }
  .heritage-copy { display:flex; flex-direction:column; gap:34px; }
  .heritage-copy .section-title { max-width:14ch; }
  .heritage-text { display:flex; flex-direction:column; gap:24px; font-size:15.5px; font-weight:300; line-height:1.9; color:rgba(246,241,231,0.76); max-width:56ch; }
  .heritage-text .lead-in { font-family:var(--serif); font-size:clamp(18px,1.7vw,22px); font-weight:300; line-height:1.6; color:var(--cream); }
  .heritage-routes { display:flex; flex-direction:column; gap:10px; border-top:1px solid var(--hair-dark); padding-top:26px; }
  .heritage-route {
    display:flex; align-items:center; gap:14px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.2em;
    text-transform:uppercase; color:rgba(201,164,114,0.85);
  }
  .heritage-route .route-line { flex:1; height:1px; background:rgba(201,164,114,0.25); position:relative; overflow:hidden; }
  .heritage-route .route-line::after {
    content:""; position:absolute; left:-30%; top:0; height:1px; width:30%;
    background:var(--bronze-light);
    animation:route-run 3.6s var(--ease) infinite;
  }
  .heritage-route:nth-child(2) .route-line::after { animation-delay:1.2s; }
  .heritage-route:nth-child(3) .route-line::after { animation-delay:2.4s; }
  @keyframes route-run { to { left:100%; } }
  .heritage-media { position:relative; min-height:460px; }
  .heritage-media::before {
    content:""; position:absolute; inset:26px -26px -26px 26px;
    border:1px solid rgba(201,164,114,0.35);
    z-index:0;
  }
  .heritage-media img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:sepia(.14) saturate(.9);
    z-index:1;
  }
  .heritage-card {
    position:absolute; left:-1px; bottom:34px; z-index:2;
    background:var(--cream); color:var(--ink);
    padding:26px 30px;
    max-width:250px;
  }
  .heritage-card .num { font-family:var(--serif); font-weight:300; font-size:44px; color:var(--pine); line-height:1; }
  .heritage-card .num .suffix { color:var(--bronze); }
  .heritage-card .lbl { font-family:var(--mono); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-muted); line-height:1.9; margin-top:10px; }

  /* ============ 05 Presence ============ */
  #presence .section-title { margin-bottom:clamp(56px,7vw,84px); max-width:20ch; }
  .presence-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(36px,4vw,56px); }
  .presence-cell { border-top:1px solid var(--ink); padding-top:26px; position:relative; transition:border-color .4s var(--ease); }
  .presence-cell:hover { border-top-color:var(--bronze); }
  .presence-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:18px; }
  .presence-cell h3 { font-family:var(--serif); font-weight:340; font-size:clamp(24px,2.2vw,30px); }
  .presence-time { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:var(--bronze); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .presence-country { font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-muted); display:block; margin-bottom:14px; }
  .presence-desc { font-size:14.5px; font-weight:300; line-height:1.8; color:var(--ink-muted); }
  .presence-desc a { color:var(--pine); }

  /* ============ Enquiries ============ */
  #enquiries { background:linear-gradient(180deg, var(--pine) 0%, var(--pine-deep) 100%); }
  .enquiries-inner { position:relative; z-index:2; }
  .enquiries-kicker { justify-content:center; }
  .enquiries-kicker::before { content:""; height:1px; background:var(--hair-dark); flex:1; }
  #enquiries .section-title { text-align:center; margin:0 auto clamp(28px,4vw,44px); max-width:18ch; }
  .enquiries-mail-wrap { text-align:center; margin-bottom:clamp(64px,8vw,96px); }
  .enquiries-mail {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(24px,4vw,52px); letter-spacing:-0.01em;
    color:var(--bronze-light);
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat; background-size:100% 1px; background-position:left 100%;
    transition:color .4s var(--ease);
  }
  .enquiries-mail:hover { color:var(--cream); }
  .contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1px; background:var(--hair-dark); border:1px solid var(--hair-dark); }
  .contact-cell {
    background:var(--pine); padding:40px 34px;
    display:flex; flex-direction:column; gap:18px;
    transition:background .4s var(--ease);
    position:relative; overflow:hidden;
  }
  #enquiries .contact-cell { background:transparent; }
  .contact-cell:hover { background:rgba(246,241,231,0.05); }
  .contact-label { font-family:var(--mono); font-size:10.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--bronze-light); }
  .contact-value { font-family:var(--serif); font-weight:340; font-size:clamp(18px,1.7vw,23px); }
  .contact-sub { font-size:13px; font-weight:300; color:rgba(246,241,231,0.6); }

  /* ============ Footer ============ */
  .site-footer { background:var(--charcoal); color:var(--cream); padding:clamp(72px,9vw,110px) var(--pad-x) 0; overflow:hidden; }
  .footer-grid {
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
    gap:clamp(32px,4vw,72px);
    padding-bottom:clamp(56px,7vw,80px);
    border-bottom:1px solid rgba(246,241,231,0.14);
  }
  .footer-brand { display:flex; flex-direction:column; gap:22px; }
  .footer-brand .brand { font-size:28px; }
  .footer-blurb { font-size:13.5px; font-weight:300; line-height:1.85; color:rgba(246,241,231,0.62); max-width:34ch; }
  .footer-seal { margin-top:6px; }
  .footer-col { display:flex; flex-direction:column; gap:15px; font-size:13px; font-weight:300; }
  .footer-col-title { font-family:var(--mono); font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--bronze-light); margin-bottom:8px; }
  .footer-col a { color:rgba(246,241,231,0.72); width:fit-content; }
  .footer-col a:hover { color:var(--cream); }
  .footer-bottom {
    display:flex; justify-content:space-between; align-items:center;
    gap:24px; flex-wrap:wrap; padding:30px 0 34px;
    font-size:12px; color:rgba(246,241,231,0.5);
  }
  .footer-regions { font-family:var(--mono); font-size:10.5px; letter-spacing:0.2em; }
  .footer-ghost {
    font-family:var(--serif); font-weight:300; text-align:center;
    font-size:clamp(110px,19vw,270px); line-height:.72;
    letter-spacing:-0.02em;
    color:transparent;
    -webkit-text-stroke:1px rgba(246,241,231,0.08);
    user-select:none; pointer-events:none;
    transform:translateY(18%);
  }
  .footer-ghost .dot { -webkit-text-stroke:1px rgba(201,164,114,0.25); }

  /* Reveal choreography */
  .js [data-reveal] { opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); transition-delay:var(--d, 0s); }
  .js [data-reveal].is-visible { opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce) {
    .js [data-reveal] { opacity:1; transform:none; }
    .js .hero-reveal { opacity:1 !important; transform:none !important; animation:none !important; }
  }

  @media (max-width: 960px) {
    .group-grid, .heritage-grid, .featured { grid-template-columns:1fr; }
    .heritage-media::before { inset:20px -14px -14px 20px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 860px) {
    .primary-nav, .header-cta { display:none; }
    .nav-toggle { display:flex; }
    .division-row { grid-template-columns:minmax(52px,70px) 1fr auto; }
    .division-body { grid-column:2 / 3; }
    .news-row { grid-template-columns:auto 1fr auto; }
    .news-title { grid-column:1 / 3; }
    .ticker-label { display:none; }
  }
  @media (max-width: 560px) {
    .footer-grid { grid-template-columns:1fr; }
    .hero-meta { display:none; }
  }

  /* ============ Multi-page components ============ */

  /* Division rows with thumbnails (index) */
  @media (min-width: 961px) {
    .division-list--thumbs .division-row {
      grid-template-columns:minmax(64px,96px) 132px minmax(200px,1fr) 1.8fr auto;
    }
    .division-thumb {
      width:132px; aspect-ratio:4/3; object-fit:cover;
      filter:saturate(.55) contrast(1.04) sepia(.12);
      opacity:.82;
      transition:filter .5s var(--ease), opacity .5s var(--ease), transform .5s var(--ease);
    }
    .division-row:hover .division-thumb { filter:saturate(.95) contrast(1); opacity:1; transform:scale(1.03); }
  }
  @media (max-width: 960px) { .division-thumb { display:none; } }

  /* World band (index) */
  .world-band {
    display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:1px;
    background:var(--hair); border:1px solid var(--hair);
    margin-top:clamp(48px,6vw,72px);
  }
  .world-band figure { position:relative; margin:0; overflow:hidden; min-height:260px; background:var(--pine); }
  .world-band img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:saturate(.72) contrast(1.03);
    transition:transform 1.1s var(--ease), filter .6s var(--ease);
  }
  .world-band figure:hover img { transform:scale(1.04); filter:saturate(1); }
  .world-band figcaption {
    position:absolute; left:0; bottom:0; z-index:2;
    font-family:var(--mono); font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
    background:var(--charcoal); color:var(--cream); padding:10px 16px;
  }
  @media (max-width: 860px) { .world-band { grid-template-columns:1fr; } }

  /* Page hero (division pages) */
  .page-hero {
    position:relative; min-height:74vh;
    display:flex; align-items:flex-end;
    background:var(--charcoal); color:var(--cream);
    overflow:clip;
  }
  .page-hero .hero-content { padding:170px var(--pad-x) clamp(56px,7vh,84px); }
  .breadcrumb {
    display:flex; align-items:center; gap:14px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:rgba(246,241,231,0.6);
    margin-bottom:30px;
  }
  .breadcrumb a { color:var(--bronze-light); }
  .breadcrumb .sep { color:rgba(246,241,231,0.35); }
  .page-title {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(42px,6.4vw,92px); line-height:1.04; letter-spacing:-0.015em;
    max-width:16ch; text-wrap:balance;
  }
  .page-title em { font-style:italic; font-weight:340; color:var(--bronze-light); }
  .page-lede {
    font-size:clamp(16px,1.3vw,18px); font-weight:300; line-height:1.8;
    max-width:54ch; color:rgba(246,241,231,0.85);
    margin-top:30px;
  }

  /* Meta strip under page hero */
  .meta-strip { border-bottom:1px solid var(--hair); background:var(--cream); }
  .meta-strip-inner {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    max-width:1380px; margin:0 auto;
  }
  .meta-cell {
    padding:22px clamp(16px,2vw,28px);
    border-left:1px solid var(--hair);
    display:flex; flex-direction:column; gap:8px;
  }
  .meta-cell:first-child { border-left:0; }
  .meta-cell .k { font-family:var(--mono); font-size:9.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--bronze); }
  .meta-cell .v { font-family:var(--mono); font-size:12px; letter-spacing:0.08em; color:var(--ink); }
  .meta-cell .v a { color:var(--pine); }

  /* Services ledger */
  .svc-list { border-top:1px solid var(--ink); }
  .svc-row {
    display:grid; grid-template-columns:minmax(60px,100px) minmax(220px,1fr) 1.7fr;
    gap:clamp(16px,3vw,48px); align-items:start;
    padding:clamp(28px,3.5vw,40px) clamp(4px,1vw,16px);
    border-bottom:1px solid var(--hair);
    transition:background .35s var(--ease), padding-left .35s var(--ease);
  }
  .svc-row:hover { background:var(--cream-deep); padding-left:clamp(12px,1.8vw,28px); }
  .svc-num { font-family:var(--mono); font-size:11px; letter-spacing:0.2em; color:var(--bronze); padding-top:8px; }
  .svc-name { font-family:var(--serif); font-weight:340; font-size:clamp(21px,2vw,28px); line-height:1.2; }
  .svc-desc { font-size:14.5px; font-weight:300; line-height:1.8; color:var(--ink-muted); max-width:56ch; }
  @media (max-width: 720px) {
    .svc-row { grid-template-columns:minmax(44px,60px) 1fr; }
    .svc-desc { grid-column:2 / 3; }
  }

  /* Duotone image band */
  .duo-band { position:relative; min-height:340px; overflow:clip; background:var(--pine); }
  .duo-band img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:saturate(.6) contrast(1.05) sepia(.14); opacity:.9;
  }
  .duo-band .duo-tint { position:absolute; inset:0; background:linear-gradient(160deg, rgba(30,58,47,0.42), rgba(23,21,18,0.18)); }
  .duo-band figcaption {
    position:absolute; left:var(--pad-x); bottom:26px; z-index:2;
    font-family:var(--mono); font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:rgba(246,241,231,0.85);
    display:flex; align-items:center; gap:14px;
  }
  .duo-band figcaption::before { content:""; width:36px; height:1px; background:var(--bronze-light); }

  /* Split section: text + framed image */
  .split-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(48px,7vw,110px); align-items:center; }
  .split-media { position:relative; min-height:420px; }
  .split-media::before {
    content:""; position:absolute; inset:24px -22px -22px 24px;
    border:1px solid rgba(169,131,82,0.4); z-index:0;
  }
  .on-dark .split-media::before { border-color:rgba(201,164,114,0.35); }
  .split-media img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:saturate(.8) contrast(1.02); z-index:1;
  }
  .split-copy { display:flex; flex-direction:column; gap:28px; }
  .split-copy .prose { display:flex; flex-direction:column; gap:22px; font-size:15.5px; font-weight:300; line-height:1.9; color:var(--ink-muted); max-width:56ch; }
  .on-dark .split-copy .prose { color:rgba(246,241,231,0.76); }
  .split-copy .prose .lead-in { font-family:var(--serif); font-size:clamp(18px,1.7vw,22px); line-height:1.6; color:var(--ink); }
  .on-dark .split-copy .prose .lead-in { color:var(--cream); }
  @media (max-width: 960px) {
    .split-grid { grid-template-columns:1fr; }
    .split-media::before { inset:18px -12px -12px 18px; }
  }

  /* Engage CTA band (division pages) */
  .engage { text-align:center; }
  .engage .section-title { margin:0 auto clamp(24px,3vw,36px); max-width:20ch; }
  .engage-mail {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(22px,3.4vw,44px); letter-spacing:-0.01em;
    color:var(--bronze-light);
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat; background-size:100% 1px; background-position:left 100%;
    transition:color .4s var(--ease);
  }
  .engage-mail:hover { color:var(--cream); }

  /* Prev / next division nav */
  .page-nav { border-top:1px solid var(--hair); background:var(--cream); }
  .page-nav-inner {
    max-width:1380px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr;
  }
  .page-nav a {
    display:flex; flex-direction:column; gap:10px;
    padding:clamp(36px,5vw,56px) var(--pad-x);
    transition:background .35s var(--ease);
  }
  .page-nav a:hover { background:var(--cream-deep); }
  .page-nav a + a { border-left:1px solid var(--hair); text-align:right; align-items:flex-end; }
  .page-nav .lbl { font-family:var(--mono); font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--bronze); }
  .page-nav .nm { font-family:var(--serif); font-weight:340; font-size:clamp(20px,2.2vw,30px); }
  @media (max-width: 640px) {
    .page-nav-inner { grid-template-columns:1fr; }
    .page-nav a + a { border-left:0; border-top:1px solid var(--hair); }
  }

  /* Page-hero reveal choreography */
  .js .page-hero .breadcrumb.hero-reveal { animation-delay:.12s; }
  .js .page-hero .page-title.hero-reveal { animation-delay:.26s; }
  .js .page-hero .page-lede.hero-reveal { animation-delay:.45s; }

  /* Division image cards (index) */
  .division-cards {
    display:grid; grid-template-columns:repeat(2,1fr);
    gap:clamp(20px,2.5vw,36px);
    position:relative; z-index:2;
  }
  .division-card {
    position:relative; overflow:hidden;
    min-height:clamp(420px,44vw,540px);
    display:flex; flex-direction:column; justify-content:space-between;
    padding:clamp(24px,3vw,38px);
    color:var(--cream);
    border:1px solid var(--hair-dark);
    background:var(--pine-deep);
  }
  .division-card .card-bg {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:saturate(.55) contrast(1.04); opacity:.92;
    transition:transform 1.1s var(--ease), filter .6s var(--ease);
    z-index:0;
  }
  .division-card .card-tint {
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(to top, rgba(15,17,14,0.94) 0%, rgba(22,43,35,0.5) 52%, rgba(22,43,35,0.32) 100%);
    transition:opacity .6s var(--ease);
  }
  .division-card::after {
    content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:3;
    background:var(--bronze-light);
    transform:scaleX(0); transform-origin:left;
    transition:transform .55s var(--ease);
  }
  .division-card:hover .card-bg { transform:scale(1.045); filter:saturate(.9) contrast(1); }
  .division-card:hover .card-tint { opacity:.82; }
  .division-card:hover::after { transform:scaleX(1); }
  .card-top { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
  .card-index {
    font-family:var(--mono); font-size:11px; letter-spacing:0.22em;
    color:var(--bronze-light);
    border:1px solid rgba(201,164,114,0.5);
    padding:8px 13px;
    background:rgba(15,17,14,0.35);
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  }
  .card-arrow {
    font-family:var(--serif); font-size:26px; color:var(--bronze-light); line-height:1;
    transition:transform .45s var(--ease);
  }
  .division-card:hover .card-arrow { transform:translateX(8px); }
  .card-body { position:relative; z-index:2; display:flex; flex-direction:column; gap:13px; }
  .card-name { font-family:var(--serif); font-weight:340; font-size:clamp(26px,2.7vw,40px); line-height:1.12; }
  .card-tag { font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream-muted); }
  .card-desc { font-size:14.5px; font-weight:300; line-height:1.75; color:rgba(246,241,231,0.8); max-width:46ch; }
  .card-cta {
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--bronze-light); margin-top:8px;
    display:inline-flex; align-items:center; gap:10px;
  }
  @media (max-width: 760px) {
    .division-cards { grid-template-columns:1fr; }
    .division-card { min-height:420px; }
  }

  /* UX audit fixes */
  .presence-time { color:var(--pine); }
  @media (max-width: 860px) {
    .footer-col a { padding:7px 0; }
  }
  @media (max-width: 560px) {
    .hero-kicker { font-size:10px; letter-spacing:0.16em; gap:12px; }
    .hero-kicker::before { width:26px; flex-shrink:0; }
    .meta-strip-inner { grid-template-columns:1fr; }
    .meta-cell { border-left:0; border-top:1px solid var(--hair); }
    .meta-cell:first-child { border-top:0; }
  }

  /* ============ v3 Cinema chapters (Sprint A) ============ */
  .chapter {
    position:relative; min-height:100svh;
    display:flex; align-items:flex-end;
    overflow:clip;
    background:var(--charcoal); color:var(--cream);
  }
  .chapter--auto { min-height:0; }
  .chapter-bg { position:absolute; inset:-7% 0; z-index:0; }
  .chapter-bg img, .chapter-bg video {
    width:100%; height:100%; object-fit:cover;
    filter:saturate(.78) contrast(1.04);
  }
  .chapter-bg.will-parallax { will-change:transform; }
  .chapter-scrim {
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(to top, rgba(15,17,14,0.95) 0%, rgba(15,17,14,0.55) 40%, rgba(15,17,14,0.28) 75%, rgba(15,17,14,0.4) 100%);
  }
  .chapter-inner {
    position:relative; z-index:2; width:100%;
    max-width:1380px; margin:0 auto;
    padding:clamp(120px,16vh,180px) var(--pad-x) clamp(72px,10vh,110px);
    display:flex; flex-direction:column; gap:26px;
  }
  .plate-caption {
    position:absolute; left:var(--pad-x); bottom:20px; z-index:3;
    font-family:var(--mono); font-size:9.5px; letter-spacing:0.24em;
    text-transform:uppercase; color:rgba(246,241,231,0.5);
  }
  .plate-caption--right { left:auto; right:var(--pad-x); }

  .meta-lines { display:flex; flex-direction:column; gap:16px; margin-bottom:14px; }
  .meta-line {
    display:flex; align-items:center; gap:18px;
    font-family:var(--mono); font-size:clamp(10px,1.1vw,12.5px);
    letter-spacing:0.32em; text-transform:uppercase;
    color:rgba(246,241,231,0.85);
  }
  .meta-line .diamond { color:var(--bronze-light); font-size:9px; }
  .meta-line .dash { width:44px; height:1px; background:rgba(246,241,231,0.35); }

  .display-title {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(52px,8.6vw,142px); line-height:0.99; letter-spacing:-0.02em;
    max-width:12ch; text-wrap:balance;
  }
  .display-title em { font-style:italic; font-weight:340; color:var(--bronze-light); }

  .chapter-kicker {
    display:flex; align-items:center; gap:16px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.3em;
    text-transform:uppercase; color:var(--bronze-light);
  }
  .chapter-kicker::before { content:"✦"; font-size:9px; }

  /* Floating stats — no boxes */
  .float-stats { display:flex; flex-wrap:wrap; gap:clamp(32px,6vw,84px); margin-top:18px; }
  .float-stat { display:flex; flex-direction:column; gap:10px; }
  .float-stat::before { content:""; width:26px; height:2px; background:var(--bronze-light); }
  .float-stat .n {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(40px,4.2vw,68px); line-height:1; color:var(--cream);
    font-variant-numeric:tabular-nums;
  }
  .float-stat .n .suffix { color:var(--bronze-light); }
  .float-stat .l {
    font-family:var(--mono); font-size:10px; letter-spacing:0.22em;
    text-transform:uppercase; color:rgba(246,241,231,0.62); line-height:1.8; max-width:20ch;
  }

  /* Division plates */
  .plate-index-row { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
  .plate-index {
    font-family:var(--mono); font-size:12px; letter-spacing:0.3em; color:var(--bronze-light);
  }
  .plate-count { font-family:var(--mono); font-size:11px; letter-spacing:0.3em; color:rgba(246,241,231,0.45); }
  .plate-name {
    font-family:var(--serif); font-weight:320;
    font-size:clamp(42px,6.4vw,100px); line-height:1.02; letter-spacing:-0.015em;
    max-width:14ch;
  }
  .plate-thesis {
    font-size:clamp(15.5px,1.25vw,18px); font-weight:300; line-height:1.8;
    color:rgba(246,241,231,0.86); max-width:52ch;
  }
  .plate-meta { display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,44px); margin-top:6px; }
  .plate-meta span {
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.2em;
    text-transform:uppercase; color:rgba(246,241,231,0.62);
    display:inline-flex; align-items:center; gap:12px;
  }
  .plate-meta span::before { content:""; width:16px; height:1px; background:rgba(201,164,114,0.6); }
  .plate-cta {
    margin-top:14px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--bronze-light);
    display:inline-flex; align-items:center; gap:14px; width:fit-content;
    padding-bottom:8px; border-bottom:1px solid rgba(201,164,114,0.45);
    transition:gap .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease);
  }
  .plate-cta:hover { gap:22px; border-color:var(--bronze-light); color:var(--cream); }

  /* Chapter rail */
  .chapter-rail {
    position:fixed; right:22px; top:50%; transform:translateY(-50%);
    z-index:30; display:flex; flex-direction:column; gap:16px;
    mix-blend-mode:difference;
  }
  .chapter-rail a { display:block; width:8px; height:8px; border:1px solid rgba(246,241,231,0.6); transition:background .3s var(--ease), transform .3s var(--ease); }
  .chapter-rail a.is-active { background:#C9A472; border-color:#C9A472; transform:scale(1.25); }
  @media (max-width: 1100px) { .chapter-rail { display:none; } }

  /* Map chapter routes */
  .map-routes { display:flex; flex-direction:column; gap:12px; margin-top:10px; max-width:640px; }
  .map-clocks { display:flex; flex-wrap:wrap; gap:clamp(24px,4vw,56px); margin-top:22px; }
  .map-clock { display:flex; flex-direction:column; gap:6px; }
  .map-clock .city { font-family:var(--serif); font-weight:340; font-size:clamp(18px,1.8vw,24px); color:var(--cream); }
  .map-clock .tz { font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; color:var(--bronze-light); font-variant-numeric:tabular-nums; }

  /* Enquiries plate */
  .enquiry-plate .chapter-inner { align-items:flex-start; }
  .enquiry-mail-xl {
    font-family:var(--serif); font-weight:300;
    font-size:clamp(28px,5.4vw,76px); letter-spacing:-0.015em;
    color:var(--bronze-light); line-height:1.1;
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat; background-size:100% 1px; background-position:left 100%;
    transition:color .4s var(--ease);
    word-break:break-all;
  }
  .enquiry-mail-xl:hover { color:var(--cream); }

  @media (max-width: 860px) {
    .chapter-inner { padding-top:120px; gap:20px; }
    .plate-caption { display:none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .chapter-bg { inset:0; }
  }

  /* Sprint C: page chapters */
  .chapter--page { min-height:90svh; }
  .chapter--page .chapter-inner { padding-top:clamp(140px,18vh,200px); }
  .principles { display:flex; flex-direction:column; gap:clamp(36px,5vw,56px); max-width:820px; }
  .principle { display:flex; flex-direction:column; gap:12px; }
  .principle .idx { font-family:var(--mono); font-size:11px; letter-spacing:0.24em; color:var(--bronze); }
  .principle h3 { font-family:var(--serif); font-weight:340; font-size:clamp(24px,2.4vw,34px); }
  .principle p { font-size:15.5px; font-weight:300; line-height:1.85; color:var(--ink-muted); max-width:56ch; }
  .journal-note {
    font-family:var(--mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ink-muted); margin-top:clamp(32px,4vw,48px);
    display:flex; align-items:center; gap:14px;
  }
  .journal-note::before { content:""; width:26px; height:1px; background:var(--bronze); }
  .news-row--static { cursor:default; }
