:root {
  --ink: #173D4A;
  --ink-2: #102B35;
  --bone: #F4F2EC;
  --paper: #FFFDF8;
  --gold: #C09B4C;
  --gold-light: #E5D4A8;
  --red: #D7263D;
  --pink: #E6528C;
  --pink-light: #F7C5D7;
  --teal: #4E8580;
  --mist: #EDEAE1;
  --graphite: #2a3437;
  --rule: rgba(23,61,74,.24);
  --serif: "Bodoni Moda", Didot, serif;
  --sans: "Manrope", Arial, sans-serif;
  --mono: "IBM Plex Mono", monospace;
  --pad: clamp(1.2rem, 3.8vw, 4.8rem);
  --max: 1600px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--bone); font: 16px/1.58 var(--sans); text-rendering:optimizeLegibility; }
a { color:inherit; text-underline-offset:.22em; }
img { display:block; max-width:100%; }
::selection { background:var(--pink); color:white; }
.shell { width:min(100%,var(--max)); margin:auto; padding-inline:var(--pad); }
.skip { position:fixed; left:1rem; top:-6rem; z-index:99; background:white; padding:.7rem 1rem; }
.skip:focus { top:1rem; }
.micro { margin:0; font:500 .66rem/1.35 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.micro b { color:var(--gold); font-weight:500; }
.site-header { position:absolute; z-index:20; inset:0 0 auto; color:var(--bone); }
.header-inner { min-height:78px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:2.5rem; }
.brand { text-decoration:none; font:500 .88rem var(--mono); letter-spacing:.04em; }
.nav { display:flex; gap:clamp(1.1rem,2.4vw,2.8rem); }
.nav a,.contact-link { text-decoration:none; font:500 .67rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.contact-link { padding:.5rem .7rem; background:var(--bone); color:var(--ink); box-shadow:0 5px 0 var(--pink); }
.hero { min-height:100svh; display:grid; grid-template-columns:minmax(25rem,42%) 1fr; background:var(--ink); color:var(--bone); }
.hero-copy { padding:clamp(8rem,14vh,11rem) var(--pad) clamp(2.5rem,6vh,5rem); display:flex; flex-direction:column; justify-content:space-between; }
.hero h1 { margin:2rem 0; max-width:8ch; font:400 clamp(4rem,7.4vw,8.8rem)/.82 var(--serif); letter-spacing:-.065em; }
.hero h1 i { display:block; color:var(--gold-light); font-weight:400; }
.hero-deck { max-width:35ch; margin:0; font-size:clamp(1.05rem,1.35vw,1.35rem); line-height:1.4; }
.hero-foot { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:end; padding-top:2rem; border-top:1px solid rgba(241,238,229,.28); }
.hero-foot a { font:500 .67rem var(--mono); text-transform:uppercase; letter-spacing:.1em; text-decoration:none; }
.hero-art { position:relative; min-height:100svh; overflow:hidden; }
.hero-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% center; }
.hero-art::after { content:""; position:absolute; inset:0; box-shadow:inset 1px 0 rgba(241,238,229,.2); pointer-events:none; }
.art-caption { position:absolute; z-index:2; bottom:1rem; right:1rem; padding:.55rem .7rem; background:rgba(251,250,246,.88); color:var(--ink); backdrop-filter:blur(10px); }
.thesis { padding-block:clamp(6rem,13vw,13rem); background:var(--paper); }
.thesis-grid { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.thesis h2 { margin:0; max-width:15ch; font:400 clamp(3.2rem,7vw,8rem)/.9 var(--serif); letter-spacing:-.055em; }
.thesis .micro b { color:var(--pink); }
.thesis h2 span { color:var(--red); }
.thesis-notes { margin-top:clamp(4rem,8vw,8rem); display:grid; grid-template-columns:1fr 1fr; gap:2rem; border-top:1px solid var(--rule); padding-top:1.25rem; }
.thesis-notes p { margin:0; max-width:34ch; }
.thesis-notes p:first-child { font-size:clamp(1.15rem,1.7vw,1.55rem); line-height:1.42; }
.thesis-notes p:last-child { color:rgba(23,61,74,.7); }
.framework { padding-block:clamp(5rem,10vw,10rem); background:var(--mist); border-top:12px solid transparent; border-image:linear-gradient(90deg,var(--gold) 0 38%,var(--red) 38% 55%,var(--pink) 55% 70%,var(--ink) 70% 100%) 1; overflow:hidden; }
.framework .micro b { color:var(--red); }
.framework-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); margin-bottom:clamp(4rem,8vw,8rem); }
.framework h2 { margin:0; max-width:17ch; font:400 clamp(3rem,6.2vw,6.8rem)/.92 var(--serif); letter-spacing:-.05em; }
.framework-intro { margin:1.5rem 0 0; max-width:52ch; font-size:1.08rem; }
.system-map { display:grid; grid-template-columns:minmax(18rem,.8fr) minmax(34rem,2fr); grid-template-rows:auto 1fr auto; margin-top:clamp(4rem,7vw,7rem); border:1px solid var(--ink); background:var(--paper); }
.system-map-title { grid-column:1/-1; display:flex; justify-content:space-between; gap:2rem; padding:.85rem 1rem; border-bottom:1px solid var(--ink); font:500 .63rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.system-map-title small { color:rgba(23,61,74,.58); font:inherit; }
.system-outcome { grid-column:1; grid-row:2; min-height:34rem; padding:clamp(1.5rem,3vw,3rem); background:var(--ink); color:white; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--ink); }
.system-outcome span { margin-bottom:auto; color:var(--gold-light); font:500 .63rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.system-outcome strong { max-width:7ch; font:400 clamp(3rem,5vw,6rem)/.88 var(--serif); letter-spacing:-.055em; }
.system-outcome p { max-width:28ch; margin:1.5rem 0 0; color:rgba(255,255,255,.72); }
.system-domains { grid-column:2; grid-row:2; }
.system-domains article { min-height:6.8rem; display:grid; grid-template-columns:3rem minmax(11rem,.8fr) 1.4fr; align-items:center; gap:1.25rem; padding:1.2rem clamp(1.2rem,2.2vw,2.2rem); border-bottom:1px solid var(--rule); transition:background .25s ease,padding .25s ease; }
.system-domains article:last-child { border-bottom:0; }
.system-domains article:hover { background:var(--mist); padding-left:calc(clamp(1.2rem,2.2vw,2.2rem) + .5rem); }
.system-domains span { color:var(--red); font:500 .63rem var(--mono); letter-spacing:.08em; }
.system-domains article:nth-child(2) span,.system-domains article:nth-child(5) span { color:#A64169; }
.system-domains article:nth-child(3) span { color:#8F7134; }
.system-domains h3 { margin:0; font:500 clamp(1.25rem,1.8vw,1.8rem)/1 var(--serif); }
.system-domains p { margin:0; max-width:38ch; color:rgba(23,61,74,.68); font-size:.88rem; }
.system-spine { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); background:var(--gold-light); border-top:1px solid var(--ink); }
.system-spine span { padding:.8rem 1rem; border-right:1px solid rgba(23,61,74,.28); text-align:center; font:500 .62rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.system-spine span:last-child { border-right:0; }
.framework-foot { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:1.25rem; }
.framework-foot p { margin:0; max-width:50ch; }.framework-foot p:last-child { justify-self:end; color:rgba(23,61,74,.68); }
.change { background:var(--ink); color:var(--bone); padding-block:clamp(5rem,10vw,10rem); }
.change .micro b { color:var(--pink); }
.change-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.change h2 { margin:0; max-width:16ch; font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif); letter-spacing:-.05em; }
.change h2 em { color:var(--gold-light); font-weight:400; }
.change-model { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(4rem,8vw,8rem); border-top:1px solid rgba(241,238,229,.28); }
.change-model article { min-height:30rem; padding:1.2rem 2rem 2rem 0; border-right:1px solid rgba(241,238,229,.28); display:flex; flex-direction:column; justify-content:flex-start; overflow:hidden; }
.change-model article + article { padding-left:2rem; }.change-model article:last-child { border-right:0; }
.change-model .number { font:400 clamp(10.5rem,17.5vw,19.25rem)/.8 var(--serif); letter-spacing:-.08em; color:var(--gold); }
.change-model article:nth-child(2) .number { color:var(--pink); }
.change-model article:nth-child(3) .number { color:#ff5369; }
.change-model h3 { margin:.65rem 0 1rem; font:500 clamp(1.8rem,2.6vw,2.7rem)/1 var(--serif); }
.change-model p { margin:0; max-width:32ch; color:rgba(241,238,229,.68); }
.evidence { padding-block:clamp(5rem,10vw,9rem); background:var(--gold-light); }
.evidence .micro b { color:var(--ink); }
.evidence-intro { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.evidence h2 { margin:0; max-width:11ch; font:400 clamp(3.5rem,7vw,7.6rem)/.86 var(--serif); letter-spacing:-.06em; }
.evidence-intro > div > p { max-width:48ch; margin:1.5rem 0 0; font-size:1.05rem; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(4rem,8vw,7rem); border-block:1px solid var(--ink); }
.metrics article { min-height:15rem; padding:1.2rem 1.5rem 1.5rem 0; border-right:1px solid var(--ink); display:flex; flex-direction:column; justify-content:space-between; }
.metrics article + article { padding-left:1.5rem; }.metrics article:last-child { border-right:0; }
.metrics strong { font:400 clamp(2.8rem,5.2vw,6.2rem)/.85 var(--serif); letter-spacing:-.055em; }
.metrics article:nth-child(2) strong { color:var(--paper); }.metrics article:nth-child(3) strong { color:var(--red); }.metrics article:nth-child(4) strong { color:var(--ink); }
.metrics small { max-width:18ch; font:500 .68rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.proof-details { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,4vw,4rem); margin-top:3rem; }
.proof-details article { border-top:1px solid var(--ink); padding-top:1rem; }.proof-details span { font:500 .63rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }.proof-details h3 { margin:2rem 0 .75rem; font:500 clamp(1.5rem,2.2vw,2.2rem)/1 var(--serif); }.proof-details p { margin:0; max-width:40ch; }
.voices { padding-block:clamp(5rem,10vw,10rem); background:var(--ink); color:var(--paper); }
.voices .micro b { color:var(--pink); }
.voices-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.voices h2 { margin:0; max-width:15ch; font:400 clamp(3.2rem,6vw,6.5rem)/.9 var(--serif); letter-spacing:-.055em; }
.quote-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(2rem,6vw,7rem); margin-top:clamp(4rem,8vw,8rem); }
.voice { margin:0; padding:2.2rem 0 3rem; border-top:1px solid rgba(255,255,255,.32); }
.voice-feature { grid-column:1/-1; display:grid; grid-template-columns:2.25fr 1fr; gap:clamp(2rem,8vw,10rem); border-top-color:var(--gold); }
.voice-short { grid-column:1/-1; border-top-color:var(--pink); }
.voice blockquote { margin:0; max-width:46ch; font:400 clamp(1.45rem,2.1vw,2.25rem)/1.28 var(--serif); }
.voice-feature blockquote { max-width:38ch; font-size:clamp(2rem,3.3vw,4rem); line-height:1.14; }
.voice figcaption { margin-top:2rem; color:var(--gold-light); font:500 clamp(2.4rem,3.8vw,4.5rem)/.98 var(--serif); letter-spacing:-.04em; text-transform:none; }
.voice-feature figcaption { margin-top:.35rem; }.voice figcaption span { display:block; margin-top:.75rem; color:rgba(255,255,255,.58); font:500 .69rem/1.5 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.about { padding-block:clamp(5rem,10vw,10rem); background:var(--paper); }
.about-grid { display:grid; grid-template-columns:minmax(300px,.9fr) 1.4fr; gap:clamp(3rem,9vw,11rem); align-items:start; }
.portrait { margin:0; border-top:12px solid var(--pink); }.portrait img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.portrait figcaption { display:flex; justify-content:space-between; gap:1rem; padding-top:.75rem; border-top:1px solid var(--rule); margin-top:.75rem; font:500 .62rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.profile h2 { margin:1rem 0 2.5rem; max-width:12ch; font:400 clamp(3.2rem,6vw,6.5rem)/.9 var(--serif); letter-spacing:-.055em; }
.profile > .micro b { color:var(--red); }
.profile .lede { font:400 clamp(1.4rem,2.2vw,2.05rem)/1.28 var(--serif); }.profile p { max-width:62ch; }
.profile h3 { margin:3.5rem 0 1rem; font:500 .68rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.career { list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }.career li { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--rule); }.career span { color:#8F7134; font:500 .63rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.career li:nth-child(2) span,.career li:nth-child(5) span { color:var(--pink); }.career li:nth-child(3) span { color:var(--red); }.career li:nth-child(4) span { color:var(--teal); }
.start { padding-block:clamp(6rem,12vw,12rem); background:linear-gradient(90deg,var(--red) 0 7px,var(--pink) 7px 14px,var(--gold) 14px 21px,var(--ink) 21px); color:white; }
.start .micro b { color:var(--pink); }
.start-grid { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }.start h2 { margin:0; max-width:10ch; font:400 clamp(4rem,8vw,9rem)/.84 var(--serif); letter-spacing:-.065em; }.start p { max-width:44ch; font-size:1.08rem; color:rgba(255,255,255,.78); }.start a { display:inline-block; margin-top:2rem; color:white; font:500 .7rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.site-footer { background:var(--ink); color:white; }.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; padding-block:1.5rem; border-top:1px solid rgba(255,255,255,.35); font:500 .61rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }.footer-inner p { margin:0; }.footer-inner p:last-child { text-align:right; }
.text-link { display:inline-block; margin-top:1.5rem; font:500 .68rem var(--mono); letter-spacing:.09em; text-transform:uppercase; text-decoration-thickness:1px; }

/* Movement and engagement */
.practice-ribbon { overflow:hidden; background:var(--red); color:white; border-block:1px solid var(--ink); }
.ribbon-track { width:max-content; display:flex; align-items:center; gap:2.2rem; padding:.85rem 0; animation:ribbon-move 34s linear infinite; font:500 .67rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.ribbon-track i { color:var(--gold-light); font-style:normal; }
@keyframes ribbon-move { to { transform:translateX(-50%); } }
.energy-map { padding-block:clamp(2.5rem,5vw,5rem); background:var(--paper); border-top:1px solid var(--rule); }
.energy-map .shell { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); align-items:center; }
.energy-map .micro b { color:var(--red); }
.energy-flow { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(1rem,3vw,3rem); }
.energy-states,.energy-actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.energy-states span,.energy-actions span,.energy-actions strong { padding:.55rem .75rem; border:1px solid var(--rule); font:500 .64rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.energy-states span { opacity:.6; text-decoration:line-through; text-decoration-color:var(--red); }
.energy-actions strong { background:var(--ink); color:white; border-color:var(--ink); }
.energy-arrow { color:var(--pink); font:400 2.4rem var(--serif); }

/* Specific reasons to engage */
.moments { padding-block:clamp(5rem,10vw,10rem); background:var(--paper); }
.moments-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.moments .micro b { color:var(--red); }
.moments h2 { margin:0; max-width:16ch; font:400 clamp(3rem,6.2vw,6.8rem)/.92 var(--serif); letter-spacing:-.055em; }
.moments h2 em { color:var(--pink); font-weight:400; }
.moment-list { list-style:none; margin:clamp(4rem,8vw,8rem) 0 0; padding:0; border-top:1px solid var(--ink); }
.moment-list li { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); align-items:start; padding:1.4rem 0; border-bottom:1px solid var(--rule); transition:background .25s ease,padding .25s ease; }
.moment-list li:hover { background:var(--mist); padding-inline:1rem; }
.moment-list span { color:var(--red); font:500 .65rem var(--mono); letter-spacing:.1em; }
.moment-list p { margin:0; max-width:48ch; font:400 clamp(1.4rem,2.2vw,2.25rem)/1.25 var(--serif); }

/* Evidence builds to a fifth-beat conclusion */
.metrics { grid-template-columns:repeat(4,1fr); position:relative; }
.metrics::before { content:""; position:absolute; left:0; right:0; top:-4px; height:4px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform 1.5s cubic-bezier(.2,.7,.2,1); }
.metrics article { opacity:.18; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.metrics.is-live::before { transform:scaleX(1); }
.metrics.is-live article { opacity:1; transform:none; }
.metrics.is-live article:nth-child(2){transition-delay:.18s}.metrics.is-live article:nth-child(3){transition-delay:.36s}.metrics.is-live article:nth-child(4){transition-delay:.54s}.metrics.is-live article:nth-child(5){transition-delay:.78s}
.metrics .metric-punch { grid-column:1/-1; min-height:auto; display:grid; grid-template-columns:.75fr 2.1fr 1fr; align-items:center; gap:2rem; padding:2.2rem 0; border-right:0; border-top:1px solid var(--ink); background:var(--ink); color:white; margin-inline:calc(-1 * var(--pad)); padding-inline:var(--pad); }
.metric-punch > span { color:var(--pink); font:500 .64rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.metrics .metric-punch strong { max-width:19ch; color:var(--gold-light); font-size:clamp(2rem,4vw,4.8rem); line-height:.92; }
.metrics .metric-punch small { max-width:28ch; color:rgba(255,255,255,.7); }

/* Testimonials rotate, while remaining fully accessible in the DOM */
.testimonial-rotator { margin-top:clamp(4rem,8vw,8rem); border-top:1px solid var(--gold); }
.rotator-stage { position:relative; min-height:clamp(35rem,48vw,47rem); }
.rotator-stage .voice { position:absolute; inset:0; padding:clamp(2rem,4vw,4rem) 0; display:grid; grid-template-columns:2.25fr 1fr; gap:clamp(2rem,8vw,10rem); opacity:0; visibility:hidden; transform:translateX(24px); transition:opacity .6s ease,transform .6s ease,visibility 0s .6s; border:0; }
.rotator-stage .voice.is-active { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.rotator-stage .voice blockquote { max-width:38ch; font-size:clamp(1.8rem,3.1vw,3.65rem); line-height:1.14; }
.rotator-stage .voice:nth-child(2) blockquote { font-size:clamp(1.65rem,2.8vw,3.3rem); }
.keep-together { white-space:nowrap; }
.quote-highlight { padding:0; background:transparent; color:inherit; }
.quote-highlight-pink { color:#FF4FA3; }
.quote-highlight-red { color:#FF4058; }
.rotator-stage .voice figcaption { align-self:start; margin-top:.35rem; }
.rotator-controls { display:flex; align-items:center; gap:.75rem; padding:1rem 0; border-top:1px solid rgba(255,255,255,.28); }
.rotator-controls button { appearance:none; border:1px solid rgba(255,255,255,.42); background:transparent; color:white; min-width:2.35rem; min-height:2.35rem; cursor:pointer; font:500 .67rem var(--mono); text-transform:uppercase; }
.rotator-controls button:hover,.rotator-controls button:focus-visible { background:var(--pink); border-color:var(--pink); }
.rotator-dots { display:flex; gap:.45rem; }
.rotator-dots button { min-width:.65rem; min-height:.65rem; width:.65rem; height:.65rem; padding:0; border-radius:50%; }
.rotator-dots button.is-active { background:var(--gold); border-color:var(--gold); }
.rotator-controls .pause { margin-left:auto; padding-inline:.8rem; }
.rotator-progress { height:3px; background:rgba(255,255,255,.18); overflow:hidden; }
.rotator-progress span { display:block; height:100%; background:var(--pink); transform-origin:left; animation:quote-progress 10s linear infinite; }
.testimonial-rotator.is-paused .rotator-progress span { animation-play-state:paused; }
@keyframes quote-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }

/* Partnership */
.partnership { padding-block:clamp(5rem,10vw,10rem); background:var(--mist); border-top:10px solid var(--pink); }
.partnership-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.partnership .micro b { color:var(--red); }
.partnership h2 { margin:0; max-width:15ch; font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif); letter-spacing:-.055em; }
.partnership-head p:not(.micro) { max-width:52ch; font-size:1.08rem; }
.strand-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--ink); margin-top:clamp(4rem,8vw,7rem); border:1px solid var(--ink); }
.strand-grid article { min-height:25rem; padding:clamp(1.5rem,3vw,3rem); background:var(--paper); display:flex; flex-direction:column; }
.strand-grid span { font:500 .64rem var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--red); }
.strand-grid article:nth-child(2) span { color:#A64169; }
.strand-grid h3 { margin:auto 0 1rem; max-width:12ch; font:500 clamp(2rem,3vw,3.5rem)/1 var(--serif); }
.strand-grid p { margin:0; max-width:42ch; }
.partnership-link { display:block; width:max-content; margin:1.5rem 0 0 auto; }

/* Framework detail page */
.inner-header { position:relative; background:var(--ink); }
.framework-hero { padding:clamp(5rem,10vw,10rem) 0 clamp(6rem,12vw,13rem); background:var(--ink); color:white; }
.framework-hero-grid,.framework-close-grid { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.framework-hero .micro b { color:var(--gold); }
.framework-hero h1 { margin:0; max-width:12ch; font:400 clamp(4rem,8vw,9rem)/.84 var(--serif); letter-spacing:-.065em; }
.framework-hero h1 i { color:var(--pink); font-weight:400; }
.framework-hero .lede { max-width:48ch; font-size:clamp(1.15rem,1.8vw,1.5rem); color:rgba(255,255,255,.76); }
.framework-page-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.framework-page-head h2 { margin:0; max-width:16ch; font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif); letter-spacing:-.055em; }
.framework-problem,.two-strands,.last-method,.leadership-questions,.outcome-lenses { padding-block:clamp(5rem,10vw,10rem); }
.framework-problem { background:var(--paper); }
.two-strands { background:var(--mist); }
.last-method { background:var(--gold-light); }
.leadership-questions { background:var(--paper); }
.outcome-lenses { background:var(--ink); color:white; }
.five-states { display:grid; grid-template-columns:repeat(5,1fr); margin-top:clamp(4rem,7vw,7rem); border:1px solid var(--ink); }
.five-states article { min-height:18rem; padding:1rem; border-right:1px solid var(--ink); }
.five-states article:last-child { border-right:0; }
.five-states span,.question-grid span,.outcomes-grid span,.strand-grid span { font:500 .63rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.five-states h3 { margin:5rem 0 .8rem; font:500 clamp(1.5rem,2vw,2.2rem) var(--serif); }
.framework-quote { margin:clamp(4rem,8vw,8rem) 0 0 auto; max-width:25ch; color:var(--red); font:400 clamp(2.4rem,4.5vw,5.2rem)/1 var(--serif); }
.strands-title { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); align-items:start; }
.strands-title h2 { margin:0; max-width:11ch; color:var(--red); font:400 clamp(4.5rem,9vw,10rem)/.82 var(--serif); letter-spacing:-.065em; }
.strands-thesis { grid-column:2; margin:0; max-width:28ch; font:400 clamp(1.7rem,3vw,3.4rem)/1.05 var(--serif); }
.feedback-loop { position:relative; display:grid; grid-template-columns:1fr minmax(13rem,.8fr) 1fr; align-items:stretch; gap:1px; margin-top:1px; padding:1px; background:var(--ink); border:0; font:500 .67rem/1.45 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.feedback-loop span,.feedback-loop b { min-height:8rem; padding:1.4rem; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--paper); }
.feedback-loop span:first-child::after { content:"→"; margin-left:1rem; color:var(--pink); font-size:1.6rem; }
.feedback-loop span:last-child::before { content:"←"; margin-right:1rem; color:var(--pink); font-size:1.6rem; }
.feedback-loop b { background:var(--ink); color:var(--gold-light); font-weight:500; }
.feedback-loop .infinity-loop { color:var(--gold-light); font:400 clamp(4.5rem,7vw,7.5rem)/1 var(--serif); letter-spacing:0; }
.feedback-loop-framework { margin-top:0; }
.last-method .framework-page-head .micro { font-size:clamp(.95rem,1.15vw,1.15rem); line-height:1.45; letter-spacing:.07em; }
.last-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(2rem,4vw,4rem); border-block:1px solid var(--ink); }
.last-grid article { min-height:0; padding:clamp(1.25rem,2vw,2rem); border-right:1px solid var(--ink); display:grid; grid-template-rows:auto auto 1fr; align-content:start; }
.last-grid article:last-child { border:0; }
.last-grid b { font:400 clamp(4rem,7vw,8rem)/1 var(--serif); color:var(--ink); }
.last-grid article:nth-child(2) b,.last-grid article:nth-child(4) b { color:var(--red); }
.last-grid h3 { margin:.75rem 0 1rem; font:500 clamp(1.55rem,2.2vw,2.45rem)/1.05 var(--serif); }
.last-grid p { margin:0; }
.method-note { text-align:center; margin:clamp(1.75rem,3vw,3rem) auto 0; max-width:58ch; font:500 clamp(.95rem,1.2vw,1.15rem)/1.5 var(--mono); letter-spacing:.055em; text-transform:uppercase; }
.question-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); margin-top:clamp(4rem,7vw,7rem); }
.question-grid article { min-height:16rem; padding:1.5rem; background:var(--paper); }
.question-grid span { color:var(--red); }
.question-grid p { margin:4rem 0 0; font:400 clamp(1.25rem,1.8vw,1.75rem)/1.25 var(--serif); }
.outcomes-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(4rem,7vw,7rem); border-block:1px solid rgba(255,255,255,.35); }
.outcomes-grid article { min-height:22rem; padding:1.5rem; border-right:1px solid rgba(255,255,255,.35); }
.outcomes-grid article:last-child { border:0; }
.outcomes-grid span { color:var(--pink); }
.outcomes-grid h3 { margin:7rem 0 1rem; font:500 clamp(1.6rem,2.4vw,2.7rem)/1 var(--serif); }
.outcomes-grid p { color:rgba(255,255,255,.7); }
.roi-chain { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem; margin-top:3rem; font:500 .67rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.roi-chain i { color:var(--pink); }
.roi-chain strong { color:var(--gold-light); }
.framework-close { padding-block:clamp(6rem,12vw,12rem); background:linear-gradient(90deg,var(--red) 0 7px,var(--pink) 7px 14px,var(--gold) 14px 21px,var(--bone) 21px); }
.framework-close h2 { margin:0; max-width:15ch; font:400 clamp(3.5rem,7vw,7.5rem)/.9 var(--serif); letter-spacing:-.06em; }
.framework-close p:not(.micro) { max-width:55ch; }
.framework-close a { display:inline-block; margin-top:2rem; font:500 .7rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }

/* Restored narrative architecture */
.home-page main > section:not(.hero) .micro { font-size:1.32rem; line-height:1.25; letter-spacing:.065em; }
.story-shift,.real-problem,.leader-moments,.proof-section,.partner-outcome,.method-zone { padding-block:clamp(5rem,10vw,10rem); }
.story-shift { background:var(--paper); }
.story-narrow { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.story-shift .micro b,.real-problem .micro b,.leader-moments .micro b,.proof-section .micro b,.partner-outcome .micro b,.method-zone .micro b { color:var(--red); }
.shift-lead { grid-column:2; max-width:17ch; margin:0; font:400 clamp(2.25rem,4.8vw,5.25rem)/.95 var(--serif); letter-spacing:-.05em; }
.story-columns { grid-column:2; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,6rem); margin-top:clamp(1.5rem,3vw,3rem); padding-top:1rem; border-top:1px solid var(--rule); }
.story-columns p { max-width:38ch; margin:0; }
.story-columns p:first-child { font-size:clamp(1.2rem,1.7vw,1.55rem); }
.split-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.real-problem { background:var(--gold-light); }
.real-problem h2,.leader-moments h2,.proof-head h2,.method-title h2 { margin:0; max-width:16ch; font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif); letter-spacing:-.055em; }
.real-problem h2 em { color:var(--paper); font-weight:400; }
.real-problem .lede { max-width:62ch; margin:2.5rem 0 0; font-size:clamp(1.15rem,1.7vw,1.55rem); }
.leader-moments { background:var(--paper); }
.leader-moments h2 { color:var(--ink); }
.vignettes { margin:clamp(4rem,8vw,8rem) 0 0 clamp(0rem,21vw,22rem); border-top:1px solid var(--ink); }
.vignettes article { display:grid; grid-template-columns:minmax(12rem,.8fr) 2fr; padding:1.5rem 0; border-bottom:1px solid var(--rule); }
.vignettes article::before { content:"✦"; color:var(--pink); font-size:1.1rem; }
.vignettes p { margin:0; max-width:68ch; font-size:clamp(1rem,1.3vw,1.18rem); }
.vignettes strong { font:500 clamp(1.35rem,1.9vw,1.9rem)/1.15 var(--serif); color:var(--red); }
.proof-section { background:var(--gold-light); }
.proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:clamp(4rem,7vw,7rem); background:var(--ink); border:1px solid var(--ink); }
.proof-grid article { min-height:24rem; padding:clamp(1.5rem,3vw,3rem); background:var(--gold-light); display:flex; flex-direction:column; }
.proof-grid strong { max-width:14ch; font:400 clamp(2rem,3.4vw,4rem)/.95 var(--serif); letter-spacing:-.04em; }
.proof-red { color:var(--red); font-style:normal; }
.proof-grid article:nth-child(2) strong { color:var(--ink); }.proof-grid article:nth-child(3) strong { color:var(--red); }
.proof-grid p { margin:auto 0 0; max-width:45ch; }
.tj-proof { display:grid; grid-template-columns:.8fr 2fr; gap:clamp(2rem,7vw,8rem); margin-top:1px; padding:clamp(2rem,4vw,4rem); color:white; background:linear-gradient(120deg,var(--ink),#245766); text-decoration:none; border-bottom:10px solid var(--pink); }
.tj-proof .micro { color:var(--gold-light); }.tj-proof h3 { margin:3rem 0 0; font:400 clamp(2.6rem,5vw,5.8rem)/.9 var(--serif); letter-spacing:-.055em; }
.tj-proof p { max-width:48ch; }.tj-lede { color:var(--pink-light); font:400 clamp(1.5rem,2.3vw,2.4rem)/1.2 var(--serif); }
.tj-proof .text-link { color:white; }.tj-proof .text-link span { display:block; }.tj-proof .text-link span + span { margin-top:.4rem; }
.lead-quote { padding-block:clamp(6rem,13vw,14rem); background:var(--ink); color:white; }
.lead-quote blockquote { margin:0 auto; max-width:25ch; text-align:center; font:400 clamp(2.4rem,5.2vw,6rem)/.94 var(--serif); letter-spacing:-.05em; }
.lead-quote em { color:var(--pink); font-weight:400; }
.partner-outcome { background:var(--paper); }
.partner-line { margin:0; max-width:31ch; font:400 clamp(1.92rem,3.84vw,4.32rem)/1 var(--serif); letter-spacing:-.04em; }
.method-zone { background:var(--mist); border-top:12px solid transparent; border-image:linear-gradient(90deg,var(--red) 0 20%,var(--pink) 20% 42%,var(--gold) 42% 68%,var(--ink) 68%) 1; }
.model-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(4rem,7vw,7rem); border-block:1px solid var(--ink); }
.model-steps article { min-height:24rem; padding:1.5rem; border-right:1px solid var(--ink); display:flex; flex-direction:column; }
.model-steps article:last-child { border-right:0; }
.model-steps span { font:500 clamp(1.7rem,2.8vw,3rem)/1 var(--serif); }
.model-steps article:nth-child(1) span { color:var(--red); }.model-steps article:nth-child(2) span { color:#A64169; }.model-steps article:nth-child(3) span { color:#8F7134; }
.model-steps p { margin:auto 0 0; max-width:38ch; }
.method-premise,.simple-framework,.cad-block,.work-strands,.profile-summary { margin-top:clamp(6rem,12vw,13rem); padding-top:clamp(3rem,5vw,5rem); border-top:1px solid var(--ink); }
.method-premise { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.method-premise h3 { margin:0; max-width:15ch; font:400 clamp(3rem,6vw,6.5rem)/.92 var(--serif); letter-spacing:-.055em; }
.method-premise h3 em { color:var(--red); font-weight:400; }
.method-premise > div { grid-column:2; display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.method-premise > div p { max-width:38ch; }
.simple-framework-head { display:grid; grid-template-columns:.8fr 2.8fr; gap:clamp(2rem,8vw,10rem); }
.simple-framework-head h3 { margin:0; max-width:19ch; font:400 clamp(2.5rem,4.8vw,5.2rem)/.95 var(--serif); letter-spacing:-.045em; }
.framework-outcome { margin-top:clamp(3rem,5vw,5rem); padding:clamp(2rem,4vw,4rem); background:var(--ink); color:white; border-bottom:8px solid var(--gold); }
.framework-outcome span { font:400 clamp(2.4rem,4.8vw,5.6rem)/.92 var(--serif); letter-spacing:-.05em; }
.framework-domains { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--ink); border-top:0; }
.framework-domains span { min-height:12rem; padding:1rem; display:flex; align-items:flex-end; border-right:1px solid var(--ink); font:500 clamp(2rem,2.8vw,2.8rem)/1 var(--serif); }
.framework-domains span:last-child { border-right:0; }
.framework-cta { display:flex; width:max-content; max-width:100%; margin:2.25rem 9px 9px auto; padding:1.35rem 1.6rem; border:1px solid var(--ink); background:var(--ink); color:white; box-shadow:9px 9px 0 var(--pink); font:500 clamp(.9rem,1.2vw,1.1rem)/1.2 var(--mono); letter-spacing:.075em; text-transform:uppercase; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.framework-cta:hover,.framework-cta:focus-visible { background:var(--red); transform:translate(4px,4px); box-shadow:5px 5px 0 var(--pink); outline:none; }
.cad-block .split-head h3,.work-strands .split-head h3 { margin:0; max-width:16ch; font:400 clamp(2.8rem,5.2vw,5.7rem)/.94 var(--serif); letter-spacing:-.05em; }
.cad-block .change-model { margin-top:clamp(3rem,6vw,6rem); }
.change-model h4 { margin:.65rem 0 1rem; font:500 clamp(1.8rem,2.6vw,2.7rem)/1 var(--serif); }
.cad-block .change-model p { color:var(--ink); }
.work-strands .split-head > div > p { max-width:52ch; }
.work-strands .strand-grid span,.two-strands .strand-grid span { font-size:1.89rem; line-height:1.15; letter-spacing:.035em; }
.strands-kicker { margin-bottom:clamp(3rem,5vw,5rem); color:var(--red); font:400 clamp(4rem,8.5vw,9.5rem)/.82 var(--serif); letter-spacing:-.065em; }
.feedback-loop-home { margin-top:0; }
.strand-grid h4 { margin:auto 0 1rem; max-width:12ch; font:500 clamp(2rem,3vw,3.5rem)/1 var(--serif); }
.profile-summary { display:grid; grid-template-columns:minmax(280px,.8fr) 1.5fr; gap:clamp(3rem,8vw,10rem); align-items:start; }
.profile-summary figure { margin:0; border-top:10px solid var(--pink); }.profile-summary img { width:100%; height:auto; }
.profile-summary h3 { margin:1rem 0 2.5rem; max-width:14ch; font:400 clamp(3rem,5.8vw,6.2rem)/.91 var(--serif); letter-spacing:-.055em; }
.profile-summary .profile-lede { font:400 clamp(1.3rem,2vw,1.9rem)/1.3 var(--serif); }.profile-summary article > p { max-width:60ch; }
.about-hero { padding-block:clamp(5rem,10vw,10rem); background:var(--paper); }
.about-hero-grid { display:grid; grid-template-columns:minmax(300px,.8fr) 1.5fr; gap:clamp(3rem,9vw,11rem); align-items:start; }
.about-hero figure { margin:0; border-top:12px solid var(--pink); }.about-hero figure img { width:100%; height:auto; }
.about-hero h1 { margin:1rem 0 2.5rem; max-width:13ch; font:400 clamp(3.5rem,7vw,7.8rem)/.89 var(--serif); letter-spacing:-.06em; }
.about-hero .lede { max-width:52ch; font:400 clamp(1.4rem,2.2vw,2.1rem)/1.28 var(--serif); }.about-hero div>p:not(.micro) { max-width:60ch; }
.about-experience { padding-block:clamp(5rem,10vw,10rem); background:var(--gold-light); }.about-experience .career { border-color:var(--ink); }.about-experience .career li { border-color:rgba(23,61,74,.4); }
.start h2 { font-size:clamp(3.6rem,7.2vw,8.1rem); }
[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .75s ease,transform .75s ease; }[data-reveal].is-visible { opacity:1; transform:none; }
@media(max-width:900px){
  .header-inner{grid-template-columns:1fr auto}.nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:78svh}.hero-art{min-height:58svh}
  .thesis-grid,.framework-head,.change-head,.evidence-intro,.voices-head,.about-grid,.start-grid,.moments-head,.partnership-head,.framework-hero-grid,.framework-page-head,.framework-close-grid,.strands-title,.energy-map .shell{grid-template-columns:1fr}
  .story-narrow,.split-head,.method-premise,.simple-framework-head,.profile-summary,.about-hero-grid{grid-template-columns:1fr}.shift-lead,.story-columns,.method-premise>div{grid-column:1}.story-columns,.method-premise>div{grid-template-columns:1fr}.vignettes{margin-left:0}.vignettes article{grid-template-columns:3rem 1fr}.proof-grid{grid-template-columns:1fr}.tj-proof{grid-template-columns:1fr}.model-steps{grid-template-columns:1fr}.model-steps article{min-height:17rem;border-right:0;border-bottom:1px solid var(--ink)}.framework-domains{grid-template-columns:1fr 1fr}.framework-domains span{min-height:7rem;border-bottom:1px solid var(--ink)}.framework-domains span:nth-child(even){border-right:0}
  .thesis-notes{grid-template-columns:1fr}.energy-flow{grid-template-columns:1fr}.energy-arrow{transform:rotate(90deg);width:max-content}
  .system-map{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.system-map-title{grid-column:1;flex-direction:column;gap:.3rem}.system-outcome{grid-column:1;grid-row:2;min-height:24rem;border-right:0;border-bottom:1px solid var(--ink)}.system-domains{grid-column:1;grid-row:3}.system-spine{grid-column:1;grid-row:4}
  .framework-foot{grid-template-columns:1fr}.framework-foot p:last-child{justify-self:start}
  .change-model{grid-template-columns:1fr}.change-model article,.change-model article+article{min-height:27rem;padding:1.25rem 0 2rem;border-right:0;border-bottom:1px solid rgba(241,238,229,.28)}
  .moment-list li{grid-template-columns:4rem 1fr;gap:1rem}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--ink)}.metrics .metric-punch{grid-template-columns:1fr;grid-column:1/-1}
  .proof-details,.quote-grid{grid-template-columns:1fr}.rotator-stage{min-height:42rem}.rotator-stage .voice{grid-template-columns:1fr;align-content:start}.rotator-stage .voice figcaption{margin-top:0}
  .strand-grid{grid-template-columns:1fr}.partnership-link{margin-left:0}.strands-thesis{grid-column:1}.feedback-loop{grid-template-columns:1fr}.feedback-loop span:first-child::after{content:"↓"}.feedback-loop span:last-child::before{content:"↑"}
  .five-states{grid-template-columns:1fr 1fr}.five-states article{min-height:12rem;border-bottom:1px solid var(--ink)}.last-grid{grid-template-columns:1fr 1fr}.question-grid{grid-template-columns:1fr 1fr}.outcomes-grid{grid-template-columns:1fr}.outcomes-grid article{min-height:15rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}.outcomes-grid h3{margin-top:3rem}
  .footer-inner{grid-template-columns:1fr}.footer-inner p:last-child{text-align:left}
}
@media(max-width:580px){
  .hero h1{font-size:clamp(4rem,19vw,6rem)}.career li{grid-template-columns:1fr}.hero-foot{grid-template-columns:1fr}
  .system-domains article{grid-template-columns:2rem 1fr;gap:.7rem}.system-domains article p{grid-column:2}.system-spine{grid-template-columns:1fr 1fr}.system-spine span:nth-child(2){border-right:0}.system-spine span:nth-child(-n+2){border-bottom:1px solid rgba(23,61,74,.28)}
  .metrics{grid-template-columns:1fr}.metrics article,.metrics article+article{min-height:11rem;padding:1rem 0 1.5rem;border-right:0;border-bottom:1px solid var(--ink)}.metrics .metric-punch{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad)}
  .rotator-stage{min-height:50rem}.rotator-controls .pause{font-size:0}.rotator-controls .pause::after{content:"Ⅱ";font-size:.8rem}
  .vignettes article{grid-template-columns:1fr}.vignettes article::before{margin-bottom:.75rem}.tj-proof{padding:2rem var(--pad)}.framework-domains{grid-template-columns:1fr}.framework-domains span{border-right:0}.proof-grid article{min-height:19rem}
  .work-strands .strand-grid span,.two-strands .strand-grid span{font-size:1.35rem}
  .five-states,.last-grid,.question-grid{grid-template-columns:1fr}.last-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--ink)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal],.metrics article{opacity:1;transform:none;transition:none}.ribbon-track,.rotator-progress span{animation:none}.metrics::before{transform:scaleX(1);transition:none}.rotator-stage .voice{transition:none}}
