/* TSR Alternatives — shared stylesheet */
/* ============================================================
   TSR ALTERNATIVES
   Palette: midnight navy · cold silver · warm white,
   burgundy used sparingly as the single accent.
   ============================================================ */
:root{
  --paper:#F7F7F4;
  --paper-2:#EEEEEA;
  --ink:#0F1E33;
  --ink-2:#4A5567;
  --ink-3:#8A93A1;
  --line:#DCE0E6;
  --burgundy:#7A2334;
  --burgundy-soft:#9C4054;
  --navy:#0F1E33;
  --navy-2:#152740;
  --navy-line:#28374C;
  --navy-ink:#EDEFF2;
  --navy-ink-2:#93A0B2;

  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --serif-kr:"Noto Serif KR", serif;
  --sans:"Inter", system-ui, -apple-system, sans-serif;
  --sans-kr:"Noto Sans KR", system-ui, sans-serif;

  --wrap:1220px;
  --gutter:clamp(22px, 5vw, 84px);
  --sp-section:clamp(84px, 11vw, 172px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.kr{font-family:var(--sans-kr);font-weight:300;color:var(--ink-2);}
[data-lang="en"] .kr{display:none;}
/* Real language switch: only one language is rendered at a time.
   English headings stay in both modes and act as the display layer. */
[data-lang="en"] .kr,
[data-lang="en"] .kr-serif{display:none !important;}
[data-lang="ko"] .en{display:none !important;}
[data-lang="ko"] .kr{color:var(--ink);opacity:1;}
[data-lang="ko"] .dark .kr,
[data-lang="ko"] .contact-card .kr{color:var(--navy-ink-2);}
/* 국문 모드에서 보조 국문이 본문 크기로 올라오도록 */
[data-lang="ko"] .lead .kr,
[data-lang="ko"] .phil-copy p .kr,
[data-lang="ko"] .strat p .kr,
[data-lang="ko"] .focus-card p .kr,
[data-lang="ko"] .hz p .kr,
[data-lang="ko"] .person-body p.bio .kr,
[data-lang="ko"] .return-band p .kr{margin-top:0;font-size:1em;}
[data-lang="ko"] .phil-copy p.first .kr{font-size:1em;line-height:1.5;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);}
.section{padding-block:var(--sp-section);position:relative;}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;
  color:var(--burgundy);display:inline-flex;align-items:center;gap:1em;}
.eyebrow .kr{font-family:var(--sans-kr);font-weight:400;letter-spacing:.18em;color:var(--burgundy);opacity:.9;}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--burgundy);opacity:.7;}

.h-serif{font-family:var(--serif);font-weight:500;line-height:1.07;letter-spacing:-.005em;}
.h-serif em{font-style:normal;font-weight:500;color:var(--burgundy);}
.kr-serif{font-family:var(--serif-kr);font-weight:400;}

.lead{font-size:clamp(16px,1.55vw,19px);color:var(--ink-2);max-width:50ch;}
.lead .kr{display:block;margin-top:.9em;font-size:.92em;line-height:1.75;}

.btns{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;margin-top:44px;}
.btn{font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:15px 28px;
  border:1px solid currentColor;transition:background .35s,color .35s,border-color .35s;display:inline-flex;gap:.8em;align-items:center;}
.btn .kr{font-weight:400;letter-spacing:.06em;}
.btn--solid{border-color:var(--ink);color:var(--ink);}
.btn--solid:hover{background:var(--ink);color:var(--paper);}
.btn--ghost{border-color:transparent;padding-inline:0;color:var(--ink);}
.btn--ghost:hover{color:var(--burgundy);}
.btn .arw{transition:transform .35s;}
.btn:hover .arw{transform:translateX(4px);}
.on-dark .btn--solid{border-color:var(--navy-ink);color:var(--navy-ink);}
.on-dark .btn--solid:hover{background:var(--navy-ink);color:var(--navy);}
.on-dark .btn--ghost{color:var(--navy-ink);}
.on-dark .btn--ghost:hover{color:var(--burgundy-soft);}

/* ============================================================ NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--gutter);background:transparent;border-bottom:1px solid transparent;
  transition:background .45s,border-color .45s,padding .45s;}
.nav.is-scrolled{background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(12px);
  border-bottom-color:var(--line);padding-block:13px;}
.brand{display:block;line-height:0;}
.brand img{height:26px;width:auto;}
.brand .logo-dark{display:none;}
.nav.is-scrolled .brand .logo-light{display:none;}
.nav.is-scrolled .brand .logo-dark{display:block;}

.nav-right{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px);}
.nav-links{display:flex;gap:clamp(13px,1.8vw,26px);}
.nav-links a{white-space:nowrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-ink);opacity:.82;transition:.3s;}
.nav-links a:hover{opacity:1;}
.nav.is-scrolled .nav-links a{color:var(--ink-2);}
.nav.is-scrolled .nav-links a:hover{color:var(--ink);}

.lang-toggle{display:flex;border:1px solid rgba(255,255,255,.35);border-radius:2px;overflow:hidden;}
.nav.is-scrolled .lang-toggle{border-color:var(--line);}
.lang-toggle button{font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.1em;padding:7px 11px;
  background:transparent;border:0;color:var(--navy-ink);opacity:.7;cursor:pointer;transition:.3s;}
.nav.is-scrolled .lang-toggle button{color:var(--ink-3);}
.lang-toggle button.on{background:var(--navy-ink);color:var(--navy);opacity:1;}
.nav.is-scrolled .lang-toggle button.on{background:var(--ink);color:var(--paper);}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.burger span{display:block;width:22px;height:1.5px;background:var(--navy-ink);margin:5px 0;transition:.3s;}
.nav.is-scrolled .burger span{background:var(--ink);}

/* ============================================================ HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:var(--navy-ink);}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.5;}
.hero-corridor{position:absolute;inset:0;z-index:0;width:100%;height:100%;}
.hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(8,16,28,.74) 0%, rgba(8,16,28,.30) 34%, rgba(8,16,28,.58) 72%, rgba(8,16,28,.94) 100%),
             radial-gradient(120% 80% at 76% 22%, rgba(122,35,52,.16), transparent 62%);}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(72px,12vh,140px);padding-top:140px;}
.hero-inner{max-width:840px;}
.hero .eyebrow{color:var(--burgundy-soft);opacity:0;animation:rise .9s .15s ease forwards;}
.hero .eyebrow::before{background:var(--burgundy-soft);}
.hero .eyebrow .kr{color:var(--burgundy-soft);}
.hero h1{font-size:clamp(50px,8.2vw,116px);margin:24px 0 0;color:var(--navy-ink);opacity:0;animation:rise 1s .3s ease forwards;}
.hero h1 .l2{display:block;}
.hero .hero-kr{font-family:var(--serif-kr);color:var(--navy-ink-2);font-size:clamp(19px,2.9vw,32px);margin:18px 0 0;
  opacity:0;animation:rise 1s .45s ease forwards;}
.hero .lead{margin-top:32px;color:var(--navy-ink-2);opacity:0;animation:rise 1s .6s ease forwards;}
.hero .lead .kr{color:#8592a5;}
.hero .btns{opacity:0;animation:rise 1s .75s ease forwards;}
.scroll-cue{position:absolute;right:var(--gutter);bottom:30px;z-index:2;font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--navy-ink-2);display:flex;align-items:center;gap:12px;opacity:0;animation:rise 1s 1s ease forwards;}
.scroll-cue i{display:block;width:1px;height:36px;background:linear-gradient(var(--burgundy-soft),transparent);
  animation:cue 2.4s ease-in-out infinite;transform-origin:top;}

/* ============================================================ THESIS */
.hero-reg{display:block;margin-top:26px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-ink-2);opacity:0;animation:rise 1s .9s ease forwards;transform:translateY(24px);}
.hero-reg .kr{letter-spacing:.06em;text-transform:none;font-size:12px;color:var(--navy-ink-2);}
.thesis{background:var(--paper-2);border-bottom:1px solid var(--line);}
.thesis .wrap{padding-block:clamp(80px,10vw,150px);}
.thesis-head{max-width:900px;}
.thesis-head h2{font-size:clamp(32px,4.6vw,58px);margin:18px 0 0;}
.thesis-head h2 .kr{display:block;font-family:var(--serif-kr);font-weight:500;font-size:1em;line-height:1.3;color:var(--ink);}
.shift{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(44px,5vw,72px);
  padding-top:clamp(34px,4vw,52px);border-top:1px solid var(--line);}
