@charset "utf-8";
/* ==========================================================================
   pages.css — per-page compositions. Every page has its own visual rhythm.
   ========================================================================== */

/* ==========================================================================
   A. GATE (index.html) — passcode only. No imagery, no footer, no chrome.
   ========================================================================== */
.gate{
  min-height:100vh;min-height:100svh;
  display:grid;
  grid-template-rows:1fr auto;
  background:var(--offwhite);
  position:relative;
  overflow:hidden;
}
.gate::before,.gate::after{
  content:"";position:absolute;background:var(--rule);pointer-events:none;
}
.gate::before{left:var(--gutter);top:0;bottom:0;width:1px}
.gate::after{right:var(--gutter);top:0;bottom:0;width:1px}
@media (max-width:640px){.gate::before,.gate::after{display:none}}

.gate__main{
  display:flex;align-items:center;
  padding:clamp(48px,9vh,120px) var(--gutter);
}
.gate__card{
  width:100%;max-width:var(--maxw);margin-inline:auto;
}
.gate__inner{
  max-width:430px;
  margin-left:clamp(0px,6vw,110px);
}
.gate__mark{
  display:flex;align-items:center;gap:12px;margin-bottom:clamp(22px,3.4vh,34px);
}
.gate__mark i{width:9px;height:9px;background:var(--clay);display:block;flex:none}
.gate__mark span{
  font-size:11.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--olive-ink);
}
.gate__rule{
  height:1px;background:var(--rule);
  width:calc(min(var(--maxw), 100vw - (var(--gutter) * 2)) - clamp(0px,6vw,110px));
  max-width:none;
  margin-bottom:clamp(30px,5vh,54px);
}
.gate__title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.1rem,5.4vw,3.05rem);line-height:1.04;letter-spacing:-.022em;
  color:var(--ink);
  font-variation-settings:"opsz" 100;
}
.gate__hint{
  margin-top:16px;font-size:14.5px;line-height:1.65;color:var(--olive-ink);max-width:34ch;
}
.gate__form{margin-top:clamp(30px,4.4vh,46px)}
.gate__field{position:relative;border-bottom:1px solid var(--rule-strong);transition:border-color .3s var(--ease)}
.gate__field:focus-within{border-bottom-color:var(--clay)}
.gate__label{
  display:block;font-size:10.5px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--olive-ink);margin-bottom:10px;
}
.gate__input{
  width:100%;border:0;background:transparent;outline:none;
  font-family:var(--display);font-size:clamp(1.3rem,3vw,1.65rem);font-weight:400;
  letter-spacing:.16em;color:var(--ink);
  padding:0 44px 13px 0;
  -webkit-appearance:none;appearance:none;border-radius:0;
  font-variation-settings:"opsz" 42;
}
.gate__input::placeholder{color:rgba(41,34,31,.26);letter-spacing:.3em}
.gate__toggle{
  position:absolute;right:0;bottom:10px;
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--olive-ink);padding:6px 2px;transition:color .25s;
}
.gate__toggle:hover{color:var(--clay-deep)}
.gate__actions{margin-top:30px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.gate__msg{
  min-height:22px;margin-top:18px;
  font-size:13px;letter-spacing:.03em;color:var(--clay-deep);line-height:1.5;
}
.gate__msg[data-state="idle"]{color:var(--olive-ink)}
.gate.is-wrong .gate__inner{animation:gateShake .42s var(--ease)}
@keyframes gateShake{
  0%,100%{transform:translateX(0)}
  22%{transform:translateX(-7px)}
  56%{transform:translateX(6px)}
  80%{transform:translateX(-3px)}
}
.gate__base{
  padding:22px var(--gutter) 26px;
  border-top:1px solid var(--rule);
}
.gate__base p{
  max-width:var(--maxw);margin-inline:auto;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-ink);
}
@media (prefers-reduced-motion:reduce){.gate.is-wrong .gate__inner{animation:none}}

/* ==========================================================================
   B. HOME — split architectural opening
   ========================================================================== */
