/* ============================================================
   THE CAGIGAS ORGANIZATION: v6 site system (2026-09-16)
   Deployed to /wp-content/uploads/site/cag-v6.css, loaded AFTER cag.css by
   partials/head-v6.html on every v6 page (home, home-v6 and the 13 public pages).
   Everything is scoped to body.v6, so intake, sitemap and the old home variants
   (which never load this file) are untouched. Bump ?v= in head-v6.html on change.

   Part 1  home components (moved verbatim from the old inline head-v6 style)
   Part 2  interior page system (same tokens and the same motion spec below)
   ============================================================
 ============ HOME v6 (2026-09-16) ============
     Aker x trump.com direction. Loaded only by src/home-v6.html, injected after
     cag.css so it can override without touching the shared sheet.

     MOTION SPEC (lottie-motion-design, read in full before this was written)
     Archetype: PREMIUM. A heraldic, four-generation construction house; the
     reference sites (Aker, trump.com) barely move. SKILL.md Motion Personality:
     Premium = 350-600ms, cubic-bezier(.4,0,.2,1), 0% overshoot.
       - 0% overshoot, no squash/stretch: disney-principles.md:8 and :78
       - Entrance offset 15-25px, (.4,0,.2,1): patterns/entrance-exit.md:207
       - Tile image start scale 95-98%: entrance-exit.md:220 (we use 1.04 -> 1,
         the inverse push-in, because the tile frame itself must not change size)
     Brand motion identity (SKILL.md "Brand Motion Identity"):
       signature ease  --v6-ease  cubic-bezier(.4,0,.2,1)      ~all motion
       ambient ease    --v6-sine  cubic-bezier(.37,0,.63,1)    loops only (disney :43)
       durations       quick 200ms (hover feedback, SKILL.md duration table)
                       standard 520ms (Premium band 350-600)
                       slow 900ms (Dramatic reveal 600-1200, SKILL.md duration table)
       entrance        rise 20px + fade, 520ms, --v6-ease
     Three layers:
       Primary   hero headline lines rise 24px on a 4px arc (disney :49-51 subtle
                 arc), 600ms, 120ms apart (Dramatic stagger 100-200ms, SKILL.md)
       Secondary gold hairline draws scaleX 0->1 after the headline lands
                 (follow-through, child 50-150ms behind: disney :32); lead copy,
                 link and floating card rise 16-20px, 80ms apart
                 (multi-element.md:11 Premium 80ms stagger)
       Ambient   hero photo drifts scale 1 -> 1.035 over 20000ms alternate
                 (ambient-continuous.md:31, 8000-20000ms, imperceptible);
                 statement crest breathes .99-1.01 over 4000ms
                 (ambient-continuous.md:14 background element);
                 CTA hairline gleam 2400ms sweep + pause (ambient-continuous.md:57-59)
     Hero timeline (choreography.md:22 Setup/Action/Resolution):
       Setup      0ms     photo scale 1.04->1 + fade, 1200ms
                  240ms   label rise (supporting first, hero 120ms later: disney :21)
       Action     360ms   h1 line 1;  480ms  h1 line 2  (600ms each)
       Resolution 1100ms  hairline draw 600ms; 1180 lead; 1260 link; 1340 card
       Stillness  ~1860ms then only ambient (choreography.md:29)
     Scroll reveals: IntersectionObserver adds .in once; 20px rise + fade 520ms,
       80ms stagger capped at 3 steps (<500ms budget, SKILL.md stagger table).
       Tile image follows its frame 80ms later (secondary 50-100ms, disney :56).
     Hover (tiles): image scale 1 -> 1.05 over 900ms. DEVIATION: state-feedback.md
       lists image hover at 150ms; the brief asks for a slow scale (Aker/trump feel)
       and the brand file outranks the skill. Exit 600ms = 67% of entrance
       (entrance-exit.md:236). Label hairline scaleX 420ms, 80ms after the image.
     No scroll-jacking, no pinned stages, no parallax on text (ambient :94).
     prefers-reduced-motion: every animation and transition off, content shown.
*/

/* ================= PART 1: HOME ================= */
:root{
  --v6-ease:cubic-bezier(.4,0,.2,1);
  --v6-sine:cubic-bezier(.37,0,.63,1);
  --v6-quick:200ms; --v6-std:520ms; --v6-slow:900ms;
  --ink:#0C0C0E; --ivory-2:#F3EDDD; --bronze-ink:#6B4F1F;
  --v6-gut:clamp(16px,4vw,56px);
}
body.v6{background:var(--obsidian)}
.v6 .v6-wrap{max-width:1320px;margin:0 auto;padding:0 var(--v6-gut)}

/* shared type */
.v6-lab{display:inline-flex;align-items:center;gap:12px;font-family:'Jost',sans-serif;
  font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.v6-lab::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.v6-go{display:inline-flex;align-items:center;gap:12px;font-family:'Jost',sans-serif;
  font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);
  padding:8px 0;border-bottom:1px solid var(--hair);transition:border-color var(--v6-quick) var(--v6-ease),color var(--v6-quick) var(--v6-ease)}
.v6-go i{font-style:normal;display:inline-block;transition:transform var(--v6-quick) var(--v6-ease)}
.v6-go:hover{border-color:var(--gold);color:var(--gold-lt)}
.v6-go:hover i{transform:translateX(6px)}

/* ============ HERO ============ */
.v6-hero{position:relative;height:min(100svh,980px);min-height:620px;overflow:hidden;
  display:flex;align-items:flex-end;background:var(--ink)}