.shift .col .tag{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);}
.shift .col .tag .kr{letter-spacing:.06em;font-size:12px;color:var(--ink-3);}
.shift .col.now .tag,.shift .col.now .tag .kr{color:var(--burgundy);}
.shift .col h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.3vw,28px);line-height:1.25;margin:14px 0 0;}
.shift .col h3 .kr{font-family:var(--serif-kr);font-weight:500;font-size:.86em;color:var(--ink);}
.shift .col p{font-size:14.5px;color:var(--ink-2);line-height:1.72;margin:14px 0 0;max-width:46ch;}
.shift .col.then h3,.shift .col.then p{color:var(--ink-3);}
.shift .arrow{font-family:var(--serif);font-size:30px;color:var(--burgundy);padding-top:22px;}
.map{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(44px,5vw,72px);}
.map a{background:var(--paper);padding:28px 26px 30px;display:flex;flex-direction:column;transition:background .35s;}
.map a:hover{background:#fff;}
.map .mn{font-family:var(--serif);font-size:13px;color:var(--burgundy);letter-spacing:.14em;}
.map h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:12px 0 0;}
.map h3 .kr{font-family:var(--sans-kr);font-weight:500;font-size:.8em;color:var(--ink);}
.map p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:10px 0 0;}
.map a.except{background:var(--navy);}
.map a.except:hover{background:var(--navy-2);}
.map a.except h3,.map a.except h3 .kr{color:var(--navy-ink);}
.map a.except p,.map a.except p .kr{color:var(--navy-ink-2);}
.map a.except .mn{color:var(--burgundy-soft);}
.map .note{margin-top:auto;padding-top:16px;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);}
.map .note .kr{letter-spacing:.06em;font-size:11px;color:var(--burgundy-soft);}
@media(max-width:1040px){ .map{grid-template-columns:1fr 1fr;} }
@media(max-width:760px){ .shift{grid-template-columns:1fr;} .shift .arrow{transform:rotate(90deg);padding:0;justify-self:start;} }
@media(max-width:560px){ .map{grid-template-columns:1fr;} }

/* ============================================================ STRIP */
.strip{border-block:1px solid var(--line);background:var(--paper-2);}
.strip .wrap{padding-block:clamp(46px,6vw,78px);}
.strip p{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3.2vw,40px);line-height:1.22;margin:0;max-width:26ch;}
.strip .kr{display:block;font-family:var(--sans-kr);font-weight:300;font-size:clamp(14px,1.5vw,17px);color:var(--ink-2);margin-top:16px;line-height:1.7;}

/* ============================================================ SECTION HEADS */
.sec-head{max-width:820px;margin-bottom:clamp(46px,6vw,86px);}
.sec-head h2{font-size:clamp(34px,5.2vw,66px);margin:16px 0 0;}
.sec-head .kr-serif{font-size:clamp(19px,2.6vw,30px);color:var(--ink-2);margin-top:10px;display:block;}
.sec-head p{margin-top:20px;}
.dark .sec-head h2{color:var(--navy-ink);}
.dark .sec-head .kr-serif{color:var(--navy-ink-2);}

/* ---------- PHILOSOPHY ---------- */
.phil{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center;position:relative;}
.phil-watermark{position:absolute;right:-2%;top:-14%;width:min(46%,420px);opacity:.055;pointer-events:none;z-index:0;}
.phil-copy{position:relative;z-index:1;}
.phil-copy p{font-size:clamp(15px,1.4vw,17px);color:var(--ink-2);margin:0 0 22px;max-width:50ch;}
.phil-copy p .kr{display:block;margin-top:.7em;font-size:.94em;color:var(--ink-3);}
.phil-copy p.first{font-family:var(--serif);font-size:clamp(20px,2.3vw,28px);color:var(--ink);line-height:1.42;}
.phil-copy p.first .kr{font-size:.63em;color:var(--ink-2);line-height:1.7;}
.sig-card{position:relative;aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden;margin:0;
  background:var(--navy);z-index:1;}
.sig-card img{width:100%;height:100%;object-fit:cover;}
.sig-card .tag{color:var(--navy-ink-2);}
.firm-media{position:relative;margin:0 0 clamp(40px,5vw,72px);border:1px solid var(--line);overflow:hidden;aspect-ratio:16/7;background:var(--navy);}
.firm-media img{width:100%;height:100%;object-fit:cover;}
.firm-media figcaption{position:absolute;left:clamp(18px,3vw,30px);bottom:16px;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--navy-ink);text-shadow:0 1px 12px rgba(8,16,28,.7);}
.sig-card svg{position:absolute;inset:0;width:100%;height:100%;}
.sig-card .tag{position:absolute;left:24px;bottom:20px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);}

/* ============================================================ IMAGE SLOT */
.imgslot{position:relative;overflow:hidden;background:linear-gradient(150deg,#152740 0%,#0B1524 100%);}
.imgslot .slot-art{position:absolute;inset:0;width:100%;height:100%;opacity:.9;}
.imgslot .slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.imgslot .slot-mark{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;z-index:2;display:flex;
  justify-content:space-between;align-items:flex-end;gap:12px;background:linear-gradient(0deg, rgba(8,16,28,.62), transparent);}
.imgslot .slot-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy-soft);}
.imgslot .slot-badge{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-ink-2);opacity:.55;
  border:1px solid var(--navy-line);padding:3px 7px;border-radius:2px;}

/* ============================================================ DARK */
.dark{background:var(--navy);color:var(--navy-ink);position:relative;overflow:hidden;}
.dark .eyebrow{color:var(--burgundy-soft);}
.dark .eyebrow::before{background:var(--burgundy-soft);}