.hero{padding-top:clamp(38px,4.6vw,70px);padding-bottom:clamp(46px,5.6vw,84px)}
.hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(30px,4.4vw,74px);
  align-items:start;
}
.hero__label{display:flex;align-items:center;gap:14px;margin-bottom:clamp(22px,2.6vw,34px)}
.hero__label i{width:26px;height:1px;background:var(--clay);flex:none;display:block}
.hero__name{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.55rem,6.6vw,5.35rem);
  line-height:.94;letter-spacing:-.03em;color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.hero__name em{
  display:block;font-style:normal;color:var(--clay);
}
.hero__rule{margin:clamp(26px,3vw,40px) 0 clamp(22px,2.6vw,32px);height:1px;background:var(--rule-strong)}
.hero__statement{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.28rem,2.15vw,1.92rem);line-height:1.34;letter-spacing:-.014em;
  color:var(--ink-soft);max-width:26ch;
  font-variation-settings:"opsz" 72;
}
.hero__intro{margin-top:clamp(22px,2.4vw,30px);max-width:44ch;color:var(--ink-soft)}
.hero__facts{
  margin-top:clamp(28px,3.2vw,42px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);
  border-top:1px solid var(--rule);padding-top:20px;
}
.hero__fact dt{
  font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--olive-ink);margin-bottom:7px;
}
.hero__fact dd{
  font-family:var(--display);font-size:clamp(.98rem,1.05vw,1.1rem);font-weight:500;
  line-height:1.35;color:var(--ink);
  font-variation-settings:"opsz" 24;
}
.hero__portrait{position:relative;padding-top:6px}
.hero__portrait .plate{max-width:520px;margin-left:auto}
.hero__portrait .plate__img{max-height:600px;margin-inline:auto}
.hero__stamp{
  position:absolute;left:0;bottom:-14px;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  color:var(--olive-ink);
}
@media (max-width:980px){
  .hero__grid{grid-template-columns:1fr;gap:clamp(30px,5vw,46px)}
  .hero__portrait .plate{max-width:440px;margin-inline:auto}
  .hero__stamp{display:none}
}
@media (max-width:520px){
  .hero__facts{grid-template-columns:1fr;gap:16px}
  .hero__fact{border-top:1px solid var(--rule);padding-top:14px}
  .hero__fact:first-child{border-top:0;padding-top:0}
}


/* Home — profile split */
.hprofile{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,4vw,72px)}
.hprofile__aside{position:relative}
.hprofile__quote{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.28;letter-spacing:-.016em;
  color:var(--clay-deep);
  font-variation-settings:"opsz" 72;
  border-left:2px solid var(--clay);padding-left:clamp(18px,2vw,28px);
}
@media (max-width:860px){.hprofile{grid-template-columns:1fr}}

/* Home — pillars (not cards: hairline columns) */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--rule-strong)}
.pillars__i{padding:clamp(24px,2.6vw,34px) clamp(18px,2vw,30px) clamp(30px,3.4vw,44px);border-right:1px solid var(--rule)}
.pillars__i:first-child{padding-left:0}
.pillars__i:last-child{border-right:0;padding-right:0}
.pillars__n{font-size:10.5px;font-weight:600;letter-spacing:.16em;color:var(--clay-deep);display:block;margin-bottom:16px}
.pillars__h{
  font-family:var(--display);font-size:clamp(1.08rem,1.35vw,1.3rem);font-weight:500;
  line-height:1.25;letter-spacing:-.01em;margin-bottom:11px;color:var(--ink);
  font-variation-settings:"opsz" 24;
}
.pillars__p{font-size:14.5px;line-height:1.66;color:var(--ink-soft)}
@media (max-width:1080px){
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillars__i{border-bottom:1px solid var(--rule)}
  .pillars__i:nth-child(2n){border-right:0;padding-right:0}
  .pillars__i:nth-child(2n+1){padding-left:0}
  .pillars__i:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:600px){
  .pillars{grid-template-columns:1fr}
  .pillars__i{border-right:0;padding-inline:0}
  .pillars__i:last-child{border-bottom:0}
}

/* Home — measure strip on ink */
.measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,40px)}
.measures__i{border-top:1px solid var(--rule-inv);padding-top:20px}
.measures__v{
  font-family:var(--display);font-weight:300;
  font-size:clamp(2.05rem,4vw,3.15rem);line-height:1;letter-spacing:-.028em;
  color:var(--parchment);
  font-variation-settings:"opsz" 144;
}
.measures__v sup{font-family:var(--sans);font-size:.3em;font-weight:500;vertical-align:.9em;letter-spacing:.02em;color:var(--sand);margin-left:.06em}
.measures__k{
  margin-top:12px;font-size:11px;font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(244,238,229,.7);line-height:1.6;
}
@media (max-width:860px){.measures{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}}
@media (max-width:420px){.measures{grid-template-columns:1fr}}