.v6-hero-media{position:absolute;inset:0}
.v6-hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.v6-hero-scrim{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(12,12,14,.62) 0%,rgba(12,12,14,0) 24%),
    linear-gradient(0deg,rgba(12,12,14,.92) 0%,rgba(12,12,14,.55) 34%,rgba(12,12,14,0) 66%),
    linear-gradient(90deg,rgba(12,12,14,.45) 0%,rgba(12,12,14,0) 55%)}
.v6-hero-in{position:relative;z-index:2;width:100%;max-width:1440px;margin:0 auto;
  padding:0 var(--v6-gut) clamp(34px,6vh,64px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:end}
.v6-hero h1{font-family:'Bodoni Moda',serif;font-weight:400;font-optical-sizing:auto;
  font-size:clamp(40px,11vw,124px);line-height:.98;letter-spacing:-.025em;color:var(--ivory);
  margin:22px 0 0}
.v6-h1l{display:block;white-space:nowrap}
.v6-hero-rule{display:block;width:clamp(80px,12vw,160px);height:1px;background:var(--gold);
  margin:clamp(22px,3vw,34px) 0 clamp(18px,2.4vw,24px);transform-origin:left center}
.v6-hero-lead{max-width:min(46ch,100%);font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:#DDD6C8}
.v6-hero-links{margin-top:clamp(20px,2.6vw,30px)}

/* floating tile card (the Aker move) */
.v6-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:stretch;
  width:min(420px,100%);padding:10px;background:rgba(12,12,14,.58);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(201,169,97,.22);transition:border-color var(--v6-quick) var(--v6-ease)}
.v6-card-im{display:block;overflow:hidden;aspect-ratio:1/1}
.v6-card-im img{width:100%;height:100%;object-fit:cover;transition:transform var(--v6-slow) var(--v6-ease)}
.v6-card-bd{display:flex;flex-direction:column;justify-content:space-between;padding:6px 8px 4px 0}
.v6-card-k{display:block;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.v6-card-t{display:block;margin-top:8px;font-size:16px;line-height:1.45;color:var(--ivory)}
.v6-card-a{display:block;align-self:flex-end;color:var(--gold);font-size:18px;
  transition:transform var(--v6-quick) var(--v6-ease)}
.v6-card:hover{border-color:var(--gold)}
.v6-card:hover .v6-card-im img{transform:scale(1.05)}
.v6-card:hover .v6-card-a{transform:translateX(6px)}

/* hero entrance (JS adds .go on load) */
.v6js .v6-hero-media{opacity:0;transform:scale(1.04)}
.v6js .v6-hv{opacity:0}
.v6js .v6-hero-rule{transform:scaleX(0)}
.v6-hero.go .v6-hero-media{animation:v6Photo 1200ms var(--v6-ease) both}
.v6-hero.go .v6-hero-media img{animation:v6Drift 20000ms var(--v6-sine) 1400ms infinite alternate}
.v6-hero.go .v6-hv{animation:v6Rise var(--v6-std) var(--v6-ease) both}
.v6-hero.go .v6-h1l{animation:v6Arc 600ms var(--v6-ease) both}
.v6-hero.go .v6-hv-lab{animation-delay:240ms}
.v6-hero.go .v6-h1l:nth-child(1){animation-delay:360ms}
.v6-hero.go .v6-h1l:nth-child(2){animation-delay:480ms}
.v6-hero.go .v6-hero-rule{animation:v6Draw 600ms var(--v6-ease) 1100ms both}
.v6-hero.go .v6-hv-lead{animation-delay:1180ms}
.v6-hero.go .v6-hv-link{animation-delay:1260ms}
.v6-hero.go .v6-hv-card{animation-delay:1340ms}
.v6js .v6-hero .v6-h1l{opacity:0}
@keyframes v6Photo{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@keyframes v6Drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes v6Rise{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
@keyframes v6Arc{0%{opacity:0;transform:translate3d(0,24px,0)}
  55%{opacity:1;transform:translate3d(-4px,6px,0)}100%{opacity:1;transform:none}}
@keyframes v6Draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ============ DIVISIONS MOSAIC ============ */
.v6-div{background:var(--ink);padding-top:clamp(64px,9vw,120px)}
.v6-div-head{text-align:center;padding:0 var(--v6-gut) clamp(38px,5vw,64px)}
.v6-mark{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,28px)}
.v6-mark-ln{display:block;flex:0 1 140px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.v6-mark-ln.r{background:linear-gradient(270deg,transparent,var(--gold))}
.v6-mark-t{display:block;font-family:'Bodoni Moda',serif;font-weight:400;font-size:clamp(15px,1.7vw,21px);
  letter-spacing:.34em;text-transform:uppercase;color:var(--ivory);white-space:nowrap;padding-left:.34em}
.v6-div-head h2{font-family:'Bodoni Moda',serif;font-weight:400;font-size:clamp(30px,4.6vw,62px);
  line-height:1.04;letter-spacing:-.02em;margin-top:clamp(22px,3vw,34px)}
.v6-div-sub{margin:16px auto 0;max-width:min(52ch,100%);color:var(--muted);font-size:clamp(15px,1.4vw,17px)}

.v6-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:rgba(201,169,97,.2);
  border-top:1px solid rgba(201,169,97,.2);border-bottom:1px solid rgba(201,169,97,.2)}
.v6-tile{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);
  color:var(--ivory);isolation:isolate;grid-column:span 3;min-height:clamp(360px,34vw,500px)}
.v6-tile--xl{grid-column:span 6;min-height:clamp(480px,50vw,760px)}
.v6-tile-img{position:absolute;inset:0;z-index:-2;overflow:hidden}
.v6-tile-img img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--v6-slow) var(--v6-ease)}
.v6-tile::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(12,12,14,.88) 0%,rgba(12,12,14,.34) 46%,rgba(12,12,14,.12) 100%);
  transition:opacity var(--v6-slow) var(--v6-ease)}