/* ---------- STRATEGY ---------- */
.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);}
.strat{background:var(--navy);padding:38px 32px 36px;transition:background .4s;}
.strat:hover{background:var(--navy-2);}
.strat .sn{font-family:var(--serif);font-size:13px;color:var(--burgundy-soft);letter-spacing:.14em;}
.strat h3{font-family:var(--serif);font-weight:500;font-size:27px;margin:12px 0 0;color:var(--navy-ink);}
.strat h3 .kr{display:block;font-family:var(--sans-kr);font-weight:400;font-size:13.5px;color:var(--navy-ink-2);margin-top:6px;}
.strat p{font-size:14px;color:var(--navy-ink-2);margin:14px 0 0;line-height:1.66;}
.strat p .kr{display:block;margin-top:.7em;font-size:.95em;color:#808ea2;}

.return-band{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;
  margin-top:clamp(46px,6vw,80px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--navy-line);}
.return-band .rb-figure{font-family:var(--serif);font-weight:500;font-size:clamp(42px,6vw,80px);line-height:1.02;color:var(--navy-ink);}
.return-band .rb-figure em{font-style:normal;color:var(--burgundy-soft);}
.return-band .rb-figure .sub{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.26em;
  text-transform:uppercase;color:var(--navy-ink-2);margin-top:18px;}
.return-band p{font-size:14.5px;color:var(--navy-ink-2);margin:0;line-height:1.7;}
.return-band p .kr{display:block;margin-top:.7em;color:#808ea2;}
.return-band .caveat{display:block;margin-top:16px;font-size:11.5px;color:#6f7d90;line-height:1.6;}

/* ---------- FOCUS ---------- */
.focus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);}
.focus-card{background:var(--navy);display:flex;flex-direction:column;transition:background .4s;}
.focus-card:hover{background:var(--navy-2);}
.focus-card .imgslot{aspect-ratio:4/3;border-bottom:1px solid var(--navy-line);}
.focus-body{padding:30px 30px 34px;display:flex;flex-direction:column;flex:1;}
.focus-num{font-family:var(--serif);font-size:14px;color:var(--burgundy-soft);letter-spacing:.1em;}
.focus-card h3{font-family:var(--serif);font-weight:500;font-size:28px;margin:10px 0 0;color:var(--navy-ink);}
.focus-card h3 .kr{display:block;font-family:var(--sans-kr);font-weight:400;font-size:14px;color:var(--navy-ink-2);margin-top:6px;}
.focus-card p{font-size:14px;color:var(--navy-ink-2);margin:14px 0 0;line-height:1.66;}
.focus-card p .kr{display:block;margin-top:.7em;font-size:.95em;color:#808ea2;}
.focus-card .fc-line{margin-top:auto;padding-top:22px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);}



/* ============================================================ GALLERY */
.gallery{background:var(--navy);color:var(--navy-ink);}
.gallery-head{padding:clamp(64px,9vw,120px) var(--gutter) clamp(40px,5vw,64px);max-width:var(--wrap);margin:0 auto;}
.gallery-head .eyebrow{color:var(--burgundy-soft);} .gallery-head .eyebrow::before{background:var(--burgundy-soft);}
.gallery-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.4vw,54px);margin:16px 0 0;color:var(--navy-ink);}
.gallery-head .kr-serif{display:block;font-size:clamp(17px,2.2vw,26px);color:var(--navy-ink-2);margin-top:8px;}
.gallery-head p{max-width:62ch;margin-top:20px;color:var(--navy-ink-2);font-size:15px;}
.gallery-head p .kr{display:block;margin-top:.6em;color:#808ea2;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.gallery-grid .imgslot{aspect-ratio:3/4;}
.gallery-grid figure{margin:0;}
.gallery .slot-mark{flex-direction:column;align-items:flex-start;gap:8px;padding:22px 24px 24px;
  background:linear-gradient(0deg, rgba(8,16,28,.9) 0%, rgba(8,16,28,.62) 60%, transparent 100%);}
.gallery .slot-label{color:#E2AEB9;text-shadow:0 1px 8px rgba(8,16,28,.8);}
.gallery .slot-text{font-size:13px;line-height:1.6;color:var(--navy-ink);opacity:.86;max-width:34ch;}
.gallery-head h2 .kr-serif{font-size:.62em;}
.gallery + .dark{border-top:1px solid var(--navy-line);}
/* Tonal treatment: pulls warm, high-contrast concept imagery into the navy palette
   so forward-looking images read as considered, not loud. */
.tone{position:relative;}
.tone img{filter:saturate(.55) contrast(1.03) brightness(.88);}
.tone::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(15,30,51,.16) 0%, rgba(15,30,51,.42) 100%);}
.sig-card .tag{z-index:2;}
.gallery-note{max-width:var(--wrap);margin:0 auto;padding:22px var(--gutter) clamp(64px,8vw,110px);font-size:12px;color:var(--navy-ink-2);opacity:.7;}

/* ============================================================ DRIVERS */
.drivers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.driver{padding:34px 26px 34px 0;border-right:1px solid var(--line);}
.driver:last-child{border-right:0;padding-right:0;}
.driver .dn{font-family:var(--serif);font-size:13px;color:var(--burgundy);letter-spacing:.14em;}
.driver h4{font-family:var(--serif);font-weight:500;font-size:22px;margin:16px 0 2px;line-height:1.2;}
.driver h4 .kr{display:block;font-family:var(--sans-kr);font-weight:400;font-size:13px;color:var(--ink-2);margin-top:6px;}
.driver p{font-size:13.5px;color:var(--ink-2);margin:14px 0 0;line-height:1.6;}
.driver p .kr{display:block;margin-top:.6em;color:var(--ink-3);}

/* ============================================================ APPROACH */


/* ============================================================ STATS */
.stats{background:var(--paper-2);border-block:1px solid var(--line);}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.stat{background:var(--paper-2);padding:44px 30px;}
.stat b{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.8vw,56px);color:var(--ink);line-height:1;display:block;}
.stat b .u{font-size:.4em;color:var(--burgundy);margin-left:.15em;}
.stat .lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-top:16px;}
.stat .lbl .kr{display:block;font-family:var(--sans-kr);letter-spacing:.04em;text-transform:none;font-size:12px;margin-top:5px;color:var(--ink-2);}

/* ============================================================ LEADERSHIP */
.people{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,60px);}
.person{background:var(--paper);border:1px solid var(--line);overflow:hidden;}
.person .imgslot{aspect-ratio:4/5;width:100%;position:relative;border-bottom:1px solid var(--line);}
.person .imgslot .slot-img{object-position:50% 15%;}
.person-body{padding:clamp(24px,3vw,36px);}
.person-body .role{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);}
.person-body h3{font-family:var(--serif);font-weight:500;font-size:31px;margin:13px 0 2px;}
.person-body h3 .kr{display:block;font-family:var(--serif-kr);font-weight:400;font-size:.56em;color:var(--ink-2);margin-top:6px;}
.person-body .tenure{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:12px;
  padding-top:12px;border-top:1px solid var(--line);}
.person-body .tenure .kr{font-family:var(--sans-kr);letter-spacing:.03em;text-transform:none;}
.person-body p.bio{font-size:14px;color:var(--ink-2);margin:14px 0 0;line-height:1.66;}
.person-body p.bio .kr{display:block;margin-top:.6em;color:var(--ink-3);}
.cv{list-style:none;margin:18px 0 0;padding:0;}
.cv li{font-size:13px;color:var(--ink-2);padding:7px 0 7px 16px;position:relative;line-height:1.5;}
.cv li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:1px;background:var(--burgundy);opacity:.75;}
.cv li .org{color:var(--ink);}
.cv li .kr{font-family:var(--sans-kr);font-size:12.5px;color:var(--ink-3);}

/* ============================================================ FIRM / CONTACT */
.firm{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);}
.firm-facts .row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding-block:20px;border-top:1px solid var(--line);}
.firm-facts .row:last-child{border-bottom:1px solid var(--line);}
.firm-facts dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);padding-top:3px;}
.firm-facts dt .kr{display:block;font-family:var(--sans-kr);letter-spacing:.02em;text-transform:none;font-size:12px;margin-top:4px;color:var(--ink-2);}
.firm-facts dd{margin:0;font-size:15.5px;color:var(--ink);}
.firm-facts dd .kr{display:block;font-family:var(--sans-kr);font-weight:300;font-size:14px;color:var(--ink-2);margin-top:4px;}
.firm-facts dd .en{font-family:var(--serif);font-size:18px;}
.contact-card{background:var(--navy);color:var(--navy-ink);padding:clamp(34px,4vw,52px);align-self:start;}
.contact-card .cc-logo{width:130px;opacity:.92;margin-bottom:26px;}
.contact-card .eyebrow{color:var(--burgundy-soft);} .contact-card .eyebrow::before{background:var(--burgundy-soft);}
.contact-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);margin:16px 0 20px;color:var(--navy-ink);}
.contact-card h3 .kr{display:block;font-family:var(--sans-kr);font-weight:300;font-size:.52em;color:var(--navy-ink-2);margin-top:10px;}
.contact-card a.mail{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);color:var(--navy-ink);
  border-bottom:1px solid var(--navy-line);padding-bottom:6px;display:inline-block;transition:border-color .3s,color .3s;}