/* ==========================================================================
   C. ABOUT — portrait-led long-form editorial
   ========================================================================== */
.abt-open{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4.2vw,70px);align-items:end;
}
.abt-open__portrait .plate{max-width:440px}
.abt-open__portrait .plate__img{max-height:470px;margin-inline:auto}
.abt-open__title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.2rem,5.1vw,4.15rem);line-height:1.0;letter-spacing:-.028em;
  font-variation-settings:"opsz" 144;
}
@media (max-width:920px){
  .abt-open{grid-template-columns:1fr;align-items:start}
  .abt-open__portrait{order:2}
  .abt-open__portrait .plate{max-width:400px}
}

.abt-body{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);gap:clamp(28px,4vw,72px);align-items:start}
.abt-rail{position:sticky;top:calc(var(--nav-h) + 34px)}
@media (max-width:920px){
  .abt-body{grid-template-columns:1fr}
  .abt-rail{position:static}
}
.abt-chapter{border-top:1px solid var(--rule-strong);padding-top:16px;margin-top:clamp(42px,4.6vw,68px)}
.abt-chapter:first-of-type{margin-top:0}
.abt-chapter__no{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--clay-deep);display:block;margin-bottom:12px}

.pullq{
  margin:clamp(34px,4vw,54px) 0;
  padding:clamp(24px,3vw,36px) 0;
  border-top:1px solid var(--rule-mid);border-bottom:1px solid var(--rule-mid);
}
.pullq p{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.25rem,2.15vw,1.72rem);line-height:1.36;letter-spacing:-.014em;
  color:var(--clay-deep);max-width:30ch;
  font-variation-settings:"opsz" 72;
}
.pullq cite{
  display:block;margin-top:14px;font-style:normal;
  font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-ink);
}

/* ==========================================================================
   D. JOURNEY — typographic chapter system (no dots, no connecting line)
   ========================================================================== */
.jrn-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.68fr);gap:clamp(26px,4vw,64px);align-items:end}
@media (max-width:880px){.jrn-open{grid-template-columns:1fr;align-items:start}}

.chapter{
  border-top:1px solid var(--rule-strong);
  padding-top:clamp(20px,2.4vw,30px);
  padding-bottom:clamp(40px,4.6vw,72px);
  display:grid;
  grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);
  gap:clamp(22px,3.4vw,60px);
  align-items:start;
}
.chapter--flip .chapter__yearwrap{order:2}
.chapter--flip .chapter__body{order:1}
.chapter__yearwrap{position:relative}
.chapter__tag{
  font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--clay-deep);display:block;margin-bottom:10px;
}
.chapter__year{
  font-family:var(--display);font-weight:300;
  font-size:clamp(3.6rem,10.5vw,8.2rem);line-height:.86;letter-spacing:-.045em;
  color:var(--clay);
  font-variation-settings:"opsz" 144;
  word-break:keep-all;
}
.chapter__year--outline{
  color:transparent;
  -webkit-text-stroke:1px var(--clay);
}
@supports not ((-webkit-text-stroke:1px red)){
  .chapter__year--outline{color:var(--sand);-webkit-text-stroke:0}
}
.chapter__span{
  display:block;margin-top:14px;font-size:11px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--olive-ink);line-height:1.7;
  border-top:1px solid var(--rule);padding-top:12px;max-width:34ch;
}
.chapter__h{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.2;letter-spacing:-.018em;
  color:var(--ink);margin-bottom:16px;
  font-variation-settings:"opsz" 72;
}
.chapter__body p + p{margin-top:1.05em}
.chapter__body p{color:var(--ink-soft);max-width:58ch}
.chapter__note{
  margin-top:20px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:13px;color:var(--olive-ink);line-height:1.65;
}
.chapter__figure{margin-top:24px;max-width:250px}
.chapter__figure .plate__img{max-height:250px;margin-inline:auto}
@media (max-width:820px){
  .chapter{grid-template-columns:1fr;gap:18px}
  .chapter--flip .chapter__yearwrap{order:0}
  .chapter--flip .chapter__body{order:0}
  .chapter__span{max-width:none}
}

/* ==========================================================================
   E. WORK — asymmetric modular editorial grid
   ========================================================================== */