.v6-tile-body{display:block;width:100%;padding:clamp(22px,2.6vw,40px)}
.v6-tile-n{display:block;font-size:12px;font-weight:500;letter-spacing:.24em;color:var(--gold)}
.v6-tile-t{display:block;margin-top:12px;font-family:'Jost',sans-serif;font-weight:400;
  font-size:clamp(14px,1.15vw,16px);letter-spacing:.26em;text-transform:uppercase;color:var(--ivory)}
.v6-tile--xl .v6-tile-t{font-family:'Bodoni Moda',serif;font-weight:400;letter-spacing:-.005em;
  font-size:clamp(38px,4.8vw,72px);line-height:1;text-transform:none}
.v6-tile-rule{display:block;width:56px;height:1px;background:var(--gold);margin:16px 0 14px;
  transform:scaleX(.35);transform-origin:left center;
  transition:transform 420ms var(--v6-ease) 80ms}
.v6-tile-d{display:block;max-width:min(40ch,100%);font-size:15px;line-height:1.55;color:#D2CBBE}
.v6-tile-go{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:12.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ivory)}
.v6-tile-go i{font-style:normal;display:inline-block;color:var(--gold);transition:transform var(--v6-quick) var(--v6-ease)}
a.v6-tile:hover .v6-tile-img img{transform:scale(1.05)}
a.v6-tile:hover .v6-tile-rule{transform:scaleX(1)}
a.v6-tile:hover .v6-tile-go i{transform:translateX(6px)}
a.v6-tile:hover::after{opacity:.86}
a.v6-tile:not(:hover) .v6-tile-img img{transition-duration:600ms}
a.v6-tile:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}

/* the coming-soon branch: quiet, not clickable, not a disabled button */
.v6-tile--soon .v6-tile-img img{filter:grayscale(.55) brightness(.62)}
.v6-tile--soon .v6-tile-rule{transform:scaleX(1);background:rgba(201,169,97,.5)}
.v6-soon{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:12px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lt)}
.v6-soon::before{content:"";width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}

/* tile reveal */
.v6js .v6-tile.v6-rv{opacity:0;transform:translate3d(0,20px,0);
  transition:opacity var(--v6-std) var(--v6-ease),transform var(--v6-std) var(--v6-ease)}
.v6js .v6-tile.v6-rv .v6-tile-img{transform:scale(1.04);transition:transform 1200ms var(--v6-ease) 80ms}
.v6js .v6-tile.v6-rv.in{opacity:1;transform:none}
.v6js .v6-tile.v6-rv.in .v6-tile-img{transform:none}

/* ============ STATEMENT (Marfil) ============ */
.v6-ivory{background:var(--ivory);color:var(--ink)}
.v6-st{padding:clamp(80px,11vw,150px) 0 clamp(70px,9vw,120px);text-align:center}
.v6-st-crest{display:block;width:clamp(96px,10vw,132px);margin:0 auto clamp(28px,3.4vw,40px)}
.v6-st-crest img{width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(107,79,31,.18))}
.v6js .v6-st-crest.in img{animation:v6Breathe 4000ms var(--v6-sine) 900ms infinite alternate}
@keyframes v6Breathe{from{transform:scale(.99)}to{transform:scale(1.01)}}
.v6-ivory .v6-lab{color:var(--bronze-ink)}
.v6-st h2{font-family:'Bodoni Moda',serif;font-weight:400;color:var(--ink);
  font-size:clamp(30px,4.4vw,60px);line-height:1.1;letter-spacing:-.018em;
  max-width:min(22ch,100%);margin:clamp(20px,2.6vw,28px) auto 0}
.v6-st p.v6-st-body{max-width:min(58ch,100%);margin:clamp(22px,2.6vw,30px) auto 0;color:#3A352C;
  font-size:clamp(16px,1.4vw,18px);line-height:1.75}
.v6-ivory .v6-go{color:var(--ink);border-bottom-color:rgba(107,79,31,.4)}
.v6-ivory .v6-go i{color:var(--bronze-ink)}
.v6-ivory .v6-go:hover{color:var(--bronze-ink);border-bottom-color:var(--bronze-ink)}
.v6-st .v6-go{margin-top:clamp(26px,3vw,36px)}

/* ============ FACTS ============ */
.v6-facts{background:var(--ink);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair-soft)}
.v6-facts-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1440px;margin:0 auto}
.v6-fact{padding:clamp(28px,3.4vw,46px) var(--v6-gut);border-left:1px solid var(--hair-soft)}
.v6-fact:first-child{border-left:none}
.v6-fact-k{display:block;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.v6-fact-v{display:block;margin-top:14px;font-family:'Bodoni Moda',serif;font-weight:400;
  font-size:clamp(22px,1.9vw,28px);line-height:1.25;color:var(--ivory)}
.v6-nw{white-space:nowrap}
.v6-fact-s{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--muted)}

/* ============ BEFORE / AFTER (placeholder slot) ============ */
.v6-ba-sec{padding:clamp(80px,10vw,140px) 0}
.v6-ba-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);
  align-items:end;margin-bottom:clamp(30px,4vw,52px)}
.v6-ba-head h2{font-family:'Bodoni Moda',serif;font-weight:400;color:var(--ink);
  font-size:clamp(34px,5vw,72px);line-height:1;letter-spacing:-.02em;margin-top:18px}