.contact-card a.mail:hover{color:var(--burgundy-soft);border-color:var(--burgundy-soft);}
.contact-card .addr{font-size:13.5px;color:var(--navy-ink-2);margin-top:26px;line-height:1.75;}
.contact-card .addr .kr{display:block;color:#808ea2;margin-top:5px;}

/* ============================================================ FOOTER */
.foot{background:var(--paper);border-top:1px solid var(--line);text-align:center;padding-block:clamp(58px,7vw,96px);}
.foot .foot-logo{width:min(240px,60vw);margin:0 auto;}
.foot .disc{max-width:760px;margin:30px auto 0;font-size:11.5px;line-height:1.7;color:var(--ink-3);}
.foot .disc .kr{display:block;margin-top:10px;font-family:var(--sans-kr);}
.foot .meta{margin-top:30px;font-size:11px;letter-spacing:.12em;color:var(--ink-3);}
.foot .flinks{margin-top:18px;display:flex;gap:26px;justify-content:center;flex-wrap:wrap;}
.foot .flinks a{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);transition:color .3s;}
.foot .flinks a:hover{color:var(--burgundy);}


/* ============================================================ ENERGY */
.energy-head{max-width:840px;}
.horizon{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(40px,5vw,64px);}
.hz{background:var(--paper);padding:34px 30px 32px;display:flex;flex-direction:column;}
.hz .hz-stage{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);}
.hz .hz-n{font-family:var(--serif);font-size:13px;color:var(--burgundy);letter-spacing:.14em;margin-top:16px;}
.hz h3{font-family:var(--serif);font-weight:500;font-size:26px;margin:10px 0 0;line-height:1.16;}
.hz h3 .kr{display:block;font-family:var(--sans-kr);font-weight:400;font-size:13.5px;color:var(--ink-2);margin-top:7px;}
.hz p{font-size:14px;color:var(--ink-2);margin:14px 0 0;line-height:1.66;}
.hz p .kr{display:block;margin-top:.7em;font-size:.95em;color:var(--ink-3);}
.energy-visual{margin-top:clamp(40px,5vw,64px);border:1px solid var(--line);background:var(--navy);position:relative;overflow:hidden;}
.energy-visual svg{display:block;width:100%;height:auto;}
.energy-visual .ev-cap{position:absolute;left:clamp(18px,3vw,30px);bottom:16px;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--navy-ink-2);}
@media(max-width:900px){ .horizon{grid-template-columns:1fr;} }


/* ============================================================ CONTACT FORM */
.cc-rows{margin-top:26px;border-top:1px solid var(--navy-line);}
.cc-rows .r{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--navy-line);align-items:baseline;}
.cc-rows dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-ink-2);opacity:.8;}
.cc-rows dd{margin:0;font-size:13.5px;color:var(--navy-ink);line-height:1.6;}
.cc-rows dd a{border-bottom:1px solid var(--navy-line);padding-bottom:2px;transition:.3s;}
.cc-rows dd a:hover{color:var(--burgundy-soft);border-color:var(--burgundy-soft);}
.cc-rows dd .kr{color:var(--navy-ink-2);}

.enq{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-top:clamp(34px,4vw,52px);}
.enq .enq-title{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.4vw,28px);margin:14px 0 0;}
.enq .enq-title .kr{display:block;font-family:var(--sans-kr);font-weight:400;font-size:.5em;color:var(--ink-2);margin-top:8px;}
.enq-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin-top:28px;max-width:820px;}
.enq-form .full{grid-column:1 / -1;}
.enq-form label{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;}
.enq-form label .kr{font-family:var(--sans-kr);letter-spacing:.02em;text-transform:none;font-size:11.5px;}
.enq-form input,.enq-form textarea{
  width:100%;font-family:var(--sans);font-size:14.5px;color:var(--ink);background:transparent;
  border:0;border-bottom:1px solid var(--line);padding:10px 0;transition:border-color .3s;}
.enq-form textarea{resize:vertical;min-height:90px;font-family:var(--sans);}
.enq-form input:focus,.enq-form textarea:focus{outline:none;border-bottom-color:var(--burgundy);}
.enq-form input::placeholder,.enq-form textarea::placeholder{color:var(--ink-3);opacity:.55;}
.enq-form button{
  justify-self:start;grid-column:1 / -1;font-family:var(--sans);font-size:11.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;padding:15px 34px;border:1px solid var(--ink);
  background:transparent;color:var(--ink);cursor:pointer;transition:background .35s,color .35s;}
.enq-form button:hover{background:var(--ink);color:var(--paper);}
.enq-note{font-size:11.5px;color:var(--ink-3);margin-top:18px;line-height:1.6;}
@media(max-width:700px){ .enq-form{grid-template-columns:1fr;} .cc-rows .r{grid-template-columns:78px 1fr;} }

/* ============================================================ 2026-10 refinements */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
/* Korean heading now lives inside the h2 (one heading per language, no empty h2) */
.sec-head h2 .kr,.gallery-head h2 .kr{display:block;font-family:var(--serif-kr);font-weight:500;font-size:.78em;line-height:1.3;}
[data-lang="ko"] .sec-head h2 .kr{color:var(--ink);}
[data-lang="ko"] .dark .sec-head h2 .kr{color:var(--navy-ink);}
.chain{list-style:none;margin:6px 0 26px;padding:0;border-top:1px solid var(--line);max-width:52ch;}
.chain li{font-size:14px;color:var(--ink-2);padding:11px 0 11px 18px;border-bottom:1px solid var(--line);position:relative;line-height:1.55;}
.chain li::before{content:"";position:absolute;left:0;top:20px;width:7px;height:1px;background:var(--burgundy);}
.chain b{font-weight:500;color:var(--ink);}
[data-lang="ko"] .chain .kr{color:var(--ink-2);}
.req{color:var(--burgundy);}
.privacy{margin-top:4px;}
.privacy-note{font-size:12px;line-height:1.7;color:var(--ink-3);margin:0 0 14px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);}
.privacy-note b{font-weight:500;color:var(--ink-2);}
.enq-form label.consent{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:.01em;font-size:13px;color:var(--ink-2);cursor:pointer;margin:0;}
.enq-form label.consent .kr{font-size:13px;}
.enq-form .consent input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--ink);}
.enq-form input:focus-visible,.enq-form textarea:focus-visible,.enq-form button:focus-visible,
a:focus-visible,button:focus-visible{outline:2px solid var(--burgundy-soft);outline-offset:3px;}
.form-status{margin:0;font-size:13px;line-height:1.6;min-height:1.6em;}
.form-status.ok{color:#2f5d46;}
.form-status.err{color:var(--burgundy);}
.enq-form button[disabled]{opacity:.5;cursor:wait;}
.hz h3{font-size:24px;}
@media(max-width:560px){
  .hero h1{font-size:clamp(46px,13vw,64px);}
  .hero .lead{font-size:15.5px;}
  .hero-reg{letter-spacing:.14em;line-height:1.6;}
  .return-band .rb-figure{font-size:44px;}
  .shift .col h3{font-size:22px;}
}

/* ---- Korean-mode legibility */
[data-lang="ko"] body{word-break:keep-all;overflow-wrap:break-word;}
[data-lang="ko"] .hero h1 .kr{color:var(--navy-ink);}
[data-lang="ko"] .on-dark .btn .kr{color:inherit;}
[data-lang="ko"] .return-band .rb-figure > .kr{color:var(--navy-ink);}
[data-lang="ko"] .strat h3 .kr,[data-lang="ko"] .focus-card h3 .kr,[data-lang="ko"] .hz h3 .kr{
  font-family:var(--serif-kr);font-weight:500;font-size:22px;line-height:1.35;margin-top:0;}
[data-lang="ko"] .strat h3 .kr,[data-lang="ko"] .focus-card h3 .kr{color:var(--navy-ink);}
[data-lang="ko"] .hz h3 .kr{color:var(--ink);}
[data-lang="ko"] .person-body h3 .kr{font-size:.82em;color:var(--ink);margin-top:0;}
[data-lang="ko"] .contact-card h3 .kr{font-family:var(--serif-kr);font-weight:500;font-size:.72em;color:var(--navy-ink);margin-top:0;}
[data-lang="ko"] .enq .enq-title .kr{font-family:var(--serif-kr);font-size:.8em;color:var(--ink);margin-top:0;}
[data-lang="ko"] .eyebrow .kr{letter-spacing:.12em;}
[data-lang="ko"] .nav-links .kr{color:inherit;}
[data-lang="ko"] .fc-line .kr,[data-lang="ko"] .map .note .kr{color:var(--burgundy-soft);}
[data-lang="ko"] .hz p .kr{color:var(--ink-2);}
@media(max-width:1040px) and (min-width:561px){
  .gallery-grid figure:last-child{grid-column:1 / -1;aspect-ratio:16/7;}
}

/* ---- restructure: philosophy chapter + roadmap */
.phil-sec{padding-top:clamp(64px,8vw,120px);}
.sub-eyebrow{margin:0;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--burgundy);
  display:inline-flex;align-items:center;gap:1em;}
