
:root{
  --bg:#fff;
  --text:#1d1d1f;
  --muted:#6e6e73;
  --line:#d2d2d7;
  --soft:#f5f5f7;
  --max:1280px;
}

/* Shared case-study access gate */
html.case-gate-active,
html.case-gate-active body{overflow:hidden}
body[data-case-protected]:not(.case-unlocked) > nav,
body[data-case-protected]:not(.case-unlocked) > main,
body[data-case-protected]:not(.case-unlocked) > footer{visibility:hidden}
.case-access-gate{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  min-height:100dvh;
  padding:28px;
  overflow:auto;
  color:#f5f5f7;
  background:#101010;
}
.case-access-panel{
  width:min(100%,760px);
  min-height:min(680px,calc(100dvh - 56px));
  display:flex;
  flex-direction:column;
  padding:44px 48px;
  border:1px solid #3a3a3c;
}
.case-access-brand{
  align-self:flex-start;
  color:inherit;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
}
.case-access-copy{margin:auto 0 48px;max-width:610px}
.case-access-copy .eyebrow{color:#9a9a9f;margin-bottom:22px}
.case-access-copy h1{
  margin:0;
  max-width:12ch;
  font-size:clamp(42px,6vw,72px);
  line-height:.95;
  letter-spacing:-.055em;
}
.case-access-copy p{
  max-width:48ch;
  margin:28px 0 0;
  color:#a9a9ae;
  font-size:17px;
  line-height:1.55;
}
.case-access-form label{
  display:block;
  margin-bottom:10px;
  color:#a9a9ae;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.case-access-control{display:grid;grid-template-columns:minmax(0,1fr) auto}
.case-access-control input,
.case-access-control button{
  min-height:58px;
  border:1px solid #55555a;
  border-radius:0;
  font:inherit;
}
.case-access-control input{
  min-width:0;
  padding:0 18px;
  color:#fff;
  background:#18181a;
}
.case-access-control button{
  padding:0 24px;
  color:#101010;
  background:#f5f5f7;
  border-color:#f5f5f7;
  font-weight:650;
  cursor:pointer;
}
.case-access-control input:focus-visible,
.case-access-control button:focus-visible,
.case-access-back:focus-visible{outline:2px solid #fff;outline-offset:3px}
.case-access-error{min-height:24px;margin:10px 0 0;color:#ff9b91;font-size:14px}
.case-access-back{align-self:flex-start;margin-top:42px;color:#a9a9ae;font-size:14px;text-decoration:none}
.case-access-back:hover{color:#fff}
@media(max-width:620px){
  .case-access-gate{padding:0;place-items:stretch}
  .case-access-panel{min-height:100dvh;padding:28px 24px;border:0}
  .case-access-copy{margin:auto 0 36px}
  .case-access-copy h1{font-size:clamp(40px,13vw,58px)}
  .case-access-control{grid-template-columns:1fr}
  .case-access-control button{margin-top:10px}
  .case-access-back{margin-top:30px}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid rgba(210,210,215,.55)
}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:0 64px;height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:32px
}
.brand{font-weight:600;letter-spacing:-.02em;font-size:15px}
.nav-links{display:flex;gap:28px;font-size:13px;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
main{overflow:hidden}
.wrap{max-width:var(--max);margin:0 auto;padding-left:64px;padding-right:64px}
.hero{
  min-height:92vh;display:flex;align-items:center;padding-top:70px;padding-bottom:90px
}
.eyebrow{
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--muted);
  margin-bottom:28px
}
.display-xl{
  font-size:clamp(64px,7.8vw,112px);line-height:.94;letter-spacing:-.055em;font-weight:650;
  max-width:1120px;margin:0
}
.display-lg{
  font-size:clamp(48px,5.7vw,80px);line-height:.98;letter-spacing:-.045em;font-weight:650;margin:0
}
.h2{
  font-size:clamp(40px,4vw,60px);line-height:1.02;letter-spacing:-.038em;font-weight:650;margin:0
}
.lede{
  margin-top:34px;max-width:760px;font-size:clamp(20px,1.8vw,26px);line-height:1.45;color:var(--muted);letter-spacing:-.015em
}
.section{padding:190px 0}
.section-tight{padding:130px 0}
.section-soft{background:var(--soft)}
.rule{border-top:1px solid var(--line)}
.intro-copy{max-width:840px;font-size:clamp(26px,3.1vw,42px);line-height:1.16;letter-spacing:-.035em}
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:92px;border-top:1px solid var(--line)}
.journey-item{padding:26px 30px 0 0;min-height:165px}
.journey-item:not(:last-child){border-right:1px solid var(--line)}
.journey-item:not(:first-child){padding-left:30px}
.journey-kicker{font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--muted)}
.journey-copy{font-size:21px;line-height:1.35;margin-top:16px;max-width:220px}
.project{padding:150px 0;border-top:1px solid var(--line)}
.project-grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.project-index{font-size:13px;color:var(--muted);margin-bottom:24px}
.project h3{font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:0 0 26px}
.project p{font-size:20px;line-height:1.5;color:var(--muted);max-width:630px}
.meta{display:flex;gap:42px;margin-top:38px;font-size:13px}
.meta strong{display:block;color:var(--text);font-size:15px;margin-top:6px}
.project-visual{
  min-height:470px;background:linear-gradient(180deg,#f5f5f7,#ececef);
  display:flex;align-items:center;justify-content:center;padding:44px;position:relative;overflow:hidden
}
.project-visual .diagram{
  width:100%;height:100%;min-height:380px;border:1px solid #cfcfd4;background:#fff;padding:40px;
  display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 18px 50px rgba(0,0,0,.05)
}
.mock-top{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.mock-center{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center}
.mock-big{font-size:50px;font-weight:650;letter-spacing:-.04em}
.mock-bars{display:grid;gap:10px}
.mock-bars span{height:14px;background:#e5e5ea;display:block}
.mock-bars span:nth-child(2){width:78%}.mock-bars span:nth-child(3){width:62%}
.mock-bottom{display:flex;gap:10px}
.mock-chip{height:34px;flex:1;background:#f2f2f5}
.cta{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-size:16px;font-weight:600}
.cta span{transition:transform .2s ease}.cta:hover span{transform:translateX(4px)}
.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:90px;border-top:1px solid var(--line)}
.principle{padding:38px 40px 70px 0;border-bottom:1px solid var(--line)}
.principle:nth-child(odd){border-right:1px solid var(--line)}
.principle:nth-child(even){padding-left:40px}
.principle h3{font-size:30px;margin:0 0 12px;letter-spacing:-.025em}
.principle p{color:var(--muted);font-size:18px;line-height:1.5;max-width:480px}
.closing{padding:220px 0 90px}
.closing .display-lg{max-width:940px}
.footer{
  border-top:1px solid var(--line);padding:28px 0 42px;font-size:13px;color:var(--muted)
}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
.footer-links{display:flex;gap:24px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* Case study */
.case-hero{padding:150px 0 130px}
.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:74px;padding-top:26px;border-top:1px solid var(--line)}
.case-meta .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.case-meta .value{font-size:17px;margin-top:8px}
.statement{padding:210px 0}
.statement .display-lg{max-width:1050px}
.three-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:100px;border-top:1px solid var(--line)}
.metric{padding:30px 40px 0 0;min-height:190px}
.metric:not(:last-child){border-right:1px solid var(--line)}
.metric:not(:first-child){padding-left:40px}
.metric strong{display:block;font-size:48px;letter-spacing:-.04em}
.metric span{display:block;color:var(--muted);font-size:17px;line-height:1.45;margin-top:12px;max-width:280px}
.mandates{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:80px}
.mandate{padding:26px 28px 50px 0}
.mandate:not(:last-child){border-right:1px solid var(--line)}
.mandate:not(:first-child){padding-left:28px}
.mandate b{display:block;font-size:14px;letter-spacing:.12em}
.mandate span{display:block;font-size:20px;margin-top:14px}
.big-number{font-size:clamp(130px,20vw,300px);line-height:.75;letter-spacing:-.08em;font-weight:650;margin-top:80px}
.regions{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:70px;font-size:13px;letter-spacing:.08em;color:var(--muted)}
.capability{
  margin-top:80px;padding:58px;border:1px solid var(--line);background:#fff;
}
.cap-title{text-align:center;font-size:14px;letter-spacing:.12em;color:var(--muted)}
.cap-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:42px}
.cap-row div{padding-top:18px;border-top:1px solid var(--line);font-size:18px}
.from-to{display:grid;grid-template-columns:1fr auto 1fr;gap:42px;align-items:center;margin-top:92px}
.ft-box{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ft-kicker{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.ft-main{font-size:34px;line-height:1.1;margin-top:16px;letter-spacing:-.03em}
.ft-arrow{font-size:34px;color:var(--muted)}
.northstar{margin-top:80px;background:#f5f5f7;padding:80px}
.north-panel{background:white;border:1px solid #d8d8dd;min-height:520px;padding:50px;display:grid;grid-template-columns:1.1fr .9fr;gap:46px}
.panel-left h4{font-size:50px;margin:0 0 16px;letter-spacing:-.04em}
.panel-left p{font-size:18px;color:var(--muted);line-height:1.5}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.kpi{background:#f5f5f7;padding:22px}.kpi strong{font-size:26px}.kpi span{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.panel-right{display:grid;align-content:center;gap:15px}
.ai-card{padding:24px;border:1px solid var(--line)}
.ai-card b{display:block;font-size:14px}.ai-card span{display:block;color:var(--muted);margin-top:8px;font-size:14px}
.progression{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:24px;align-items:center;margin-top:90px}
.progression .stage{padding-top:22px;border-top:1px solid var(--line)}
.progression .stage b{font-size:13px;letter-spacing:.12em}
.progression .stage span{display:block;font-size:24px;margin-top:12px}
.converge{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:70px 0 40px}
.converge div{border-top:1px solid var(--line);padding-top:18px;font-size:13px;letter-spacing:.08em;color:var(--muted)}
.one-exp{text-align:center;font-size:clamp(52px,6vw,86px);letter-spacing:-.05em;font-weight:650;margin:100px 0 0}
.adoption{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:80px;border-top:1px solid var(--line)}
.adoption-step{padding:28px 34px 0 0}
.adoption-step:not(:last-child){border-right:1px solid var(--line)}
.adoption-step:not(:first-child){padding-left:34px}
.adoption-step b{font-size:13px;letter-spacing:.1em}
.adoption-step p{font-size:17px;color:var(--muted);line-height:1.45}
.awards{display:flex;gap:70px;align-items:end;margin-top:70px}
.award-mark{font-size:38px;font-weight:650;letter-spacing:-.035em}
.award-meta{color:var(--muted);margin-top:8px;font-size:14px}
.reflections{display:grid;grid-template-columns:1fr 1fr;margin-top:90px;border-top:1px solid var(--line)}
.reflection{padding:38px 48px 70px 0;border-bottom:1px solid var(--line)}
.reflection:nth-child(odd){border-right:1px solid var(--line)}
.reflection:nth-child(even){padding-left:48px}
.reflection h3{font-size:30px;letter-spacing:-.03em;margin:0 0 14px}
.reflection p{font-size:17px;color:var(--muted);line-height:1.6}
.next-case{padding:110px 0;border-top:1px solid var(--line)}
.next-case .small{font-size:12px;color:var(--muted);letter-spacing:.1em}
.next-case h3{font-size:42px;letter-spacing:-.035em;margin:18px 0 0}

@media(max-width:800px){
  .nav-inner,.wrap{padding-left:24px;padding-right:24px}
  .nav-links{gap:16px}.nav-links a:nth-child(2),.nav-links a:nth-child(3){display:none}
  .hero{min-height:84vh}
  .section{padding:110px 0}.section-tight{padding:85px 0}
  .journey,.project-grid,.leadership-grid,.case-meta,.three-metrics,.mandates,.cap-row,.from-to,.north-panel,.progression,.adoption,.reflections{
    grid-template-columns:1fr
  }
  .journey-item,.journey-item:not(:first-child),.journey-item:not(:last-child),
  .metric,.metric:not(:first-child),.metric:not(:last-child),
  .mandate,.mandate:not(:first-child),.mandate:not(:last-child),
  .principle,.principle:nth-child(even),.principle:nth-child(odd),
  .adoption-step,.adoption-step:not(:first-child),.adoption-step:not(:last-child),
  .reflection,.reflection:nth-child(even),.reflection:nth-child(odd){
    padding-left:0;padding-right:0;border-right:0;border-bottom:1px solid var(--line)
  }
  .project-grid{gap:50px}
  .project-visual{min-height:330px;padding:18px}
  .project-visual .diagram{min-height:290px;padding:24px}
  .mock-center{grid-template-columns:1fr}.mock-big{font-size:36px}
  .from-to{gap:18px}.ft-arrow{transform:rotate(90deg);text-align:center}
  .northstar{padding:18px}.north-panel{padding:26px}
  .progression .stage{margin-top:20px}
  .progression > div:nth-child(even){transform:rotate(90deg);text-align:center}
  .regions{display:grid;grid-template-columns:1fr 1fr}
  .converge{grid-template-columns:1fr 1fr}
  .awards{flex-direction:column;align-items:flex-start}
  .footer-inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}

/* V2 — real artifact presentation */
.artifact-stage{
  margin-top:80px;
  background:#f5f5f7;
  padding:clamp(18px,4vw,64px);
  overflow:hidden;
}
.artifact-stage.dark{background:#0b0812}
.artifact{
  width:100%;
  height:auto;
  display:block;
  box-shadow:0 26px 70px rgba(0,0,0,.10);
}
.artifact-clean{box-shadow:none}
.artifact-caption{
  display:flex;justify-content:space-between;gap:30px;
  margin-top:18px;font-size:12px;line-height:1.5;color:var(--muted)
}
.artifact-caption span:last-child{text-align:right}
.visual-break{padding:80px 0 180px}
.visual-break img{width:100%;display:block}
.crop-window{
  margin-top:70px;overflow:hidden;background:#090611;
  height:clamp(420px,56vw,760px);position:relative
}
.crop-window img{
  width:100%;height:100%;object-fit:cover;object-position:center top
}
.home-artifact{
  min-height:470px;background:#0b0812;display:flex;align-items:center;
  overflow:hidden;position:relative
}
.home-artifact img{
  width:112%;max-width:none;margin-left:-6%;display:block;
}
.architecture-callout{
  display:grid;grid-template-columns:4fr 8fr;gap:70px;align-items:start;margin-top:80px
}
.architecture-callout .side-note{
  position:sticky;top:110px;font-size:18px;line-height:1.55;color:var(--muted)
}
.architecture-callout .artifact-stage{margin-top:0;padding:24px}
.evolution{
  padding:210px 0;background:#0b0812;color:#fff
}
.evolution .eyebrow,.evolution .lede{color:#a1a1a6}
.evolution .display-lg{color:#fff}
.evolution .artifact-stage{background:transparent;padding:0;margin-top:90px}
.evolution .artifact{box-shadow:0 30px 90px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.10)}
.evolution .progression{border-color:#333}
.evolution .progression .stage{border-color:#333}
.evolution .progression .stage span{color:#fff}
.evolution .progression .stage b{color:#a1a1a6}
.image-label{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  margin-bottom:18px
}
@media(max-width:800px){
  .architecture-callout{grid-template-columns:1fr;gap:30px}
  .architecture-callout .side-note{position:static}
  .home-artifact{min-height:auto}
  .artifact-caption{flex-direction:column}
  .artifact-caption span:last-child{text-align:left}
}

/* V3 — restrained capability visualization */
.capability-story{
  margin-top:92px;
  display:grid;
  grid-template-columns:minmax(250px, .72fr) minmax(0, 1.55fr);
  gap:84px;
  align-items:center;
}
.capability-stat{
  padding-right:52px;
  border-right:1px solid var(--line);
}
.capability-stat .zero-to{
  display:flex;
  align-items:baseline;
  gap:20px;
  white-space:nowrap;
}
.capability-stat .zero{
  font-size:44px;
  line-height:1;
  color:#a1a1a6;
  letter-spacing:-.04em;
  font-weight:560;
}
.capability-stat .arrow{
  width:64px;
  height:1px;
  background:var(--line);
  position:relative;
  top:-8px;
}
.capability-stat .arrow:after{
  content:"";
  position:absolute;
  right:0;top:-3px;
  width:7px;height:7px;
  border-top:1px solid #86868b;
  border-right:1px solid #86868b;
  transform:rotate(45deg);
}
.capability-stat .thirty-seven{
  font-size:clamp(110px,12vw,178px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:650;
}
.capability-stat .stat-label{
  margin-top:28px;
  font-size:15px;
  line-height:1.5;
  color:var(--muted);
  max-width:230px;
}
.world-map{
  position:relative;
  width:100%;
  min-height:390px;
}
.world-map svg{
  width:100%;
  height:auto;
  display:block;
}
.world-land{
  fill:#e9e9ec;
  stroke:#fff;
  stroke-width:.7;
}
.map-point{
  fill:#1d1d1f;
}
.map-line{
  stroke:#86868b;
  stroke-width:.7;
}
.map-label{
  fill:#1d1d1f;
  font-size:12px;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-weight:600;
}
.map-sub{
  fill:#86868b;
  font-size:10px;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
.capability-model{
  margin-top:140px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.capability-root{
  text-align:center;
  margin-bottom:54px;
}
.capability-root .root-label{
  font-size:12px;
  letter-spacing:.14em;
  color:var(--muted);
}
.capability-root .root-title{
  font-size:34px;
  letter-spacing:-.03em;
  margin-top:12px;
  font-weight:620;
}
.capability-branches{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:30px;
  padding-top:44px;
}
.capability-branches:before{
  content:"";
  position:absolute;
  top:0;
  left:10%;
  right:10%;
  border-top:1px solid var(--line);
}
.capability-branch{
  position:relative;
  padding-top:24px;
  text-align:center;
}
.capability-branch:before{
  content:"";
  position:absolute;
  width:1px;
  height:44px;
  background:var(--line);
  left:50%;
  top:-44px;
}
.capability-branch b{
  font-size:16px;
  letter-spacing:-.015em;
  font-weight:600;
}
.capability-branch span{
  display:block;
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:var(--muted);
}
.capability-footnote{
  margin-top:80px;
  max-width:760px;
  font-size:22px;
  line-height:1.45;
  letter-spacing:-.02em;
  color:var(--muted);
}
@media(max-width:800px){
  .capability-story{grid-template-columns:1fr;gap:60px}
  .capability-stat{border-right:0;border-bottom:1px solid var(--line);padding:0 0 50px}
  .world-map{min-height:0}
  .capability-branches{grid-template-columns:1fr;padding-top:0}
  .capability-branches:before{display:none}
  .capability-branch{text-align:left;padding:22px 0;border-top:1px solid var(--line)}
  .capability-branch:before{display:none}
  .capability-root{text-align:left}
}

/* DEX case study */
.dex-score-wrap{
  margin-top:90px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:center;
}
.dex-score{
  width:min(420px,100%);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  position:relative;
  margin:auto;
}
.dex-score:before,.dex-score:after{
  content:"";position:absolute;border-radius:50%;border:1px solid var(--line)
}
.dex-score:before{inset:11%}.dex-score:after{inset:24%}
.dex-score-center{text-align:center;position:relative;z-index:2}
.dex-score-center strong{display:block;font-size:clamp(72px,8vw,116px);line-height:.8;letter-spacing:-.07em}
.dex-score-center span{display:block;margin-top:20px;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.dex-axis{
  position:absolute;font-size:11px;letter-spacing:.09em;color:var(--muted);background:var(--soft);padding:4px 8px
}
.dex-axis.a{top:7%;left:50%;transform:translateX(-50%)}
.dex-axis.b{right:-5%;top:49%}.dex-axis.c{bottom:6%;left:50%;transform:translateX(-50%)}.dex-axis.d{left:-6%;top:49%}
.dex-definition h3{font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.04em;margin:0}
.dex-definition p{font-size:20px;line-height:1.55;color:var(--muted);margin-top:28px;max-width:600px}
.dex-flow{
  margin-top:100px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)
}
.dex-step{padding:28px 30px 60px 0;position:relative}
.dex-step:not(:last-child){border-right:1px solid var(--line)}
.dex-step:not(:first-child){padding-left:30px}
.dex-step .num{font-size:12px;color:var(--muted);letter-spacing:.12em}
.dex-step h3{font-size:24px;letter-spacing:-.025em;margin:24px 0 10px}
.dex-step p{font-size:15px;line-height:1.5;color:var(--muted)}
.measure-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:90px;border-top:1px solid var(--line)
}
.measure{padding:32px 38px 70px 0}
.measure:not(:last-child){border-right:1px solid var(--line)}
.measure:not(:first-child){padding-left:38px}
.measure .measure-name{font-size:13px;letter-spacing:.12em;color:var(--muted)}
.measure strong{display:block;font-size:32px;letter-spacing:-.035em;margin-top:20px}
.measure p{font-size:16px;color:var(--muted);line-height:1.5}
.dex-platform{
  margin-top:90px;background:#fff;border:1px solid var(--line);padding:48px;
}
.dex-platform-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.08em}
.dex-platform-body{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding-top:55px}
.dex-platform-score{font-size:120px;line-height:.8;letter-spacing:-.075em;font-weight:650}
.dex-platform-label{font-size:14px;color:var(--muted);margin-top:22px}
.dex-lines{display:grid;gap:24px}
.dex-line{display:grid;grid-template-columns:130px 1fr 40px;gap:18px;align-items:center;font-size:13px}
.dex-bar{height:5px;background:#ececef;position:relative}
.dex-bar i{display:block;height:100%;background:#1d1d1f}
.dex-line:nth-child(1) i{width:82%}.dex-line:nth-child(2) i{width:68%}.dex-line:nth-child(3) i{width:76%}.dex-line:nth-child(4) i{width:61%}
.patent-mark{
  margin-top:90px;padding:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr 2fr;gap:70px
}
.patent-mark .small{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.patent-mark .big{font-size:30px;line-height:1.25;letter-spacing:-.03em}
@media(max-width:800px){
  .dex-score-wrap,.dex-platform-body,.patent-mark{grid-template-columns:1fr}
  .dex-flow,.measure-grid{grid-template-columns:1fr}
  .dex-step,.dex-step:not(:first-child),.dex-step:not(:last-child),
  .measure,.measure:not(:first-child),.measure:not(:last-child){
    padding-left:0;padding-right:0;border-right:0;border-bottom:1px solid var(--line)
  }
  .dex-platform{padding:24px}
  .dex-platform-score{font-size:88px}
  .dex-line{grid-template-columns:100px 1fr 32px}
}

/* DEX V2 — grounded in real artifacts */
.dex-real-artifact{
  margin-top:80px;
  background:#f5f5f7;
  padding:clamp(18px,3.8vw,56px);
}
.dex-real-artifact img{width:100%;height:auto;display:block}
.dex-real-artifact.framework{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-left:0;padding-right:0}
.dex-org{
  margin-top:90px;
  padding:60px 0 10px;
  border-top:1px solid var(--line);
}
.dex-org-top{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;max-width:680px;margin:0 auto 54px
}
.dex-org-top .node{
  text-align:center;padding:18px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-size:14px;line-height:1.35
}
.dex-org-top .link{height:1px;background:var(--line)}
.dex-org-center{text-align:center;margin:0 auto 60px;max-width:260px}
.dex-org-center .role{font-size:26px;line-height:1.1;letter-spacing:-.03em;font-weight:620}
.dex-org-center .role-sub{font-size:13px;color:var(--muted);margin-top:10px}
.dex-org-branches{
  position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:22px;padding-top:42px
}
.dex-org-branches:before{content:"";position:absolute;top:0;left:8%;right:8%;border-top:1px solid var(--line)}
.dex-org-branch{text-align:center;position:relative;padding-top:22px}
.dex-org-branch:before{content:"";position:absolute;left:50%;top:-42px;height:42px;width:1px;background:var(--line)}
.dex-org-branch b{display:block;font-size:15px}
.dex-org-branch span{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--muted)}
.dex-vendors{
  margin-top:60px;border-top:1px solid var(--line);padding-top:25px;
  display:flex;justify-content:space-between;gap:25px;align-items:flex-start
}
.dex-vendors .label{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.dex-vendors .names{font-size:16px;text-align:right;line-height:1.6}
.dex-impact-number{
  font-size:clamp(100px,17vw,240px);line-height:.78;letter-spacing:-.075em;font-weight:650;margin-top:90px
}
.dex-impact-caption{font-size:22px;line-height:1.45;color:var(--muted);max-width:640px;margin-top:35px}
@media(max-width:800px){
  .dex-org-branches{grid-template-columns:1fr 1fr;padding-top:0}
  .dex-org-branches:before,.dex-org-branch:before{display:none}
  .dex-org-branch{text-align:left;border-top:1px solid var(--line);padding:20px 0}
  .dex-org-top{grid-template-columns:1fr}
  .dex-org-top .link{height:28px;width:1px;margin:auto}
  .dex-vendors{flex-direction:column}.dex-vendors .names{text-align:left}
}

/* Thought Leadership case study */
.tl-clock{
  margin-top:90px;display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:end
}
.tl-number{
  font-size:clamp(150px,22vw,310px);line-height:.72;letter-spacing:-.085em;font-weight:650
}
.tl-weeks{font-size:15px;letter-spacing:.14em;color:var(--muted);margin-top:32px}
.tl-clock-copy{font-size:clamp(30px,3.2vw,48px);line-height:1.1;letter-spacing:-.035em;padding-bottom:8px}
.tl-decisions{margin-top:90px;border-top:1px solid var(--line)}
.tl-decision{
  display:grid;grid-template-columns:70px 1fr 1.25fr;gap:34px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start
}
.tl-decision .n{font-size:12px;color:var(--muted);letter-spacing:.12em}
.tl-decision b{font-size:20px;letter-spacing:-.02em}
.tl-decision span{font-size:16px;line-height:1.55;color:var(--muted)}
.tl-phone-stage{
  margin-top:90px;min-height:680px;background:#f5f5f7;display:flex;justify-content:center;align-items:center;gap:50px;padding:70px;overflow:hidden
}
.tl-phone{
  width:270px;height:560px;border:1px solid #d2d2d7;border-radius:42px;background:#fff;padding:14px;box-shadow:0 30px 70px rgba(0,0,0,.08);
  transform:rotate(-3deg)
}
.tl-phone:nth-child(2){transform:rotate(3deg) translateY(45px)}
.tl-screen{height:100%;border-radius:31px;background:#111;overflow:hidden;color:#fff;display:flex;flex-direction:column}
.tl-screen .top{font-size:11px;padding:22px 18px;color:#aaa}
.tl-screen .feature{padding:40px 22px 28px;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.tl-screen .feature small{font-size:10px;letter-spacing:.12em;color:#aaa}
.tl-screen .feature strong{font-size:30px;line-height:1.03;letter-spacing:-.04em;margin-top:12px}
.tl-screen.light{background:#fff;color:#111}
.tl-screen.light .top{color:#777;border-bottom:1px solid #eee}
.tl-list{padding:20px}
.tl-list div{padding:18px 0;border-bottom:1px solid #eee;font-size:14px}
.tl-launch{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:90px;border-top:1px solid var(--line)
}
.tl-launch-item{padding:32px 38px 70px 0}
.tl-launch-item:not(:last-child){border-right:1px solid var(--line)}
.tl-launch-item:not(:first-child){padding-left:38px}
.tl-launch-item b{display:block;font-size:28px;letter-spacing:-.03em}
.tl-launch-item span{display:block;font-size:15px;line-height:1.5;color:var(--muted);margin-top:14px}
.tl-stars{font-size:clamp(80px,12vw,160px);letter-spacing:.02em;line-height:1;margin-top:80px}
.tl-review{font-size:30px;line-height:1.35;letter-spacing:-.03em;max-width:780px;margin-top:45px}
@media(max-width:800px){
  .tl-clock{grid-template-columns:1fr;gap:50px}
  .tl-decision{grid-template-columns:40px 1fr}.tl-decision span{grid-column:2}
  .tl-phone-stage{padding:40px 15px;gap:15px;min-height:500px}
  .tl-phone{width:190px;height:400px;border-radius:30px}.tl-screen{border-radius:22px}
  .tl-screen .feature strong{font-size:22px}
  .tl-launch{grid-template-columns:1fr}
  .tl-launch-item,.tl-launch-item:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
}

/* Thought Leadership V2 */
.tl-client-spectrum{
  margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:repeat(3,1fr)
}
.tl-client-spectrum div{padding:34px 34px 60px 0}
.tl-client-spectrum div:not(:last-child){border-right:1px solid var(--line)}
.tl-client-spectrum div:not(:first-child){padding-left:34px}
.tl-client-spectrum b{display:block;font-size:13px;letter-spacing:.12em;color:var(--muted)}
.tl-client-spectrum span{display:block;font-size:25px;line-height:1.15;letter-spacing:-.025em;margin-top:18px}
.tl-real-stage{
  margin-top:90px;background:#f5f5f7;padding:clamp(30px,6vw,90px);
  display:flex;justify-content:center
}
.tl-real-stage img{display:block;width:min(680px,100%);height:auto}
.tl-org{
  margin-top:90px;padding-top:55px;border-top:1px solid var(--line)
}
.tl-org-role{text-align:center;margin-bottom:65px}
.tl-org-role b{font-size:28px;letter-spacing:-.03em}
.tl-org-role span{display:block;font-size:13px;color:var(--muted);margin-top:10px}
.tl-org-branches{
  position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;padding-top:42px
}
.tl-org-branches:before{content:"";position:absolute;top:0;left:10%;right:10%;border-top:1px solid var(--line)}
.tl-org-branch{text-align:center;position:relative;padding-top:24px}
.tl-org-branch:before{content:"";position:absolute;left:50%;top:-42px;width:1px;height:42px;background:var(--line)}
.tl-org-branch b{font-size:15px}.tl-org-branch span{display:block;font-size:12px;line-height:1.45;color:var(--muted);margin-top:8px}
@media(max-width:800px){
  .tl-client-spectrum{grid-template-columns:1fr}
  .tl-client-spectrum div,.tl-client-spectrum div:not(:first-child){padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}
  .tl-org-branches{grid-template-columns:1fr;padding-top:0}
  .tl-org-branches:before,.tl-org-branch:before{display:none}
  .tl-org-branch{text-align:left;padding:20px 0;border-top:1px solid var(--line)}
}

/* V8 — authored editorial homepage */
body.v8-home{background:#fff}
.v8-home .site-nav{background:rgba(255,255,255,.88);backdrop-filter:blur(18px)}
.v8-hero{min-height:92vh;display:flex;align-items:flex-end;padding:150px 0 72px;overflow:hidden}
.v8-hero-grid{display:grid;grid-template-columns:1fr 11fr;gap:28px;align-items:end}
.v8-index{font-size:11px;letter-spacing:.16em;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);padding-bottom:10px}
.v8-hero h1{font-size:clamp(72px,10.4vw,158px);line-height:.82;letter-spacing:-.075em;font-weight:650;margin:0;max-width:1200px}
.v8-hero h1 .quiet{color:#a1a1a6;font-weight:520}
.v8-hero-bottom{grid-column:2;display:grid;grid-template-columns:1.4fr .8fr;gap:80px;margin-top:70px;padding-top:22px;border-top:1px solid var(--line)}
.v8-hero-bottom p{font-size:20px;line-height:1.45;max-width:560px;margin:0}
.v8-hero-bottom .micro{font-size:11px;line-height:1.7;letter-spacing:.11em;color:var(--muted);text-transform:uppercase;text-align:right}
.v8-transition{padding:220px 0 200px;background:#f5f5f7;overflow:hidden}
.v8-transition .tiny{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:70px}
.v8-path{font-size:clamp(58px,8.3vw,126px);line-height:.88;letter-spacing:-.065em;font-weight:620}
.v8-path .muted{color:#c7c7cc}
.v8-path .arrow{font-weight:300;color:#86868b;margin:0 .08em}
.v8-path-end{margin-top:85px;display:grid;grid-template-columns:5fr 7fr;gap:80px}
.v8-path-end p{grid-column:2;font-size:28px;line-height:1.35;letter-spacing:-.025em;margin:0}
.v8-work{padding:190px 0 80px}
.v8-work-head{display:grid;grid-template-columns:3fr 9fr;gap:40px;margin-bottom:140px}
.v8-work-head .small{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.v8-work-head h2{font-size:clamp(50px,6.8vw,98px);line-height:.9;letter-spacing:-.06em;margin:0}
.v8-project{position:relative;padding:90px 0 160px;border-top:1px solid var(--line)}
.v8-project-number{position:absolute;left:0;top:94px;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.v8-project-copy{margin-left:16.666%;width:66.666%}
.v8-project-kicker{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:28px}
.v8-project h3{font-size:clamp(58px,7.2vw,108px);line-height:.86;letter-spacing:-.065em;margin:0;font-weight:630}
.v8-project h3 a{text-decoration:none;color:inherit}
.v8-project-meta{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px;max-width:700px}
.v8-project-meta p{font-size:16px;line-height:1.5;color:var(--muted);margin:0}
.v8-project-visual{margin-top:85px;margin-left:8.333%;width:91.667%;overflow:hidden;background:#0b0812}
.v8-project-visual img{display:block;width:100%;height:auto}
.v8-project-visual.feature img{width:108%;margin-left:-4%}
.v8-project-visual.dex{background:#f5f5f7;padding:6vw 0 6vw 6vw}
.v8-project-visual.dex img{width:112%;max-width:none}
.v8-project-visual.tl{background:#f5f5f7;display:flex;justify-content:center;padding:70px}
.v8-project-visual.tl img{width:min(540px,70%)}
.v8-project-link{margin-left:16.666%;margin-top:30px;font-size:13px}
.v8-project-link a{color:inherit;text-decoration:none;border-bottom:1px solid #999;padding-bottom:4px}
.v8-manifesto{background:#111;color:#fff;padding:220px 0}
.v8-manifesto .eyebrow{color:#86868b}
.v8-manifesto h2{font-size:clamp(66px,9vw,136px);line-height:.84;letter-spacing:-.07em;margin:50px 0 0;max-width:1100px}
.v8-manifesto h2 .dim{color:#555}
.v8-manifesto-bottom{display:grid;grid-template-columns:5fr 7fr;gap:70px;margin-top:120px;padding-top:28px;border-top:1px solid #333}
.v8-manifesto-bottom p{grid-column:2;font-size:25px;line-height:1.4;color:#c7c7cc;margin:0;max-width:680px}
.v8-about{padding:180px 0}
.v8-about-grid{display:grid;grid-template-columns:4fr 8fr;gap:70px}
.v8-about .small{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.v8-about h2{font-size:clamp(48px,6vw,88px);line-height:.94;letter-spacing:-.055em;margin:0}
.v8-about p{font-size:20px;line-height:1.55;color:var(--muted);max-width:650px;margin-top:45px}
.v8-footer{padding:80px 0 45px;border-top:1px solid var(--line)}
.v8-footer-top{font-size:clamp(48px,6vw,88px);letter-spacing:-.055em;line-height:.95}
.v8-footer-links{display:flex;gap:32px;margin-top:70px;font-size:13px}
.v8-footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid #aaa;padding-bottom:3px}
@media(max-width:800px){
 .v8-hero-grid{grid-template-columns:1fr}.v8-index{display:none}.v8-hero-bottom{grid-column:1;grid-template-columns:1fr;gap:30px}
 .v8-hero-bottom .micro{text-align:left}.v8-path-end,.v8-work-head,.v8-manifesto-bottom,.v8-about-grid{grid-template-columns:1fr}
 .v8-path-end p,.v8-manifesto-bottom p{grid-column:1}.v8-project-copy{margin-left:0;width:100%}
 .v8-project-number{position:static;margin-bottom:25px}.v8-project-visual{margin-left:0;width:100%}.v8-project-link{margin-left:0}
 .v8-project-meta{grid-template-columns:1fr}.v8-project-visual.tl{padding:35px}.v8-project-visual.tl img{width:85%}
}

.v9-hero{min-height:100svh;box-sizing:border-box;padding:104px 0 32px;display:flex;align-items:center}
.v9-grid{width:100%;display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:clamp(40px,6vw,88px);align-items:center}
.v9-overline{font-size:11px;letter-spacing:.14em;color:var(--muted);margin-bottom:32px}
.v9-copy h1{font-size:clamp(54px,6vw,86px);line-height:.96;letter-spacing:-.055em;font-weight:620;margin:0;max-width:780px}
.v9-copy h1 span{color:#86868b;font-weight:540}
.v9-intro{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr .7fr;gap:30px;max-width:740px}
.v9-intro p{font-size:17px;line-height:1.48;margin:0}.v9-meta{font-size:10px;line-height:1.65;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;text-align:right}
.v9-portrait{height:min(70vh,690px);min-height:440px;position:relative;overflow:hidden;background:#e8e8ea}
.v9-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#d7d7da 1px,transparent 1px),linear-gradient(90deg,#d7d7da 1px,transparent 1px);background-size:48px 48px}
.v9-person{text-align:center;color:#86868b;font-size:9px;letter-spacing:.15em}.v9-head{width:58px;height:72px;border:1px solid #9b9ba0;border-radius:50%;margin:0 auto 13px}.v9-body{width:108px;height:55px;border:1px solid #9b9ba0;border-bottom:0;border-radius:60px 60px 0 0;margin:0 auto 18px}
.v9-label{position:absolute;left:15px;right:15px;bottom:14px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em;color:#6e6e73}
@media(max-width:650px){.v9-hero{min-height:100svh;padding:72px 0 14px;align-items:stretch}.v9-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(175px,30vh);gap:16px;align-content:space-between}.v9-overline{font-size:9px;margin-bottom:13px}.v9-copy h1{font-size:clamp(38px,11vw,50px);line-height:.95}.v9-intro{margin-top:16px;padding-top:11px;display:block}.v9-intro p{font-size:14px;line-height:1.4}.v9-meta{display:none}.v9-portrait{height:100%;min-height:0}.v9-head{width:40px;height:49px}.v9-body{width:75px;height:38px}}

/* V10 — My Journey */
.v10-journey{padding:190px 0 180px;background:#f5f5f7}
.v10-journey-head{display:grid;grid-template-columns:2fr 7fr 3fr;gap:42px;align-items:start}
.v10-kicker{font-size:11px;letter-spacing:.15em;color:var(--muted);padding-top:12px}
.v10-journey-head h2{font-size:clamp(66px,8vw,116px);line-height:.88;letter-spacing:-.065em;font-weight:620;margin:0}
.v10-journey-head p{font-size:17px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.v10-journey-steps{margin-top:145px;border-top:1px solid var(--line)}
.v10-step{display:grid;grid-template-columns:1fr 3fr 8fr;gap:30px;align-items:baseline;padding:38px 0 50px;border-bottom:1px solid var(--line)}
.v10-num{font-size:10px;letter-spacing:.14em;color:#86868b}
.v10-discipline{font-size:12px;letter-spacing:.13em;font-weight:600}
.v10-learning{font-size:clamp(30px,3.6vw,52px);line-height:1.03;letter-spacing:-.045em}
.v10-step:last-child .v10-learning{font-weight:570}
@media(max-width:650px){
 .v10-journey{padding:105px 0 90px}
 .v10-journey-head{grid-template-columns:1fr}
 .v10-kicker{padding-top:0}.v10-journey-head h2{font-size:clamp(54px,16vw,72px)}
 .v10-journey-head p{max-width:300px}
 .v10-journey-steps{margin-top:70px}
 .v10-step{grid-template-columns:42px 1fr;padding:25px 0 32px}
 .v10-discipline{grid-column:2}.v10-learning{grid-column:2;font-size:30px;margin-top:3px}
 .v10-num{grid-row:1 / span 2}
}

/* V11 — homepage architecture + journey timeline */
.v11-journey{padding:150px 0 165px;background:#f5f5f7}
.v11-section-label{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:28px}
.v11-journey-copy{max-width:850px}
.v11-journey-copy h2{font-size:clamp(54px,6.2vw,84px);line-height:.96;letter-spacing:-.055em;margin:0;font-weight:620}
.v11-journey-copy p{font-size:21px;line-height:1.5;letter-spacing:-.015em;max-width:800px;margin:32px 0 0}
.v11-timeline{position:relative;margin-top:95px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-right:9%}
.v11-line{position:absolute;left:18px;right:0;top:78px;height:2px;background:#1d1d1f}
.v11-milestone{position:relative;z-index:1}
.v11-year{height:50px;font-size:20px;letter-spacing:-.02em}
.v11-dot{width:44px;height:44px;border-radius:50%;background:#1d1d1f;border:2px solid #1d1d1f;box-sizing:border-box;margin-bottom:30px}
.v11-dot.open{background:#f5f5f7}
.v11-milestone h3{font-size:19px;margin:0 0 34px;font-weight:650;letter-spacing:-.02em}
.v11-milestone p{font-size:19px;line-height:1.45;margin:0;letter-spacing:-.02em}
.v11-enddot{position:absolute;right:-1px;top:56px;width:44px;height:44px;border-radius:50%;border:2px solid #1d1d1f;background:#f5f5f7;box-sizing:border-box}
@media(max-width:700px){
 .v11-journey{padding:100px 0}
 .v11-journey-copy h2{font-size:48px}
 .v11-journey-copy p{font-size:17px;line-height:1.5}
 .v11-timeline{display:block;margin-top:70px;padding:0 0 0 52px}
 .v11-line{left:20px;right:auto;top:8px;bottom:10px;width:1px;height:auto}
 .v11-milestone{padding:0 0 45px}
 .v11-year{height:auto;font-size:13px;color:var(--muted);margin-bottom:7px}
 .v11-dot{position:absolute;left:-52px;top:2px;width:40px;height:40px}
 .v11-milestone h3{font-size:19px;margin:0 0 10px}
 .v11-milestone p{font-size:17px}
 .v11-enddot{display:none}
}

/* V79 — Case Study 03: shared editorial system with a brand-led cadence. */
.case-thought-v2 .case-proof{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-thought-v2 .case-meta{grid-template-columns:1fr 2fr}
.case-thought-v2 .thought-hero-media{
  margin:0;
  padding:clamp(42px,6vw,86px) 0;
  text-align:center;
}
.case-thought-v2 .thought-hero-media img,
.case-thought-v2 .thought-hero-media video{
  display:block;
  width:min(100%,1040px);
  margin:0 auto;
  box-shadow:0 35px 90px rgba(0,0,0,.34);
}
.case-thought-v2 .thought-hero-media video{
  max-height:min(78vh,820px);
  object-fit:contain;
  background:#000;
}
.case-thought-v2 .thought-hero-media figcaption{
  width:min(100%,1040px);
  margin:14px auto 0;
  color:rgba(245,245,247,.48);
  font-size:11px;
  line-height:1.4;
  letter-spacing:.1em;
  text-align:left;
  text-transform:uppercase;
}
.case-thought-v2 main > section:not(.case-hero):not(.next-case) .case-section-index{
  grid-column:1 / 4;
  margin:5px 0 0;
}
.case-thought-v2 .case-section-index strong,
.case-thought-v2 .case-section-index span{display:block}
.case-thought-v2 .case-section-index strong{
  color:#1d1d1f;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:600;
}
.case-thought-v2 .case-section-index span{
  margin-top:18px;
  color:#6e6e73;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.14em;
}
.case-thought-v2 main > section:not(.case-hero):not(.next-case) > .wrap{row-gap:0}
.case-thought-v2 main > section:not(.case-hero):not(.next-case) > .wrap > .lede{margin-top:30px}
.case-thought-v2 .thought-copy-stack{
  grid-column:4 / 11;
  max-width:760px;
  margin-top:46px;
}
.case-thought-v2 .thought-copy-stack p{
  margin:0 0 20px;
  color:#6e6e73;
  font-size:19px;
  line-height:1.58;
}
.case-thought-v2 .thought-principles{
  grid-column:4 / 13;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:58px;
}
.case-thought-v2 .thought-principles article{
  min-height:228px;
  padding:28px 30px;
  background:#f5f5f7;
}
.case-thought-v2 .thought-principles article > span{
  color:#86868b;
  font-size:12px;
  letter-spacing:.12em;
}
.case-thought-v2 .thought-principles h3{
  margin:52px 0 10px;
  font-size:25px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.case-thought-v2 .thought-principles p,
.case-thought-v2 .thought-leadership-role p,
.case-thought-v2 .thought-disciplines span,
.case-thought-v2 .thought-lesson-list p{
  color:#6e6e73;
  font-size:15px;
  line-height:1.55;
}
.case-thought-v2 .thought-artifact{
  grid-column:4 / 13;
  margin:60px 0 0;
}
.case-thought-v2 .thought-artifact img{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
}
.case-thought-v2 .thought-artifact figcaption{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:20px;
  margin-top:14px;
  color:#6e6e73;
  font-size:11px;
  line-height:1.45;
  letter-spacing:.1em;
}
.case-thought-v2 .thought-leadership-role{
  grid-column:4 / 13;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,6vw,90px);
  margin-top:58px;
  padding:34px 36px;
  background:#f5f5f7;
}
.case-thought-v2 .thought-leadership-role span{
  color:#86868b;
  font-size:11px;
  letter-spacing:.13em;
}
.case-thought-v2 .thought-leadership-role h3{
  margin:18px 0 8px;
  font-size:27px;
  letter-spacing:-.035em;
}
.case-thought-v2 .thought-leadership-role p{margin:0}
.case-thought-v2 .thought-disciplines{
  grid-column:4 / 13;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}
.case-thought-v2 .thought-disciplines div{padding-top:18px;border-top:1px solid var(--line)}
.case-thought-v2 .thought-disciplines strong,
.case-thought-v2 .thought-disciplines span{display:block}
.case-thought-v2 .thought-disciplines strong{font-size:16px}
.case-thought-v2 .thought-disciplines span{margin-top:7px;font-size:13px}
.case-thought-v2 .thought-launch .case-section-index strong{color:#f5f5f7}
.case-thought-v2 .thought-launch .case-section-index span{color:rgba(245,245,247,.55)}
.case-thought-v2 .thought-launch > .wrap > .lede{color:rgba(245,245,247,.68)!important}
.case-thought-v2 .thought-impact{
  grid-column:4 / 13;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:58px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
}
.case-thought-v2 .thought-impact div{min-height:174px;padding:28px;background:#0f0f10}
.case-thought-v2 .thought-impact strong,
.case-thought-v2 .thought-impact span{display:block}
.case-thought-v2 .thought-impact strong{font-size:clamp(26px,3vw,42px);letter-spacing:-.045em}
.case-thought-v2 .thought-impact span{margin-top:14px;color:rgba(245,245,247,.58);font-size:14px;line-height:1.5}
.case-thought-v2 .thought-lesson-list{grid-column:4 / 13;margin-top:58px}
.case-thought-v2 .thought-lesson-list article{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:26px;
  padding:28px 0 30px;
  border-top:1px solid var(--line);
}
.case-thought-v2 .thought-lesson-list article > span{color:#86868b;font-size:12px;letter-spacing:.1em}
.case-thought-v2 .thought-lesson-list h3{margin:0;font-size:clamp(23px,2.1vw,31px);line-height:1.15;letter-spacing:-.035em}
.case-thought-v2 .thought-lesson-list p{max-width:660px;margin:10px 0 0}
@media(max-width:900px){
  .case-thought-v2 .thought-disciplines{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .case-thought-v2 .case-proof{grid-template-columns:1fr}
  .case-thought-v2 .case-meta{grid-template-columns:1fr}
  .case-thought-v2 main > section:not(.case-hero):not(.next-case) .case-section-index{margin-bottom:30px}
  .case-thought-v2 .case-section-index strong{font-size:24px}
  .case-thought-v2 .case-section-index span{margin-top:13px}
  .case-thought-v2 .thought-copy-stack,
  .case-thought-v2 .thought-principles,
  .case-thought-v2 .thought-artifact,
  .case-thought-v2 .thought-leadership-role,
  .case-thought-v2 .thought-disciplines,
  .case-thought-v2 .thought-impact,
  .case-thought-v2 .thought-lesson-list{grid-column:1 / -1}
  .case-thought-v2 .thought-copy-stack{margin-top:34px}
  .case-thought-v2 .thought-principles,
  .case-thought-v2 .thought-impact{grid-template-columns:1fr;margin-top:42px}
  .case-thought-v2 .thought-principles article{min-height:0}
  .case-thought-v2 .thought-principles h3{margin-top:30px}
  .case-thought-v2 .thought-leadership-role{grid-template-columns:1fr;padding:28px}
  .case-thought-v2 .thought-disciplines{grid-template-columns:1fr 1fr}
  .case-thought-v2 .thought-artifact{margin-top:42px}
  .case-thought-v2 .thought-artifact figcaption{grid-template-columns:56px 1fr}
  .case-thought-v2 .thought-lesson-list{margin-top:42px}
  .case-thought-v2 .thought-lesson-list article{grid-template-columns:36px 1fr;gap:16px}
}

/* V65 — Section 4 product evidence sequence. */
.case-data-ai-v3 .case-alignment .product-screen-series{
  grid-column:4 / 13;
  display:grid;
  gap:clamp(48px,6vw,82px);
  margin-top:clamp(52px,6vw,78px);
}
.case-data-ai-v3 .case-alignment .product-screen{
  margin:0;
}
.case-data-ai-v3 .case-alignment .product-screen .artifact-stage{
  margin:0;
  padding:clamp(10px,1.2vw,16px);
  border:1px solid rgba(255,255,255,.16);
}
.case-data-ai-v3 .case-alignment .product-screen figcaption{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:16px;
  align-items:baseline;
  padding-top:16px;
  color:rgba(245,245,247,.52);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.04em;
}
.case-data-ai-v3 .case-alignment .product-screen figcaption strong{
  color:#f5f5f7;
  font-size:15px;
  line-height:1.4;
  letter-spacing:-.01em;
  font-weight:560;
}
@media(max-width:700px){
  .case-data-ai-v3 .case-alignment .product-screen-series{grid-column:1 / -1;gap:42px;margin-top:42px}
  .case-data-ai-v3 .case-alignment .product-screen figcaption{grid-template-columns:28px 1fr}
  .case-data-ai-v3 .case-alignment .product-screen figcaption span:last-child{grid-column:2}
}

/* V61 — content blueprint supplied for the complete case-study narrative. */
.case-data-ai-v3 .case-proof{grid-template-columns:repeat(4,minmax(0,1fr))}
.case-data-ai-v3 .case-proof > div{min-height:116px}
.case-data-ai-v3 .case-proof strong{font-size:clamp(25px,2.3vw,36px)}
.case-data-ai-v3 .case-meta{grid-template-columns:1fr 2fr}
.case-data-ai-v3 .case-challenge-context{
  grid-column:4 / 12;
  margin-top:42px;
}
.case-data-ai-v3 .case-challenge-context p{
  max-width:760px;
  margin:0;
  color:#6e6e73;
  font-size:17px;
  line-height:1.58;
}
.case-data-ai-v3 .case-challenge-context b{
  display:block;
  margin-bottom:8px;
  color:#1d1d1f;
  font-size:13px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.case-data-ai-v3 .case-alignment .contribution-ledger{grid-column:4 / 13}
.case-data-ai-v3 .alignment-outcome{
  grid-column:4 / 12;
  max-width:820px;
  margin:54px 0 0;
  font-size:clamp(27px,2.65vw,38px);
  line-height:1.16;
  letter-spacing:-.035em;
}
@media(max-width:700px){
  .case-data-ai-v3 .case-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-data-ai-v3 .case-meta{grid-template-columns:1fr}
  .case-data-ai-v3 .case-challenge-context{margin-top:34px}
}

/* V53 — faster, evidence-led Data & AI narrative */
.case-data-ai-v3 .case-hero{
  padding-top:clamp(64px,6.5vw,94px);
}
.case-data-ai-v3 .case-hero .display-xl{
  max-width:980px;
  font-size:clamp(58px,6.65vw,94px);
}
.case-data-ai-v3 .case-hero .lede{
  max-width:720px;
  margin-top:30px;
}
.case-data-ai-v3 .case-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:clamp(44px,5vw,68px);
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
}
.case-data-ai-v3 .case-proof > div{
  min-height:108px;
  padding:22px 24px;
  background:#0f0f10;
}
.case-data-ai-v3 .case-proof strong,
.case-data-ai-v3 .case-proof span{
  display:block;
}
.case-data-ai-v3 .case-proof strong{
  font-size:clamp(27px,2.7vw,40px);
  line-height:1;
  letter-spacing:-.045em;
}
.case-data-ai-v3 .case-proof span{
  margin-top:10px;
  color:rgba(245,245,247,.58);
  font-size:13px;
  line-height:1.35;
}
.case-data-ai-v3 .case-meta{
  grid-template-columns:1fr 2fr 1fr;
  margin-top:0;
  padding:24px 0 30px;
  border-top:0;
}
.case-data-ai-v3 .v18-case-hero-frame{
  padding:clamp(30px,4vw,54px) 0;
}
.case-data-ai-v3 main > .statement,
.case-data-ai-v3 main > .section,
.case-data-ai-v3 main > .evolution{
  padding:clamp(94px,9vw,136px) 0;
}
.case-data-ai-v3 .three-metrics,
.case-data-ai-v3 .from-to,
.case-data-ai-v3 .progression,
.case-data-ai-v3 .converge,
.case-data-ai-v3 .adoption,
.case-data-ai-v3 .reflections{
  margin-top:clamp(48px,5vw,72px);
}
.case-data-ai-v3 .intro-copy{
  margin-top:clamp(56px,6vw,82px) !important;
}
.case-data-ai-v3 .capability-story{
  margin-top:clamp(50px,6vw,82px);
}
.case-data-ai-v3 .capability-branches{
  grid-column:4 / 13;
  margin-top:44px;
}
.case-data-ai-v3 .artifact-stage{
  margin-top:clamp(52px,6vw,78px);
}
.case-data-ai-v3 .case-signal{
  background:#0f0f10;
  color:#f5f5f7;
}
.case-data-ai-v3 .case-signal .eyebrow,
.case-data-ai-v3 .case-signal > .wrap > .lede{
  color:rgba(245,245,247,.68) !important;
}
.case-data-ai-v3 .case-signal .eyebrow::before,
.case-data-ai-v3 .case-signal .intro-copy{
  color:#f5f5f7 !important;
}
.case-data-ai-v3 .case-signal .adoption{
  padding-top:34px;
  border-top:1px solid rgba(255,255,255,.2);
}
.case-data-ai-v3 .case-signal .adoption-step{
  border-color:rgba(255,255,255,.18);
}
.case-data-ai-v3 .case-signal .adoption-step b,
.case-data-ai-v3 .case-signal .adoption-step p{
  color:#f5f5f7;
}
.case-data-ai-v3 .case-signal .adoption-step p{
  color:rgba(245,245,247,.65);
}
.case-data-ai-v3 .case-signal .awards{
  margin-top:68px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.2);
}
.case-data-ai-v3 .case-signal .award-mark{color:#f5f5f7}
.case-data-ai-v3 .case-signal .award-meta{color:rgba(245,245,247,.54)}
.case-data-ai-v3 .reflections{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.case-data-ai-v3 .next-case .wrap{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:48px;
}
.case-data-ai-v3 .next-case .all-work{
  color:rgba(245,245,247,.64);
  font-size:14px;
}
.case-data-ai-v3 .next-case .all-work:hover,
.case-data-ai-v3 .next-case .all-work:focus-visible{color:#fff}

@media(max-width:700px){
  .case-data-ai-v3 .case-proof{grid-template-columns:1fr}
  .case-data-ai-v3 .case-proof > div{min-height:0}
  .case-data-ai-v3 .case-meta{grid-template-columns:1fr}
  .case-data-ai-v3 .capability-branches{margin-top:34px}
  .case-data-ai-v3 .reflections{grid-template-columns:1fr}
  .case-data-ai-v3 .next-case .wrap{display:block}
  .case-data-ai-v3 .next-case .all-work{display:inline-block;margin-bottom:56px}
}

/* V12 — horizontal My Impact */
.v12-impact{padding:150px 0 170px;background:#fff}
.v12-impact-head{display:grid;grid-template-columns:3fr 9fr;gap:40px;align-items:start;margin-bottom:80px}
.v12-impact-head .small{font-size:11px;letter-spacing:.15em;color:var(--muted);padding-top:10px}
.v12-impact-head h2{font-size:clamp(50px,5.7vw,78px);line-height:.94;letter-spacing:-.055em;margin:0;font-weight:620}
.v12-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v12-card{color:inherit;text-decoration:none;display:flex;flex-direction:column;min-width:0}
.v12-card-image{height:clamp(220px,25vw,350px);overflow:hidden;margin-bottom:28px;display:flex;align-items:center;justify-content:center}
.v12-card-image.dark{background:#0b0812}.v12-card-image.light{background:#f5f5f7}
.v12-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.v12-card-image.light img{object-fit:contain;padding:22px;box-sizing:border-box}
.v12-card-image.tl img{padding:34px}
.v12-card:hover .v12-card-image img{transform:scale(1.025)}
.v12-card-index{font-size:10px;letter-spacing:.14em;color:var(--muted);margin-bottom:16px}
.v12-card h3{font-size:clamp(25px,2.35vw,35px);line-height:1.02;letter-spacing:-.04em;margin:0 0 18px;font-weight:610}
.v12-card p{font-size:15px;line-height:1.48;color:var(--muted);margin:0 0 28px;max-width:390px}
.v12-card-meta{font-size:9px;line-height:1.5;letter-spacing:.1em;color:#86868b;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:700px){
 .v12-impact{padding:100px 0}
 .v12-impact-head{grid-template-columns:1fr;margin-bottom:50px}
 .v12-impact-head h2{font-size:48px}
 .v12-projects{display:flex;overflow-x:auto;gap:14px;margin-right:calc(var(--page-margin) * -1);padding-right:var(--page-margin);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
 .v12-card{flex:0 0 82vw;scroll-snap-align:start}
 .v12-card-image{height:52vw;min-height:210px}
 .v12-card h3{font-size:28px}
}

/* V13 — hero balance + dark theme */
.v9-home .site-nav{
  background:#0f0f10;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.v9-home .site-nav .brand,
.v9-home .site-nav .nav-links a{
  color:#f5f5f7;
}
.v9-home .site-nav .nav-links a{
  opacity:.68;
}
.v9-home .site-nav .nav-links a:hover{
  opacity:1;
}

.v9-hero{
  background:#0f0f10;
  color:#f5f5f7;
  min-height:calc(100svh - 72px);
  padding:64px 0 42px;
}
.v9-grid{
  min-height:calc(100svh - 178px);
}
.v9-overline{
  color:#8e8e93;
  margin-bottom:24px;
}
.v9-copy h1{
  font-size:clamp(50px,5.55vw,80px);
  line-height:.97;
  letter-spacing:-.052em;
  max-width:760px;
}
.v9-copy h1 span{
  color:#8e8e93;
}
.v9-intro{
  border-top-color:rgba(255,255,255,.18);
  margin-top:28px;
  padding-top:17px;
}
.v9-intro p{
  color:#f5f5f7;
}
.v9-meta{
  color:#8e8e93;
}
.v9-portrait{
  background:#1c1c1e;
  height:min(66vh,640px);
  min-height:420px;
}
.v9-placeholder{
  background-color:#1c1c1e;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
}
.v9-person{
  color:#77777c;
}
.v9-head,.v9-body{
  border-color:#77777c;
}
.v9-label{
  color:#77777c;
}
@media(max-width:900px){
 .v9-hero{padding-top:52px;padding-bottom:30px}
 .v9-grid{min-height:calc(100svh - 154px)}
}
@media(max-width:650px){
 .v9-hero{
   min-height:calc(100svh - 58px);
   padding:30px 0 14px;
 }
 .v9-grid{
   min-height:calc(100svh - 104px);
 }
 .v9-copy h1{
   font-size:clamp(36px,10.6vw,48px);
 }
 .v9-overline{
   margin-bottom:12px;
 }
 .v9-intro{
   margin-top:14px;
 }
 .v9-portrait{
   background:#1c1c1e;
 }
}

/* V14 — non-linear animated career path */
.v14-journey-path{position:relative;height:390px;margin-top:80px}
.v14-path-svg{position:absolute;left:0;top:20px;width:100%;height:300px;overflow:visible}
.v14-path-base,.v14-path-progress{fill:none;stroke-width:1.7;vector-effect:non-scaling-stroke}
.v14-path-base{stroke:#c7c7cc}
.v14-path-progress{stroke:#1d1d1f;stroke-dasharray:1;stroke-dashoffset:1}
.v14-journey-path.is-active .v14-path-progress{animation:v14draw 2.5s cubic-bezier(.22,.7,.2,1) forwards}
@keyframes v14draw{to{stroke-dashoffset:0}}
.v14-node{position:absolute;width:190px;opacity:.28;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.v14-node.active{opacity:1;transform:translateY(0)}
.v14-node.n1{left:0;top:128px}.v14-node.n2{left:23%;top:60px}.v14-node.n3{left:46%;top:175px}.v14-node.n4{left:69%;top:72px;width:260px}
.v14-year{font-size:16px;margin-bottom:12px}
.v14-dot{width:36px;height:36px;border-radius:50%;background:#1d1d1f;border:2px solid #1d1d1f;box-sizing:border-box;margin-bottom:18px}
.v14-dot.open{background:#f5f5f7}
.v14-node h3{font-size:18px;margin:0 0 18px;letter-spacing:-.02em}
.v14-node p{font-size:16px;line-height:1.4;margin:0;letter-spacing:-.015em}
@media(max-width:700px){
 .v14-journey-path{height:auto;margin-top:60px;padding-left:50px}
 .v14-path-svg{display:none}
 .v14-node,.v14-node.n1,.v14-node.n2,.v14-node.n3,.v14-node.n4{position:relative;left:auto;top:auto;width:auto;padding:0 0 44px;opacity:1;transform:none}
 .v14-node:before{content:"";position:absolute;left:-32px;top:30px;bottom:-5px;width:1px;background:#c7c7cc;transform:rotate(3deg);transform-origin:top}
 .v14-node:nth-child(even):before{transform:rotate(-3deg)}
 .v14-node:last-child:before{display:none}
 .v14-dot{position:absolute;left:-49px;top:0;width:35px;height:35px}
 .v14-year{font-size:12px;color:var(--muted);margin-bottom:5px}
 .v14-node h3{margin-bottom:8px}.v14-node p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .v14-path-progress{stroke-dashoffset:0!important;animation:none!important}
 .v14-node{opacity:1;transform:none;transition:none}
}

/* V15 — craft pass */
:root{--ease-premium:cubic-bezier(.22,.72,.18,1)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site-nav .brand,.site-nav .nav-links a{transition:opacity .25s ease}
.site-nav .nav-links a:hover{opacity:1}

/* Hero: tighter optical alignment */
.v9-grid{grid-template-columns:minmax(0,7.15fr) minmax(300px,4.85fr)}
.v9-copy h1{text-wrap:balance}
.v9-intro p{text-wrap:pretty}
.v9-portrait{box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.v9-placeholder{background-size:44px 44px}

/* Journey: refined trajectory, labeling and timing */
.v11-journey-copy h2{text-wrap:balance}
.v11-journey-copy p{text-wrap:pretty}
.v14-journey-path{height:410px;margin-top:88px}
.v14-path-svg{top:15px;height:315px}
.v14-path-base{stroke:#d1d1d6;stroke-width:1.25}
.v14-path-progress{stroke:#1d1d1f;stroke-width:2;stroke-linecap:round}
.v14-node{transition:opacity .65s var(--ease-premium),transform .65s var(--ease-premium);transform:translateY(14px)}
.v14-node.active{transform:translateY(0)}
.v14-dot{box-shadow:0 0 0 7px #f5f5f7}
.v14-node h3{font-weight:620}
.v14-node p{color:#3a3a3c}
.v14-node.n1{left:0;top:133px}
.v14-node.n2{left:23.2%;top:55px}
.v14-node.n3{left:46.3%;top:181px}
.v14-node.n4{left:69.4%;top:66px}

/* My Impact: make the three-up feel deliberately composed */
.v12-projects{gap:24px}
.v12-card-image{margin-bottom:25px}
.v12-card{outline:none}
.v12-card:focus-visible{outline:2px solid #1d1d1f;outline-offset:6px}
.v12-card-image img{transition:transform .7s var(--ease-premium),opacity .35s ease}
.v12-card:hover .v12-card-image img{transform:scale(1.018)}
.v12-card-index{margin-bottom:14px}
.v12-card h3{text-wrap:balance}
.v12-card p{text-wrap:pretty}
.v12-card-meta{opacity:.82}

/* Leadership section: quieter premium contrast */
.v8-manifesto{background:#0f0f10}
.v8-manifesto h2{text-wrap:balance}
.v8-manifesto-bottom p{text-wrap:pretty}

/* reveal behavior */
.reveal{will-change:transform,opacity}
@media(prefers-reduced-motion:no-preference){
 .reveal{transition:opacity .75s var(--ease-premium),transform .75s var(--ease-premium)}
}

/* Mobile craft */
@media(max-width:700px){
 .v9-placeholder{background-size:32px 32px}
 .v11-journey-copy h2{text-wrap:pretty}
 .v14-journey-path{margin-top:58px}
 .v12-projects{scroll-padding-left:0;gap:16px}
 .v12-card{flex-basis:84vw}
 .v12-card-image{border:1px solid rgba(0,0,0,.035)}
}

/* V16 — meticulously crafted Journey motion */
.v16-journey{
  position:relative;
  height:430px;
  margin-top:82px;
  overflow:visible;
}
.v16-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.v16-path-ghost,
.v16-path-live{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.v16-path-ghost{
  stroke:#d7d7dc;
  stroke-width:1.2;
}
.v16-path-live{
  stroke:#1d1d1f;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.98;
}
.v16-svg-node .halo{
  fill:#f5f5f7;
  stroke:#1d1d1f;
  stroke-width:0;
  opacity:0;
  transform:scale(.5);
  transform-origin:center;
  transition:
    opacity .42s cubic-bezier(.22,.72,.18,1),
    transform .58s cubic-bezier(.16,1,.3,1),
    stroke-width .42s ease;
}
.v16-svg-node .core{
  fill:#1d1d1f;
  stroke:#1d1d1f;
  stroke-width:2;
  opacity:.28;
  transform:scale(.72);
  transform-origin:center;
  transition:
    opacity .42s ease,
    transform .62s cubic-bezier(.16,1,.3,1);
}
.v16-svg-node .core.open{
  fill:#f5f5f7;
}
.v16-svg-node.is-active .halo{
  opacity:1;
  transform:scale(1);
  stroke-width:1;
}
.v16-svg-node.is-active .core{
  opacity:1;
  transform:scale(1);
}
.v16-svg-node.is-active .core.open{
  fill:#1d1d1f;
}
.v16-svg-node.is-past .halo{
  opacity:.22;
}
.v16-traveler-halo{
  fill:#1d1d1f;
  opacity:.075;
  transform-origin:center;
  transform-box:fill-box;
  transition:opacity .18s ease,transform .24s cubic-bezier(.4,0,.2,1);
}
.v16-traveler{
  fill:#1d1d1f;
  opacity:0;
  transform-origin:center;
  transform-box:fill-box;
  transition:opacity .16s ease,transform .24s cubic-bezier(.4,0,.2,1);
}
.v16-journey.is-running .v16-traveler{
  opacity:1;
}
.v16-journey.is-absorbing .v16-traveler{
  opacity:0;
  transform:scale(2.1);
}
.v16-journey.is-absorbing .v16-traveler-halo{
  opacity:0;
  transform:scale(.35);
}
.v16-label{
  position:absolute;
  width:210px;
  opacity:0;
  transform:translateY(16px);
  filter:blur(3px);
  transition:
    opacity .6s cubic-bezier(.22,.72,.18,1),
    transform .72s cubic-bezier(.16,1,.3,1),
    filter .6s ease;
}
.v16-label.is-active{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.v16-label.is-past{
  opacity:.72;
}
.v16-label .v16-year{
  font-size:12px;
  letter-spacing:.1em;
  color:#7d7d82;
  margin-bottom:10px;
}
.v16-label h3{
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.025em;
  margin:0 0 15px;
  font-weight:650;
}
.v16-label p{
  font-size:16px;
  line-height:1.42;
  letter-spacing:-.015em;
  color:#3a3a3c;
  margin:0;
}
.v16-label.l1{left:0;top:252px}
.v16-label.l2{left:23.3%;top:12px}
.v16-label.l3{left:46.7%;top:262px}
.v16-label.l4{left:71.2%;top:8px;width:270px}

@media(max-width:700px){
  .v16-journey{
    height:auto;
    margin-top:58px;
    padding-left:46px;
  }
  .v16-map{
    left:8px;
    top:0;
    width:30px;
    height:100%;
  }
  .v16-path-ghost,
  .v16-path-live{
    display:none;
  }
  .v16-traveler,
  .v16-traveler-halo,
  .v16-svg-node{
    display:none;
  }
  .v16-label,
  .v16-label.l1,
  .v16-label.l2,
  .v16-label.l3,
  .v16-label.l4{
    position:relative;
    left:auto;
    top:auto;
    width:auto;
    padding:0 0 44px 8px;
    opacity:1;
    transform:none;
    filter:none;
  }
  .v16-label:before{
    content:"";
    position:absolute;
    width:13px;
    height:13px;
    border-radius:50%;
    border:1.5px solid #1d1d1f;
    background:#f5f5f7;
    left:-37px;
    top:0;
    z-index:2;
  }
  .v16-label:nth-of-type(4):before,
  .v16-label:nth-of-type(5):before{
    background:#1d1d1f;
  }
  .v16-label:after{
    content:"";
    position:absolute;
    left:-31px;
    top:14px;
    bottom:-1px;
    width:1px;
    background:#c7c7cc;
    transform:rotate(2.5deg);
    transform-origin:top;
  }
  .v16-label:nth-of-type(even):after{transform:rotate(-2.5deg)}
  .v16-label:last-child:after{display:none}
  .v16-label h3{font-size:19px;margin-bottom:8px}
  .v16-label p{font-size:16px}
  .v16-label .v16-year{margin-bottom:5px}
}
@media(prefers-reduced-motion:reduce){
  .v16-path-live{stroke-dashoffset:0!important}
  .v16-label,
  .v16-svg-node .halo,
  .v16-svg-node .core{
    transition:none!important;
  }
  .v16-label{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .v16-svg-node .halo{
    opacity:1!important;
    transform:scale(1)!important;
    stroke-width:1!important;
  }
  .v16-svg-node .core{
    opacity:1!important;
    transform:scale(1)!important;
  }
  .v16-traveler,
  .v16-traveler-halo{
    display:none!important;
  }
}

/* =========================================================
   Data & AI case study — editorial leadership narrative
   ========================================================= */
.case-data-ai-v2{
  background:#fff;
}
.case-data-ai-v2 .site-nav{
  position:static;
  background:#0f0f10;
  border:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.case-data-ai-v2 .site-nav .nav-inner{
  width:min(calc(100% - 128px),1200px);
  max-width:none;
  height:68px;
  min-height:68px;
  margin:0 auto;
  padding:0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.case-data-ai-v2 .site-nav .brand,
.case-data-ai-v2 .v41-nav-links a{
  color:#f5f5f7;
}
.case-data-ai-v2 .v41-nav-links{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.3vw,34px);
}
.case-data-ai-v2 .v41-nav-links a{
  font-size:11px;
  line-height:1;
  letter-spacing:.105em;
  opacity:.68;
  transition:opacity .2s ease;
}
.case-data-ai-v2 .v41-nav-links a:hover,
.case-data-ai-v2 .v41-nav-links a:focus-visible{
  opacity:1;
}
.case-data-ai-v2 .case-hero{
  padding:clamp(86px,9vw,130px) 0 0;
  background:#0f0f10;
  color:#f5f5f7;
  overflow:hidden;
}
.case-data-ai-v2 .case-hero .eyebrow{
  margin:0 0 32px;
  color:rgba(245,245,247,.54);
  font-size:12px;
}
.case-data-ai-v2 .case-hero .display-xl{
  max-width:1050px;
  font-size:clamp(64px,7.4vw,106px);
  line-height:.9;
  letter-spacing:-.06em;
}
.case-data-ai-v2 .case-hero .lede{
  max-width:760px;
  margin-top:38px;
  color:rgba(245,245,247,.68);
  font-size:clamp(19px,1.75vw,25px);
}
.case-data-ai-v2 .case-meta{
  margin-top:70px;
  padding:25px 0 38px;
  border-top-color:rgba(255,255,255,.18);
}
.case-data-ai-v2 .case-meta .label{
  color:rgba(245,245,247,.46);
  font-size:12px;
}
.case-data-ai-v2 .case-meta .value{
  color:#f5f5f7;
  font-size:16px;
  line-height:1.45;
}
.case-data-ai-v2 .v18-case-hero-media{
  width:100vw;
  margin:0 0 0 calc(50% - 50vw);
  background:#18181a;
}
.case-data-ai-v2 .v18-case-hero-frame{
  width:min(calc(100% - 128px),1200px);
  margin:0 auto;
  padding:clamp(42px,6vw,86px) 0;
  background:transparent;
}
.case-data-ai-v2 .v18-case-hero-frame img{
  width:100%;
  box-shadow:0 35px 90px rgba(0,0,0,.34);
}
.case-data-ai-v2 main{
  counter-reset:case-chapter;
}
.case-data-ai-v2 main > .statement,
.case-data-ai-v2 main > .section,
.case-data-ai-v2 main > .evolution{
  counter-increment:case-chapter;
  padding:clamp(110px,11vw,168px) 0;
}
.case-data-ai-v2 main > .statement > .wrap,
.case-data-ai-v2 main > .section > .wrap,
.case-data-ai-v2 main > .evolution > .wrap{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:24px;
  align-items:start;
}
.case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .eyebrow{
  grid-column:1 / 4;
  margin:5px 0 0;
  color:#6e6e73;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.14em;
}
.case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .eyebrow::before{
  content:counter(case-chapter,decimal-leading-zero);
  display:block;
  margin-bottom:18px;
  color:#1d1d1f;
  font-size:30px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:600;
}
.case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .display-lg{
  grid-column:4 / 13;
  max-width:900px;
  margin:0;
  font-size:clamp(50px,5vw,72px);
  line-height:.96;
}
.case-data-ai-v2 main > section:not(.case-hero):not(.next-case) > .wrap > .lede{
  grid-column:4 / 11;
  max-width:720px;
  margin-top:36px;
  font-size:19px;
  line-height:1.58;
}
.case-data-ai-v2 main > section:not(.case-hero):not(.next-case) > .wrap > .intro-copy{
  grid-column:4 / 11;
  max-width:760px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.16;
}
.case-data-ai-v2 .three-metrics,
.case-data-ai-v2 .mandates,
.case-data-ai-v2 .architecture-callout,
.case-data-ai-v2 .capability-story,
.case-data-ai-v2 .capability-model,
.case-data-ai-v2 .from-to,
.case-data-ai-v2 .artifact-stage,
.case-data-ai-v2 .artifact-caption,
.case-data-ai-v2 .progression,
.case-data-ai-v2 .converge,
.case-data-ai-v2 .one-exp,
.case-data-ai-v2 .leadership-grid,
.case-data-ai-v2 .awards,
.case-data-ai-v2 .adoption,
.case-data-ai-v2 .reflections{
  grid-column:1 / 13;
}
.case-data-ai-v2 .capability-footnote{
  grid-column:4 / 11;
}
.case-data-ai-v2 .three-metrics,
.case-data-ai-v2 .mandates,
.case-data-ai-v2 .from-to,
.case-data-ai-v2 .progression,
.case-data-ai-v2 .converge,
.case-data-ai-v2 .leadership-grid,
.case-data-ai-v2 .adoption,
.case-data-ai-v2 .reflections{
  margin-top:clamp(64px,7vw,96px);
}
.case-data-ai-v2 .metric span,
.case-data-ai-v2 .mandate span,
.case-data-ai-v2 .reflection p,
.case-data-ai-v2 .principle p,
.case-data-ai-v2 .adoption-step p{
  font-size:16px;
  line-height:1.55;
}
.case-data-ai-v2 .artifact-stage{
  margin-top:clamp(64px,7vw,96px);
  border:1px solid rgba(29,29,31,.08);
}
.case-data-ai-v2 .artifact-caption{
  font-size:12px;
  color:#6e6e73;
}
.case-data-ai-v2 main > .statement:nth-of-type(10){
  background:#0f0f10;
  color:#f5f5f7;
}
.case-data-ai-v2 main > .statement:nth-of-type(10) .eyebrow,
.case-data-ai-v2 main > .statement:nth-of-type(10) .lede{
  color:rgba(245,245,247,.64);
}
.case-data-ai-v2 main > .statement:nth-of-type(10) .eyebrow::before{
  color:#f5f5f7;
}
.case-data-ai-v2 main > .statement:nth-of-type(10) .intro-copy{
  color:#f5f5f7;
}
.case-data-ai-v2 .next-case{
  padding:100px 0;
  background:#0f0f10;
  color:#f5f5f7;
  border-top-color:rgba(255,255,255,.18);
}
.case-data-ai-v2 .next-case .small{
  color:rgba(245,245,247,.5);
}
.case-data-ai-v2 .next-case h3{
  font-size:clamp(38px,4vw,58px);
}

@media(max-width:800px){
  .case-data-ai-v2 .site-nav .nav-inner,
  .case-data-ai-v2 .v18-case-hero-frame{
    width:calc(100% - 48px);
  }
  .case-data-ai-v2 .v41-nav-links a[href="../index.html#leadership"],
  .case-data-ai-v2 .v41-nav-links a[href^="https://"]{
    display:none;
  }
}

@media(max-width:700px){
  .case-data-ai-v2 .case-hero{
    padding-top:72px;
  }
  .case-data-ai-v2 .case-hero .display-xl{
    font-size:clamp(50px,14.5vw,66px);
  }
  .case-data-ai-v2 .case-meta{
    grid-template-columns:1fr 1fr;
    gap:30px 20px;
    margin-top:52px;
  }
  .case-data-ai-v2 main > .statement,
  .case-data-ai-v2 main > .section,
  .case-data-ai-v2 main > .evolution{
    padding:88px 0 96px;
  }
  .case-data-ai-v2 main > .statement > .wrap,
  .case-data-ai-v2 main > .section > .wrap,
  .case-data-ai-v2 main > .evolution > .wrap{
    display:block;
  }
  .case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .eyebrow{
    margin-bottom:30px;
  }
  .case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .eyebrow::before{
    margin-bottom:13px;
    font-size:24px;
  }
  .case-data-ai-v2 main > section:not(.case-hero):not(.next-case) .display-lg{
    font-size:clamp(42px,12vw,56px);
  }
  .case-data-ai-v2 main > section:not(.case-hero):not(.next-case) > .wrap > .lede{
    margin-top:28px;
    font-size:17px;
  }
  .case-data-ai-v2 .three-metrics,
  .case-data-ai-v2 .mandates,
  .case-data-ai-v2 .from-to,
  .case-data-ai-v2 .progression,
  .case-data-ai-v2 .converge,
  .case-data-ai-v2 .leadership-grid,
  .case-data-ai-v2 .adoption,
  .case-data-ai-v2 .reflections{
    margin-top:56px;
  }
}

/* V17 — journey without date eyebrows */
.v16-label h3{margin-top:0}
.v16-label.l1{top:268px}
.v16-label.l2{top:28px}
.v16-label.l3{top:278px}
.v16-label.l4{top:24px}

/* =========================================================
   V18 — case-study previews + hero imagery
   ========================================================= */

/* My Impact */
.v18-impact{
  background:#fff;
  padding:150px 0 170px;
}
.v18-impact-head{
  display:grid;
  grid-template-columns:3fr 9fr;
  gap:42px;
  align-items:start;
  margin-bottom:72px;
}
.v18-impact-kicker{
  padding-top:11px;
  font-size:11px;
  letter-spacing:.15em;
  color:var(--muted);
}
.v18-impact-head h2{
  margin:0;
  max-width:830px;
  font-size:clamp(50px,5.7vw,78px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:620;
  text-wrap:balance;
}
.v18-impact-head p{
  margin:25px 0 0;
  max-width:610px;
  color:#6e6e73;
  font-size:17px;
  line-height:1.5;
}

/* deliberately tight: the three works read as one gallery */
.v18-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.v18-case{
  display:flex;
  flex-direction:column;
  min-width:0;
  color:inherit;
  text-decoration:none;
  outline:none;
}
.v18-case:focus-visible{
  outline:2px solid #1d1d1f;
  outline-offset:8px;
}
.v18-case-visual{
  position:relative;
  aspect-ratio:1.12 / 1;
  overflow:hidden;
  margin-bottom:25px;
  background:#f5f5f7;
  isolation:isolate;
}
.v18-case-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.001);
  transition:
    transform .9s cubic-bezier(.16,1,.3,1),
    filter .55s ease;
  will-change:transform;
}

/* The three source images have different native compositions.
   Treat each intentionally rather than forcing one generic crop. */
.v18-case-data .v18-case-visual{
  background:#09090b;
}
.v18-case-data .v18-case-visual img{
  object-position:center center;
}
.v18-case-dex .v18-case-visual{
  background:#f8f8fa;
}
.v18-case-dex .v18-case-visual img{
  object-fit:contain;
  padding:25px 18px 20px;
  box-sizing:border-box;
}
.v18-case-thought .v18-case-visual{
  background:#5e00a8;
}
.v18-case-thought .v18-case-visual img{
  object-fit:cover;
}

.v18-case-sheen{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(to top,rgba(0,0,0,.34),transparent 42%);
  transition:opacity .5s ease;
}
.v18-case-dex .v18-case-sheen{
  background:linear-gradient(to top,rgba(0,0,0,.12),transparent 42%);
}
.v18-case-action{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .42s ease,
    transform .55s cubic-bezier(.16,1,.3,1);
}
.v18-case-dex .v18-case-action{
  color:#1d1d1f;
}
.v18-arrow{
  font-size:18px;
  line-height:1;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.v18-case:hover .v18-case-visual img{
  transform:scale(1.024);
}
.v18-case:hover .v18-case-sheen{
  opacity:1;
}
.v18-case:hover .v18-case-action{
  opacity:1;
  transform:translateY(0);
}
.v18-case:hover .v18-arrow{
  transform:translate(2px,-2px);
}

.v18-case-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding-top:1px;
}
.v18-case-topline{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
  font-size:9px;
  line-height:1.3;
  letter-spacing:.12em;
  color:#86868b;
}
.v18-case-topline span:first-child{
  color:#1d1d1f;
}
.v18-case h3{
  margin:0 0 16px;
  font-size:clamp(25px,2.2vw,33px);
  line-height:1.02;
  letter-spacing:-.042em;
  font-weight:610;
  text-wrap:balance;
  transition:opacity .25s ease;
}
.v18-case:hover h3{
  opacity:.68;
}
.v18-case-copy > p{
  max-width:390px;
  margin:0 0 25px;
  color:#6e6e73;
  font-size:14px;
  line-height:1.48;
  text-wrap:pretty;
}
.v18-case-foot{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid #e5e5e7;
  color:#86868b;
  font-size:8.5px;
  line-height:1.5;
  letter-spacing:.095em;
}

/* Case-study hero images */
.v18-case-hero-media{
  margin-top:70px;
}
.v18-case-hero-frame{
  position:relative;
  overflow:hidden;
}
.v18-case-hero-frame img{
  display:block;
  width:100%;
  height:auto;
}
.v18-case-hero-media.v18-data .v18-case-hero-frame{
  background:#08080a;
}
.v18-case-hero-media.v18-data img{
  aspect-ratio:16/9;
  object-fit:cover;
}
.v18-case-hero-media.v18-dex .v18-case-hero-frame{
  background:#f7f7f9;
  padding:42px clamp(28px,5vw,72px);
}
.v18-case-hero-media.v18-dex img{
  max-height:760px;
  object-fit:contain;
  margin:auto;
}
.v18-case-hero-media.v18-thought .v18-case-hero-frame{
  background:#5f00a8;
  display:flex;
  justify-content:center;
  padding:0;
}
.v18-case-hero-media.v18-thought img{
  width:100%;
  max-height:820px;
  object-fit:contain;
}

/* a small optical transition from editorial hero copy to product visual */
.case-hero .case-meta{
  border-bottom-color:rgba(0,0,0,.08);
}

@media(max-width:900px){
  .v18-impact-head{
    grid-template-columns:1fr;
    gap:16px;
  }
  .v18-case-grid{
    gap:16px;
  }
  .v18-case h3{
    font-size:26px;
  }
}
@media(max-width:700px){
  .v18-impact{
    padding:100px 0;
  }
  .v18-impact-head{
    margin-bottom:48px;
  }
  .v18-impact-head h2{
    font-size:48px;
  }
  .v18-impact-head p{
    font-size:16px;
  }
  .v18-case-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:14px;
    margin-right:calc(var(--page-margin) * -1);
    padding-right:var(--page-margin);
    scrollbar-width:none;
  }
  .v18-case-grid::-webkit-scrollbar{
    display:none;
  }
  .v18-case{
    flex:0 0 84vw;
    scroll-snap-align:start;
  }
  .v18-case-visual{
    aspect-ratio:1.08/1;
  }
  .v18-case-action{
    display:none;
  }
  .v18-case h3{
    font-size:29px;
  }
  .v18-case-copy > p{
    font-size:15px;
  }
  .v18-case-hero-media{
    margin-top:48px;
  }
  .v18-case-hero-media.v18-dex .v18-case-hero-frame{
    padding:22px 14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .v18-case-visual img,
  .v18-case-action,
  .v18-arrow{
    transition:none!important;
  }
}

/* V19 — cinematic impact gallery */
.v19-impact{background:#0b0b0c;color:#f5f5f7;padding:150px 0 175px;overflow:hidden}
.v19-head{display:grid;grid-template-columns:3fr 9fr;gap:42px;margin-bottom:82px}
.v19-kicker{font-size:11px;letter-spacing:.15em;color:#7d7d82;padding-top:10px}
.v19-head h2{font-size:clamp(52px,5.9vw,82px);line-height:.92;letter-spacing:-.058em;margin:0;font-weight:620}
.v19-head p{font-size:16px;line-height:1.5;color:#8e8e93;max-width:610px;margin:25px 0 0}
.v19-gallery{display:grid;grid-template-columns:1.12fr .94fr .94fr;gap:12px;height:min(68vw,760px)}
.v19-project{position:relative;display:block;overflow:hidden;background:#141416;color:#fff;text-decoration:none;isolation:isolate}
.v19-art{position:absolute;inset:0;overflow:hidden}
.v19-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04) 20%,rgba(0,0,0,.14) 50%,rgba(0,0,0,.88) 100%);z-index:1}
.v19-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter .65s ease;will-change:transform}
.v19-project.p1 img{object-position:center}
.v19-project.p2 .v19-art{background:#f5f5f7}
.v19-project.p2 img{object-fit:contain;padding:8% 4% 28%;box-sizing:border-box;filter:brightness(.94)}
.v19-project.p2 .v19-art:after{background:linear-gradient(to bottom,rgba(11,11,12,.03),rgba(11,11,12,.08) 46%,rgba(11,11,12,.92) 100%)}
.v19-project.p3 img{object-position:center}
.v19-glow{position:absolute;inset:auto 10% -20% 10%;height:45%;background:radial-gradient(ellipse,rgba(255,255,255,.10),transparent 68%);opacity:0;z-index:2;transition:opacity .65s ease}
.v19-number{position:absolute;top:20px;left:20px;z-index:3;font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.6)}
.v19-content{position:absolute;z-index:3;left:24px;right:24px;bottom:26px;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.v19-type{font-size:9px;letter-spacing:.13em;color:rgba(255,255,255,.62);margin-bottom:18px}
.v19-stat{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px}
.v19-stat strong{font-size:clamp(48px,5vw,76px);line-height:.75;letter-spacing:-.065em;font-weight:620}
.v19-stat.word strong{font-size:clamp(39px,4vw,62px)}
.v19-stat span{font-size:10px;line-height:1.35;letter-spacing:.06em;color:rgba(255,255,255,.62);text-transform:uppercase}
.v19-content h3{font-size:clamp(23px,2.25vw,34px);line-height:1.02;letter-spacing:-.04em;margin:0;max-width:390px;font-weight:580;text-wrap:balance}
.v19-open{position:absolute;z-index:4;top:18px;right:18px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.v19-open span{font-size:15px;margin-left:6px}
.v19-project:hover .v19-art img{transform:scale(1.035)}
.v19-project:hover .v19-glow{opacity:1}
.v19-project:hover .v19-content{transform:translateY(-5px)}
.v19-project:hover .v19-open{opacity:.85;transform:translateY(0)}
.v19-gallery:has(.v19-project:hover) .v19-project:not(:hover) .v19-art img{filter:brightness(.68)}
.v19-gallery:has(.v19-project:hover) .v19-project:not(:hover){opacity:.78}
.v19-project{transition:opacity .5s ease}
@media(max-width:900px){
 .v19-gallery{grid-template-columns:1fr 1fr;height:auto}
 .v19-project{min-height:560px}.v19-project.p1{grid-column:1/-1;min-height:620px}
}
@media(max-width:700px){
 .v19-impact{padding:100px 0 110px}
 .v19-head{grid-template-columns:1fr;gap:16px;margin-bottom:50px}
 .v19-head h2{font-size:48px}
 .v19-gallery{display:flex;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:calc(var(--page-margin) * -1);padding-right:var(--page-margin);scrollbar-width:none}
 .v19-gallery::-webkit-scrollbar{display:none}
 .v19-project,.v19-project.p1{flex:0 0 86vw;min-height:570px;grid-column:auto;scroll-snap-align:start}
 .v19-content{left:20px;right:20px;bottom:22px}
 .v19-stat strong{font-size:54px}
 .v19-content h3{font-size:29px}
 .v19-open{display:none}
}
@media(prefers-reduced-motion:reduce){
 .v19-art img,.v19-content,.v19-open,.v19-glow,.v19-project{transition:none!important}
}

/* =========================================================
   V20 — merged navigation, compressed journey, aligned impact
   ========================================================= */

/* 1. Navigation and hero read as one uninterrupted dark field.
   No glass layer, no dividing rule, no change of tone. */
.v20-home .site-nav{
  background:#0f0f10;
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.v20-home .site-nav .brand,
.v20-home .site-nav .nav-links a{
  color:#f5f5f7;
}
.v20-home .site-nav .nav-links a{
  opacity:.66;
}
.v20-home .site-nav .brand{
  opacity:.96;
}
.v20-home .site-nav .nav-links a:hover{
  opacity:1;
}
.v20-home .v9-hero{
  background:#0f0f10;
}

/* 2. My Journey — materially shorter, without compromising the path animation.
   The SVG coordinates themselves are compressed in V20; this CSS gives the
   narrative enough air while removing the large vertical dead zones. */
.v20-home .v11-journey{
  padding:86px 0 94px;
}
.v20-home .v11-journey-copy{
  display:grid;
  grid-template-columns:3fr 9fr;
  column-gap:42px;
  max-width:none;
  align-items:start;
}
.v20-home .v11-section-label{
  grid-column:1;
  grid-row:1 / span 2;
  padding-top:8px;
}
.v20-home .v11-journey-copy h2{
  grid-column:2;
  font-size:clamp(44px,4.55vw,64px);
  line-height:.96;
  letter-spacing:-.052em;
}
.v20-home .v11-journey-copy p{
  grid-column:2;
  max-width:760px;
  margin-top:20px;
  font-size:17px;
  line-height:1.48;
}
.v20-home .v16-journey{
  height:272px;
  margin-top:34px;
}
.v20-home .v16-label{
  width:200px;
}
.v20-home .v16-label h3{
  font-size:18px;
  margin-bottom:8px;
}
.v20-home .v16-label p{
  font-size:14px;
  line-height:1.35;
}
.v20-home .v16-label.l1{left:0;top:185px}
.v20-home .v16-label.l2{left:23.3%;top:2px}
.v20-home .v16-label.l3{left:46.7%;top:198px}
.v20-home .v16-label.l4{left:71.2%;top:0;width:255px}

/* 3. The three previews now share a strict typographic skeleton.
   Equal columns + fixed content zones means the eye can travel left-to-right
   without the baselines drifting. */
.v20-home .v19-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.v20-home .v19-content{
  left:24px;
  right:24px;
  bottom:26px;
  display:grid;
  grid-template-rows:18px 72px minmax(70px,auto);
  row-gap:15px;
  align-content:end;
}
.v20-home .v19-type{
  margin:0;
  align-self:end;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v20-home .v19-stat{
  display:block;
  margin:0;
  align-self:end;
}
.v20-home .v19-stat strong,
.v20-home .v19-stat.word strong{
  display:block;
  font-size:clamp(50px,4.65vw,70px);
  line-height:.82;
  letter-spacing:-.065em;
  font-weight:620;
  white-space:nowrap;
}
.v20-home .v19-content h3{
  margin:0;
  max-width:330px;
  min-height:2.08em;
  font-size:clamp(23px,2.05vw,30px);
  line-height:1.04;
  letter-spacing:-.038em;
  font-weight:580;
  text-wrap:balance;
  align-self:start;
}
.v20-home .v19-project.p1,
.v20-home .v19-project.p2,
.v20-home .v19-project.p3{
  min-width:0;
}

/* Give the images room to pop while ensuring the copy remains consistently legible. */
.v20-home .v19-art:after{
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.02) 18%,
    rgba(0,0,0,.10) 48%,
    rgba(0,0,0,.72) 72%,
    rgba(0,0,0,.94) 100%
  );
}
.v20-home .v19-project.p2 .v19-art:after{
  background:linear-gradient(
    to bottom,
    rgba(11,11,12,.02) 18%,
    rgba(11,11,12,.06) 47%,
    rgba(11,11,12,.72) 72%,
    rgba(11,11,12,.94) 100%
  );
}

/* Mobile keeps the existing polished reveal behavior and horizontal project swipe. */
@media(max-width:700px){
  .v20-home .v11-journey{
    padding:72px 0 78px;
  }
  .v20-home .v11-journey-copy{
    display:block;
  }
  .v20-home .v11-section-label{
    padding-top:0;
  }
  .v20-home .v11-journey-copy h2{
    font-size:43px;
    margin-top:18px;
  }
  .v20-home .v11-journey-copy p{
    font-size:16px;
    margin-top:18px;
  }
  /* V16's purpose-built mobile journey remains authoritative. */
  .v20-home .v16-journey{
    height:auto;
    margin-top:44px;
  }
  .v20-home .v16-label,
  .v20-home .v16-label.l1,
  .v20-home .v16-label.l2,
  .v20-home .v16-label.l3,
  .v20-home .v16-label.l4{
    width:auto;
  }
  .v20-home .v19-content{
    grid-template-rows:18px 64px minmax(64px,auto);
    row-gap:13px;
    left:20px;
    right:20px;
    bottom:22px;
  }
  .v20-home .v19-stat strong,
  .v20-home .v19-stat.word strong{
    font-size:52px;
  }
  .v20-home .v19-content h3{
    min-height:0;
    max-width:310px;
    font-size:28px;
  }
}

/* =========================================================
   V21 — simple nav, repaired journey, alternating section rhythm
   ========================================================= */

/* 1 + 2. Fabricio-inspired simplicity: static top bar, same hero field,
   a single hairline keyline, and only LinkedIn on the right. */
.v20-home .site-nav{
  position:relative !important;
  top:auto !important;
  z-index:20;
  background:#0f0f10;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.v20-home .site-nav .nav-inner{
  min-height:68px;
}
.v20-home .site-nav .brand,
.v20-home .v21-linkedin{
  color:#f5f5f7;
  font-size:11px;
  line-height:1;
  letter-spacing:.105em;
  text-decoration:none;
}
.v20-home .site-nav .brand{
  opacity:.95;
}
.v20-home .v21-linkedin{
  margin-left:auto;
  opacity:.68;
  transition:opacity .2s ease;
}
.v20-home .v21-linkedin:hover{
  opacity:1;
}

/* 3. Journey repair.
   Restore the original V16 SVG geometry so the motion path, nodes and traveler
   share exactly the coordinate system they were authored for. Compress the
   section through editorial spacing—not by distorting the path. */
.v20-home .v11-journey{
  padding:76px 0 82px;
}
.v20-home .v11-journey-copy{
  display:block;
  max-width:830px;
}
.v20-home .v11-journey-copy h2{
  font-size:clamp(42px,4.35vw,60px);
  line-height:.97;
  letter-spacing:-.05em;
  margin:0;
}
.v20-home .v11-journey-copy p{
  max-width:740px;
  margin-top:17px;
  font-size:16px;
  line-height:1.46;
}
.v20-home .v16-journey{
  height:338px;
  margin-top:24px;
}
.v20-home .v16-label{
  width:195px;
}
.v20-home .v16-label h3{
  font-size:17px;
  line-height:1.08;
  margin:0 0 7px;
}
.v20-home .v16-label p{
  font-size:13px;
  line-height:1.34;
  margin:0;
}
.v20-home .v16-label.l1{left:0;top:238px}
.v20-home .v16-label.l2{left:23.3%;top:5px}
.v20-home .v16-label.l3{left:46.7%;top:246px}
.v20-home .v16-label.l4{left:71.2%;top:1px;width:235px}

/* 4. Alternating horizontal indentation.
   The page keeps one grid, but sections take turns leaning into opposite sides.
   Offsets are deliberately modest: rhythm, not zig-zag gimmickry. */
@media(min-width:901px){
  .v20-home .v11-journey > .wrap{
    width:min(calc(100% - 128px),1180px);
    margin-left:max(64px,calc((100vw - 1280px)/2 + 64px));
    margin-right:auto;
  }
  .v20-home .v19-impact > .wrap{
    width:min(calc(100% - 160px),1180px);
    margin-left:auto;
    margin-right:max(64px,calc((100vw - 1280px)/2 + 64px));
  }
  .v20-home .v8-manifesto > .wrap{
    width:min(calc(100% - 128px),1090px);
    margin-left:max(64px,calc((100vw - 1280px)/2 + 64px));
    margin-right:auto;
  }
  .v20-home .v8-about > .wrap{
    width:min(calc(100% - 160px),1040px);
    margin-left:auto;
    margin-right:max(64px,calc((100vw - 1280px)/2 + 64px));
  }
}

/* With eyebrows removed, give each section's main statement the first word. */
.v20-home .v19-head{
  grid-template-columns:1fr;
  margin-bottom:72px;
}
.v20-home .v19-head > div:last-child{
  max-width:850px;
}
.v20-home .v8-manifesto{
  padding-top:130px;
  padding-bottom:130px;
}
.v20-home .v8-manifesto-main{
  margin-top:0;
}
.v20-home .v8-about{
  padding-top:120px;
  padding-bottom:120px;
}

/* Avoid inherited eyebrow spacing after elements were removed. */
.v20-home .v11-journey-copy > :first-child,
.v20-home .v19-head > :first-child,
.v20-home .v8-manifesto .wrap > :first-child,
.v20-home .v8-about .wrap > :first-child{
  margin-top:0;
}

@media(max-width:700px){
  .v20-home .site-nav .nav-inner{
    min-height:58px;
  }
  .v20-home .v11-journey{
    padding:64px 0 70px;
  }
  .v20-home .v11-journey-copy h2{
    font-size:41px;
  }
  .v20-home .v16-journey{
    height:auto;
    margin-top:36px;
  }
  /* Keep V16's existing purpose-built vertical mobile route. */
  .v20-home .v16-label,
  .v20-home .v16-label.l1,
  .v20-home .v16-label.l2,
  .v20-home .v16-label.l3,
  .v20-home .v16-label.l4{
    width:auto;
  }
  .v20-home .v19-head{
    margin-bottom:46px;
  }
}

/* =========================================================
   V22 — unified left alignment + inset nav keyline + real profile photo
   ========================================================= */

/* All homepage sections return to one common left edge. */
@media(min-width:901px){
  .v20-home .v11-journey > .wrap,
  .v20-home .v19-impact > .wrap,
  .v20-home .v8-manifesto > .wrap,
  .v20-home .v8-about > .wrap{
    width:min(calc(100% - 128px),1200px);
    margin-left:auto;
    margin-right:auto;
  }
}

/* The nav itself has no full-bleed border. The keyline sits inside the same
   content margins as the rest of the homepage. */
.v20-home .site-nav{
  border-bottom:0 !important;
}
.v20-home .site-nav .nav-inner{
  position:relative;
}
.v20-home .site-nav .nav-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.18);
}

/* Real hero portrait: let the photography lead, not a generic placeholder crop. */
.v20-home .v9-hero img[src$="profile-chad.jpeg"],
.v20-home .hero img[src$="profile-chad.jpeg"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:67% 52%;
  display:block;
}

/* On mobile, keep more of the environmental context around the portrait. */
@media(max-width:700px){
  .v20-home .v9-hero img[src$="profile-chad.jpeg"],
  .v20-home .hero img[src$="profile-chad.jpeg"]{
    object-position:64% 50%;
  }
}

/* =========================================================
   V23 — correct hero portrait + one homepage alignment grid
   ========================================================= */

/* One authoritative homepage content width and left edge. */
.v20-home{
  --v23-max:1200px;
  --v23-gutter:64px;
}
@media(min-width:901px){
  .v20-home .site-nav .nav-inner,
  .v20-home .v9-hero > .wrap,
  .v20-home .v11-journey > .wrap,
  .v20-home .v19-impact > .wrap,
  .v20-home .v8-manifesto > .wrap,
  .v20-home .v8-about > .wrap,
  .v20-home footer > .wrap{
    width:min(calc(100% - (var(--v23-gutter) * 2)), var(--v23-max)) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Correct portrait treatment: only the hero uses Chad's photo. */
.v20-home .v9-hero img[src$="profile-chad.jpeg"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:67% 50%;
  display:block;
}

/* Case 1 is explicitly protected from inheriting any profile-photo rule. */
.v20-home .v19-project.p1 img{
  object-fit:cover;
  object-position:center center;
}

/* Keyline follows that same shared content grid exactly. */
.v20-home .site-nav .nav-inner::after{
  left:0 !important;
  right:0 !important;
}

@media(max-width:700px){
  .v20-home .v9-hero img[src$="profile-chad.jpeg"]{
    object-position:64% 50%;
  }
}

/* V24 — hero cleanup */
.v24-home .v9-overline,
.v24-home .hero-overline,
.v24-home .v9-portrait-label,
.v24-home .portrait-label,
.v24-home .portrait-placeholder,
.v24-home .v9-portrait-placeholder,
.v24-home .v9-hero-index,
.v24-home .hero-index,
.v24-home .v9-arc,
.v24-home .hero-arc,
.v24-home .v9-ornament,
.v24-home .hero-ornament{
  display:none !important;
}

/* Kill legacy pseudo-element decoration around the old portrait placeholder. */
.v24-home .v9-portrait::before,
.v24-home .v9-portrait::after,
.v24-home .hero-portrait::before,
.v24-home .hero-portrait::after{
  content:none !important;
  display:none !important;
}

/* Ensure the real photograph is the only visual element in the portrait field. */
.v24-home .v9-portrait,
.v24-home .hero-portrait{
  background:none !important;
}
.v24-home .v9-portrait img,
.v24-home .hero-portrait img{
  position:relative;
  z-index:1;
}

/* Rebalance hero after eyebrow removal. */
.v24-home .v9-hero-copy{
  align-self:center;
}
.v24-home .v9-hero h1{
  margin-top:0;
}

/* =========================================================
   V27 — hero restored; legacy bottom-stage removed safely
   ========================================================= */

/* Keep the full hero intact and let it end cleanly after its two-column composition. */
.v27-home .v9-hero{
  min-height:auto !important;
  padding-bottom:clamp(72px,8vh,108px) !important;
}

/* Defensive removal of legacy placeholder-only elements, without targeting
   any of the actual hero grid, copy, or portrait containers. */
.v27-home .v9-body,
.v27-home .v9-label,
.v27-home .v9-portrait-stage,
.v27-home .portrait-placeholder,
.v27-home .hero-specimen,
.v27-home .portrait-specimen{
  display:none !important;
}

/* Ensure the hero's primary content remains visible. */
.v27-home .v9-grid,
.v27-home .v9-copy,
.v27-home .v9-portrait{
  display:grid;
}
.v27-home .v9-copy,
.v27-home .v9-portrait{
  visibility:visible !important;
  opacity:1 !important;
}

/* Preserve the existing portrait image behavior. */
.v27-home .v9-portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:67% 52%;
}

/* V28 — Fabricio-inspired page margins
   More generous outer whitespace with one consistent content edge. */
.v28-home{
  --v28-gutter:clamp(28px,4.8vw,78px);
  --v28-max:1380px;
}
.v28-home .wrap,
.v28-home .nav-inner{
  width:min(calc(100% - (var(--v28-gutter) * 2)),var(--v28-max)) !important;
  max-width:var(--v28-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.v28-home .site-nav .nav-inner::after{
  left:0;
  right:0;
}
@media(min-width:901px){
  .v28-home .v11-journey > .wrap,
  .v28-home .v19-impact > .wrap,
  .v28-home .v8-manifesto > .wrap,
  .v28-home .v8-about > .wrap{
    width:min(calc(100% - (var(--v28-gutter) * 2)),var(--v28-max)) !important;
    max-width:var(--v28-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media(max-width:700px){
  .v28-home{--v28-gutter:22px}
}

/* =========================================================
   V29 — Fabricio-inspired top bar + hero composition
   Keeps Chad's visual system/content, but adopts the
   calmer proportions and vertical rhythm from the reference.
   ========================================================= */

.v29-home{
  --v29-gutter:clamp(30px,5.45vw,94px);
  --v29-max:1520px;
  --v29-nav-h:104px;
}

/* One consistent content edge */
.v29-home .wrap,
.v29-home .nav-inner{
  width:min(calc(100% - (var(--v29-gutter) * 2)), var(--v29-max)) !important;
  max-width:var(--v29-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ---------- TOP BAR ---------- */
.v29-home .site-nav{
  position:static !important;
  height:auto !important;
  background:#0f0f10 !important;
  border:0 !important;
}

.v29-home .site-nav .nav-inner{
  min-height:var(--v29-nav-h);
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.v29-home .site-nav .nav-inner::after{
  content:none !important;
}

.v29-home .site-nav .brand{
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:600 !important;
}

.v29-home .site-nav .v21-linkedin{
  font-size:14px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  color:rgba(255,255,255,.72) !important;
}

/* ---------- HERO ---------- */
.v29-home .v9-hero{
  background:#0f0f10 !important;
  min-height:calc(100vh - var(--v29-nav-h)) !important;
  padding:70px 0 76px !important;
  display:flex;
  align-items:stretch;
}

.v29-home .v9-hero > .wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}

.v29-home .v9-grid{
  width:100%;
  display:grid !important;
  grid-template-columns:minmax(0,1.42fr) minmax(420px,.82fr) !important;
  column-gap:clamp(72px,8vw,150px) !important;
  align-items:stretch !important;
}

.v29-home .v9-copy{
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:0;
  max-width:820px;
}

.v29-home .v9-copy h1{
  max-width:780px !important;
  margin:0 !important;
  font-size:clamp(58px,5.25vw,88px) !important;
  line-height:.985 !important;
  letter-spacing:-.055em !important;
}

.v29-home .v9-intro{
  margin-top:34px !important;
  padding-top:0 !important;
  border-top:0 !important;
  display:block !important;
  max-width:650px;
}

.v29-home .v9-intro p{
  max-width:520px;
  margin:0 !important;
  font-size:19px !important;
  line-height:1.45 !important;
  color:rgba(255,255,255,.9) !important;
}

.v29-home .v9-meta{
  margin-top:26px !important;
  text-align:left !important;
  font-size:11px !important;
  line-height:1.65 !important;
  letter-spacing:.14em !important;
  color:rgba(255,255,255,.48) !important;
}

/* Taller, more portrait-like visual on the right */
.v29-home .v9-portrait{
  display:block !important;
  align-self:stretch;
  min-height:660px;
  max-height:760px;
  overflow:hidden;
  background:none !important;
}

.v29-home .v9-portrait img{
  width:100% !important;
  height:100% !important;
  min-height:660px;
  object-fit:cover !important;
  object-position:64% 52% !important;
  display:block !important;
}

/* Keep old placeholder remnants suppressed */
.v29-home .v9-body,
.v29-home .v9-label,
.v29-home .portrait-placeholder,
.v29-home .v9-portrait-stage,
.v29-home .hero-specimen,
.v29-home .portrait-specimen{
  display:none !important;
}

/* Journey begins immediately after the full hero */
.v29-home .v11-journey{
  margin-top:0 !important;
}

@media (max-width:1100px){
  .v29-home{
    --v29-nav-h:88px;
  }
  .v29-home .v9-hero{
    min-height:auto !important;
    padding:54px 0 64px !important;
  }
  .v29-home .v9-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr) !important;
    column-gap:48px !important;
  }
  .v29-home .v9-portrait,
  .v29-home .v9-portrait img{
    min-height:560px;
  }
}

@media (max-width:760px){
  .v29-home{
    --v29-gutter:22px;
    --v29-nav-h:76px;
  }

  .v29-home .site-nav .nav-inner{
    min-height:var(--v29-nav-h);
  }

  .v29-home .v9-hero{
    padding:34px 0 48px !important;
  }

  .v29-home .v9-grid{
    grid-template-columns:1fr !important;
    gap:40px !important;
  }

  .v29-home .v9-copy{
    order:1;
    padding-bottom:0;
  }

  .v29-home .v9-copy h1{
    font-size:clamp(48px,13vw,68px) !important;
  }

  .v29-home .v9-intro{
    margin-top:26px !important;
  }

  .v29-home .v9-intro p{
    font-size:17px !important;
  }

  .v29-home .v9-portrait{
    order:2;
    min-height:0;
    aspect-ratio:4 / 5;
    max-height:none;
  }

  .v29-home .v9-portrait img{
    min-height:0;
  }
}

/* V34 — V29 preserved; only compress top-bar vertical spacing */
@media (min-width:1101px){
  .v34-home{
    --v29-nav-h:72px;
  }

  .v34-home .site-nav{
    height:72px !important;
  }

  .v34-home .site-nav .nav-inner{
    min-height:72px !important;
    height:72px !important;
    align-items:center !important;
  }

  /* Preserve V29 hero scale/composition while reclaiming 32px from nav. */
  .v34-home .v9-hero{
    min-height:calc(100vh - 72px) !important;
    padding-top:54px !important;
    padding-bottom:54px !important;
  }
}

/* V38 — updated hero profile copy */
.v38-home .v9-intro p{
  line-height:1.5 !important;
}

/* V40 — remove top navigation keyline */
.v40-home .site-nav .nav-inner{
  border-bottom:0 !important;
}
.v40-home .site-nav .nav-inner::after,
.v40-home .site-nav::after{
  content:none !important;
  display:none !important;
  border:0 !important;
}

/* V41 — remove divider between hero headline and profile copy */
.v41-home .v9-intro{
  border-top:0 !important;
  border:0 !important;
  padding-top:0 !important;
}
.v41-home .v9-intro::before,
.v41-home .v9-intro::after{
  content:none !important;
  display:none !important;
}

/* Align the top-bar keyline with the navigation labels, not the container. */
.v41-home .site-nav .nav-inner::after{
  left:64px !important;
  right:64px !important;
}

@media(max-width:800px){
  .v41-home .site-nav .nav-inner::after{
    left:24px !important;
    right:24px !important;
  }
}

/* =========================================================
   V43 — scroll-directed hero exit
   The opening profile holds as a single composition, then its
   copy and portrait recede at slightly different rates while
   Selected Work takes over the viewport.
   ========================================================= */
@media (min-width:801px) and (prefers-reduced-motion:no-preference){
  .v43-home .v9-hero{
    --hero-scroll:0;
    position:relative;
    isolation:isolate;
  }

  .v43-home .v9-copy{
    transform:translate3d(0,calc(var(--hero-scroll) * -54px),0);
    opacity:calc(1 - var(--hero-scroll) * .72);
    will-change:transform,opacity;
  }

  .v43-home .v9-portrait{
    transform:translate3d(0,calc(var(--hero-scroll) * -24px),0)
      scale(calc(1 - var(--hero-scroll) * .055));
    opacity:calc(1 - var(--hero-scroll) * .46);
    transform-origin:center 62%;
    will-change:transform,opacity;
  }

  .v43-home .v9-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:34vh;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(15,15,16,0),#0f0f10 82%);
    opacity:var(--hero-scroll);
  }

  .v43-home .v19-impact{
    position:relative;
    z-index:3;
  }
}

@media (max-width:800px), (prefers-reduced-motion:reduce){
  .v43-home .v9-copy,
  .v43-home .v9-portrait{
    transform:none !important;
    opacity:1 !important;
  }
}

/* An editorial correction that reveals the journey's real starting point. */
.v41-home .v41-origin-swap{
  display:inline;
  margin-left:.08em;
}
.v41-home .v41-origin-swap s{
  color:#86868b;
  text-decoration-color:#1d1d1f;
  text-decoration-thickness:.07em;
  text-decoration-skip-ink:none;
}
.v41-home .v41-origin-swap span{
  margin-left:.12em;
  font:inherit;
  letter-spacing:inherit;
  color:#1d1d1f;
}

/* Keep the next section fully below the initial viewport fold. */
.v41-home .v9-hero{
  min-height:calc(100svh - 68px);
  min-height:calc(100dvh - 68px);
}

@media(max-width:700px){
  .v41-home .v9-hero{
    min-height:calc(100svh - 58px);
    min-height:calc(100dvh - 58px);
  }
}

/* V42 — Selected work becomes the homepage's editorial centerpiece. */
.v41-home .v19-impact{
  padding:clamp(110px,11vw,168px) 0 clamp(120px,13vw,190px);
}
.v41-home .v19-head{
  display:grid;
  grid-template-columns:minmax(0,8fr) minmax(260px,4fr);
  gap:clamp(48px,8vw,130px);
  align-items:end;
  margin-bottom:clamp(64px,7vw,104px);
}
.v41-home .v19-head-copy{
  min-width:0;
}
.v41-home .v19-kicker{
  display:block;
  margin-bottom:26px;
  padding:0;
  font-size:13px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:.14em;
  color:rgba(255,255,255,.88);
}
.v41-home .v19-head h2{
  max-width:820px;
  font-size:clamp(58px,7vw,102px);
  line-height:.88;
}
.v41-home .v19-head > p{
  max-width:390px;
  margin:0 0 4px;
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.5;
  color:rgba(255,255,255,.72);
}
.v41-home .v19-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  height:auto;
}
.v41-home .v19-project{
  min-height:clamp(520px,49vw,670px);
  border:1px solid rgba(255,255,255,.09);
}
.v41-home .v19-project.p1{
  grid-column:1 / -1;
  min-height:clamp(590px,58vw,790px);
}
.v41-home .v19-project.p1 .v19-art:after{
  background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.52) 42%,rgba(0,0,0,.05) 76%),linear-gradient(0deg,rgba(0,0,0,.54),transparent 50%);
}
.v41-home .v19-project.p1 .v19-content{
  right:auto;
  width:min(620px,56%);
}
.v41-home .v19-content{
  left:clamp(28px,3.2vw,50px);
  right:clamp(28px,3.2vw,50px);
  bottom:clamp(30px,3.4vw,54px);
  display:block;
}
.v41-home .v19-type{
  margin:0 0 22px;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.12em;
  color:rgba(255,255,255,.9);
  text-shadow:0 1px 12px rgba(0,0,0,.55);
}
.v41-home .v19-stat{
  display:flex;
  align-items:flex-end;
  gap:clamp(18px,2vw,30px);
  margin:0 0 28px;
}
.v41-home .v19-stat strong,
.v41-home .v19-stat.word strong{
  font-size:clamp(62px,7vw,104px);
  line-height:.72;
}
.v41-home .v19-project:not(.p1) .v19-stat strong{
  font-size:clamp(58px,5.2vw,78px);
}
.v41-home .v19-stat span{
  padding-bottom:2px;
  font-size:14px;
  line-height:1.38;
  font-weight:550;
  letter-spacing:.055em;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 12px rgba(0,0,0,.65);
}
.v41-home .v19-content h3{
  min-height:0;
  max-width:560px;
  font-size:clamp(30px,3.2vw,49px);
  line-height:.98;
}
.v41-home .v19-project:not(.p1) .v19-content h3{
  max-width:440px;
  font-size:clamp(28px,2.7vw,40px);
}
.v41-home .v19-number{
  display:none;
}
.v41-home .v19-open{
  top:clamp(24px,2.7vw,42px);
  right:clamp(28px,3.2vw,50px);
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:0;
  color:rgba(255,255,255,.88);
  opacity:1;
  transform:none;
  transition:background-color .25s ease,border-color .25s ease,transform .35s cubic-bezier(.16,1,.3,1);
}
.v41-home .v19-open svg{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.v41-home .v19-project:hover .v19-open{
  background:#fff;
  border-color:#fff;
  color:#0b0b0c;
  transform:translateX(3px);
}
.v41-home .v19-project:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
}

@media(max-width:900px){
  .v41-home .v19-head{
    grid-template-columns:1fr;
    gap:30px;
  }
  .v41-home .v19-head > p{
    max-width:560px;
  }
  .v41-home .v19-project.p1 .v19-content{
    width:min(620px,78%);
  }
}

@media(max-width:700px){
  .v41-home .v19-impact{
    padding:88px 0 105px;
  }
  .v41-home .v19-head{
    margin-bottom:48px;
  }
  .v41-home .v19-head h2{
    font-size:clamp(50px,15vw,68px);
  }
  .v41-home .v19-gallery{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-right:0;
    padding-right:0;
    overflow:visible;
  }
  .v41-home .v19-project,
  .v41-home .v19-project.p1{
    grid-column:auto;
    min-height:590px;
  }
  .v41-home .v19-project.p1 .v19-art:after{
    background:linear-gradient(to bottom,rgba(0,0,0,.03) 20%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.94) 100%);
  }
  .v41-home .v19-project.p1 .v19-content{
    width:auto;
    right:24px;
  }
  .v41-home .v19-content{
    left:24px;
    right:24px;
    bottom:28px;
  }
  .v41-home .v19-stat{
    gap:16px;
    margin-bottom:24px;
  }
  .v41-home .v19-stat strong,
  .v41-home .v19-project:not(.p1) .v19-stat strong{
    font-size:58px;
  }
  .v41-home .v19-content h3,
  .v41-home .v19-project:not(.p1) .v19-content h3{
    font-size:31px;
  }
}

/* V50 — leadership-forward homepage narrative */
.v41-home .v41-nav-links{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.3vw,34px);
}
.v41-home .v41-nav-links a{
  font-size:11px;
  line-height:1;
  letter-spacing:.105em;
  color:rgba(245,245,247,.68);
  transition:color .2s ease;
}
.v41-home .v41-nav-links a:hover,
.v41-home .v41-nav-links a:focus-visible{
  color:#f5f5f7;
}
.v41-home .v9-copy,
.v41-home .v9-portrait{
  align-self:end;
}
.v41-home .v9-intro{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:32px !important;
  align-items:end;
  max-width:760px;
}
.v41-home .v9-intro .v41-hero-lead{
  max-width:480px;
  font-size:17px;
  line-height:1.45;
  color:rgba(245,245,247,.92);
}
.v41-home .v9-intro .v41-hero-meta{
  min-width:145px;
  font-size:13px;
  line-height:1.5;
  text-align:right;
  color:rgba(245,245,247,.56);
}
.v41-home .v8-manifesto{
  padding:clamp(110px,11vw,160px) 0;
}
.v41-home .v41-leadership-head{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,5fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
}
.v41-home .v8-manifesto .v41-leadership-head h2{
  max-width:760px;
  margin:0;
  font-size:clamp(60px,6.7vw,96px);
  line-height:.9;
  letter-spacing:-.06em;
}
.v41-home .v41-leadership-head > p{
  max-width:450px;
  margin:0 0 4px;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.48;
  color:rgba(245,245,247,.68);
}
.v41-home .v41-leadership-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(72px,8vw,112px);
  border-top:1px solid rgba(255,255,255,.22);
}
.v41-home .v41-leadership-grid article{
  padding:30px clamp(24px,3vw,46px) 0 0;
}
.v41-home .v41-leadership-grid article:not(:first-child){
  padding-left:clamp(24px,3vw,46px);
  border-left:1px solid rgba(255,255,255,.22);
}
.v41-home .v41-leadership-grid strong{
  display:block;
  font-size:20px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.02em;
}
.v41-home .v41-leadership-grid p{
  max-width:330px;
  margin:15px 0 0;
  font-size:16px;
  line-height:1.55;
  color:rgba(245,245,247,.64);
}
.v41-home .v8-about{
  padding:clamp(110px,11vw,155px) 0;
}
.v41-home .v8-about-grid{
  display:block;
}
.v41-home .v41-about-copy{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,5fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
}
.v41-home .v41-about-copy p{
  max-width:470px;
  margin:0 0 5px;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.5;
}
.v41-home .v41-photo-mosaic{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:clamp(190px,18vw,275px);
  gap:12px;
  margin-top:clamp(78px,9vw,128px);
}
.v41-home .v41-photo{
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#e8e8ea;
}
.v41-home .v41-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s ease;
}
.v41-home .v41-photo:hover img{
  transform:scale(1.025);
}
.v41-home .v41-photo.studio{grid-column:1 / 5;grid-row:1 / span 2}
.v41-home .v41-photo.workshop{grid-column:5 / 9;grid-row:1}
.v41-home .v41-photo.conference{grid-column:9 / 13;grid-row:1}
.v41-home .v41-photo.team-award{grid-column:5 / 9;grid-row:2}
.v41-home .v41-photo.vr{grid-column:9 / 13;grid-row:2}
.v41-home .v41-photo.remote{grid-column:1 / 5;grid-row:3}
.v41-home .v41-photo.metaverse{grid-column:5 / 9;grid-row:3}
.v41-home .v41-photo.collaboration{grid-column:9 / 13;grid-row:3}
.v41-home .v41-photo.workshop img{object-position:center 42%}
.v41-home .v41-photo.conference img{object-position:center 28%}
.v41-home .v41-photo.team-award img{object-position:center center}
.v41-home .v41-photo.remote img{object-position:center 20%}

@media(prefers-reduced-motion:reduce){
  .v41-home .v41-photo img{transition:none}
}

@media(max-width:800px){
  .v41-home .v41-nav-links a[href="#leadership"],
  .v41-home .v41-nav-links .v21-linkedin{
    display:none;
  }
}

@media(max-width:700px){
  .v41-home .v9-intro{
    display:block !important;
  }
  .v41-home .v9-intro .v41-hero-meta{
    margin-top:16px !important;
    text-align:left;
  }
  .v41-home .v41-leadership-head,
  .v41-home .v41-leadership-grid{
    grid-template-columns:1fr;
  }
  .v41-home .v41-leadership-head{
    gap:30px;
  }
  .v41-home .v8-manifesto .v41-leadership-head h2{
    font-size:clamp(52px,14vw,68px);
  }
  .v41-home .v41-leadership-grid{
    margin-top:64px;
  }
  .v41-home .v41-leadership-grid article,
  .v41-home .v41-leadership-grid article:not(:first-child){
    padding:24px 0 30px;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .v41-home .v41-about-copy{
    grid-template-columns:1fr;
    gap:30px;
  }
  .v41-home .v41-about-copy p{
    margin:0;
  }
  .v41-home .v41-photo-mosaic{
    display:flex;
    gap:12px;
    margin-top:64px;
    margin-right:-24px;
    padding-right:24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .v41-home .v41-photo-mosaic::-webkit-scrollbar{display:none}
  .v41-home .v41-photo,
  .v41-home .v41-photo.studio,
  .v41-home .v41-photo.workshop,
  .v41-home .v41-photo.conference,
  .v41-home .v41-photo.team-award,
  .v41-home .v41-photo.vr,
  .v41-home .v41-photo.remote,
  .v41-home .v41-photo.metaverse,
.v41-home .v41-photo.collaboration{
    flex:0 0 78vw;
    height:auto;
    aspect-ratio:4 / 5;
    scroll-snap-align:start;
  }
}

/* V53 cascade lock — keep the condensed case study above legacy case rules. */
.case-data-ai-v3 .case-hero{padding-top:clamp(64px,6.5vw,94px)}
.case-data-ai-v3 .case-hero .display-xl{max-width:980px;font-size:clamp(58px,6.65vw,94px)}
.case-data-ai-v3 .case-hero .lede{max-width:720px;margin-top:30px}
.case-data-ai-v3 .case-meta{grid-template-columns:1fr 2fr 1fr;margin-top:0;padding:24px 0 30px;border-top:0}
.case-data-ai-v3 .v18-case-hero-frame{padding:clamp(30px,4vw,54px) 0}
.case-data-ai-v3 main > .statement,
.case-data-ai-v3 main > .section,
.case-data-ai-v3 main > .evolution{padding:clamp(94px,9vw,136px) 0}
.case-data-ai-v3 .three-metrics,
.case-data-ai-v3 .from-to,
.case-data-ai-v3 .progression,
.case-data-ai-v3 .converge,
.case-data-ai-v3 .adoption,
.case-data-ai-v3 .reflections{margin-top:clamp(48px,5vw,72px)}
.case-data-ai-v3 .artifact-stage{margin-top:clamp(52px,6vw,78px)}
.case-data-ai-v3 .case-signal{background:#0f0f10;color:#f5f5f7}
.case-data-ai-v3 .case-signal .eyebrow,
.case-data-ai-v3 .case-signal > .wrap > .lede{color:rgba(245,245,247,.68)!important}
.case-data-ai-v3 .case-signal .eyebrow::before,
.case-data-ai-v3 .case-signal .intro-copy{color:#f5f5f7!important}
.case-data-ai-v3 .reflections{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){
  .case-data-ai-v3 .case-proof{grid-template-columns:1fr}
  .case-data-ai-v3 .case-meta{grid-template-columns:1fr}
  .case-data-ai-v3 .reflections{grid-template-columns:1fr}
}

/* V54 — one disciplined axis for the challenge narrative. */
.case-data-ai-v3 .case-challenge > .wrap{
  row-gap:0;
}
.case-data-ai-v3 .case-challenge > .wrap > .lede{
  margin-top:30px;
}
.case-data-ai-v3 .case-challenge .three-metrics{
  grid-column:4 / 13;
  margin-top:56px;
  border-bottom:1px solid var(--line);
}
.case-data-ai-v3 .case-challenge .metric{
  min-height:0;
  padding:26px 26px 34px 0;
}
.case-data-ai-v3 .case-challenge .metric:not(:first-child){padding-left:26px}
.case-data-ai-v3 .case-challenge .metric strong{
  font-size:clamp(31px,2.4vw,35px);
  line-height:1;
}
.case-data-ai-v3 .case-challenge > .wrap > .intro-copy{
  grid-column:4 / 12;
  max-width:820px;
  margin-top:46px !important;
  padding-top:0;
  border-top:0;
  font-size:clamp(27px,2.65vw,38px);
}
@media(max-width:700px){
  .case-data-ai-v3 .case-challenge .three-metrics{margin-top:42px}
  .case-data-ai-v3 .case-challenge .metric{min-height:0;padding:24px 0 30px}
  .case-data-ai-v3 .case-challenge > .wrap > .intro-copy{margin-top:34px!important;padding-top:34px}
}

/* V56 — make the capability story human and align it to the editorial axis. */
.case-data-ai-v3 .case-capability .capability-story{
  grid-column:4 / 13;
  display:block;
  margin-top:58px;
}
.case-data-ai-v3 .case-capability .world-map{display:none}
.case-data-ai-v3 .case-capability .capability-stat{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 clamp(28px,3vw,46px) 32px 0;
}
.case-data-ai-v3 .case-capability .capability-stat .zero-to{
  gap:14px;
}
.case-data-ai-v3 .case-capability .capability-stat .arrow{
  width:42px;
}
.case-data-ai-v3 .case-capability .capability-stat .thirty-seven{
  font-size:clamp(96px,9vw,132px);
}
.case-data-ai-v3 .capability-team-photo{
  min-width:0;
  margin:0;
}
.case-data-ai-v3 .capability-team-photo img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid rgba(29,29,31,.08);
}
.case-data-ai-v3 .capability-team-photo figcaption{
  margin-top:12px;
  color:#6e6e73;
  font-size:12px;
  line-height:1.4;
}
.case-data-ai-v3 .case-capability .capability-branches{
  grid-column:4 / 13;
  margin-top:64px;
}
@media(max-width:800px){
  .case-data-ai-v3 .case-capability .capability-story{grid-column:1 / 13}
  .case-data-ai-v3 .case-capability .capability-stat{padding:0 0 34px;border-right:0;border-bottom:1px solid var(--line)}
  .case-data-ai-v3 .case-capability .capability-branches{grid-column:1 / 13}
}

/* V58 — seven-capability matrix; no decorative connector diagram. */
.case-data-ai-v3 .case-capability .capability-branches{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:32px 18px;
  padding-top:0;
}
.case-data-ai-v3 .case-capability .capability-branches::before,
.case-data-ai-v3 .case-capability .capability-branch::before{display:none}
.case-data-ai-v3 .case-capability .capability-branch{
  grid-column:span 3;
  min-height:124px;
  padding:22px 10px 24px 0;
  border-top:1px solid var(--line);
  text-align:left;
}
.case-data-ai-v3 .case-capability .capability-branch:nth-child(5){grid-column:1 / span 4}
.case-data-ai-v3 .case-capability .capability-branch:nth-child(6){grid-column:5 / span 4}
.case-data-ai-v3 .case-capability .capability-branch:nth-child(7){grid-column:9 / span 4}
.case-data-ai-v3 .case-capability .capability-branch b{
  display:block;
  font-size:17px;
  line-height:1.25;
}
.case-data-ai-v3 .case-capability .capability-branch span{
  max-width:190px;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:800px){
  .case-data-ai-v3 .case-capability .capability-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .case-data-ai-v3 .case-capability .capability-branch,
  .case-data-ai-v3 .case-capability .capability-branch:nth-child(n){grid-column:auto;min-height:0}
}
@media(max-width:480px){
  .case-data-ai-v3 .case-capability .capability-branches{grid-template-columns:1fr}
}

/* V59 — one editorial axis for strategy, shift and product evidence. */
.case-data-ai-v3 .case-direction > .wrap{row-gap:0}
.case-data-ai-v3 .case-direction > .wrap > .lede{margin-top:30px}
.case-data-ai-v3 .case-direction .from-to{
  grid-column:4 / 13;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:0;
  margin-top:54px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.case-data-ai-v3 .case-direction .ft-box{
  min-height:146px;
  padding:30px 0 32px;
  border:0;
}
.case-data-ai-v3 .case-direction .ft-arrow{
  align-self:stretch;
  display:grid;
  place-items:center;
  width:74px;
  color:#86868b;
  font-size:28px;
}
.case-data-ai-v3 .case-direction .ft-main{
  max-width:330px;
  font-size:clamp(25px,2.2vw,32px);
}
.case-data-ai-v3 .case-direction .artifact-stage,
.case-data-ai-v3 .case-direction .artifact-caption{
  grid-column:4 / 13;
}
.case-data-ai-v3 .case-direction .artifact-stage{
  margin-top:58px;
  padding:clamp(22px,3.4vw,48px);
}
.case-data-ai-v3 .case-direction .artifact-caption{margin-top:14px}
@media(max-width:700px){
  .case-data-ai-v3 .case-direction .from-to{display:block;margin-top:42px}
  .case-data-ai-v3 .case-direction .ft-box{min-height:0;padding:26px 0}
  .case-data-ai-v3 .case-direction .ft-arrow{display:block;width:auto;height:24px;text-align:left;transform:rotate(90deg);transform-origin:left center}
  .case-data-ai-v3 .case-direction .artifact-stage{margin-top:42px}
}

/* V60 — concise leadership ledgers for contribution clarity. */
.case-data-ai-v3 .contribution-ledger{
  grid-column:4 / 13;
  margin-top:54px;
}
.case-data-ai-v3 .contribution-label{
  margin-bottom:18px;
  color:#6e6e73;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.14em;
}
.case-data-ai-v3 .contribution-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.case-data-ai-v3 .contribution-grid > div{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:14px;
  min-height:104px;
  padding:22px 28px 24px 0;
  border-bottom:1px solid var(--line);
}
.case-data-ai-v3 .contribution-grid > div:nth-child(even){
  padding-left:28px;
  border-left:1px solid var(--line);
}
.case-data-ai-v3 .contribution-grid > div:last-child{
  grid-column:1 / -1;
  min-height:0;
  padding-right:0;
}
.case-data-ai-v3 .contribution-grid b{
  color:#86868b;
  font-size:12px;
  line-height:1.55;
  letter-spacing:.08em;
  font-weight:500;
}
.case-data-ai-v3 .contribution-grid p{
  max-width:430px;
  margin:0;
  font-size:16px;
  line-height:1.5;
}
.case-data-ai-v3 .contribution-grid > div:last-child p{max-width:720px}
.case-data-ai-v3 .case-capability .capability-story{margin-top:64px}
.case-data-ai-v3 .case-direction .from-to{margin-top:62px}
@media(max-width:700px){
  .case-data-ai-v3 .contribution-ledger{margin-top:42px}
  .case-data-ai-v3 .contribution-grid{grid-template-columns:1fr}
  .case-data-ai-v3 .contribution-grid > div,
  .case-data-ai-v3 .contribution-grid > div:nth-child(even),
  .case-data-ai-v3 .contribution-grid > div:last-child{grid-column:auto;min-height:0;padding:20px 0;border-left:0}
}

/* V61 cascade lock */
.case-data-ai-v3 .case-proof{grid-template-columns:repeat(4,minmax(0,1fr))}
.case-data-ai-v3 .case-proof > div{min-height:116px}
.case-data-ai-v3 .case-proof strong{font-size:clamp(25px,2.3vw,36px)}
.case-data-ai-v3 .case-meta{grid-template-columns:1fr 2fr}
.case-data-ai-v3 .case-challenge-context{grid-column:4 / 12;margin-top:42px}
.case-data-ai-v3 .case-alignment .contribution-ledger{grid-column:4 / 13}
.case-data-ai-v3 .case-alignment .contribution-label,
.case-data-ai-v3 .case-alignment .contribution-grid b{color:rgba(245,245,247,.55)}
.case-data-ai-v3 .case-alignment .contribution-grid,
.case-data-ai-v3 .case-alignment .contribution-grid > div,
.case-data-ai-v3 .case-alignment .contribution-grid > div:nth-child(even){border-color:rgba(255,255,255,.18)}
.case-data-ai-v3 .case-alignment .contribution-grid p{color:rgba(245,245,247,.86)}
.case-data-ai-v3 .alignment-outcome{grid-column:4 / 12;max-width:820px;margin:54px 0 0;font-size:clamp(27px,2.65vw,38px);line-height:1.16;letter-spacing:-.035em}
@media(max-width:700px){
  .case-data-ai-v3 .case-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-data-ai-v3 .case-meta{grid-template-columns:1fr}
}

/* V63 — artifact placement follows the case-study content blueprint. */
.case-data-ai-v3 .image-placeholder-stage{
  min-height:clamp(300px,42vw,620px);
  display:grid;
  place-items:center;
  background:#dedee2;
  color:#6e6e73;
  border:1px solid #d2d2d7;
  padding:32px;
}
.case-data-ai-v3 .image-placeholder-stage span{
  font-size:12px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* V70 — generated research and synthesis editorial image. */
.case-data-ai-v3 .case-direction .research-synthesis-stage{
  padding:0;
  background:#d8d5cf;
  border:0;
}
.case-data-ai-v3 .case-direction .research-image-caption span:last-child{
  max-width:520px;
  justify-self:end;
  font-size:13px;
  line-height:1.5;
}
@media(max-width:700px){
  .case-data-ai-v3 .case-direction .research-image-caption span:last-child{
    max-width:none;
    justify-self:start;
  }
}

/* V64 — Sections 4–6 continue the same left-label/right-story grid. */
.case-data-ai-v3 .case-alignment .artifact-stage,
.case-data-ai-v3 .case-alignment .artifact-caption,
.case-data-ai-v3 .case-signal .adoption,
.case-data-ai-v3 .case-lessons .reflections{
  grid-column:4 / 13;
}
.case-data-ai-v3 .case-alignment > .wrap,
.case-data-ai-v3 .case-signal > .wrap,
.case-data-ai-v3 .case-lessons > .wrap{
  row-gap:0;
}
.case-data-ai-v3 .case-alignment > .wrap > .lede,
.case-data-ai-v3 .case-signal > .wrap > .lede,
.case-data-ai-v3 .case-lessons > .wrap > .lede{
  margin-top:30px;
}
.case-data-ai-v3 .case-alignment .artifact-caption{
  margin-top:14px;
}
@media(max-width:700px){
  .case-data-ai-v3 .case-alignment .artifact-stage,
  .case-data-ai-v3 .case-alignment .artifact-caption,
  .case-data-ai-v3 .case-signal .adoption,
  .case-data-ai-v3 .case-lessons .reflections{
    grid-column:1 / -1;
  }
}

/* V67 — true three-column treatment for the leadership lessons. */
.case-data-ai-v3 .case-lessons .reflection,
.case-data-ai-v3 .case-lessons .reflection:nth-child(odd),
.case-data-ai-v3 .case-lessons .reflection:nth-child(even){
  padding:38px 40px 70px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.case-data-ai-v3 .case-lessons .reflection:first-child{padding-left:0}
.case-data-ai-v3 .case-lessons .reflection:last-child{
  padding-right:0;
  border-right:0;
}
.case-data-ai-v3 .case-lessons .reflection h3{
  max-width:310px;
  margin-bottom:28px;
}
.case-data-ai-v3 .case-lessons .reflection p{
  max-width:330px;
  margin:0;
}
@media(max-width:700px){
  .case-data-ai-v3 .case-lessons .reflection,
  .case-data-ai-v3 .case-lessons .reflection:nth-child(odd),
  .case-data-ai-v3 .case-lessons .reflection:nth-child(even){
    padding:28px 0 34px;
    border-right:0;
  }
}

/* V72 — Case Study 02 follows the six-chapter editorial system. */
.case-dex-v2 .case-proof{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-dex-v2 .case-meta{grid-template-columns:1fr 1fr}
.case-dex-v2 .case-copy-stack,
.case-dex-v2 .dex-artifact-stage,
.case-dex-v2 .artifact-caption,
.case-dex-v2 .dex-team-photo,
.case-dex-v2 .dex-org,
.case-dex-v2 .dex-impact,
.case-dex-v2 .dex-lessons-list{
  grid-column:4 / 13;
}
.case-dex-v2 main > .statement > .wrap,
.case-dex-v2 main > .section > .wrap{row-gap:0}
.case-dex-v2 main > section:not(.case-hero):not(.next-case) > .wrap > .lede{margin-top:30px}
.case-dex-v2 .case-copy-stack{
  max-width:790px;
  margin-top:48px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.case-dex-v2 .case-copy-stack p{
  margin:0 0 24px;
  color:#4f4f53;
  font-size:17px;
  line-height:1.6;
}
.case-dex-v2 .dex-artifact-stage{
  margin-top:58px;
  padding:clamp(18px,3vw,42px);
  background:#f1f1f3;
}
.case-dex-v2 .case-dex-problem .dex-artifact-stage{background:#fff;border:1px solid var(--line)}
.case-dex-v2 .artifact-caption{margin-top:14px}
.case-dex-v2 .dex-team-photo{
  margin:62px 0 0;
}
.case-dex-v2 .dex-team-photo img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
}
.case-dex-v2 .dex-team-photo figcaption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.case-dex-v2 .dex-org{margin-top:70px;padding-top:52px}
.case-dex-v2 .case-dex-shift .dex-impact{
  margin-top:62px;
  padding-top:36px;
  border-top:1px solid rgba(255,255,255,.2);
}
.case-dex-v2 .dex-impact-lead{
  display:grid;
  grid-template-columns:100px 180px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.case-dex-v2 .dex-impact-lead > span,
.case-dex-v2 .dex-impact-grid b{
  color:rgba(245,245,247,.56);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.12em;
}
.case-dex-v2 .dex-impact-lead strong{
  color:#f5f5f7;
  font-size:clamp(48px,5vw,72px);
  line-height:.88;
  letter-spacing:-.055em;
}
.case-dex-v2 .dex-impact-lead p{
  max-width:560px;
  margin:0;
  color:rgba(245,245,247,.72);
  font-size:17px;
  line-height:1.55;
}
.case-dex-v2 .dex-impact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:52px;
  border-top:1px solid rgba(255,255,255,.18);
}
.case-dex-v2 .dex-impact-grid > div{
  min-height:150px;
  padding:28px 30px 32px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.case-dex-v2 .dex-impact-grid > div:nth-child(even){padding-left:30px;border-left:1px solid rgba(255,255,255,.18)}
.case-dex-v2 .dex-impact-grid p{max-width:390px;margin:12px 0 0;color:rgba(245,245,247,.72);font-size:16px;line-height:1.5}
.case-dex-v2 .dex-lessons-list{margin-top:58px;border-top:1px solid var(--line)}
.case-dex-v2 .dex-lessons-list article{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:22px;
  padding:30px 0 34px;
  border-bottom:1px solid var(--line);
}
.case-dex-v2 .dex-lessons-list article > span{padding-top:5px;color:#86868b;font-size:12px;letter-spacing:.08em}
.case-dex-v2 .dex-lessons-list h3{margin:0;font-size:clamp(25px,2.4vw,34px);line-height:1.12;letter-spacing:-.035em}
.case-dex-v2 .dex-lessons-list p{max-width:650px;margin:12px 0 0;color:var(--muted);font-size:17px;line-height:1.55}
.case-dex-v2 .dex-team-photo img{
  aspect-ratio:auto;
  object-fit:contain;
}
@media(max-width:700px){
  .case-dex-v2 .case-proof{grid-template-columns:1fr}
  .case-dex-v2 .case-meta{grid-template-columns:1fr}
  .case-dex-v2 .case-copy-stack,
  .case-dex-v2 .dex-artifact-stage,
  .case-dex-v2 .artifact-caption,
  .case-dex-v2 .dex-team-photo,
  .case-dex-v2 .dex-org,
  .case-dex-v2 .dex-impact,
  .case-dex-v2 .dex-lessons-list{grid-column:1 / -1}
  .case-dex-v2 .dex-impact-lead{grid-template-columns:1fr}
  .case-dex-v2 .dex-impact-grid{grid-template-columns:1fr}
  .case-dex-v2 .dex-impact-grid > div,
  .case-dex-v2 .dex-impact-grid > div:nth-child(even){min-height:0;padding:24px 0;border-left:0}
  .case-dex-v2 .dex-team-photo figcaption{display:block}
}

/* V75 — a quieter, line-free capability composition. */
.case-dex-v2 .dex-org{
  margin-top:72px;
  padding:0;
  border-top:0;
}
.case-dex-v2 .dex-org-top{
  max-width:720px;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0 auto 52px;
}
.case-dex-v2 .dex-org-top .link{display:none}
.case-dex-v2 .dex-org-top .node{
  padding:16px 20px;
  border:0;
  background:var(--soft);
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.case-dex-v2 .dex-org-center{margin-bottom:48px}
.case-dex-v2 .dex-org-center .role{font-size:clamp(30px,3vw,42px)}
.case-dex-v2 .dex-org-branches{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:0;
}
.case-dex-v2 .dex-org-branches::before,
.case-dex-v2 .dex-org-branch::before{display:none}
.case-dex-v2 .dex-org-branch{
  min-height:132px;
  padding:24px;
  background:var(--soft);
  text-align:left;
}
.case-dex-v2 .dex-org-branch b{font-size:16px}
.case-dex-v2 .dex-org-branch span{max-width:200px;margin-top:10px;font-size:14px}
.case-dex-v2 .dex-vendors{
  margin-top:12px;
  padding:22px 24px;
  border:0;
  background:#1d1d1f;
  color:#f5f5f7;
  align-items:center;
}
.case-dex-v2 .dex-vendors .label{color:rgba(245,245,247,.56)}
.case-dex-v2 .dex-vendors .names{font-size:15px}
.case-dex-v2 .case-dex-shift .dex-shift-dashboard{
  grid-column:4 / 13;
  margin-top:clamp(56px,7vw,92px);
}
.case-dex-v2 .case-dex-shift .dex-shift-dashboard .artifact-caption{
  margin-top:14px;
  color:rgba(245,245,247,.56);
}
@media(max-width:700px){
  .case-dex-v2 .dex-org-top{grid-template-columns:1fr;margin-bottom:38px}
  .case-dex-v2 .dex-org-branches{grid-template-columns:1fr 1fr;gap:10px}
  .case-dex-v2 .dex-org-branch{min-height:0;padding:20px;border:0;text-align:left}
  .case-dex-v2 .dex-vendors{display:block;padding:22px}
  .case-dex-v2 .dex-vendors .names{margin-top:10px;text-align:left}
  .case-dex-v2 .case-dex-shift .dex-shift-dashboard{grid-column:1 / -1;margin-top:48px}
}
@media(max-width:440px){
  .case-dex-v2 .dex-org-branches{grid-template-columns:1fr}
}

/* V78 — precision editorial rhythm without crops or accent color. */
.case-dex-v2 main > .statement,
.case-dex-v2 main > .section,
.case-dex-v2 main > .evolution{
  padding:clamp(88px,8vw,120px) 0;
}
.case-dex-v2 main > section:not(.case-hero):not(.next-case) .display-lg{
  font-size:clamp(46px,4.5vw,66px);
}
.case-dex-v2 .case-proof strong{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.055em;
}
.case-dex-v2 .dex-figure-caption,
.case-dex-v2 .dex-team-photo figcaption{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
}
.case-dex-v2 .dex-signal-index{
  grid-column:4 / 13;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:34px;
}
.case-dex-v2 .dex-signal-index span{
  padding:15px 18px;
  background:#f5f5f7;
  color:#4f4f53;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.case-dex-v2 .case-dex-product .display-lg,
.case-dex-v2 .case-dex-team .display-lg{
  grid-column:4 / 9;
}
.case-dex-v2 .case-dex-product > .wrap > .lede,
.case-dex-v2 .case-dex-team > .wrap > .lede{
  grid-column:9 / 13;
  align-self:end;
  margin:0;
  padding-left:18px;
  font-size:17px;
  line-height:1.58;
}
.case-dex-v2 .case-dex-shift .display-lg{grid-column:4 / 10}
.case-dex-v2 .case-dex-shift > .wrap > .lede{
  grid-column:10 / 13;
  align-self:end;
  margin:0;
  font-size:16px;
  line-height:1.58;
}
.case-dex-v2 .dex-shift-dashboard .artifact{
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:900px){
  .case-dex-v2 .case-dex-product .display-lg,
  .case-dex-v2 .case-dex-team .display-lg,
  .case-dex-v2 .case-dex-shift .display-lg{grid-column:4 / 13}
  .case-dex-v2 .case-dex-product > .wrap > .lede,
  .case-dex-v2 .case-dex-team > .wrap > .lede,
  .case-dex-v2 .case-dex-shift > .wrap > .lede{grid-column:4 / 11;margin-top:30px;padding-left:0}
}
@media(max-width:700px){
  .case-dex-v2 .dex-signal-index{grid-column:1 / -1;grid-template-columns:1fr 1fr}
  .case-dex-v2 .case-dex-product .display-lg,
  .case-dex-v2 .case-dex-team .display-lg,
  .case-dex-v2 .case-dex-shift .display-lg,
  .case-dex-v2 .case-dex-product > .wrap > .lede,
  .case-dex-v2 .case-dex-team > .wrap > .lede,
  .case-dex-v2 .case-dex-shift > .wrap > .lede{grid-column:1 / -1}
}

/* V79 cascade lock */
.case-data-ai-v3.case-thought-v2 .case-proof{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-data-ai-v3.case-thought-v2 .case-meta{grid-template-columns:1fr 2fr}
@media(max-width:700px){
  .case-data-ai-v3.case-thought-v2 .case-proof,
  .case-data-ai-v3.case-thought-v2 .case-meta{grid-template-columns:1fr}
}

/* V82 — complete mobile product gallery for Case Study 03. */
.case-thought-v2 .thought-screen-gallery{
  grid-column:4 / 13;
  min-width:0;
  margin:60px 0 0;
}
.case-thought-v2 .thought-screen-track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:0 0 18px;
  scroll-snap-type:x mandatory;
  scrollbar-color:#a1a1a6 transparent;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.case-thought-v2 .thought-screen-track:focus-visible{outline:2px solid #1d1d1f;outline-offset:5px}
.case-thought-v2 .thought-screen-track img{
  flex:0 0 clamp(260px,27vw,354px);
  width:clamp(260px,27vw,354px);
  height:auto;
  scroll-snap-align:start;
  background:#7e00e8;
}
.case-thought-v2 .thought-screen-gallery figcaption{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:20px;
  margin-top:14px;
  color:#6e6e73;
  font-size:11px;
  line-height:1.45;
  letter-spacing:.1em;
}
@media(max-width:700px){
  .case-thought-v2 .thought-screen-gallery{grid-column:1 / -1;margin-top:42px}
  .case-thought-v2 .thought-screen-track{
    margin-right:-24px;
    padding-right:24px;
  }
  .case-thought-v2 .thought-screen-track img{
    flex-basis:min(78vw,340px);
    width:min(78vw,340px);
  }
  .case-thought-v2 .thought-screen-gallery figcaption{grid-template-columns:64px 1fr}
}

/* V85 — authoritative mobile homepage hero: one vertical flow, no overlap. */
@media(max-width:700px){
  .v20-home.v41-home .v9-hero{
    min-height:auto !important;
    padding:34px 0 0 !important;
  }
  .v20-home.v41-home .v9-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:38px !important;
    min-height:0 !important;
    align-items:start !important;
  }
  .v20-home.v41-home .v9-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    align-self:start !important;
  }
  .v20-home.v41-home .v9-copy h1{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(43px,12.3vw,54px) !important;
    line-height:.94 !important;
    text-wrap:balance;
  }
  .v20-home.v41-home .v9-intro{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin-top:28px !important;
  }
  .v20-home.v41-home .v9-intro .v41-hero-lead{
    max-width:34ch;
    font-size:16px;
  }
  .v20-home.v41-home .v9-portrait{
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4 / 5;
    align-self:start !important;
  }
  .v20-home.v41-home .v9-portrait img[src$="profile-chad.jpeg"]{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:64% 50% !important;
  }
}

/* =========================================================
   V93 — quiet supporting motion
   Section content enters with a consistent editorial lift;
   the hero remains the only scroll-scrubbed composition.
   ========================================================= */
@media (prefers-reduced-motion:no-preference){
  .v43-home main > section:not(.v9-hero) .reveal{
    transform:translate3d(0,20px,0);
    transition-property:opacity,transform;
    transition-duration:.82s;
    transition-timing-function:cubic-bezier(.22,.72,.24,1);
  }
  .v43-home main > section:not(.v9-hero) .reveal.visible{
    transform:translate3d(0,0,0);
  }

  /* Work arrives as one composition, then the cards settle in sequence. */
  .v43-home .v19-head.reveal{
    transform:translate3d(0,26px,0);
    transition-duration:.95s;
  }
  .v43-home .v19-project.reveal{
    transform:translate3d(0,24px,0) scale(.992);
    transition-duration:.9s;
  }
  .v43-home .v19-project.reveal.visible{
    transform:translate3d(0,0,0) scale(1);
  }
  .v43-home .v19-project.p2{transition-delay:.07s}
  .v43-home .v19-project.p3{transition-delay:.14s}

  /* Narrative and principles use short, readable stagger—not spectacle. */
  .v43-home .v11-journey-copy.reveal{transition-duration:.95s}
  .v43-home .v16-journey.reveal{transition-delay:.08s}
  .v43-home .v41-leadership-grid article:nth-child(2){transition-delay:.08s}
  .v43-home .v41-leadership-grid article:nth-child(3){transition-delay:.16s}

  /* The mosaic assembles gently in reading order. */
  .v43-home .v41-photo.reveal{
    transform:translate3d(0,16px,0) scale(.994);
    transition-duration:.8s;
  }
  .v43-home .v41-photo.reveal.visible{
    transform:translate3d(0,0,0) scale(1);
  }
  .v43-home .v41-photo:nth-child(2),
  .v43-home .v41-photo:nth-child(5){transition-delay:.06s}
  .v43-home .v41-photo:nth-child(3),
  .v43-home .v41-photo:nth-child(6){transition-delay:.12s}
  .v43-home .v41-photo:nth-child(4),
  .v43-home .v41-photo:nth-child(7){transition-delay:.18s}
  .v43-home .v41-photo:nth-child(8){transition-delay:.24s}
}

@media (max-width:700px) and (prefers-reduced-motion:no-preference){
  .v43-home .v19-project.p2,
  .v43-home .v19-project.p3,
  .v43-home .v41-photo.reveal{
    transition-delay:0s;
  }
}