.v6-ba-head p.v6-ba-lead{color:#3A352C;font-size:clamp(16px,1.4vw,18px);line-height:1.7}
.v6-ba{position:relative;aspect-ratio:16/9;overflow:hidden;cursor:ew-resize;touch-action:pan-y;
  user-select:none;-webkit-user-select:none;background:#1A1814;outline-offset:4px}
.v6-ba-pane{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.v6-ba-pane.bef{padding-right:50%}
.v6-ba-pane.aft{padding-left:50%}
.v6-ba-pane.bef{background:
    repeating-linear-gradient(135deg,rgba(251,247,236,.045) 0 1px,transparent 1px 22px),
    linear-gradient(160deg,#3B372F,#24211C)}
.v6-ba-pane.aft{background:
    radial-gradient(ellipse at 50% 45%,rgba(201,169,97,.16),transparent 60%),
    linear-gradient(160deg,#17161A,#0C0C0E)}
.v6-ba-pane img{width:clamp(56px,7vw,96px);height:auto;opacity:.5}
.v6-ba-pane.bef img{filter:grayscale(1) brightness(1.6);opacity:.22}
.v6-ba-ph{display:block;margin-top:16px;font-size:12px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(251,247,236,.62)}
.v6-ba-tag{position:absolute;top:clamp(14px,2vw,24px);z-index:3;font-size:12px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ivory);padding:8px 14px;
  background:rgba(12,12,14,.5);border:1px solid rgba(201,169,97,.3)}
.v6-ba-tag.b{left:clamp(14px,2vw,24px)} .v6-ba-tag.a{right:clamp(14px,2vw,24px)}
.v6-ba-hdl{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold);z-index:4;pointer-events:none}
.v6-ba-knb{position:absolute;top:50%;left:50%;z-index:5;width:52px;height:52px;margin:-26px 0 0 -26px;
  border-radius:50%;border:1px solid var(--gold);background:rgba(12,12,14,.72);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:18px;pointer-events:none}
.v6-ba-cap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;
  font-size:14px;color:#3A352C}
.v6-ba-cap b{font-weight:500;color:var(--ink)}
.v6-todo{margin-top:clamp(22px,3vw,32px);border:1px dashed rgba(107,79,31,.55);background:rgba(163,124,44,.06);
  padding:clamp(16px,2.2vw,22px)}
.v6-todo-t{display:block;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-ink)}
.v6-todo p{margin-top:8px;font-size:15px;line-height:1.65;color:#3A352C}

/* ============ CONTACT BAND ============ */
.v6-cta{position:relative;background:var(--ink);padding:clamp(84px,11vw,150px) 0;overflow:hidden;
  border-top:1px solid var(--hair)}
.v6-cta::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:30%;
  background:linear-gradient(90deg,transparent,var(--gold-lt),transparent);opacity:0}
.v6-cta.in::before{animation:v6Gleam 6400ms linear 600ms infinite}
@keyframes v6Gleam{0%{transform:translateX(-100%);opacity:0}6%{opacity:.8}
  37%{transform:translateX(340%);opacity:0}100%{transform:translateX(340%);opacity:0}}
.v6-cta-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px);align-items:end}
.v6-cta h2{font-family:'Bodoni Moda',serif;font-weight:400;font-size:clamp(36px,5.4vw,80px);
  line-height:1;letter-spacing:-.022em;margin-top:20px}
.v6-cta p.v6-cta-lead{margin-top:22px;max-width:min(46ch,100%);color:#CFC8BA;font-size:clamp(16px,1.4vw,18px);line-height:1.7}
.v6-cta-side{border-left:1px solid var(--hair);padding-left:clamp(24px,3.4vw,48px)}
.v6-phone{display:block;font-family:'Bodoni Moda',serif;font-weight:400;font-size:clamp(34px,4.2vw,60px);
  letter-spacing:-.01em;line-height:1;color:var(--gold);transition:color var(--v6-quick) var(--v6-ease)}
.v6-phone:hover{color:var(--gold-lt)}
.v6-cta-meta{display:block;margin-top:14px;font-size:14px;color:var(--muted);line-height:1.7}
.v6-cta-side .v6-go{margin-top:26px}
.v6-cta-mail{display:block;margin-top:18px;font-size:15px;color:#CFC8BA}
.v6-cta-mail:hover{color:var(--gold)}

/* generic reveal */
.v6js .v6-rise{opacity:0;transform:translate3d(0,20px,0);
  transition:opacity var(--v6-std) var(--v6-ease),transform var(--v6-std) var(--v6-ease)}
.v6js .v6-rise.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .v6-tile{grid-column:span 6}
  .v6-facts-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v6-fact:nth-child(3){border-left:none}
  .v6-fact:nth-child(n+3){border-top:1px solid var(--hair-soft)}
}
@media (max-width:900px){
  .v6-hero-in{grid-template-columns:minmax(0,1fr)}
  .v6-ba-head,.v6-cta-in{grid-template-columns:minmax(0,1fr)}
  .v6-cta-side{border-left:none;border-top:1px solid var(--hair);padding:28px 0 0}
}
@media (max-width:640px){
  .v6-hero{height:auto;min-height:min(100svh,860px);padding-top:120px}
  .v6-hero-media img{object-position:62% 50%}
  .v6-card{grid-template-columns:92px minmax(0,1fr);gap:14px}
  .v6-card-t{font-size:15px}
  .v6-tile,.v6-tile--xl{grid-column:1 / -1}
  .v6-tile--xl{min-height:112vw}
  .v6-tile{min-height:78vw}
  .v6-mark-ln{flex-basis:28px}
  .v6-mark-t{font-size:13px;letter-spacing:.24em;padding-left:.24em}
  .v6-facts-in{grid-template-columns:minmax(0,1fr)}
  .v6-fact{border-left:none;border-top:1px solid var(--hair-soft)}
  .v6-fact:first-child{border-top:none}
  .v6-ba{aspect-ratio:4/5}
}
@media (hover:none){
  .v6-tile-rule{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){
  .v6js .v6-hero-media,.v6js .v6-hv,.v6js .v6-hero .v6-h1l,.v6js .v6-rise,.v6js .v6-tile.v6-rv{
    opacity:1 !important;transform:none !important;animation:none !important}
  .v6js .v6-hero-rule{transform:none !important}
  .v6js .v6-tile.v6-rv .v6-tile-img{transform:none !important}
  .v6-hero-media img,.v6-st-crest img,.v6-cta::before{animation:none !important}
  .v6-tile-img img,.v6-card-im img{transition:none !important}
}


/* ================= PART 2: INTERIOR PAGE SYSTEM =================
   Restyles the existing cag.css components (phero, lhero, sec, divs, steps,
   stats, pgrid, band, forms, legal, footer) into the v6 language, with markup
   changes limited to body classes and photo tiles. Surfaces: Obsidiana for
   .sec, Marfil ivory for .sec-panel and .legal. On ivory, small text uses
   Bronce #6B4F1F and large accents Oro Antiguo #A37C2C (WCAG AA); Champan gold
   only on dark grounds or as hairlines.
   Motion reuses the spec above, nothing new:
     page hero   photo v6Photo 1200ms, then v6Drift 20000ms from 1400ms;
                 crumb and label v6Rise at 240ms; h1 v6Arc 600ms at 360ms;
                 hairline v6Draw 600ms at 1100ms; sub copy v6Rise at 1180ms
     reveals     .rise: 20px + fade, 520ms --v6-ease, 80ms stagger capped at 3
                 (cag-v6.js sets the delays per sibling group)
     tiles       image scale 1.05 over 900ms, exit 600ms; hairline scaleX 420ms +80ms
     CTA band    the same 6400ms hairline gleam as the home contact band
   CSS animations with fill `both`, so no JS gate can leave a hero invisible;
   cag.css already switches every animation off under prefers-reduced-motion. */

:root{--v6-body:#BDB6A8;--v6-ink-2:#3A352C;--v6-hair-ink:rgba(107,79,31,.22)}
.v6 h1,.v6 h2,.v6 h3{font-weight:400}
.v6 main .wrap{max-width:1320px;padding:0 var(--v6-gut)}
.v6 main .wrap-narrow{padding:0 var(--v6-gut)}
.v6 .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;
  letter-spacing:.24em;color:var(--gold)}
.v6 .eyebrow::before{content:"";flex:0 0 28px;width:28px;height:1px;background:currentColor;opacity:.7}
.v6 .lede{color:var(--v6-body);font-size:clamp(16px,1.4vw,18px);line-height:1.75}
.v6 .sec-head{max-width:min(62ch,100%);margin-bottom:clamp(36px,5vw,64px)}
.v6 .sec-head h2,.v6 .r2-body h2{font-size:clamp(32px,4.6vw,62px);line-height:1.04;letter-spacing:-.02em}
.v6 .sec-head h2{margin-top:18px}
.v6 .sec-head p{margin-top:20px}

/* ---------- page hero: full-bleed photo, monumental thin headline ---------- */
.v6 .phero{min-height:min(86svh,820px);padding-top:var(--nav-tall);background:var(--ink);align-items:flex-end}
.v6 .phero-bg{transform:none;background-position:50% 58%}
/* pages that asked for a shorter hero inline (contact) still clear the tall transparent header */
.v6 .phero[style*="min-height"]{min-height:min(64svh,600px) !important}
.v6 .phero-veil{background:
    linear-gradient(180deg,rgba(12,12,14,.66) 0%,rgba(12,12,14,0) 26%),
    linear-gradient(0deg,rgba(12,12,14,.94) 0%,rgba(12,12,14,.58) 36%,rgba(12,12,14,.08) 70%),
    linear-gradient(90deg,rgba(12,12,14,.5) 0%,rgba(12,12,14,0) 60%)}
.v6 main .phero-in{padding-bottom:clamp(40px,7vh,72px)}
.v6 .crumb{font-size:12px;font-weight:500;letter-spacing:.24em;margin-bottom:18px}
.v6 .phero h1,.v6 .lhero h1{font-size:clamp(40px,8.2vw,112px);line-height:.98;letter-spacing:-.025em;
  margin:22px 0 0;max-width:15ch;text-shadow:none;color:var(--ivory)}
.v6 .phero h1::after,.v6 .lhero h1::after{content:"";display:block;width:clamp(80px,12vw,160px);height:1px;
  background:var(--gold);margin-top:clamp(22px,3vw,34px);transform-origin:left center}
.v6 .phero .sub{margin-top:clamp(18px,2.4vw,24px);max-width:min(52ch,100%);color:#DDD6C8;
  font-size:clamp(16px,1.5vw,19px);line-height:1.6}

/* utility / legal hero: no imagery, same headline system */
.v6 .lhero{background:var(--ink);border-bottom:1px solid var(--hair);
  padding:calc(var(--nav-h) + clamp(64px,10vw,130px)) 0 clamp(44px,6vw,76px)}
.v6 .lhero h1{font-size:clamp(40px,7vw,96px);max-width:18ch}
.v6 .lhero .upd{margin-top:clamp(18px,2.4vw,24px);font-size:13px;letter-spacing:.08em;color:var(--muted)}
.v6 .lhero .lede{max-width:min(52ch,100%)}

/* hero entrance (Setup / Action / Resolution, timings from the spec) */
.v6 .phero-bg{animation:v6Photo 1200ms var(--v6-ease) both,v6Drift 20000ms var(--v6-sine) 1400ms infinite alternate}
.v6 :is(.phero,.lhero) :is(.crumb,.eyebrow){animation:v6Rise var(--v6-std) var(--v6-ease) 240ms both}
.v6 :is(.phero,.lhero) h1{animation:v6Arc 600ms var(--v6-ease) 360ms both}
.v6 :is(.phero,.lhero) h1::after{animation:v6Draw 600ms var(--v6-ease) 1100ms both}
.v6 :is(.phero .sub,.lhero .upd,.lhero .lede){animation:v6Rise var(--v6-std) var(--v6-ease) 1180ms both}

/* ---------- sections and surfaces ---------- */
.v6 .sec{padding:clamp(80px,10vw,140px) 0}
.v6 .sec-sm{padding:clamp(56px,7vw,96px) 0}
.v6 .sec-line{border-top:1px solid var(--hair-soft)}
.v6 .sec-panel{background:var(--ivory);color:var(--ink);border-top-color:transparent}

/* reveal: v6 values replace cag.css's 26px / 800ms */
.v6 .rise{transform:translate3d(0,20px,0);
  transition:opacity var(--v6-std) var(--v6-ease),transform var(--v6-std) var(--v6-ease),
             background-color var(--v6-quick) var(--v6-ease),border-color var(--v6-quick) var(--v6-ease)}
.v6 .rise.in{transform:none}

/* ---------- two-column feature rows ---------- */
.v6 .r2-media{border:0;background-color:#17161A}
.v6 .r2-media .tag{left:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);background:rgba(12,12,14,.55);
  border:1px solid rgba(201,169,97,.3);padding:8px 14px;font-weight:500;letter-spacing:.24em;color:var(--ivory)}
.v6 .r2-body .lede + .lede{margin-top:16px}
.v6 .pills > span{border-color:var(--hair);padding:8px 14px;font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:#CFC8BA}
.v6 .pills > span > span{border:0;padding:0}

/* ---------- tiles: division / service / role lists ----------
   Hairline grid drawn with cell borders (not a gap background), so an
   incomplete last row never shows an empty gold block. */
.v6 .divs{gap:0;background:none;border:0;border-top:1px solid rgba(201,169,97,.2);border-left:1px solid rgba(201,169,97,.2)}
.v6 .div-card{background:var(--ink);border-right:1px solid rgba(201,169,97,.2);border-bottom:1px solid rgba(201,169,97,.2);
  padding:clamp(28px,3.2vw,44px);min-height:clamp(240px,22vw,300px)}
.v6 .div-card:hover{background:#121215}
.v6 .div-card .n{font-size:12px;font-weight:500;letter-spacing:.24em;color:var(--gold)}
.v6 .div-card h3{font-size:clamp(23px,2.3vw,31px);line-height:1.12;margin-top:16px}
.v6 .div-card h3::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin-top:16px;
  transform:scaleX(.35);transform-origin:left center;transition:transform 420ms var(--v6-ease) 80ms}
.v6 a.div-card:hover h3::after{transform:scaleX(1)}
.v6 .div-card p{margin-top:14px;font-size:16px;line-height:1.6;color:var(--v6-body)}
.v6 .div-card .arw{opacity:1;transform:none;margin-top:22px;font-size:12.5px;font-weight:500;letter-spacing:.2em;
  color:var(--ivory);transition:transform var(--v6-quick) var(--v6-ease),color var(--v6-quick) var(--v6-ease)}
.v6 a.div-card:hover .arw{transform:translateX(6px);color:var(--gold-lt)}
.v6 a.div-card:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}

/* photo tile variant (the home mosaic move), for lists that link to a branch */
.v6 .div-card--photo{position:relative;isolation:isolate;overflow:hidden;justify-content:flex-end;
  min-height:clamp(360px,34vw,500px);color:var(--ivory)}
.v6 .dc-img{position:absolute;inset:0;z-index:-2;overflow:hidden}
.v6 .dc-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--v6-slow) var(--v6-ease)}
.v6 .div-card--photo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(12,12,14,.9) 0%,rgba(12,12,14,.4) 50%,rgba(12,12,14,.12) 100%);
  transition:opacity var(--v6-slow) var(--v6-ease)}