.wk-open{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,64px);align-items:end}
.wk-open__portrait .plate{max-width:390px;margin-left:auto}
.wk-open__portrait .plate__img{max-height:420px;margin-inline:auto}
@media (max-width:900px){
  .wk-open{grid-template-columns:1fr;align-items:start}
  .wk-open__portrait .plate{max-width:340px;margin-inline:0}
}

.modules{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0}
.module{
  border-top:1px solid var(--rule-strong);
  padding:clamp(20px,2.2vw,28px) clamp(18px,2vw,32px) clamp(30px,3.4vw,46px) 0;
  border-right:1px solid var(--rule);
}
.module--a{grid-column:span 7}
.module--b{grid-column:span 5;padding-left:clamp(18px,2vw,32px);border-right:0}
.module--c{grid-column:span 4}
.module--d{grid-column:span 4;padding-left:clamp(18px,2vw,32px)}
.module--e{grid-column:span 4;padding-left:clamp(18px,2vw,32px);border-right:0}
.module--f{grid-column:span 5}
.module--g{grid-column:span 7;padding-left:clamp(18px,2vw,32px);border-right:0}
.module__n{font-size:10.5px;font-weight:600;letter-spacing:.16em;color:var(--clay-deep);display:block;margin-bottom:16px}
.module__h{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.18rem,1.8vw,1.55rem);line-height:1.22;letter-spacing:-.014em;
  color:var(--ink);margin-bottom:13px;
  font-variation-settings:"opsz" 42;
}
.module__p{font-size:15px;line-height:1.68;color:var(--ink-soft)}
.module__p + .module__p{margin-top:.95em}
.module__list{margin-top:18px;border-top:1px solid var(--rule)}
.module__list li{
  padding:11px 0;border-bottom:1px solid var(--rule);
  font-size:14px;line-height:1.55;color:var(--ink-soft);
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;
}
.module__list li i{font-style:normal;color:var(--clay-deep);font-size:10.5px;font-weight:600;letter-spacing:.1em}
@media (max-width:1000px){
  .module--a,.module--b,.module--f,.module--g{grid-column:span 12}
  .module--c,.module--d,.module--e{grid-column:span 6}
  .module{border-right:0;padding-right:0;padding-left:0}
  .module--d{padding-left:clamp(18px,2vw,32px);border-left:1px solid var(--rule)}
  .module--b,.module--e,.module--g{padding-left:0}
}
@media (max-width:640px){
  .module--c,.module--d,.module--e{grid-column:span 12}
  .module--d{padding-left:0;border-left:0}
}

/* Work — geography strip */
.geo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--rule-strong)}
.geo__i{padding:22px clamp(14px,1.6vw,24px) 30px 0;border-right:1px solid var(--rule)}
.geo__i:last-child{border-right:0;padding-right:0}
.geo__c{
  font-family:var(--display);font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:500;
  color:var(--ink);letter-spacing:-.012em;line-height:1.2;margin-bottom:9px;
  font-variation-settings:"opsz" 24;
}
.geo__d{font-size:13px;line-height:1.6;color:var(--olive-ink)}
@media (max-width:1080px){
  .geo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .geo__i{border-bottom:1px solid var(--rule);padding-right:clamp(14px,1.6vw,24px)}
  .geo__i:nth-child(2n){border-right:0;padding-right:0}
  .geo__i:last-child{border-bottom:0}
}
@media (max-width:480px){
  .geo{grid-template-columns:1fr}
  .geo__i{border-right:0;padding-right:0}
}

/* ==========================================================================
   F. IMPACT — large statement + evidence-led sections
   ========================================================================== */
.imp-hero{padding-top:clamp(40px,5vw,74px)}
.imp-hero__t{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.85rem,4.55vw,3.75rem);line-height:1.1;letter-spacing:-.026em;
  color:var(--ink);max-width:19ch;
  font-variation-settings:"opsz" 144;
}
.imp-hero__t b{font-weight:400;color:var(--clay);font-style:normal}
.imp-hero__meta{
  margin-top:clamp(28px,3.4vw,46px);
  display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);
  gap:clamp(22px,3vw,54px);
  border-top:1px solid var(--rule-strong);padding-top:22px;
}
@media (max-width:760px){.imp-hero__meta{grid-template-columns:1fr;gap:20px}}