.sub-eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.7;}
.sub-eyebrow .kr{font-family:var(--sans-kr);letter-spacing:.14em;color:var(--burgundy)!important;}
.gallery-title{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.8vw,46px);line-height:1.1;margin:0;color:var(--navy-ink);}
.gallery-title .kr{display:block;font-family:var(--serif-kr);font-size:.8em;}
.roadmap{margin-top:clamp(40px,5vw,64px);border:1px solid var(--navy-line);background:var(--navy);}
.roadmap summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:center;padding:26px 30px;transition:background .3s;}
.roadmap summary:hover{background:var(--navy-2);}
.roadmap summary::-webkit-details-marker{display:none;}
.roadmap .rm-title{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);color:var(--navy-ink);grid-column:1;}
.roadmap .rm-title .kr{font-family:var(--serif-kr);font-weight:500;color:var(--navy-ink)!important;}
.roadmap .rm-sub{grid-column:1;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);}
.roadmap .rm-sub .kr{letter-spacing:.06em;font-size:12px;color:var(--burgundy-soft)!important;}
.roadmap .plus{grid-column:2;grid-row:1 / span 2;font-family:var(--serif);font-size:32px;line-height:1;color:var(--burgundy-soft);transition:transform .35s;}
.roadmap[open] .plus{transform:rotate(45deg);}
.roadmap-body{padding:6px 30px 34px;border-top:1px solid var(--navy-line);}
.roadmap-body .lead{color:var(--navy-ink-2);margin-top:26px;}
.roadmap-body .lead .kr{color:var(--navy-ink-2);}
.roadmap .energy-visual{border-color:var(--navy-line);}
.roadmap .horizon{background:var(--navy-line);border-color:var(--navy-line);}
.roadmap .hz{background:var(--navy-2);}
.roadmap .hz h3,.roadmap .hz h3 .kr{color:var(--navy-ink)!important;}
.roadmap .hz p,.roadmap .hz p .kr{color:var(--navy-ink-2)!important;}
.roadmap .hz .hz-stage,.roadmap .hz .hz-stage .kr{color:var(--navy-ink-2)!important;}
.roadmap .hz .hz-n{color:var(--burgundy-soft);}
@media(max-width:560px){ .roadmap summary,.roadmap-body{padding-inline:20px;} }

/* ============================================================ motion */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
@keyframes rise{to{opacity:1;transform:none;}}
.hero .eyebrow,.hero h1,.hero-kr,.hero .lead,.hero .btns,.scroll-cue{transform:translateY(24px);}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4;}50%{transform:scaleY(1);opacity:1;}}
.pulse{animation:flow 7s linear infinite;}
@keyframes flow{to{stroke-dashoffset:-400;}}
.sweep{animation:sweep 9s ease-in-out infinite;}
@keyframes sweep{0%,100%{opacity:.15;}50%{opacity:.45;}}

/* ============================================================ responsive */
@media(max-width:1040px){
  .focus-grid,.strategy-grid{grid-template-columns:1fr;}
  .focus-card .imgslot{aspect-ratio:16/7;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .drivers{grid-template-columns:1fr 1fr;}
  .driver:nth-child(2n){border-right:0;padding-right:0;}
  .driver{padding-right:26px;}
  .stats-grid{grid-template-columns:1fr;}
  .people{grid-template-columns:1fr;max-width:520px;}
  .return-band{grid-template-columns:1fr;gap:26px;}
  
  
}
@media(max-width:820px){
  .nav-links{display:none;}
  .burger{display:block;}
  .nav.menu-open{background:color-mix(in srgb, var(--paper) 96%, transparent);backdrop-filter:blur(12px);}
  .nav.menu-open .brand .logo-light{display:none;}
  .nav.menu-open .brand .logo-dark{display:block;}
  .nav.menu-open .nav-links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--line);padding:22px var(--gutter);gap:20px;}
  .nav.menu-open .nav-links a{color:var(--ink-2);}
  .nav.menu-open .lang-toggle{border-color:var(--line);}
  .nav.menu-open .lang-toggle button{color:var(--ink-3);}
  .nav.menu-open .lang-toggle button.on{background:var(--ink);color:var(--paper);}
  .nav.menu-open .burger span{background:var(--ink);}
  .phil{grid-template-columns:1fr;}
  .sig-card{aspect-ratio:16/10;order:-1;}
  .firm{grid-template-columns:1fr;}
  }
@media(max-width:560px){
  .drivers,.gallery-grid{grid-template-columns:1fr;}
  .gallery-grid .imgslot{aspect-ratio:4/3;}
  .driver{border-right:0;padding-right:0;}
  .people{grid-template-columns:1fr;max-width:520px;}
  .person .imgslot{aspect-ratio:3/4;}
  .firm-facts .row{grid-template-columns:1fr;gap:6px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
  .hero .eyebrow,.hero h1,.hero-kr,.hero .lead,.hero .btns,.hero-reg,.scroll-cue{opacity:1!important;transform:none!important;}
  html{scroll-behavior:auto;}
}

/* ============================================================
   MULTI-PAGE LAYER (2026-10)
   English-only, page-per-section, full-bleed backgrounds
   ============================================================ */
html{scroll-padding-top:72px;}
.nav-links a{position:relative;}
.nav-links a.is-active{opacity:1;}
.nav-links a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--burgundy-soft);}
.nav.is-scrolled .nav-links a.is-active{color:var(--ink);}
.nav.is-scrolled .nav-links a.is-active::after{background:var(--burgundy);}

/* ---------- motion layer (code-drawn, resolution independent) */
canvas.flow{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.hero-media img{animation:kenburns 32s ease-in-out infinite alternate;transform-origin:50% 46%;}
@keyframes kenburns{from{transform:scale(1.14);}to{transform:scale(1);}}
.hero-corridor{z-index:0;}
.hero-scrim{z-index:2;}
.hero .wrap{z-index:3;}
.scroll-cue{z-index:3;}

/* ---------- page heroes */
.page-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:var(--navy-ink);}
.page-hero .ph-media{position:absolute;inset:0;z-index:0;}
.page-hero .ph-media img{width:100%;height:100%;object-fit:cover;opacity:.5;animation:kenburns 36s ease-in-out infinite alternate;}
.page-hero .ph-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.page-hero .ph-scrim{position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg, rgba(8,16,28,.72) 0%, rgba(8,16,28,.28) 38%, rgba(8,16,28,.6) 74%, rgba(8,16,28,.94) 100%),
             radial-gradient(110% 80% at 78% 18%, rgba(122,35,52,.16), transparent 60%);}
.page-hero .wrap{position:relative;z-index:3;width:100%;padding-top:150px;padding-bottom:clamp(56px,10vh,120px);}
.page-hero .eyebrow{color:var(--burgundy-soft);}
.page-hero .eyebrow::before{background:var(--burgundy-soft);}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,6.2vw,88px);line-height:1.05;margin:20px 0 0;max-width:16ch;color:var(--navy-ink);}
.page-hero h1 em{font-style:normal;color:var(--burgundy-soft);}
.page-hero .lead{color:var(--navy-ink-2);margin-top:26px;max-width:56ch;}
.page-hero .crumb{position:absolute;right:var(--gutter);bottom:30px;z-index:3;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--navy-ink-2);}

/* four-column image strips (portrait sources fit naturally) */
.strips{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);z-index:0;}
.strips figure{margin:0;position:relative;overflow:hidden;border-right:1px solid rgba(147,160,178,.12);}
.strips figure:last-child{border-right:0;}
.strips img{width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.55);}