.v6 a.div-card--photo:hover .dc-img img{transform:scale(1.05)}
.v6 a.div-card--photo:not(:hover) .dc-img img{transition-duration:600ms}
.v6 a.div-card--photo:hover::after{opacity:.86}
.v6 .div-card--photo p{color:#D2CBBE}

/* ---------- steps ---------- */
.v6 .steps{gap:0;background:none;border:0;border-top:1px solid rgba(201,169,97,.2)}
.v6 .step{background:transparent;border-bottom:1px solid rgba(201,169,97,.2);padding:clamp(30px,3.6vw,48px) 0}
.v6 .step .sn{font-weight:400;color:var(--gold);opacity:.6;font-size:clamp(36px,4.4vw,60px)}
.v6 .step h3{font-size:clamp(23px,2.4vw,32px);line-height:1.12}
.v6 .step p,.v6 .step li{font-size:16px;color:var(--v6-body)}
.v6 .step p{max-width:min(64ch,100%)}

/* ---------- stats (the home facts strip) ---------- */
.v6 .stats{gap:0;background:none;border:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair-soft)}
.v6 .stat{background:transparent;text-align:left;padding:clamp(28px,3.4vw,46px) clamp(18px,2.4vw,32px);
  border-left:1px solid var(--hair-soft)}