.imp-figure{margin-top:clamp(36px,4.4vw,64px)}
.imp-figure{max-width:1120px}
.imp-figure .plate__img{max-height:620px;margin-inline:auto}

.evidence{border-top:1px solid var(--rule-strong)}
.evidence__row{
  display:grid;
  grid-template-columns:auto minmax(0,.36fr) minmax(0,.64fr);
  gap:clamp(18px,3vw,52px);
  padding:clamp(24px,2.8vw,38px) 0;
  border-bottom:1px solid var(--rule);
  align-items:start;
}
.evidence__no{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--clay-deep);font-variant-numeric:tabular-nums;padding-top:6px}
.evidence__h{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.15rem,1.85vw,1.5rem);line-height:1.24;letter-spacing:-.014em;color:var(--ink);
  font-variation-settings:"opsz" 42;
}
.evidence__h span{
  display:block;margin-top:9px;font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--olive-ink);
}
.evidence__p{font-size:15.5px;line-height:1.7;color:var(--ink-soft)}
.evidence__p + .evidence__p{margin-top:.9em}
@media (max-width:820px){
  .evidence__row{grid-template-columns:auto minmax(0,1fr);row-gap:14px}
  .evidence__body{grid-column:1/-1}
}
@media (max-width:560px){
  .evidence__row{grid-template-columns:1fr;row-gap:10px}
  .evidence__no{padding-top:0}
}

.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.8vw,48px)}
.figures__i{border-top:1px solid var(--rule-inv);padding-top:20px}
.figures__v{
  font-family:var(--display);font-weight:300;
  font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.02;letter-spacing:-.026em;color:var(--parchment);
  font-variation-settings:"opsz" 144;
}
.figures__k{margin-top:12px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,238,229,.7);line-height:1.6}
.figures__s{margin-top:10px;font-size:13px;line-height:1.6;color:rgba(244,238,229,.62)}
@media (max-width:820px){.figures{grid-template-columns:1fr;gap:26px}}

/* ==========================================================================
   G. PERSPECTIVE — magazine / long-read article structure
   ========================================================================== */
.psp-head{
  padding-top:clamp(40px,5vw,78px);
  border-bottom:1px solid var(--rule-strong);
  padding-bottom:clamp(28px,3.4vw,46px);
}
.psp-head__t{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.15rem,5.6vw,4.6rem);line-height:1.0;letter-spacing:-.03em;color:var(--ink);
  max-width:15ch;
  font-variation-settings:"opsz" 144;
}
.psp-head__row{
  margin-top:clamp(26px,3vw,40px);
  display:flex;flex-wrap:wrap;gap:14px 40px;align-items:baseline;justify-content:space-between;
}
.psp-body{display:grid;grid-template-columns:minmax(0,.26fr) minmax(0,.74fr);gap:clamp(26px,4vw,72px);align-items:start}
.psp-toc{position:sticky;top:calc(var(--nav-h) + 34px);border-top:1px solid var(--rule-strong);padding-top:16px}
.psp-toc a{
  display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;
  padding:10px 0;border-bottom:1px solid var(--rule);
  font-size:13.5px;line-height:1.45;color:var(--ink-soft);
  transition:color .25s var(--ease);
}
.psp-toc a i{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--clay-deep)}
.psp-toc a:hover{color:var(--clay-deep)}
@media (max-width:940px){
  .psp-body{grid-template-columns:1fr}
  .psp-toc{position:static}
}
.article-sec{margin-top:clamp(44px,5vw,74px)}
.article-sec:first-child{margin-top:0}
.article-sec__h{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.45rem,2.6vw,2.05rem);line-height:1.16;letter-spacing:-.02em;color:var(--ink);
  border-top:1px solid var(--rule-strong);padding-top:18px;margin-bottom:20px;
  font-variation-settings:"opsz" 72;
}
.article-sec__h i{
  display:block;font-style:normal;font-family:var(--sans);font-size:10.5px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--clay-deep);margin-bottom:12px;
}
.principle{
  margin-top:26px;border-left:2px solid var(--sand);padding-left:clamp(18px,2vw,26px);
}
.principle h4{
  font-family:var(--display);font-size:1.12rem;font-weight:500;line-height:1.3;
  color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 24;
}
.principle p{font-size:15px;line-height:1.68;color:var(--ink-soft);max-width:60ch}

/* ==========================================================================
   H. CONTACT — minimal institutional composition
   ========================================================================== */