/* ---------- home: full-screen chapters */
.chapter{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;}
.chapter .wrap{position:relative;z-index:3;width:100%;padding-block:clamp(100px,14vh,160px);}
.chapter--thesis{background:var(--navy-2);color:var(--navy-ink);}
.chapter--thesis h2{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.6vw,80px);line-height:1.06;margin:22px 0 0;max-width:15ch;color:var(--navy-ink);}
.chapter--thesis h2 em{font-style:normal;color:var(--burgundy-soft);}
.chapter--thesis .lead{color:var(--navy-ink-2);margin-top:28px;max-width:54ch;}
.chapter--thesis .eyebrow{color:var(--burgundy-soft);}
.chapter--thesis .eyebrow::before{background:var(--burgundy-soft);}
.more{display:inline-flex;align-items:center;gap:.8em;margin-top:40px;font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  padding-bottom:6px;border-bottom:1px solid currentColor;transition:color .3s,gap .3s;}
.more:hover{gap:1.2em;}
.on-dark .more,.chapter--thesis .more{color:var(--navy-ink);}
.on-dark .more:hover,.chapter--thesis .more:hover{color:var(--burgundy-soft);}

.chapter--sectors{background:var(--navy);display:block;}
.sector-cols{display:grid;grid-template-columns:repeat(4,1fr);min-height:100svh;}
.sector-col{position:relative;overflow:hidden;display:flex;align-items:flex-end;color:var(--navy-ink);border-right:1px solid var(--navy-line);}
.sector-col:last-child{border-right:0;}
.sector-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46;filter:saturate(.55);transition:opacity .8s,transform 1.6s cubic-bezier(.2,.7,.2,1),filter .8s;}
.sector-col::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,16,28,.55) 0%, rgba(8,16,28,.1) 40%, rgba(8,16,28,.92) 100%);}
.sector-col:hover img,.sector-col:focus-visible img{opacity:.78;transform:scale(1.05);filter:saturate(.85);}
.sector-col .sc-body{position:relative;z-index:2;padding:0 clamp(22px,2.4vw,36px) clamp(40px,7vh,72px);}
.sector-col .sc-n{font-family:var(--serif);font-size:14px;letter-spacing:.14em;color:var(--burgundy-soft);}
.sector-col h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.3vw,34px);line-height:1.12;margin:12px 0 0;}
.sector-col p{font-size:13.5px;line-height:1.6;color:var(--navy-ink-2);margin:12px 0 0;max-width:26ch;}
.sector-col .sc-tag{display:block;margin-top:16px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy-soft);}
.sector-col.except img{filter:none;opacity:.6;}
.chapter-head{position:absolute;top:0;left:0;right:0;z-index:3;}
.chapter-head .wrap{padding-top:clamp(90px,12vh,130px);padding-bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.chapter-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.6vw,50px);margin:16px 0 0;color:var(--navy-ink);}
.chapter-head .eyebrow{color:var(--burgundy-soft);} .chapter-head .eyebrow::before{background:var(--burgundy-soft);}

.chapter--strategy{background:var(--paper);color:var(--ink);}
.chapter--strategy h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5vw,68px);line-height:1.07;margin:18px 0 0;max-width:18ch;}
.chapter--strategy h2 em{font-style:normal;color:var(--burgundy);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(44px,6vw,80px);}
.pillars div{background:var(--paper);padding:30px 28px 34px;}
.pillars .pn{font-family:var(--serif);font-size:13px;letter-spacing:.14em;color:var(--burgundy);}
.pillars h3{font-family:var(--serif);font-weight:500;font-size:24px;margin:12px 0 0;}
.pillars p{font-size:14px;color:var(--ink-2);line-height:1.65;margin:12px 0 0;}
.chapter--strategy .more{color:var(--ink);}
.chapter--strategy .more:hover{color:var(--burgundy);}

.cta-band{background:var(--navy);color:var(--navy-ink);border-top:1px solid var(--navy-line);}
.cta-band .wrap{padding-block:clamp(70px,9vw,120px);display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap;}
.cta-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,46px);margin:16px 0 0;max-width:20ch;line-height:1.12;}
.cta-band .eyebrow{color:var(--burgundy-soft);} .cta-band .eyebrow::before{background:var(--burgundy-soft);}
.cta-band a.mail{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);border-bottom:1px solid var(--navy-line);padding-bottom:6px;transition:.3s;}
.cta-band a.mail:hover{color:var(--burgundy-soft);border-color:var(--burgundy-soft);}

/* ---------- sectors page: alternating full-height rows */
.sector-rows{background:var(--navy);color:var(--navy-ink);}
.sector-row{display:grid;grid-template-columns:1fr 1fr;min-height:86svh;border-bottom:1px solid var(--navy-line);}
.sector-row:nth-child(even) .sr-media{order:2;}
.sr-media{position:relative;overflow:hidden;min-height:420px;}
.sr-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sr-media.tone img{filter:saturate(.6) contrast(1.03) brightness(.9);}
.sr-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px) clamp(28px,6vw,100px);}
.sr-body .sr-n{font-family:var(--serif);font-size:14px;letter-spacing:.14em;color:var(--burgundy-soft);}
.sr-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1.06;margin:14px 0 0;}
.sr-body .sr-line{font-family:var(--serif);font-size:clamp(18px,1.7vw,22px);color:var(--navy-ink);opacity:.9;margin:18px 0 0;max-width:34ch;line-height:1.4;}
.sr-body p{font-size:14.5px;line-height:1.75;color:var(--navy-ink-2);margin:20px 0 0;max-width:52ch;}
.sr-body .fc-line{margin-top:28px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);}
.sr-body .badge{align-self:flex-start;margin-top:16px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy-soft);border:1px solid rgba(156,64,84,.55);padding:6px 10px;}
.roadmap-wrap{background:var(--navy);padding-block:clamp(60px,8vw,110px);}
.roadmap-wrap .roadmap{margin-top:0;}

/* ---------- section spacing on sub-pages */
.page-section{padding-block:var(--sp-section);}
.page-section.tight{padding-top:clamp(56px,7vw,96px);}
.facts-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,90px);align-items:start;}
.facts-wrap h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.6vw,48px);margin:16px 0 0;}

/* ---------- footer nav */
.foot .fnav{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.foot .fnav a{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);transition:color .3s;}
.foot .fnav a:hover{color:var(--burgundy);}

/* ---------- responsive for new layer */
@media(max-width:1040px){
  .sector-cols{grid-template-columns:1fr 1fr;}
  .sector-col{min-height:50svh;border-bottom:1px solid var(--navy-line);}
  .chapter-head{position:relative;background:var(--navy);}
  .chapter-head .wrap{padding-bottom:40px;}
  .pillars{grid-template-columns:1fr;}
  .sector-row{grid-template-columns:1fr;min-height:0;}
  .sector-row:nth-child(even) .sr-media{order:0;}
  .sr-media{aspect-ratio:16/10;min-height:0;}
  .facts-wrap{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .sector-cols{grid-template-columns:1fr;}
  .sector-col{min-height:62svh;}
  .strips{grid-template-columns:1fr 1fr;}
  .strips figure:nth-child(n+3){display:none;}
  .page-hero{min-height:70svh;}
}
@media(prefers-reduced-motion:reduce){
  .hero-media img,.page-hero .ph-media img{animation:none!important;transform:none!important;}
  canvas.flow{display:none;}
}

/* ---------- team: portrait cards + expanding prose bio */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,340px));gap:clamp(24px,3vw,44px);}
.tm{all:unset;cursor:pointer;display:flex;flex-direction:column;}
.tm-photo{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--navy);border:1px solid var(--line);}
.tm-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;filter:grayscale(.15);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;}
.tm:hover .tm-photo img,.tm[aria-expanded="true"] .tm-photo img{transform:scale(1.03);filter:none;}
.tm[aria-expanded="true"] .tm-photo{border-color:var(--burgundy);}
.tm-role{margin-top:20px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);}
.tm-name{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.4vw,32px);margin-top:8px;color:var(--ink);}
.tm-more{margin-top:14px;align-self:flex-start;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);
  border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-flex;gap:.7em;align-items:center;transition:color .3s,border-color .3s;}