.v6 .stat:first-child{border-left:0}
.v6 .stat .v{font-size:clamp(34px,3.6vw,52px);line-height:1.1;color:var(--ivory)}
.v6 .stat .k{margin-top:12px;font-weight:500;letter-spacing:.22em;color:var(--gold)}

/* ---------- project cards ---------- */
.v6 .pgrid{gap:0;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(201,169,97,.2);border-left:1px solid rgba(201,169,97,.2)}
.v6 .pcard{border:0;border-right:1px solid rgba(201,169,97,.2);border-bottom:1px solid rgba(201,169,97,.2);background:var(--ink)}
.v6 .pcard .im{transition:transform var(--v6-slow) var(--v6-ease)}
.v6 .pcard:not(:hover) .im{transition-duration:600ms}
.v6 .pcard .bd{padding:clamp(24px,2.8vw,36px)}
.v6 .pcard .bd .k{font-weight:500;letter-spacing:.22em}
.v6 .pcard .bd h3{font-size:clamp(22px,2.2vw,28px)}
.v6 .pcard .bd p{font-size:16px;color:var(--v6-body)}
.v6 .pcard .meta b{font-weight:500}

/* ---------- people ---------- */
.v6 .person{background:transparent;border:1px solid var(--hair-soft)}
.v6 .person .ph{background-color:#17161A}
.v6 .person .nm{font-size:23px}
.v6 .person .rl{font-weight:500;letter-spacing:.22em}
.v6 .person .bi{color:var(--v6-body)}

/* ---------- placeholder callouts (same look as the home placeholder note) ---------- */
.v6 .todo{border:1px dashed rgba(201,169,97,.4);background:rgba(201,169,97,.05);padding:clamp(18px,2.4vw,26px)}
.v6 .todo .t{font-weight:500;letter-spacing:.22em}
.v6 .todo p{color:var(--v6-body)}

/* ---------- CTA band (the home contact band) ---------- */
.v6 .band{background:var(--ink);border-top:1px solid var(--hair);border-bottom:0}
.v6 .band-bg{opacity:.26}
.v6 .band::before{content:"";position:absolute;top:-1px;left:0;z-index:3;height:1px;width:30%;
  background:linear-gradient(90deg,transparent,var(--gold-lt),transparent);opacity:0}
.v6 .band.in::before{animation:v6Gleam 6400ms linear 600ms infinite}
.v6 main .band-in{padding:clamp(96px,12vw,170px) var(--v6-gut)}
.v6 .band-in h2{font-size:clamp(36px,5.4vw,80px);line-height:1;letter-spacing:-.022em;max-width:min(16ch,100%);margin:22px auto 24px}
.v6 .band-in .lede{color:#CFC8BA}

/* ---------- buttons and text-and-arrow links ---------- */
.v6 .btn{background:var(--gold);color:var(--ink);font-weight:500;font-size:13px;letter-spacing:.2em;padding:17px 34px;
  transition:background-color var(--v6-quick) var(--v6-ease)}
.v6 .btn:hover{filter:none;background:var(--gold-lt)}
.v6 .btn-ghost{display:inline-flex;align-items:center;gap:12px;background:none;border:0;border-bottom:1px solid var(--hair);
  color:var(--ivory);padding:8px 0;
  transition:border-color var(--v6-quick) var(--v6-ease),color var(--v6-quick) var(--v6-ease)}
.v6 .btn-ghost::after{content:"\2192";color:var(--gold);display:inline-block;transition:transform var(--v6-quick) var(--v6-ease)}
.v6 .btn-ghost:hover{background:none;color:var(--gold-lt);border-bottom-color:var(--gold)}
.v6 .btn-ghost:hover::after{transform:translateX(6px)}

/* ---------- forms (dark) ---------- */
.v6 form{gap:18px;align-content:start}
.v6 .c-grid{align-items:start}
.v6 label{font-size:12px;font-weight:500;letter-spacing:.22em}
.v6 input,.v6 select,.v6 textarea{background:#111114;border-color:rgba(201,169,97,.22);font-size:16px;padding:14px 16px;
  transition:border-color var(--v6-quick) var(--v6-ease)}
.v6 select option{background:var(--ink);color:var(--ivory)}
.v6 .consent{text-transform:none;letter-spacing:0;font-size:14px;font-weight:300;color:var(--v6-body)}
.v6 .consent input{padding:0}
.v6 .cinfo > div{padding:18px 0}
.v6 .cinfo > div > div{padding:0;border-bottom:0}
.v6 .cinfo .k{font-weight:500;letter-spacing:.22em}
.v6 .cinfo .v{font-size:17px}

/* ---------- Marfil ivory surface: dark-on-light overrides ---------- */
.v6 .sec-panel :is(h2,h3){color:var(--ink)}
.v6 .sec-panel :is(h1,h2,h3) em{color:var(--gold-old)}
.v6 .sec-panel .eyebrow{color:var(--bronze-ink)}
.v6 .sec-panel .lede,.v6 .sec-panel p,.v6 .sec-panel .pcard .bd p,.v6 .sec-panel .div-card p{color:var(--v6-ink-2)}
.v6 .sec-panel .divs,.v6 .sec-panel .pgrid{border-color:var(--v6-hair-ink)}
.v6 .sec-panel :is(.div-card,.pcard){background:var(--ivory);border-color:var(--v6-hair-ink)}
.v6 .sec-panel .div-card:hover{background:var(--ivory-2)}
.v6 .sec-panel .div-card .n,.v6 .sec-panel .pcard .bd .k{color:var(--bronze-ink)}
.v6 .sec-panel .div-card h3::after{background:var(--gold-old)}
.v6 .sec-panel .div-card .arw{color:var(--ink)}
.v6 .sec-panel a.div-card:hover .arw{color:var(--bronze-ink)}
.v6 .sec-panel .div-card--photo,.v6 .sec-panel .div-card--photo:hover{background:var(--ink)}
.v6 .sec-panel .div-card--photo h3,.v6 .sec-panel .div-card--photo .arw{color:var(--ivory)}
.v6 .sec-panel .div-card--photo p{color:#D2CBBE}
.v6 .sec-panel .div-card--photo .n{color:var(--gold)}
.v6 .sec-panel .div-card--photo h3::after{background:var(--gold)}
.v6 .sec-panel a.div-card--photo:hover .arw{color:var(--gold-lt)}
.v6 .sec-panel .steps,.v6 .sec-panel .step{border-color:var(--v6-hair-ink)}
.v6 .sec-panel .step .sn{color:var(--gold-old);opacity:.75}
.v6 .sec-panel .step li{color:var(--v6-ink-2)}
.v6 .sec-panel .step li::before{background:var(--gold-old)}
.v6 .sec-panel .pcard .meta{border-top-color:var(--v6-hair-ink);color:var(--v6-ink-2)}
.v6 .sec-panel .pcard .meta b{color:var(--ink)}
.v6 .sec-panel .pills > span{border-color:var(--v6-hair-ink);color:var(--v6-ink-2)}
.v6 .sec-panel .todo{border-color:rgba(107,79,31,.55);background:rgba(163,124,44,.06)}
.v6 .sec-panel .todo .t{color:var(--bronze-ink)}
.v6 .sec-panel .todo code{color:var(--bronze-ink)}
.v6 :is(.sec-panel,.legal) .fill{color:var(--bronze-ink);background:rgba(163,124,44,.12);border-bottom-color:var(--gold-old)}
.v6 .sec-panel .cinfo > div{border-bottom-color:var(--v6-hair-ink)}
.v6 .sec-panel .cinfo .k,.v6 .sec-panel label{color:var(--bronze-ink)}
.v6 .sec-panel .cinfo .v{color:var(--ink)}
.v6 .sec-panel .cinfo .v small{color:#5A5347}
.v6 .sec-panel :is(input,select,textarea){background:var(--ivory-2);border-color:rgba(107,79,31,.3);color:var(--ink)}
.v6 .sec-panel :is(input,select,textarea):focus{border-color:var(--bronze-ink)}
.v6 .sec-panel select option{background:var(--ivory);color:var(--ink)}
.v6 .sec-panel .consent{color:var(--v6-ink-2)}
.v6 .sec-panel .consent a{color:var(--bronze-ink)}
.v6 .sec-panel .consent input{accent-color:var(--bronze-ink)}
.v6 .sec-panel .fmsg.ok{color:var(--bronze-ink)}
.v6 .sec-panel .fmsg.err{color:#9E3B2E}
.v6 :is(.sec-panel,.legal) .btn-ghost{color:var(--ink);border-bottom-color:rgba(107,79,31,.4)}
.v6 :is(.sec-panel,.legal) .btn-ghost::after{color:var(--bronze-ink)}
.v6 :is(.sec-panel,.legal) .btn-ghost:hover{color:var(--bronze-ink);border-bottom-color:var(--bronze-ink)}
/* the crest keeps a soft bronze shadow on ivory, not the heavy black one */
.v6 .sec-panel img[src*="crest.png"]{filter:drop-shadow(0 6px 14px rgba(107,79,31,.18)) !important}

/* ---------- legal: calm long-form reading on ivory ---------- */
.v6 .legal{background:var(--ivory);color:var(--ink);padding:clamp(56px,8vw,110px) 0 clamp(80px,11vw,150px)}
.v6 .legal .wrap-narrow{max-width:calc(740px + 2 * var(--v6-gut))}
.v6 .legal h2{color:var(--ink);font-size:clamp(26px,3vw,38px);line-height:1.12;margin:clamp(44px,6vw,64px) 0 16px}
.v6 .legal h2:first-child{margin-top:0}
.v6 .legal h3{color:var(--bronze-ink);font-size:clamp(19px,1.9vw,23px)}
.v6 .legal p,.v6 .legal li{color:var(--v6-ink-2);font-size:17px;line-height:1.8}
.v6 .legal a{color:var(--bronze-ink)}
.v6 .legal strong{color:var(--ink)}
.v6 .legal th,.v6 .legal td{border-color:var(--v6-hair-ink);color:var(--v6-ink-2)}
.v6 .legal th{color:var(--bronze-ink)}
.v6 .legal .box{background:var(--ivory-2);border-left-color:var(--gold-old)}
.v6 .legal .toc{background:var(--ivory-2);border-color:var(--v6-hair-ink)}
.v6 .legal .toc h4{color:var(--bronze-ink);font-weight:500}
.v6 .legal .toc li,.v6 .legal .toc a{color:var(--v6-ink-2)}
.v6 .legal .toc a:hover{color:var(--bronze-ink)}

/* ---------- footer ---------- */
.v6 footer{border-top:1px solid var(--hair);padding-top:clamp(64px,8vw,110px)}
.v6 .f-col h5{font-weight:500;letter-spacing:.24em}
.v6 .f-col a,.v6 .f-col p,.v6 .f-brand p{color:#A9A294}
.v6 .f-col a:hover{color:var(--gold)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .v6 .pgrid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .v6 .phero{min-height:min(88svh,760px)}
  .v6 .phero-bg{background-position:62% 50%}
  .v6 .div-card{min-height:0}
  .v6 .div-card--photo{min-height:78vw}
  .v6 .step{padding:28px 0}
  .v6 .stat{border-left:0;border-top:1px solid var(--hair-soft)}
  .v6 .stat:first-child{border-top:0}
}
@media (hover:none){
  .v6 .div-card h3::after{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){
  .v6 .phero-bg,.v6 :is(.phero,.lhero) :is(.crumb,.eyebrow,h1,.sub,.upd,.lede),
  .v6 :is(.phero,.lhero) h1::after{animation:none !important;opacity:1 !important;transform:none !important}
  .v6 .band::before{animation:none !important;opacity:0 !important}
  .v6 .rise{transform:none !important}
}