.ctc{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,5vw,90px);align-items:start;
}
@media (max-width:900px){.ctc{grid-template-columns:1fr}}
.ctc__t{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.3rem,5.8vw,4.4rem);line-height:1.0;letter-spacing:-.03em;color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.ctc-card{border-top:1px solid var(--rule-strong);padding-top:clamp(22px,2.4vw,30px)}
.ctc-card__name{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.15;letter-spacing:-.018em;color:var(--ink);
  font-variation-settings:"opsz" 72;
}
.ctc-card__role{margin-top:9px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-ink)}
.ctc-lines{margin-top:clamp(26px,3vw,38px)}
.ctc-line{
  display:grid;grid-template-columns:minmax(96px,132px) 1fr;gap:clamp(14px,2vw,28px);
  padding:18px 0;border-bottom:1px solid var(--rule);align-items:baseline;
}
.ctc-line:first-child{border-top:1px solid var(--rule)}
.ctc-line dt{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-ink);line-height:1.8}
.ctc-line dd a{
  font-family:var(--display);font-size:clamp(1.12rem,1.7vw,1.42rem);font-weight:500;
  letter-spacing:-.008em;color:var(--ink);line-height:1.35;
  background-image:linear-gradient(var(--clay),var(--clay));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .42s var(--ease),color .3s var(--ease);
  padding-bottom:2px;display:inline-block;word-break:break-word;
  font-variation-settings:"opsz" 24;
}
.ctc-line dd a:hover{color:var(--clay-deep);background-size:100% 1px}
.ctc-social{margin-top:clamp(30px,3.4vw,42px)}
.ctc-social .social__i{border-color:var(--rule-mid);color:var(--ink-soft)}
.ctc-social .social__i:hover{border-color:var(--clay);background:var(--clay);color:var(--white)}
@media (max-width:420px){
  .ctc-line{grid-template-columns:1fr;gap:6px}
}

/* ==========================================================================
   I. Component completions used by the page bodies
   ========================================================================== */

/* Home — explicit grid placements */
.hstate{grid-column:1/-1;margin-bottom:clamp(26px,3.2vw,44px)}
.hcol-a{grid-column:1/span 6}
.hcol-b{grid-column:7/span 6}
.pcol-a{grid-column:1/span 5}
.pcol-b{grid-column:7/span 6}
@media (max-width:900px){
  .hcol-a,.hcol-b,.pcol-a,.pcol-b{grid-column:1/-1}
  .pcol-a{margin-bottom:8px}
}
.btn-row{margin-top:clamp(26px,2.6vw,34px)}

/* Home — journey arc */
.arc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--rule-strong)}
.arc__i{padding:22px clamp(16px,2vw,30px) clamp(26px,3vw,38px) 0;border-right:1px solid var(--rule)}
.arc__i:last-child{border-right:0;padding-right:0}
.arc__y{
  display:block;font-family:var(--display);font-weight:300;
  font-size:clamp(1.85rem,3.2vw,2.65rem);line-height:1;letter-spacing:-.028em;
  color:var(--clay);margin-bottom:14px;
  font-variation-settings:"opsz" 144;
}
.arc__p{font-size:14.5px;line-height:1.65;color:var(--ink-soft)}
.arc__more{margin-top:clamp(24px,2.6vw,32px)}
@media (max-width:880px){
  .arc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arc__i{border-bottom:1px solid var(--rule);padding-right:clamp(16px,2vw,30px)}
  .arc__i:nth-child(2n){border-right:0;padding-right:0}
  .arc__i:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:470px){
  .arc{grid-template-columns:1fr}
  .arc__i{border-right:0;padding-right:0}
  .arc__i:last-child{border-bottom:0}
}

/* Home — note under the measures strip */
.imeasure-note{
  margin-top:clamp(34px,4vw,52px);padding-top:24px;border-top:1px solid var(--rule-inv);
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(20px,3vw,48px);
  align-items:end;
}
.imeasure-note p{color:rgba(244,238,229,.86);max-width:62ch;line-height:1.7}
.imeasure-note p:last-child{justify-self:end;text-align:right;max-width:none}
@media (max-width:760px){
  .imeasure-note{grid-template-columns:1fr;align-items:start}
  .imeasure-note p:last-child{justify-self:start;text-align:left}
}