.tm-more i{font-style:normal;font-family:var(--serif);font-size:18px;line-height:1;color:var(--burgundy);transition:transform .35s;}
.tm:hover .tm-more{color:var(--ink);border-color:var(--ink);}
.tm[aria-expanded="true"] .tm-more i{transform:rotate(45deg);}
.tm:focus-visible{outline:2px solid var(--burgundy-soft);outline-offset:6px;}
.tm-bios{margin-top:clamp(36px,4vw,56px);}
.tm-bio{position:relative;display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(24px,5vw,80px);padding:clamp(34px,4vw,56px) 0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--line);animation:bioIn .5s cubic-bezier(.2,.7,.2,1);}
@keyframes bioIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.tb-role{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);}
.tb-head h3{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.4vw,46px);margin:12px 0 0;line-height:1.05;}
.tb-text p{font-size:16px;line-height:1.8;color:var(--ink-2);margin:0 0 16px;max-width:60ch;}
.tb-text p:first-child{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);line-height:1.5;color:var(--ink);}
.tb-close{position:absolute;right:0;top:18px;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
.tb-close:hover{color:var(--burgundy);}
@media(max-width:820px){ .tm-bio{grid-template-columns:1fr;} .team-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .team-grid{grid-template-columns:1fr;} }

/* home: even text block in sector columns */
.sector-col .sc-body{min-height:210px;}

.tm-bio[hidden]{display:none!important;}

/* ---------- photo backgrounds: slow zoom in / zoom out */
@keyframes kenburns{0%{transform:scale(1);}100%{transform:scale(1.14);}}
.hero-media img{opacity:.6;animation:kenburns 20s ease-in-out infinite alternate;transform-origin:50% 45%;}
.page-hero .ph-media img{opacity:.6;animation:kenburns 22s ease-in-out infinite alternate;transform-origin:50% 45%;}
.hero-scrim{background:linear-gradient(180deg, rgba(8,16,28,.62) 0%, rgba(8,16,28,.22) 34%, rgba(8,16,28,.55) 70%, rgba(8,16,28,.94) 100%),
  linear-gradient(90deg, rgba(8,16,28,.55) 0%, rgba(8,16,28,0) 60%);}
.page-hero .ph-scrim{background:linear-gradient(180deg, rgba(8,16,28,.6) 0%, rgba(8,16,28,.2) 36%, rgba(8,16,28,.58) 74%, rgba(8,16,28,.94) 100%),
  linear-gradient(90deg, rgba(8,16,28,.5) 0%, rgba(8,16,28,0) 62%);}

/* ---------- sectors page: full-width image panels, click to reveal glass panel */
.sector-panels{background:var(--navy);}
.sp{position:relative;min-height:88svh;overflow:hidden;border-bottom:1px solid var(--navy-line);color:var(--navy-ink);isolation:isolate;}
.sp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.7) brightness(.82);
  transform:scale(1.02);transition:transform 2.4s cubic-bezier(.2,.7,.2,1),filter 1s;}
.sp.except .sp-img{filter:brightness(.85);}
.sp:hover .sp-img{transform:scale(1.08);}
.sp-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg, rgba(8,16,28,.45) 0%, rgba(8,16,28,.08) 38%, rgba(8,16,28,.82) 100%);}
.sp-face{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter))) clamp(48px,9vh,96px);transition:opacity .5s;}
.sp-face:focus-visible{outline:2px solid var(--burgundy-soft);outline-offset:-8px;}
.sp-n{font-family:var(--serif);font-size:15px;letter-spacing:.14em;color:var(--burgundy-soft);}
.sp-title{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(46px,7vw,104px);line-height:1;margin-top:14px;color:#fff;}
.sp-line{display:block;font-family:var(--serif);font-size:clamp(18px,1.8vw,24px);line-height:1.4;max-width:30ch;margin-top:18px;color:var(--navy-ink);opacity:.92;}
.sp-badge{align-self:flex-start;margin-top:18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.5);padding:7px 11px;}
.sp-hint{align-self:flex-start;margin-top:30px;display:inline-flex;align-items:center;gap:.9em;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px;}
.sp-hint i{font-style:normal;font-family:var(--serif);font-size:22px;line-height:1;color:var(--burgundy-soft);transition:transform .4s;}
.sp-hint-close{display:none;}
.sp-face:hover .sp-hint i{transform:rotate(90deg);}
/* glass panel */
.sp-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,92vw);z-index:2;pointer-events:none;
  background:rgba(12,24,42,.62);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);
  border-left:1px solid rgba(255,255,255,.12);transform:translateX(102%);transition:transform .7s cubic-bezier(.2,.7,.2,1);
  display:flex;align-items:center;}
.sp-panel-in{padding:clamp(40px,5vw,70px) clamp(30px,4vw,60px);opacity:0;transition:opacity .5s .2s;}
.sp-panel h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.4vw,46px);margin:12px 0 0;color:#fff;}
.sp-panel p{font-size:15px;line-height:1.8;color:#D5DCE6;margin:20px 0 0;}
.sp-panel .fc-line{margin-top:26px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);}
.sp.open .sp-panel{transform:none;pointer-events:auto;}
.sp.open .sp-panel-in{opacity:1;}
.sp.open .sp-img{filter:saturate(.6) brightness(.6);}
.sp.open .sp-face .sp-line,.sp.open .sp-face .sp-badge{opacity:0;}
.sp.open .sp-hint-open{display:none;} .sp.open .sp-hint-close{display:inline;}
.sp.open .sp-hint i{transform:rotate(45deg);}
.sp-face .sp-line,.sp-face .sp-badge{transition:opacity .4s;}
@media(max-width:820px){
  .sp{min-height:78svh;}
  .sp-panel{top:auto;left:0;right:0;width:auto;max-height:78%;overflow:auto;transform:translateY(102%);border-left:0;border-top:1px solid rgba(255,255,255,.12);align-items:flex-start;}
  .sp.open .sp-face{justify-content:flex-start;padding-top:110px;}
}
@media(prefers-reduced-motion:reduce){ .sp-panel,.sp-img{transition:none;} }

/* ---------- sector panels v2: one title at a time, more transparent glass */
.sp-face .sp-n,.sp-face .sp-title{transition:opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1);}
.sp.open .sp-face .sp-n,.sp.open .sp-face .sp-title,.sp.open .sp-face .sp-line,.sp.open .sp-face .sp-badge{opacity:0;transform:translateY(12px);pointer-events:none;}
.sp-panel{background:rgba(12,24,42,.38);-webkit-backdrop-filter:blur(10px) saturate(1.15);backdrop-filter:blur(10px) saturate(1.15);
  border-left:1px solid rgba(255,255,255,.18);}
