:root{color-scheme:light;--bg:#f8f8f5;--paper:#fff;--ink:#191820;--sub:#57545f;--muted:#797582;--line:#dedbe6;--surface-soft:#f0ecf7;--violet:#5e50f9;--violet-light:#9a6bef;--pink:#dd7db4;--lime:#c8f16b;--nav-bg:rgba(255,255,255,.84);--gradient:linear-gradient(95deg,#5e50f9 3%,#8b61ef 48%,#dd7db4 100%);--shadow:0 18px 55px rgba(52,40,103,.08);--focus:#7155ec;--content:1240px;--gutter:clamp(24px,5.35vw,92px);--ease:cubic-bezier(.22,1,.36,1);font-family:'Geist',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#171520;--paper:#211e2d;--ink:#f8f5fc;--sub:#cdc6d6;--muted:#aea5bb;--line:#433a4e;--surface-soft:#2e2840;--violet:#b6a7ff;--violet-light:#c3a3fa;--pink:#eea1d1;--lime:#c8f16b;--nav-bg:rgba(34,29,46,.88);--gradient:linear-gradient(95deg,#a79aff 0%,#c297f1 54%,#eea1d1 100%);--shadow:0 22px 60px rgba(0,0,0,.2);--focus:#dac3ff}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip;min-width:320px}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.36}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}select:focus-visible{outline:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:999;top:-100px;left:16px;padding:12px 18px;background:var(--paper);border:2px solid var(--violet)}.skip-link:focus{top:15px}.shell{width:min(var(--content),calc(100% - 2*var(--gutter)));margin-inline:auto}.eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase;color:var(--violet);margin:0 0 16px}.gradient-type{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.section{padding-block:clamp(82px,10.5vw,160px)}.section-lead{max-width:850px;margin-bottom:clamp(42px,5vw,80px)}.section-lead h2{font-weight:700;font-size:clamp(2.9rem,5.15vw,5.9rem);letter-spacing:-.045em;line-height:1.085;margin:0 0 19px;overflow-wrap:normal}.section-lead>p:last-child{font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.75;color:var(--sub);margin:0;max-width:710px}.page-progress{position:fixed;z-index:150;top:0;left:0;height:3px;width:0;background:var(--gradient);pointer-events:none}
/* Navigation */
.site-header{position:fixed;inset:14px 0 auto;z-index:100;pointer-events:none}.topbar{pointer-events:auto;display:flex;align-items:center;gap:30px;width:min(1370px,calc(100% - 2*clamp(16px,4.2vw,70px)));height:72px;margin-inline:auto;padding:0 16px 0 30px;border:1px solid var(--line);border-radius:999px;background:var(--nav-bg);box-shadow:0 12px 42px rgba(46,34,75,.075);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand{white-space:nowrap;font-weight:800;font-size:1.38rem;letter-spacing:-.045em;line-height:1}.primary-nav{display:flex;align-items:center;gap:clamp(20px,2.9vw,43px);margin-inline:auto}.primary-nav a{font-size:.83rem;font-weight:620;color:var(--sub)}.primary-nav a:hover,.primary-nav a[aria-current=location]{color:var(--violet)}.header-actions{display:flex;align-items:center;gap:14px}.theme-switch{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:0 10px 0 12px;min-height:40px;transition:border-color .15s,box-shadow .15s}.theme-switch:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 24%,transparent)}.theme-glyph{font-size:1.25rem;line-height:1;color:var(--sub)}.theme-switch select{appearance:none;-webkit-appearance:none;outline:0;border:0;background:transparent;min-width:57px;color:var(--ink);font-size:.78rem;font-weight:650;padding:8px 0;cursor:pointer}.theme-switch svg{width:13px;height:13px;stroke:var(--muted);fill:none;stroke-width:1.6}.header-connect{background:var(--ink);color:var(--bg);border:1px solid transparent;border-radius:12px;padding:11px 15px;white-space:nowrap;font-weight:660;font-size:.8rem}.header-connect span{margin-left:10px;font-size:1.1rem;line-height:0}.header-connect:hover{background:var(--violet);color:#fff}.mobile-menu{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:12px;color:var(--ink);align-items:center;justify-content:center;flex-direction:column;gap:5px}.mobile-menu span{width:17px;height:1.8px;background:currentColor;border-radius:2px}
/* Hero + visible expressive interactive canvas */
.hero{min-height:min(880px,100svh);min-height:clamp(720px,92svh,930px);position:relative;isolation:isolate;display:flex;align-items:center;padding:155px 0 105px;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 53% 70%,rgba(238,220,247,.4),transparent 57%)}.wash{position:absolute;border-radius:50%;pointer-events:none;transform:translate3d(0,0,0);will-change:transform;animation:ambient-float 16s ease-in-out infinite alternate}.wash-one{width:max(50vw,620px);height:max(50vw,620px);bottom:-52%;left:-24%;background:radial-gradient(ellipse,rgba(114,80,245,.38),rgba(145,100,246,.19) 42%,transparent 72%);filter:blur(13px)}.wash-two{width:max(46vw,590px);height:max(42vw,570px);right:-22%;bottom:-40%;background:radial-gradient(ellipse,rgba(223,117,189,.38),rgba(216,144,221,.15) 44%,transparent 74%);animation-delay:-6s;filter:blur(18px)}.wash-three{width:max(36vw,440px);height:max(22vw,240px);left:34%;bottom:-27%;background:radial-gradient(ellipse,rgba(144,110,246,.24),rgba(221,154,226,.13) 47%,transparent 74%);animation-delay:-10s;filter:blur(25px)}.hero-paths{position:absolute;inset:auto 0 -9% 0;width:100%;height:80%;overflow:visible;will-change:transform}.hero-paths path{fill:none;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.hero-paths .path-fill{fill:url(#wave-fill);stroke:none}.hero-paths .path-main{stroke-width:3;filter:drop-shadow(0 0 10px rgba(163,111,246,.23))}.hero-paths .path-light{stroke-width:2.25}.hero-paths .path-thread{stroke:var(--violet-light);stroke-opacity:.2;stroke-width:1.4}.signal-halo{fill:var(--lime);opacity:.1}.signal-point{fill:var(--lime);stroke:var(--paper);stroke-width:3;filter:drop-shadow(0 0 9px rgba(188,228,100,.6))}.signal-point-small{fill:#fff;stroke:var(--violet);stroke-width:2.4}.hero-content{text-align:center;position:relative;z-index:1;margin-top:15px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 clamp(24px,3.4vw,43px);font-size:.73rem;letter-spacing:.175em;text-transform:uppercase;font-weight:720;color:var(--sub)}.hero-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 5px color-mix(in srgb,var(--violet) 15%,transparent)}.hero-eyebrow span{color:var(--violet)}h1{font-weight:740;font-size:clamp(3.3rem,7.25vw,7.6rem);letter-spacing:-.038em;line-height:1.065;margin:0 auto clamp(27px,3vw,40px);max-width:1150px;text-wrap:balance}h1 span{display:block}h1 .gradient-type{padding-bottom:.07em;margin-bottom:-.07em}.hero-deck{max-width:750px;margin:0 auto clamp(25px,2.8vw,36px);font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.65;color:var(--sub);letter-spacing:-.015em}.hero-deck strong{color:var(--ink);font-weight:680}.hero-actions{display:flex;justify-content:center;align-items:center;gap:29px;flex-wrap:wrap}.btn-primary{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:23px;background:#24222d;color:#fff;padding:13px 21px;border-radius:10px;border:1px solid #24222d;font-size:.87rem;font-weight:650;line-height:1.2;transition:background .2s,transform .2s}.btn-primary:hover{background:#41335c;transform:translateY(-1px)}.btn-primary span{font-size:1.2rem;line-height:1}.text-action{display:inline-flex;align-items:center;gap:12px;font-weight:650;font-size:.91rem;min-height:46px;padding:9px 1px;position:relative}.text-action::after{content:'';height:1.5px;background:var(--violet);position:absolute;bottom:6px;left:0;right:100%;transition:right .22s var(--ease)}.text-action:hover::after,.text-action:focus-visible::after{right:0}.text-action span{font-size:1.2rem}.hero-meta{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:clamp(55px,6vw,90px);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.hero-meta>span span{margin-left:10px}.motion-local{font-size:.71rem;letter-spacing:.02em;font-weight:570;text-transform:none;padding:5px 9px;color:var(--muted);background:none;border:0;border-bottom:1px solid transparent}.motion-local:hover{border-bottom-color:var(--violet)}:root[data-theme=dark] .hero-art{background:radial-gradient(ellipse at 50% 74%,rgba(72,47,118,.28),transparent 63%)}:root[data-theme=dark] .wash-one{background:radial-gradient(ellipse,rgba(99,70,186,.47),rgba(77,45,157,.17) 47%,transparent 72%)}:root[data-theme=dark] .wash-two{background:radial-gradient(ellipse,rgba(157,78,151,.4),rgba(173,95,172,.16) 45%,transparent 76%)}:root[data-theme=dark] .wash-three{background:radial-gradient(ellipse,rgba(111,83,198,.24),transparent 74%)}:root[data-theme=dark] .hero-paths{opacity:.87}
/* Expertise ticker */
.expertise-ticker{position:relative;overflow:hidden;display:flex;align-items:center;min-height:78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.ticker-viewport{flex:1;overflow:hidden;min-width:0;white-space:nowrap}.ticker-track{display:flex;align-items:center;width:max-content;animation:ticker-move 39s linear infinite}.ticker-group{display:flex;align-items:center;gap:clamp(32px,3.5vw,67px);padding-right:clamp(32px,3.5vw,67px);flex-shrink:0}.ticker-group span{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;font-weight:725;color:var(--muted)}.ticker-group b{font-size:1.05rem;font-weight:400;color:var(--violet)}.ticker-control{flex:none;background:var(--paper);border:0;border-left:1px solid var(--line);color:var(--sub);font-size:.71rem;font-weight:650;height:78px;padding:0 25px}.ticker-control span{padding-left:6px;color:var(--violet)}.ticker-control:hover{color:var(--violet)}.ticker-paused .ticker-track,.hero-paused .wash{animation-play-state:paused}@keyframes ticker-move{to{transform:translateX(-50%)}}@keyframes ambient-float{0%{transform:translate3d(-2%,-1%,0)}100%{transform:translate3d(3%,2%,0)}}
/* Impact / counters */
.impact-section{background:var(--paper)}.impact-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{padding:41px 28px 43px 0;min-width:0}.metric+.metric{border-left:1px solid var(--line);padding-left:32px}.metric-number{font-size:clamp(3.8rem,6.5vw,7rem);font-weight:720;letter-spacing:-.06em;line-height:1.07;margin-bottom:15px}.metric h3{font-size:.96rem;line-height:1.4;margin:0 0 8px;font-weight:670}.metric p{font-size:.9rem;line-height:1.7;color:var(--sub);max-width:310px;margin:0}.metric-idea{display:flex;flex-direction:column;justify-content:center}.metric-idea .eyebrow{font-size:.7rem}.metric-idea strong{font-size:clamp(1.2rem,2.2vw,1.9rem);line-height:1.35;font-weight:650;letter-spacing:-.02em}
/* Scrollytelling: intentionally long passages to pace transitions */
.approach-section{background:var(--bg);padding-bottom:105px}.approach-lead{margin-bottom:30px}.approach-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(40px,5vw,90px);align-items:start}.story-chapters{min-width:0}.approach-chapter{min-height:82vh;min-height:82svh;display:flex;flex-direction:column;justify-content:center;padding:70px min(3.4vw,30px) 70px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px;transition:opacity .25s}.approach-chapter:last-child{border-bottom:0}.chapter-eyebrow{color:var(--violet);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:760;margin-bottom:22px}.approach-chapter h3{font-size:clamp(2.2rem,3.4vw,3.75rem);font-weight:690;letter-spacing:-.04em;line-height:1.14;margin:0 0 24px}.approach-chapter p{font-size:clamp(1.08rem,1.65vw,1.3rem);line-height:1.75;max-width:480px;color:var(--sub);margin:0 0 22px}.chapter-flag{text-transform:uppercase;color:var(--violet);letter-spacing:.13em;font-size:.69rem;font-weight:700;margin-top:4px}.diagram-sticky{position:sticky;top:clamp(115px,17vh,145px);width:100%;padding-bottom:50px}.diagram-card{background:var(--paper);border-radius:27px;border:1px solid var(--line);padding:25px 27px 23px;box-shadow:var(--shadow);width:100%;overflow:hidden}.diagram-top,.diagram-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}.diagram-top{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--muted)}.diagram-svg{width:100%;display:block;margin:8px 0;max-height:430px}.diagram-orbit circle{stroke:var(--violet);stroke-width:1;stroke-dasharray:3 9;fill:none;opacity:.16}.diagram-core circle:first-child{fill:var(--surface-soft);stroke:var(--violet);stroke-width:1.5}.diagram-core .core-ring{fill:var(--paper);stroke:var(--violet);stroke-width:2.4}.diagram-core .core-dot{fill:var(--lime);stroke:var(--violet);stroke-width:2}.diagram-node rect{fill:var(--surface-soft);stroke:var(--line);stroke-width:1.7}.diagram-node circle{fill:var(--violet)}#diagram-lines line{stroke:var(--violet);stroke-width:1.7;opacity:.2}#diagram-crosslinks line{stroke:var(--pink);stroke-width:1.2;opacity:0}.diagram-middle{font-family:inherit;fill:var(--sub);font-weight:750;letter-spacing:.055em;font-size:11px}.diagram-bottom{border-top:1px solid var(--line);padding-top:18px}.diagram-bottom strong{font-size:.94rem;font-weight:690}.chapter-jumps{display:flex;gap:6px}.chapter-jump{background:var(--surface-soft);border:1px solid var(--line);width:31px;height:28px;border-radius:7px;font-size:.72rem;color:var(--sub)}.chapter-jump.is-current{background:var(--violet);border-color:var(--violet);color:#fff}
/* Work — one active editorial story, glimpses left/right; expands in natural flow */
.work-section{background:var(--paper);overflow:hidden}.rail-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px}.rail-location{display:flex;align-items:baseline;gap:18px}.rail-location .eyebrow{margin:0}.rail-counter{font-size:.85rem;font-weight:700;color:var(--muted);letter-spacing:.08em}.rail-arrows{display:flex;gap:10px}.rail-arrows button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;height:46px;width:46px;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.rail-arrows button:hover{border-color:var(--violet);color:var(--violet)}.story-rail{position:relative;width:100%;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}.story-rail-stage{position:relative;min-height:570px;transition:height .42s var(--ease)}.portfolio-story{position:absolute;left:50%;top:0;width:min(1020px,calc(100% - 2*clamp(65px,11vw,220px)));min-width:0;padding:clamp(27px,3.9vw,55px);border:1px solid var(--line);background:var(--bg);border-radius:24px;box-shadow:var(--shadow);opacity:.4;transform:translate3d(-50%,0,0) scale(.93);transition:transform .55s var(--ease),opacity .4s var(--ease);will-change:transform,opacity}.portfolio-story.is-selected{opacity:1;transform:translate3d(-50%,0,0) scale(1);z-index:4;user-select:text;-webkit-user-select:text}.portfolio-story.is-before{transform:translate3d(calc(-50% - var(--rail-shift,940px)),14px,0) scale(.94);z-index:1;cursor:pointer}.portfolio-story.is-after{transform:translate3d(calc(-50% + var(--rail-shift,940px)),14px,0) scale(.94);z-index:1;cursor:pointer}.portfolio-story.is-far{visibility:hidden;opacity:0}.story-head{display:grid;grid-template-columns:1.1fr .86fr;align-items:center;gap:clamp(26px,4vw,64px)}.story-category{text-transform:uppercase;font-size:.73rem;font-weight:735;letter-spacing:.12em;color:var(--violet)}.story-head h3{font-weight:680;letter-spacing:-.04em;line-height:1.08;font-size:clamp(2.15rem,4.2vw,4.25rem);margin:17px 0 19px}.story-head p{font-size:clamp(1.01rem,1.55vw,1.14rem);line-height:1.65;color:var(--sub);max-width:590px;margin:0}.art-panel{position:relative;overflow:hidden;aspect-ratio:1.48;border-radius:18px;background:radial-gradient(circle at 80% 70%,rgba(213,125,198,.25),transparent 58%),linear-gradient(135deg,rgba(113,85,236,.19),rgba(163,126,245,.075) 60%,rgba(234,160,216,.12));border:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.art-grid{position:absolute;left:12%;top:22%;display:grid;grid-template-columns:repeat(3,31px);gap:10px}.art-grid i{width:31px;height:31px;border:1.3px solid var(--violet);background:rgba(255,255,255,.55);border-radius:8px}.art-flow{position:absolute;left:55%;top:43%;font-size:2rem;font-weight:350;color:var(--violet)}.art-one{position:absolute;right:12%;top:25%;width:70px;height:85px;border:2px solid var(--violet);background:rgba(255,255,255,.45);border-radius:12px;display:flex;flex-direction:column;gap:9px;padding:15px 10px}.art-one span{height:7px;background:var(--violet-light);border-radius:4px}.art-one span:nth-child(2){width:68%;background:var(--pink)}.bars{position:absolute;left:14%;right:14%;bottom:13%;height:64%;display:flex;justify-content:space-between;align-items:end}.bars i{width:13%;border-radius:10px 10px 0 0;background:color-mix(in srgb,var(--violet) 25%,transparent);height:37%}.bars i:nth-child(2){height:50%}.bars i:nth-child(3){height:64%}.bars i:nth-child(4){height:81%}.bars i:nth-child(5){height:100%}.art-growth svg{position:absolute;inset:10%;height:80%;width:80%;overflow:visible}.art-growth svg path{fill:none;stroke:var(--violet);stroke-width:4;stroke-linecap:round}.art-growth svg circle{fill:var(--lime);stroke:var(--violet);stroke-width:2}.orbits{position:absolute;inset:14%;display:grid;place-items:center}.orbits i{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;border:1.6px dashed var(--violet);opacity:.6}.orbits i:nth-child(2){width:55%;opacity:.5}.orbits i:nth-child(3){width:31%;opacity:.8;border-style:solid}.discovery-core{position:absolute;width:25px;height:25px;border-radius:50%;background:var(--lime);left:calc(50% - 12px);top:calc(50% - 12px);box-shadow:0 0 0 18px color-mix(in srgb,var(--violet) 10%,transparent)}.discovery-pips b{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--violet)}.discovery-pips b:nth-child(1){left:20%;top:35%}.discovery-pips b:nth-child(2){left:42%;top:16%}.discovery-pips b:nth-child(3){right:20%;top:32%}.discovery-pips b:nth-child(4){right:27%;bottom:19%}.discovery-pips b:nth-child(5){left:24%;bottom:25%}.page-mini{position:absolute;top:22%;width:27%;height:56%;border:1.8px solid var(--violet);border-radius:12px;background:rgba(255,255,255,.45);display:flex;flex-direction:column;padding:14px;gap:9px}.page-left{left:13%}.page-right{right:13%}.page-mini i{width:100%;height:9px;border-radius:5px;background:color-mix(in srgb,var(--violet) 38%,transparent)}.page-mini i:first-child{background:var(--violet);height:15px}.page-right i:nth-child(3){width:50%;background:var(--pink)}.to-arrow{position:absolute;top:38%;left:47%;font-size:1.9rem;color:var(--violet)}.story-excerpt{border-top:1px solid var(--line);margin-top:32px;padding-top:25px;position:relative}.chapter-mini{color:var(--violet);font-size:.77rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:10px}.chapter-mini strong{margin-left:10px;color:var(--ink);font-size:.87rem;letter-spacing:0;text-transform:none}.excerpt-body{font-size:1rem;line-height:1.75;color:var(--sub);max-width:800px;max-height:3.4em;overflow:hidden;mask-image:linear-gradient(#000 15%,transparent 100%);-webkit-mask-image:linear-gradient(#000 15%,transparent 100%)}.portfolio-story.is-expanded .excerpt-body{max-height:none;overflow:visible;mask-image:none;-webkit-mask-image:none}.story-more{padding-top:10px}.story-more section{padding:14px 0 10px;border-top:1px solid var(--line);margin-top:18px}.story-more h4{font-size:.84rem;color:var(--violet);letter-spacing:.03em;margin:0 0 10px}.story-more p{line-height:1.75;color:var(--sub);margin:0;max-width:805px}.story-expand{display:inline-flex;align-items:center;gap:16px;margin-top:17px;padding:10px 0;border:0;border-bottom:1.5px solid var(--violet);background:none;font-weight:670;color:var(--ink);font-size:.88rem}.story-expand span{color:var(--violet);font-size:1.15rem}.rail-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:23px 0 50px}.rail-pagination button{border:0;background:transparent;color:var(--muted);font-size:.77rem;font-weight:710;padding:9px 14px;border-radius:100px}.rail-pagination button.is-current{color:#fff;background:var(--violet)}.disclosure-note{max-width:900px;margin:auto;border-top:1px solid var(--line);padding-top:30px;display:flex;gap:30px;align-items:flex-start;justify-content:space-between}.disclosure-note p{font-size:.86rem;line-height:1.7;color:var(--sub);max-width:680px;margin:0}.disclosure-note a{white-space:nowrap;font-size:.86rem;color:var(--violet);font-weight:670;border-bottom:1px solid var(--violet);padding-bottom:4px}
/* Thinking */
.thinking-section{background:var(--bg)}.thinking-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:start}.thinking-grid .section-lead{margin:0}.lens-panel{border:1px solid var(--line);background:var(--paper);border-radius:23px;padding:clamp(24px,3.6vw,43px);box-shadow:var(--shadow)}.lens-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:34px}.lens-tabs button{font-weight:660;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:0 6px 16px;font-size:.94rem}.lens-tabs button[aria-selected=true]{color:var(--violet);border-bottom-color:var(--violet)}.lens-panel h3{font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.18;letter-spacing:-.03em;font-weight:680;margin:0 0 20px}.lens-panel p{color:var(--sub);line-height:1.7;margin:0 0 24px;font-size:.99rem}.lens-bullets p{position:relative;padding:14px 0 14px 28px;border-top:1px solid var(--line);margin:0!important;font-size:.9rem;color:var(--ink)}.lens-bullets p:before{content:'';position:absolute;left:0;top:22px;width:8px;height:8px;background:var(--lime);border:2px solid var(--violet);border-radius:50%}
/* About */
.about-section{background:var(--paper)}.about-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.79fr);gap:clamp(55px,9vw,145px);align-items:start}.about-main{min-width:0}.about-main h2{font-weight:690;font-size:clamp(2.6rem,4.7vw,5.3rem);line-height:1.11;letter-spacing:-.044em;max-width:850px;overflow-wrap:normal;margin:0 0 36px}.about-main h2 .gradient-type{display:inline-block;padding-bottom:.07em}.about-main p{max-width:650px;line-height:1.79;color:var(--sub);font-size:clamp(1rem,1.3vw,1.13rem);margin:0 0 21px}.about-main p strong{color:var(--ink);font-weight:670}.about-main blockquote{margin:37px 0 31px;padding:0 0 0 22px;border-left:3px solid var(--violet);font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.45;font-weight:620;letter-spacing:-.018em}.career-side{padding-top:13px}.career-side>.eyebrow{margin-bottom:26px}.career-row{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:21px 0;border-top:1px solid var(--line)}.career-row>span{font-size:.76rem;color:var(--violet);font-weight:700}.career-row strong{font-size:1.03rem;font-weight:700}.career-row p{font-size:.86rem;line-height:1.65;color:var(--sub);margin:7px 0 0}.about-disclaimer{font-size:.75rem!important;line-height:1.6;color:var(--muted);margin-top:24px}
/* Contact / footer */
.contact-section{padding:110px 0 125px;background:var(--bg);text-align:center}.contact-content{max-width:790px}.contact-content h2{font-size:clamp(2.9rem,5.6vw,6.3rem);line-height:1.08;font-weight:700;letter-spacing:-.045em;margin:0 0 25px}.contact-content>p:not(.eyebrow){color:var(--sub);font-size:1.13rem;line-height:1.7;max-width:640px;margin:0 auto 30px}.contact-links{display:flex;gap:28px;align-items:center;justify-content:center}.site-footer{background:var(--paper);border-top:1px solid var(--line)}.site-footer .shell{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.79rem;color:var(--muted)}.site-footer a{color:var(--ink)}
/* Reveals */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}
/* Responsive */
@media(max-width:1080px){.topbar{gap:18px}.primary-nav{gap:20px}.topbar{padding-left:22px}.brand{font-size:1.22rem}.header-actions{gap:9px}.header-connect{padding:10px 12px}.story-head{grid-template-columns:1.1fr .8fr;gap:24px}.portfolio-story{width:calc(100% - 120px)}.approach-grid{gap:42px}.about-grid{gap:55px}}
@media(max-width:850px){.site-header{top:12px}.topbar{height:64px;padding:0 12px 0 20px;width:calc(100% - 2*clamp(16px,4vw,32px))}.mobile-menu{display:flex}.primary-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);flex-direction:column;gap:0;align-items:stretch}.primary-nav.is-open{display:flex}.primary-nav a{font-size:1rem;padding:14px 18px}.hero{min-height:780px;padding:145px 0 90px}.hero-paths{height:72%;bottom:-4%}h1{font-size:clamp(3.35rem,8.4vw,5.95rem)}.approach-grid{grid-template-columns:1fr;gap:30px}.diagram-sticky{grid-row:1;position:relative;top:auto;padding:0}.diagram-card{max-width:620px;margin:auto}.approach-chapter{min-height:55vh;min-height:55svh;max-width:640px;padding-block:65px}.thinking-grid,.about-grid{grid-template-columns:1fr}.about-grid{gap:45px}.career-side{max-width:700px}.story-head{grid-template-columns:1fr 160px}.story-head h3{font-size:clamp(2rem,4.4vw,3.5rem)}.disclosure-note{flex-direction:column;gap:10px}}
@media(max-width:640px){:root{--gutter:23px}.topbar{gap:12px}.header-connect{display:none}.brand{font-size:1.12rem}.theme-switch{min-height:37px;padding-inline:8px;gap:4px}.theme-switch select{min-width:49px;font-size:.73rem}.mobile-menu{width:38px;height:38px}.hero{min-height:760px;min-height:90svh;padding:140px 0 76px}.hero-eyebrow{font-size:.62rem;letter-spacing:.12em;gap:6px;line-height:1.7;justify-content:center;flex-wrap:wrap}.hero-content{margin-top:0}h1{font-size:clamp(3.05rem,11vw,4.9rem);line-height:1.09;letter-spacing:-.04em;max-width:610px;margin-bottom:24px}h1 span{padding-bottom:.06em}.hero-deck{font-size:1.03rem;line-height:1.65;max-width:500px}.hero-actions{gap:18px;flex-direction:column}.hero-actions .btn-primary{width:min(320px,100%)}.hero-meta{margin-top:45px}.wash-one{bottom:-33%;left:-100%;min-width:490px;min-height:490px}.wash-two{bottom:-30%;right:-100%;min-width:450px;min-height:450px}.wash-three{left:2%;bottom:-18%}.hero-paths{height:64%;width:190%;left:-45%;bottom:-9%;opacity:.85}.ticker-control{height:65px;padding:0 15px}.expertise-ticker{min-height:65px}.ticker-group{gap:28px;padding-right:28px}.ticker-group span{font-size:.7rem}.impact-grid{grid-template-columns:1fr 1fr}.metric{padding:25px 10px 28px 0}.metric+.metric{padding-left:20px}.metric-number{font-size:3.9rem}.metric h3{font-size:.84rem}.metric p{font-size:.78rem}.metric-idea{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line);padding:23px 0!important}.approach-section{padding-bottom:50px}.approach-lead{margin-bottom:30px}.approach-lead h2{font-size:clamp(2.6rem,9vw,4rem)}.diagram-card{padding:20px 18px}.diagram-svg{margin:0}.diagram-bottom{flex-wrap:wrap;gap:13px}.approach-chapter{min-height:430px;min-height:55svh}.approach-chapter h3{font-size:clamp(2.2rem,8vw,3.2rem)}.story-rail-stage{min-height:650px}.portfolio-story{width:calc(100% - 72px);padding:25px 21px;border-radius:18px}.story-head{grid-template-columns:1fr}.story-head h3{font-size:clamp(2.1rem,8vw,3rem);margin:10px 0}.story-head p{font-size:.98rem}.art-panel{aspect-ratio:2.8;min-height:112px}.art-grid{left:16%;top:16%;grid-template-columns:repeat(3,23px);gap:6px}.art-grid i{width:23px;height:23px}.art-one{height:66px;right:12%;top:20%;width:54px;padding:8px}.art-flow{font-size:1.5rem;top:34%}.story-excerpt{margin-top:19px;padding-top:18px}.story-rail{touch-action:pan-y}.rail-heading{padding-bottom:17px}.rail-location{gap:9px}.rail-counter{font-size:.75rem}.rail-arrows button{width:40px;height:40px}.story-more p,.excerpt-body{font-size:.92rem}.section-lead h2{font-size:clamp(2.7rem,10vw,4.2rem)}.about-main h2{font-size:clamp(2.65rem,9.3vw,4.2rem);line-height:1.14}.career-row{grid-template-columns:95px 1fr}.contact-content h2{font-size:clamp(2.6rem,9vw,4.3rem)}.site-footer .shell{flex-direction:column;align-items:flex-start;justify-content:center;padding-block:24px;gap:5px}}
@media(max-width:380px){:root{--gutter:18px}.hero-eyebrow{font-size:.55rem}.hero h1{font-size:clamp(2.75rem,11vw,3.5rem)}.portfolio-story{width:calc(100% - 54px)}.story-head h3{font-size:1.94rem}.theme-switch .theme-glyph{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.ticker-track{animation:none!important}.hero-art .wash{animation:none!important}.js .reveal{opacity:1;transform:none}}
/* V4 post-QA adjustments: keep diagram lettering clear and tablet nav balanced. */
.diagram-middle{display:none}
@media(max-width:850px){.header-actions{margin-left:auto}}
/* Micro-labels make the abstract paths purposeful without turning them into a diagram. */
.path-label{position:absolute;color:var(--violet);font-size:.71rem;font-weight:670;letter-spacing:.035em;opacity:.8;text-shadow:0 1px 11px var(--bg)}
.path-label--strategy{left:10%;bottom:29%}.path-label--discovery{left:28%;bottom:10%}.path-label--experience{right:25%;bottom:12%}.path-label--growth{right:9%;bottom:32%}
@media(max-width:850px){.path-label{opacity:.62;font-size:.62rem}}
@media(max-width:640px){.path-label{display:none}}

/* V5 approved refinements: hero only, and a scroll-aware navigation scrim. */
.site-header::before{
  content:"";position:absolute;inset:-14px 0 auto;height:154px;z-index:-1;
  pointer-events:none;opacity:0;transition:opacity .32s ease;
  background:linear-gradient(to bottom,
    var(--bg) 0%,
    color-mix(in srgb,var(--bg) 97%,transparent) 34%,
    color-mix(in srgb,var(--bg) 84%,transparent) 53%,
    color-mix(in srgb,var(--bg) 38%,transparent) 77%,
    transparent 100%);
}
.site-header.is-scrolled::before{opacity:1}
.hero-art{background:radial-gradient(ellipse at 52% 83%,rgba(181,151,244,.11),transparent 63%)}
:root[data-theme=dark] .hero-art{background:radial-gradient(ellipse at 52% 84%,rgba(115,83,183,.14),transparent 65%)}
.hero-dots{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero h1{font-weight:300;letter-spacing:-.022em;line-height:1.12}
.hero h1 .gradient-type{font-weight:300}
.hero-motion-toggle{
  position:absolute;bottom:clamp(22px,3vw,43px);right:clamp(22px,4.4vw,72px);z-index:2;
  display:grid;place-items:center;width:47px;height:47px;
  border:1px solid color-mix(in srgb,var(--line) 85%,transparent);
  border-radius:50%;background:color-mix(in srgb,var(--paper) 91%,transparent);
  color:var(--ink);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  box-shadow:0 3px 13px rgba(36,27,71,.055);cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.hero-motion-toggle:hover{border-color:var(--violet);transform:translateY(-1px)}
.hero-motion-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-motion-toggle .motion-icon-play{display:none;fill:currentColor;stroke:none}
.hero-motion-toggle[aria-pressed=true] .motion-icon-pause{display:none}
.hero-motion-toggle[aria-pressed=true] .motion-icon-play{display:block}
.hero-motion-toggle:disabled{opacity:.52;cursor:default;transform:none}
@media(max-width:640px){
  .hero h1{letter-spacing:-.018em;line-height:1.13}
  .hero-motion-toggle{width:43px;height:43px;right:21px;bottom:19px}
  .site-header::before{height:135px}
}
@media(prefers-reduced-motion:reduce){.site-header::before,.hero-motion-toggle{transition:none}}