/* About */
.abt-open__lede{margin-top:clamp(22px,2.6vw,32px)}
.rail-h{margin-bottom:16px;display:block}
.abt-h{margin-bottom:.62em}
.abt-list{margin-top:0}
.abt-list li span{color:var(--ink-soft)}

/* Journey / Work / Perspective — heading spacing */
.jrn-open__t{margin-top:clamp(18px,2.2vw,26px)}
.wk-open__t{margin-top:clamp(18px,2.2vw,26px)}
.wk-open__l{margin-top:clamp(22px,2.6vw,32px)}
.prose--gap{margin-top:1.7em}
.psp-head__note{max-width:56ch}

/* Impact — figure units, second figure row */
.figures__u{font-family:var(--sans);font-size:.34em;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);vertical-align:.55em;margin-left:.2em}
.figures + .figures{margin-top:clamp(28px,3.4vw,48px)}

/* Contact */
.ctc__l{margin-top:clamp(22px,2.6vw,32px)}
.ctc__p{margin-top:1.3em}
.ctc-card__eyebrow{margin-bottom:16px;display:block}
.ctc-card__cta{margin-top:clamp(28px,3.2vw,38px)}
.ctc-social__h{margin-bottom:14px;display:block}

.enq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule-strong)}
.enq__i{padding:24px clamp(18px,2.2vw,34px) clamp(28px,3.2vw,42px) 0;border-right:1px solid var(--rule)}
.enq__i:last-child{border-right:0;padding-right:0}
.enq__n{display:block;font-size:10.5px;font-weight:600;letter-spacing:.18em;color:var(--clay-deep);margin-bottom:16px}
.enq__h{
  font-family:var(--display);font-size:clamp(1.1rem,1.5vw,1.32rem);font-weight:500;
  line-height:1.24;letter-spacing:-.012em;color:var(--ink);margin-bottom:11px;
  font-variation-settings:"opsz" 24;
}
.enq__p{font-size:14.5px;line-height:1.66;color:var(--ink-soft)}
@media (max-width:820px){
  .enq{grid-template-columns:1fr}
  .enq__i{border-right:0;padding-right:0;border-bottom:1px solid var(--rule)}
  .enq__i:last-child{border-bottom:0}
}

.ctc-links{
  margin-top:clamp(30px,3.4vw,44px);padding-top:20px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:12px clamp(22px,3vw,44px);
}
.ctc-links li{font-size:14.5px}

/* Footer helper */
.foot__ctat{color:rgba(244,238,229,.72);margin-bottom:20px;max-width:28ch}
.foot__cta .foot__ctat{margin-left:auto}
@media (max-width:820px){.foot__cta .foot__ctat{margin-left:0}}

/* ==========================================================================
   J. Inversion — anything placed on the ink band stays legible
   ========================================================================== */
.ink-band .d1,.ink-band .d2,.ink-band .d3,.ink-band .d4,
.ink-band .statement,.ink-band h1,.ink-band h2,.ink-band h3,.ink-band h4{color:var(--parchment)}
.ink-band .lede,.ink-band .prose p,.ink-band p{color:rgba(244,238,229,.86)}
.ink-band .caption,.ink-band .meta{color:rgba(244,238,229,.68)}
.ink-band .rule{background:var(--rule-inv)}
.ink-band .rule-strong{background:rgba(244,238,229,.4)}
.ink-band .onward{border-top-color:rgba(244,238,229,.4)}
.ink-band .onward a.onward__go{color:var(--parchment)}
.ink-band .onward a.onward__go em{color:var(--sand)}
.ink-band .onward a.onward__go:hover{color:var(--sand)}
.ink-band .onward a.onward__go .u{background-image:linear-gradient(var(--sand),var(--sand))}
.ink-band .tlink{color:var(--sand)}
.ink-band .tlink:hover{color:var(--parchment)}
.ink-band .btn{border-color:rgba(244,238,229,.5);color:var(--parchment)}
.ink-band .btn::before{background:var(--parchment)}
.ink-band .btn:hover{color:var(--ink);border-color:var(--parchment)}
.ink-band .ledger{border-top-color:rgba(244,238,229,.4)}
.ink-band .ledger__row{border-bottom-color:var(--rule-inv)}
.ink-band .ledger__k{color:rgba(244,238,229,.66)}
.ink-band .ledger__v{color:var(--parchment)}
.ink-band .ledger__v small{color:rgba(244,238,229,.66)}
.ink-band :focus-visible{outline-color:var(--sand)}