.sp.open .sp-img{filter:saturate(.75) brightness(.72);}
.sp-panel h2,.sp-panel p{text-shadow:0 1px 14px rgba(8,16,28,.55);}
.sp-panel p{color:#E4E9F0;}

/* ============================================================ LOGO INTRO (first visit per session) */
.intro-veil{display:none;}
html.intro{overflow:hidden;}
html.intro .intro-veil{display:flex;position:fixed;inset:0;z-index:200;background:var(--navy);align-items:center;justify-content:center;
  animation:veilLift .9s cubic-bezier(.76,0,.24,1) 1.75s forwards;}
.intro-veil.done{animation:veilLift .6s cubic-bezier(.76,0,.24,1) forwards!important;}
.intro-mark{position:relative;width:min(300px,56vw);aspect-ratio:1000/527;}
.intro-mark img{position:absolute;inset:0;width:100%;height:100%;}
.im-tsr{clip-path:inset(0 0 26% 0);transform:translateY(22%);opacity:0;animation:tsrRise 1.05s cubic-bezier(.2,.7,.2,1) .15s forwards;}
.im-alt{clip-path:inset(80% 50% 0 50%);opacity:0;animation:altOpen .9s cubic-bezier(.2,.7,.2,1) .75s forwards;}
.im-rule{position:absolute;left:50%;bottom:-26px;width:0;height:1px;background:var(--burgundy-soft);transform:translateX(-50%);
  animation:ruleGrow .8s cubic-bezier(.2,.7,.2,1) .9s forwards;}
@keyframes tsrRise{to{transform:none;opacity:1;}}
@keyframes altOpen{to{clip-path:inset(80% 0 0 0);opacity:1;}}
@keyframes ruleGrow{to{width:56px;}}
@keyframes veilLift{to{transform:translateY(-100%);}}
/* hold hero text until the veil lifts */
html.intro .hero .eyebrow,html.intro .hero h1,html.intro .hero .lead,html.intro .hero .btns,html.intro .scroll-cue{animation-play-state:paused;}

/* ============================================================ FOOTER SIGN-OFF */
.logo-sign{position:relative;display:block;width:min(240px,60vw);margin:0 auto;overflow:hidden;}
.logo-sign .foot-logo{width:100%;margin:0;clip-path:inset(0 0 100% 0);transform:translateY(14px);
  transition:clip-path 1.3s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1);}
.logo-sign.in .foot-logo{clip-path:inset(0 0 0 0);transform:none;}
.logo-sign .sheen{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-120%);mix-blend-mode:soft-light;}
.logo-sign.in .sheen{animation:sheen 1.6s ease 1.1s forwards;}
@keyframes sheen{to{transform:translateX(120%);}}
@media(prefers-reduced-motion:reduce){
  html.intro .intro-veil{display:none;}
  .logo-sign .foot-logo{clip-path:none;transform:none;transition:none;}
  .logo-sign .sheen{display:none;}
}

/* ---------- home: slogan explained on arrival */
.hero .hero-sub{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.1vw,28px);line-height:1.38;color:var(--navy-ink);
  max-width:30ch;margin:22px 0 0;opacity:0;transform:translateY(24px);animation:rise 1s .5s ease forwards;}
.hero .lead{font-size:clamp(14.5px,1.2vw,16px);margin-top:20px;}
html.intro .hero .hero-sub{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){ .hero .hero-sub{opacity:1;transform:none;} }
.ff-compare{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:clamp(20px,3vw,44px);align-items:start;margin-top:clamp(40px,5vw,64px);
  padding-top:clamp(30px,4vw,44px);border-top:1px solid var(--navy-line);}
.ff-tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy-ink-2);}
.ff-col.now .ff-tag,.ff-col.except .ff-tag{color:var(--burgundy-soft);}
.ff-col h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.9vw,26px);line-height:1.2;margin:12px 0 0;color:var(--navy-ink);}
.ff-col p{font-size:14px;line-height:1.65;color:var(--navy-ink-2);margin:12px 0 0;}
.ff-col.then h3,.ff-col.then p{opacity:.62;}
.ff-col.except{border-left:1px solid var(--navy-line);padding-left:clamp(20px,3vw,44px);}
.ff-arrow{font-family:var(--serif);font-size:30px;color:var(--burgundy-soft);padding-top:26px;}
@media(max-width:900px){ .ff-compare{grid-template-columns:1fr;} .ff-arrow{transform:rotate(90deg);padding:0;justify-self:start;} .ff-col.except{border-left:0;padding-left:0;border-top:1px solid var(--navy-line);padding-top:24px;} }

.thesis-lead{margin-top:24px;max-width:58ch;}

/* ---------- sector panels v3: wider glass card for full-screen balance */
@media(min-width:821px){
  .sp-panel{width:clamp(560px,50vw,860px);}
  .sp-panel-in{padding:clamp(48px,5vw,80px) clamp(40px,5vw,84px);max-width:680px;}
  .sp-panel p{font-size:16px;}
}
#data-centers .sp-img{object-position:50% 58%;}

/* ---------- sector panels on phones: expand below the image, full text, no inner scroll */
@media(max-width:820px){
  .sp{min-height:0;}
  .sp-face{position:relative;inset:auto;min-height:72svh;}
  .sp.open .sp-face{min-height:42svh;justify-content:flex-end;padding-top:0;}
  .sp-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:auto;max-height:none;overflow:visible;
    transform:none;display:none;border-top:1px solid rgba(255,255,255,.14);background:rgba(12,24,42,.55);}
  .sp.open .sp-panel{display:block;}
  .sp-panel-in{opacity:1;padding:34px 24px 40px;}
  .sp.open .sp-face .sp-n,.sp.open .sp-face .sp-title{opacity:0;}
}

/* ---------- team portraits: warmer, less monochrome, tighter crop (hides stretched edges at bottom) */
.tm-photo{background:#E9E4DC;border-color:#E2DCD2;}
.tm-photo img{filter:sepia(.16) saturate(1.25) hue-rotate(-6deg) brightness(1.05) contrast(1.04);
  transform:scale(1.16);transform-origin:50% 30%;object-position:50% 20%;}
.tm:hover .tm-photo img,.tm[aria-expanded="true"] .tm-photo img{filter:sepia(.16) saturate(1.25) hue-rotate(-6deg) brightness(1.07) contrast(1.04);transform:scale(1.19);}

/* ---------- team portraits: natural color originals */
.tm-photo{background:#D9D6D3;border-color:var(--line);}
.tm-photo img{filter:none;transform:none;object-position:50% 22%;}
.tm:hover .tm-photo img,.tm[aria-expanded="true"] .tm-photo img{filter:none;transform:scale(1.03);}

/* ---------- portrait-source heroes: show whole image (zoomed out) over a blurred fill */
.hero .hero-media.fit img,.page-hero .ph-media.fit img{position:absolute;top:0;bottom:0;height:100%;animation:none;transform:none;}
.hero .hero-media.fit .fit-bg,.page-hero .ph-media.fit .fit-bg{left:0;width:100%;object-fit:cover;opacity:1;
  filter:blur(34px) saturate(.85) brightness(.5);transform:scale(1.25);}
.hero .hero-media.fit .fit-fg,.page-hero .ph-media.fit .fit-fg{left:auto;right:3%;width:min(48vw,660px);object-fit:contain;object-position:50% 50%;opacity:.85;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 72%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 72%,transparent 100%);
  animation:fitDrift 24s ease-in-out infinite alternate;transform-origin:50% 60%;}
@keyframes fitDrift{from{transform:scale(1);}to{transform:scale(1.045);}}
@media(max-width:820px){
  .hero .hero-media.fit .fit-fg,.page-hero .ph-media.fit .fit-fg{right:0;width:100%;object-fit:cover;-webkit-mask-image:none;mask-image:none;opacity:.6;}
  .hero .hero-media.fit .fit-bg,.page-hero .ph-media.fit .fit-bg{display:none;}
}
@media(prefers-reduced-motion:reduce){ .hero .hero-media.fit .fit-fg,.page-hero .ph-media.fit .fit-fg{animation:none;} }

/* fit v2: box matches image aspect so the edge fade lands on the real image edges; bottom fade hides watermarks */
@media(min-width:821px){
  .hero .hero-media.fit .fit-fg,.page-hero .ph-media.fit .fit-fg{width:auto;max-width:none;right:2%;object-fit:cover;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 75%,transparent 100%),linear-gradient(180deg,#000 0%,#000 70%,transparent 96%);
    -webkit-mask-composite:source-in;
            mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 75%,transparent 100%),linear-gradient(180deg,#000 0%,#000 70%,transparent 96%);
            mask-composite:intersect;}
}

/* fit v3: slightly larger so the image's left edge reaches closer to center */
@media(min-width:821px){
  .hero .hero-media.fit .fit-fg,.page-hero .ph-media.fit .fit-fg{height:124%;top:-12%;bottom:auto;right:0;transform-origin:70% 55%;}
}
