:root{--bg:#100904;--ink:#ffedd7;--line:#40372e;--muted:#b8a996;--ember:#dc5000;--edge:clamp(24px,3.2vw,60px);--rail:42px}
*{box-sizing:border-box}html{scroll-padding-top:0}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0;padding:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:7px}::selection{background:var(--ink);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}img{display:block;max-width:100%}button:disabled{opacity:.3;cursor:default}.micro{font-size:11px;font-weight:500;text-transform:uppercase;line-height:1.4}.muted{color:var(--muted)}.small{font-size:12px!important;line-height:1.5!important}.dashed{border-top:1px dashed currentColor}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:11px;line-height:1.4;text-transform:uppercase;transition:border-color .25s,opacity .25s}.line-link:hover{border-color:var(--ink);opacity:.8}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--ink);color:var(--bg);padding:12px}.skip-link:focus{top:15px}
.site-header{position:fixed;inset:0 var(--rail) auto 0;z-index:50;height:76px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:0 var(--edge);background:linear-gradient(#100904a8,#10090400);transition:background .3s}.site-header.scrolled{background:#100904ed;backdrop-filter:blur(12px)}.wordmark{font-size:23px;font-weight:700;letter-spacing:-1px;line-height:1}.site-header nav{display:flex;gap:28px}.site-header nav a{text-transform:uppercase;font-size:11px;line-height:1.4;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-5px;left:0;right:100%;border-bottom:1px dashed currentColor;transition:right .3s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{right:0}.menu{display:none}.side-progress{position:fixed;right:0;top:0;width:var(--rail);height:100dvh;z-index:55;display:flex;align-items:center;writing-mode:vertical-rl;padding-top:30px;gap:18px;color:var(--bg);background:var(--ink);font-size:10px;text-transform:uppercase;font-weight:500}.side-marker{width:5px;height:5px;background:var(--bg);border-radius:50%;flex:none}.side-progress i{position:absolute;right:0;top:0;width:3px;height:100%;transform:scaleY(var(--page-progress,0));transform-origin:top;background:var(--ember)}
main{margin-right:var(--rail)}.chapter{position:relative}.screen{height:100dvh;min-height:700px;position:sticky;top:0;overflow:hidden;isolation:isolate}.hero-chapter{height:180dvh}.hero-screen{background:var(--bg)}.hero-photo{position:absolute;inset:-2%;z-index:-3;background:url('assets/marketing-desk.webp') center/cover no-repeat;transform:scale(var(--photo-scale,1));will-change:transform;filter:blur(var(--photo-blur,0px))}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#10090433,transparent 45%,#100904aa),linear-gradient(180deg,#10090455,transparent 45%,#10090490)}.hero-heading{position:absolute;top:115px;left:var(--edge);width:65%;transform:translateY(var(--hero-y,0px));opacity:var(--hero-opacity,1);will-change:transform,opacity}.hero-heading .micro{margin-left:5px;margin-bottom:18px;max-width:380px}.hero-heading h1{font-size:clamp(86px,12.4vw,205px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase;font-weight:600}.hero-description{position:absolute;right:5.5%;top:45%;font-size:clamp(24px,2.1vw,34px);line-height:1.17;letter-spacing:-.025em;max-width:460px;opacity:var(--hero-opacity,1);transform:translateY(var(--hero-y,0px));text-shadow:0 2px 30px #100904aa}.hero-card{position:absolute;left:var(--edge);bottom:24px;width:246px;padding:22px;background:#dfbf9421;border:1px solid #ffedd72b;backdrop-filter:blur(12px);opacity:var(--hero-opacity,1);transform:translateY(var(--hero-card-y,0px));will-change:transform,opacity}.hero-card h2{font-size:23px;line-height:1.03;text-transform:uppercase;letter-spacing:-.04em}.hero-card .dashed{margin:30px 0 16px;opacity:.6}.hero-card p{font-size:14px;line-height:1.3;text-align:right}.hero-card a{display:flex;justify-content:space-between;margin-top:20px;padding-top:12px;border-top:1px dashed #ffedd74d;text-transform:uppercase;font-size:10px}.hero-preview{position:absolute;right:var(--edge);bottom:25px;width:190px;border:1px solid #ffedd744;background:#10090440;border-radius:12px;overflow:hidden;opacity:var(--hero-opacity,1)}.hero-preview img{width:100%;height:100px;object-fit:cover;opacity:.85;transition:transform .5s}.hero-preview:hover img{transform:scale(1.05)}.hero-preview span{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;padding:10px 12px}.continue{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:10px;opacity:var(--hero-opacity,1)}.continue span{border:1px dashed #ffedd766;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.approach-chapter{height:190dvh}.approach-screen{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;padding:100px calc(var(--edge) + 1vw);gap:25px;background:radial-gradient(ellipse at 50% 65%,#3e231325,transparent 60%)}.scene-heading{position:relative;z-index:2}.scene-heading .micro{margin-bottom:28px;color:var(--muted)}.scene-heading h2{font-size:clamp(30px,3vw,51px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;max-width:420px}.scene-description{font-size:clamp(20px,1.9vw,29px);line-height:1.26;position:relative;z-index:2}.scene-description .muted{font-size:16px;line-height:1.5;margin-top:25px;max-width:340px}.funnel-stage{position:relative;height:70vh;max-height:740px;min-height:440px;perspective:1200px;transform:translateY(var(--funnel-y,0px)) scale(var(--funnel-scale,1));will-change:transform}.funnel-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}.funnel-stage.ready canvas{opacity:1}.funnel-fallback{position:absolute;inset:15% 10%;background:linear-gradient(100deg,#b07c4720,#c59d7050,#382416);clip-path:polygon(0 0,100% 0,58% 90%,58% 100%,42% 100%,42% 90%)}.ready .funnel-fallback{display:none}.funnel-captions{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:13% 0 8%;pointer-events:none;align-items:center}.funnel-captions span{font-size:10px;text-transform:uppercase;color:var(--muted)}.funnel-captions span:nth-child(2){opacity:1;align-self:flex-end}.scene-footer{position:absolute;left:var(--edge);right:var(--edge);bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;text-transform:uppercase;color:var(--muted)}
.results-chapter{height:400dvh}.results-screen{padding:110px var(--edge) 35px;background:radial-gradient(ellipse at 53% 48%,#38241626,transparent 55%)}.results-heading{position:absolute;top:115px;left:var(--edge);z-index:5}.results-heading .micro{color:var(--muted);margin-bottom:22px}.results-heading h2{font-size:clamp(32px,3.2vw,54px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase}.metric-stories{position:absolute;inset:0;pointer-events:none}.metric-story{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(40px);transition:opacity .6s,transform .8s cubic-bezier(.22,1,.36,1)}.metric-story.active{opacity:1;transform:none;pointer-events:auto}.metric-figure{position:absolute;left:4%;right:28%;top:41%;transform:translateY(-18%);font-size:clamp(140px,20.5vw,330px);font-weight:400;line-height:1;letter-spacing:-.075em;text-align:center;white-space:nowrap}.metric-figure span{font-size:.25em;letter-spacing:-.04em;margin-left:.04em}.metric-copy{position:absolute;right:var(--edge);top:46%;width:26%;max-width:360px;min-width:250px}.metric-copy h3{font-size:20px;text-transform:uppercase;line-height:1.1;margin-bottom:25px}.metric-copy p{font-size:clamp(18px,1.6vw,25px);line-height:1.3;color:var(--muted);margin-bottom:30px}.metric-foot{position:absolute;left:6.8%;bottom:21%;font-size:10px;text-transform:uppercase;color:var(--muted)}.results-bottom{position:absolute;left:var(--edge);right:var(--edge);bottom:30px;display:grid;grid-template-columns:1fr auto 1fr;gap:35px;align-items:end}.results-bottom>p{font-size:10px;line-height:1.5;color:var(--muted)}.results-bottom>p:last-child{text-align:right}.metric-tabs{display:flex;gap:20px;align-items:center}.metric-tabs button,.gallery-index button{font-size:10px;text-transform:uppercase;color:var(--muted);padding-bottom:7px;border-bottom:1px dashed transparent;transition:color .3s,border-color .3s}.metric-tabs button.active,.gallery-index button.active{color:var(--ink);border-color:var(--ink)}
.gallery-chapter{height:650dvh}.gallery-screen{background:radial-gradient(ellipse at 50% 45%,#30221940,transparent 60%)}.gallery-heading{position:absolute;top:110px;left:var(--edge);z-index:5}.gallery-heading .micro{color:var(--muted);margin-bottom:18px}.gallery-heading h2{font-size:clamp(42px,5.6vw,90px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase}.gallery-track{display:flex;height:100%;width:600%;will-change:transform;transform:translate3d(var(--gallery-x,0px),0,0)}.work-slide{flex:0 0 calc(100% / 6);width:calc(100% / 6);position:relative;padding:290px var(--edge) 130px;display:grid;grid-template-columns:1fr 1.9fr 1fr;align-items:center;gap:32px;perspective:1300px}.work-title{align-self:center;min-width:0}.work-title .micro{font-size:10px;color:var(--muted);margin-bottom:24px}.work-title h3{font-size:clamp(29px,2.8vw,46px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:24px}.work-title>span{font-size:11px;text-transform:uppercase;color:var(--muted)}.work-image{display:flex;align-items:center;justify-content:center;max-height:500px;min-width:0;transform:rotateY(var(--work-tilt,-6deg)) rotateX(3deg);transition:filter .5s;filter:drop-shadow(0 35px 35px #05030090);will-change:transform}.work-image img{width:100%;height:auto;max-height:52vh;object-fit:contain}.work-image:hover{filter:drop-shadow(0 35px 35px #05030090) brightness(1.06)}.portrait-work img{width:auto;max-width:80%;height:47vh;object-fit:contain}.work-description{min-width:0}.work-description>p{font-size:17px;line-height:1.4;margin-bottom:20px}.work-description .muted{font-size:15px;line-height:1.45}.work-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}.work-links .line-link{font-size:10px}.study-numbers{display:flex;gap:25px;margin:24px 0}.study-numbers span{font-size:9px;text-transform:uppercase;color:var(--muted)}.study-numbers b{display:block;font-size:32px;line-height:1;font-weight:400;letter-spacing:-.04em;color:var(--ink);margin-bottom:10px}.work-description .small{margin-top:22px}.gallery-bottom{position:absolute;left:var(--edge);right:var(--edge);bottom:32px;z-index:6;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px}.gallery-bottom>p{font-size:10px;line-height:1.5;color:var(--muted)}.gallery-controls{display:flex;gap:28px;align-items:center}.gallery-controls button{border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:22px;transition:background .2s}.gallery-controls button:hover:not(:disabled){background:#382416}.gallery-counter{font-size:11px;white-space:nowrap}.gallery-index{display:flex;gap:15px;justify-content:flex-end;flex-wrap:wrap}
.capabilities{min-height:100dvh;padding:150px var(--edge) 50px;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.capabilities-title .micro{color:var(--muted);margin-bottom:30px}.capabilities-title h2{font-size:clamp(44px,5.8vw,98px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.capabilities-list article{padding:26px 0;border-top:1px dashed var(--line)}.capabilities-list h3{font-size:21px;line-height:1.15;margin-bottom:14px}.capabilities-list p{font-size:17px;color:var(--muted);line-height:1.5;max-width:530px}.tools{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;font-size:11px;text-transform:uppercase;color:var(--muted);padding-top:35px;border-top:1px dashed var(--line)}
.resume-section{padding:150px var(--edge) 100px;display:grid;grid-template-columns:1fr 1.6fr;gap:8vw;min-height:100dvh;border-top:1px dashed var(--line)}.resume-intro{position:sticky;top:140px;align-self:start}.resume-intro .micro{color:var(--muted);margin-bottom:25px}.resume-intro h2{font-size:clamp(54px,7vw,110px);line-height:1;letter-spacing:-.05em;text-transform:uppercase;margin-bottom:35px}.resume-intro>p:not(.micro){font-size:20px;line-height:1.4;margin-bottom:22px}.timeline article{padding:30px 0;border-top:1px dashed var(--line);display:grid;grid-template-columns:120px 1fr;gap:30px}.timeline time{font-size:10px;text-transform:uppercase;color:var(--muted);line-height:1.6}.timeline .micro{font-size:10px;color:var(--muted);margin-bottom:12px}.timeline h3{font-size:26px;line-height:1.1;margin-bottom:17px;letter-spacing:-.02em}.timeline p:not(.micro){font-size:16px;line-height:1.5;color:var(--muted)}details{margin-top:20px;font-size:15px;color:var(--muted);line-height:1.6}summary{font-size:10px;text-transform:uppercase;cursor:pointer;color:var(--ink);list-style:none}summary::-webkit-details-marker{display:none}details ul{padding-left:18px}details li+li{margin-top:10px}
.contact-section{min-height:100dvh;padding:130px var(--edge) 0;display:flex;flex-direction:column;justify-content:space-between;border-top:1px dashed var(--line)}.contact-section>.micro{color:var(--muted);margin-bottom:30px}.contact-section>h2{font-size:clamp(50px,6.5vw,110px);line-height:.98;letter-spacing:-.035em;text-transform:uppercase;max-width:1160px}.contact-actions{display:flex;gap:40px;align-items:center;margin:50px 0 90px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-radius:36px;background:#382416;padding:22px 30px;font-size:13px;text-transform:uppercase;transition:background .3s,transform .3s}.primary-link:hover{background:#523520;transform:translateY(-3px)}.contact-actions p{font-size:14px;color:var(--muted);line-height:1.5}.contact-section footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px dashed var(--line);padding:28px 0;font-size:11px;text-transform:uppercase;flex-wrap:wrap}.contact-section footer a{overflow-wrap:anywhere}.contact-section footer span{color:var(--muted)}
dialog{width:min(760px,calc(100% - 40px));max-height:85dvh;padding:70px 50px 45px;color:var(--ink);background:#1b110a;border:1px solid var(--line);border-radius:12px;line-height:1.55;overflow:auto}dialog::backdrop{background:#100904c9;backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:24px;right:28px;font-size:11px;text-transform:uppercase}dialog>.micro{color:var(--muted);margin-bottom:25px}dialog h2{font-size:38px;line-height:1.08;letter-spacing:-.025em;margin-bottom:25px}dialog p:not(.micro){color:var(--muted)}dialog ul{padding-left:18px;color:var(--muted);margin:25px 0}dialog li+li{margin-top:13px}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .9s cubic-bezier(.22,1,.36,1)}.js .reveal.in{opacity:1;transform:none}
@media(min-width:1800px){.hero-card{width:290px;padding:30px}.hero-card h2{font-size:29px}.hero-card p{font-size:17px}.hero-description{right:8%;max-width:550px}.hero-preview{width:240px}.hero-preview img{height:130px}.work-description>p{font-size:21px}.work-description .muted{font-size:18px}}
@media(max-width:1150px) and (min-width:761px){.site-header nav{gap:18px}.hero-heading h1{font-size:13vw}.hero-heading{top:125px}.hero-description{font-size:25px;width:33%;right:4%}.hero-card{width:205px;padding:20px}.hero-card h2{font-size:21px}.hero-preview{width:155px}.hero-preview img{height:82px}.approach-screen{grid-template-columns:1fr 1.2fr 1fr;gap:15px}.scene-heading h2{font-size:30px}.scene-description{font-size:22px}.scene-description .muted{font-size:14px}.metric-copy{width:29%;min-width:210px}.metric-figure{right:31%;font-size:21vw}.results-bottom{gap:15px}.metric-tabs{gap:12px}.metric-tabs button{font-size:9px}.work-slide{grid-template-columns:1fr 1.6fr 1fr;gap:20px;padding-top:260px}.work-title h3{font-size:28px}.work-description>p{font-size:15px}.work-description .muted{font-size:13px}.study-numbers{gap:15px}.study-numbers b{font-size:26px}.gallery-index{gap:10px}.gallery-index button{font-size:9px}.capabilities{gap:35px}.capabilities-title h2{font-size:5.8vw}.capabilities-list h3{font-size:19px}.capabilities-list p{font-size:15px}.resume-section{gap:40px;grid-template-columns:1fr 1.5fr}.timeline article{grid-template-columns:1fr;gap:15px}.resume-intro h2{font-size:7.2vw}}
@media(max-height:780px) and (min-width:761px){.screen{min-height:650px}.hero-heading{top:95px}.hero-heading h1{font-size:10.8vw}.hero-card{padding:18px;width:210px}.hero-card h2{font-size:20px}.hero-card .dashed{margin:20px 0 12px}.hero-card p{font-size:12px}.hero-description{font-size:25px}.gallery-heading,.results-heading{top:100px}.gallery-heading h2{font-size:5vw}.work-slide{padding-top:220px;padding-bottom:100px}.work-image img{max-height:45vh}.work-description>p{font-size:15px}.work-description .muted{font-size:13px}.study-numbers{margin:18px 0}.work-links{margin-top:20px}.gallery-bottom{bottom:23px}.metric-figure{top:43%}.metric-foot{bottom:19%}}
@media(max-width:760px){:root{--edge:22px;--rail:0px}.site-header{height:70px;background:#100904e8;backdrop-filter:blur(8px)}.wordmark{font-size:20px}.menu{display:flex;gap:12px;align-items:center;font-size:11px;text-transform:uppercase;padding:10px 0}.menu span{font-size:20px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:28px 22px 35px;flex-direction:column;align-items:flex-start;gap:25px;background:var(--bg);border-bottom:1px dashed var(--line)}.site-header nav.open{display:flex}.site-header nav a{font-size:12px}.side-progress{display:none}.screen{min-height:760px;height:100dvh}.hero-chapter{height:145dvh;min-height:1060px}.hero-screen{min-height:760px}.hero-photo{background-position:53% 50%}.hero-shade{background:linear-gradient(180deg,#10090480,#10090455 48%,#100904b8),linear-gradient(90deg,#10090433,#10090411)}.hero-heading{top:112px;width:calc(100% - 44px)}.hero-heading .micro{font-size:9px;max-width:230px;margin:0 0 20px}.hero-heading h1{font-size:clamp(62px,17vw,118px);line-height:.88;letter-spacing:-.055em}.hero-description{top:40%;left:auto;right:22px;max-width:52%;font-size:clamp(18px,4.3vw,26px);line-height:1.22;text-shadow:0 1px 16px #100904e0}.hero-card{left:22px;bottom:25px;width:170px;padding:17px}.hero-card h2{font-size:18px}.hero-card .dashed{margin:20px 0 12px}.hero-card p{font-size:11px}.hero-card a{font-size:9px;margin-top:15px;padding-top:10px}.hero-preview{width:128px;right:22px;bottom:25px}.hero-preview img{height:72px}.hero-preview span{font-size:8px;padding:8px}.continue{bottom:185px;left:auto;right:22px;transform:none;font-size:8px;gap:8px}.continue span{width:22px;height:22px}.approach-chapter{height:170dvh;min-height:1250px}.approach-screen{display:block;padding:110px 22px 40px;min-height:840px}.scene-heading{max-width:90%}.scene-heading .micro{font-size:9px;margin-bottom:18px}.scene-heading h2{font-size:clamp(28px,7.8vw,42px);line-height:1.02}.funnel-stage{position:absolute;top:290px;left:10%;right:10%;height:370px;min-height:0;max-height:none;transform:translateY(var(--funnel-y,0px)) scale(var(--funnel-scale,1))}.funnel-captions{padding:7% 0 5%}.funnel-captions span{font-size:9px}.scene-description{position:absolute;left:22px;right:22px;top:690px;display:grid;grid-template-columns:1fr 1.2fr;gap:25px;font-size:17px;line-height:1.3}.scene-description .muted{font-size:13px;margin-top:0}.scene-footer{font-size:8px;line-height:1.5;bottom:25px;align-items:end}.scene-footer>span{max-width:52%}.scene-footer .line-link{font-size:8px;max-width:40%}.results-chapter{height:430dvh}.results-screen{min-height:790px;padding:110px 22px 30px}.results-heading{top:110px;left:22px;right:22px}.results-heading .micro{font-size:8px;max-width:220px;margin-bottom:20px}.results-heading h2{font-size:36px}.metric-figure{top:34%;left:22px;right:22px;transform:none;font-size:clamp(110px,27vw,190px);line-height:1;text-align:left;letter-spacing:-.06em}.metric-copy{top:54%;left:22px;right:22px;width:auto;max-width:450px;min-width:0}.metric-copy h3{font-size:16px;margin-bottom:20px}.metric-copy p{font-size:21px;line-height:1.3;margin-bottom:20px;max-width:440px}.metric-copy .line-link{font-size:10px}.metric-foot{bottom:17%;left:22px;font-size:8px}.results-bottom{left:22px;right:22px;bottom:22px;grid-template-columns:1fr 1fr;gap:24px 15px}.metric-tabs{grid-column:1/-1;grid-row:1;justify-content:space-between;gap:10px}.metric-tabs button{font-size:9px}.results-bottom>p{font-size:8px}.results-bottom>p:last-child{text-align:right}.gallery-chapter{height:auto!important;min-height:0}.gallery-screen{position:relative;height:auto;min-height:0;overflow:visible;padding-top:95px;background:radial-gradient(ellipse at 50% 20%,#30221940,transparent 60%)}.gallery-heading{position:relative;top:auto;left:auto;padding:0 22px 45px}.gallery-heading .micro{font-size:9px;max-width:250px;line-height:1.5}.gallery-heading h2{font-size:42px;line-height:1}.gallery-track{display:block;width:100%;height:auto;transform:none!important}.work-slide{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:32px;min-height:100dvh;width:100%;padding:60px 22px 70px;border-top:1px dashed var(--line);align-items:start}.work-title h3{font-size:36px;line-height:1.02;margin-bottom:18px}.work-title h3 br{display:none}.work-title h3 br:after{content:' '}.work-title .micro{font-size:9px;margin-bottom:20px}.work-title>span{font-size:10px}.work-image{transform:rotateY(-3deg) rotateX(2deg);max-height:none;filter:drop-shadow(0 15px 25px #05030060)}.work-image img{width:100%;height:auto;max-height:370px;object-fit:contain}.portrait-work img{height:360px;width:auto;max-width:85%}.work-description>p{font-size:20px;line-height:1.4}.work-description .muted{font-size:16px}.study-numbers{gap:35px;margin:30px 0}.study-numbers b{font-size:38px}.study-numbers span{font-size:9px}.work-links{margin-top:26px;gap:12px}.work-links .line-link{font-size:10px}.gallery-bottom{position:relative;left:auto;right:auto;bottom:auto;display:block;padding:20px 22px 50px}.gallery-bottom>p{font-size:10px}.gallery-controls,.gallery-index{display:none}.capabilities{padding:100px 22px 60px;grid-template-columns:1fr;gap:45px;min-height:0}.capabilities-title .micro{font-size:9px;margin-bottom:24px}.capabilities-title h2{font-size:clamp(35px,8.6vw,58px);line-height:.98;letter-spacing:-.035em}.capabilities-list article{padding:28px 0}.capabilities-list h3{font-size:22px}.capabilities-list p{font-size:17px}.tools{grid-column:auto;font-size:9px;gap:18px 24px;justify-content:flex-start;padding-top:25px}.resume-section{padding:100px 22px 60px;grid-template-columns:1fr;gap:50px;min-height:0}.resume-intro{position:relative;top:auto}.resume-intro .micro{font-size:9px}.resume-intro h2{font-size:65px;margin-bottom:28px}.resume-intro>p:not(.micro){font-size:20px}.timeline article{grid-template-columns:1fr;gap:22px;padding:30px 0}.timeline time{font-size:10px}.timeline h3{font-size:27px}.timeline p:not(.micro){font-size:17px;line-height:1.5}.contact-section{padding:100px 22px 0;min-height:100dvh}.contact-section>.micro{font-size:9px;margin-bottom:30px}.contact-section>h2{font-size:clamp(37px,8.6vw,63px);line-height:1.01;letter-spacing:-.025em}.contact-actions{flex-direction:column;align-items:flex-start;gap:27px;margin:40px 0 65px}.primary-link{font-size:11px;padding:19px 25px;gap:35px}.contact-actions p{font-size:14px}.contact-section footer{font-size:10px;align-items:flex-start;flex-direction:column;gap:20px;padding:25px 0 30px}dialog{padding:65px 25px 30px;width:calc(100% - 30px)}dialog h2{font-size:30px}.dialog-close{right:24px}}
@media(max-width:370px){.hero-card{width:145px;padding:14px}.hero-card h2{font-size:16px}.hero-preview{width:110px}.hero-preview img{height:65px}.hero-preview span{font-size:7px}.hero-description{font-size:17px}.hero-heading h1{font-size:17vw}.metric-copy p{font-size:19px}.metric-tabs button{font-size:8px}.capabilities-title h2{font-size:8.5vw}.contact-section>h2{font-size:8.5vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.hero-photo{transform:none;filter:none}.hero-heading,.hero-card,.hero-description,.hero-preview,.continue{transform:none;opacity:1}.chapter{height:auto!important}.screen{position:relative}.results-screen{height:auto;min-height:0;padding-top:100px}.results-heading{position:relative;top:auto;left:auto;margin-bottom:45px}.metric-stories{position:relative;inset:auto;pointer-events:auto}.metric-story{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto;padding:35px 0;border-top:1px dashed var(--line)}.metric-figure,.metric-copy,.metric-foot{position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none;text-align:left;width:auto;max-width:none}.metric-figure{font-size:clamp(90px,15vw,200px);margin-bottom:25px}.metric-copy p{max-width:650px}.metric-foot{display:block;margin-top:20px}.results-bottom{position:relative;inset:auto;margin-top:30px;display:flex;justify-content:space-between}.metric-tabs{display:none}.gallery-screen{height:auto;position:relative;overflow:visible;padding:100px var(--edge) 0}.gallery-heading{position:relative;top:auto;left:auto;margin-bottom:45px}.gallery-track{display:block;width:100%;transform:none!important}.work-slide{width:100%;min-height:600px;padding:50px 0;border-top:1px dashed var(--line)}.gallery-bottom{position:relative;inset:auto;padding:30px 0}.gallery-controls,.gallery-index{display:none}}
@media print{.site-header,.side-progress,.hero-chapter,.approach-chapter,.results-chapter,.gallery-chapter,.capabilities,.contact-section,.skip-link{display:none}main{margin:0}body{background:#fff;color:#111}.resume-section{display:block;padding:0;border:0}.resume-intro{position:static;margin-bottom:25px}.resume-intro h2{font-size:36px}.timeline article{break-inside:avoid}.js .reveal{opacity:1;transform:none}}

/* Resume first; full projects as readable supporting material. */
.projects-section{padding:110px var(--edge);border-top:1px dashed var(--line)}
.projects-heading{max-width:800px;margin-bottom:70px}.projects-heading h2{font-size:clamp(58px,8vw,125px);text-transform:uppercase;letter-spacing:-.055em;line-height:1;margin:25px 0}.projects-heading>p:last-child{max-width:610px;font-size:21px;line-height:1.45}
.project-row{display:grid;grid-template-columns:55px minmax(0,1fr) 220px;gap:35px;padding:45px 0;border-top:1px dashed var(--line)}.project-number{font-size:14px;color:var(--muted)}.project-row h3{font-size:clamp(25px,2.8vw,42px);line-height:1.12;letter-spacing:-.025em;max-width:750px;margin:15px 0 24px}.project-row p:not(.micro){font-size:18px;line-height:1.5;max-width:730px;margin-top:12px}.project-actions{display:flex;flex-direction:column;align-items:flex-start;gap:25px;justify-content:center}.projects-section>.small{margin-top:40px}.resume-section{scroll-margin-top:60px}
@media(max-width:760px){.projects-section{padding:80px 22px}.projects-heading{margin-bottom:40px}.projects-heading>p:last-child{font-size:18px}.project-row{grid-template-columns:25px minmax(0,1fr);gap:16px;padding:32px 0}.project-row h3{font-size:28px}.project-row p:not(.micro){font-size:16px}.project-actions{grid-column:2;gap:22px;align-items:flex-start}.project-row .micro{font-size:9px}.resume-section .work-links{gap:22px}}

/* Keep independently animated elements in separate layout areas. */
.hero-screen{min-height:850px}.hero-heading{top:110px}.hero-description{top:49%;max-width:36%}.hero-card{max-width:calc(100% - 44px)}
@media(min-width:761px) and (max-width:1100px){.hero-screen{min-height:900px}.hero-description{top:46%;font-size:23px}.results-screen{min-height:850px}.metric-copy{top:45%}.metric-figure{top:42%}.results-bottom{grid-template-columns:1fr 1fr}.metric-tabs{grid-column:1/-1;grid-row:1;justify-content:center}.capabilities{grid-template-columns:1fr;gap:50px}.capabilities-title h2{font-size:7vw}}
@media(max-width:760px){.hero-screen{min-height:900px}.hero-description{top:35%;max-width:64%;font-size:20px}.hero-card{bottom:30px}.hero-preview{bottom:30px}.approach-screen{min-height:970px}.scene-description{top:700px}.scene-footer{bottom:30px}.results-screen{min-height:920px}.metric-figure{top:30%}.metric-copy{top:48%}.metric-foot{bottom:20%}.resume-intro h2{font-size:clamp(44px,16vw,65px)}.project-row h3{overflow-wrap:anywhere}}
@media(max-width:370px){.hero-description{font-size:18px}.metric-copy p{font-size:18px}.results-heading h2{font-size:32px}.metric-copy h3{font-size:15px}.scene-description{gap:16px;font-size:16px}.scene-description .muted{font-size:13px}.scene-heading h2{font-size:27px}}

@media(max-width:760px){.hero-chapter,.approach-chapter{height:auto;min-height:0}.hero-screen{position:relative;height:900px}.hero-heading,.hero-card,.hero-description,.hero-preview,.continue{opacity:1!important;transform:none!important}.hero-photo{transform:none!important;filter:none!important}.approach-screen{position:relative;height:970px}.results-chapter{height:auto}.results-screen{position:relative;height:auto;min-height:0;padding:100px 22px 35px}.results-heading{position:relative;inset:auto;margin-bottom:40px}.metric-stories{position:relative;inset:auto;pointer-events:auto}.metric-story{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto;padding:35px 0;border-top:1px dashed var(--line)}.metric-figure,.metric-copy,.metric-foot{position:relative;inset:auto;transform:none;text-align:left;width:auto;max-width:none}.metric-figure{font-size:110px;margin-bottom:25px}.metric-copy h3{margin-bottom:15px}.metric-copy p{font-size:20px}.metric-foot{display:block;margin-top:25px}.results-bottom{position:relative;inset:auto;display:flex;gap:20px;justify-content:space-between;margin-top:35px}.metric-tabs{display:none}}

/* One clear legend under the visual, separate from the animated funnel. */
.funnel-stage canvas{bottom:60px;height:calc(100% - 60px)}
.funnel-captions{inset:auto 0 0;flex-direction:row;justify-content:center;align-items:center;gap:0;padding:16px 0;border-top:1px dashed var(--line);height:48px}
.funnel-captions span{font-size:10px;white-space:nowrap;align-self:center!important;color:var(--ink)}
.funnel-captions span+span:before{content:'→';color:var(--muted);margin:0 15px}
@media(max-width:1150px) and (min-width:761px){.funnel-captions span{font-size:9px}.funnel-captions span+span:before{margin:0 8px}}
@media(max-width:760px){.funnel-captions{padding:15px 0;height:45px}.funnel-captions span{font-size:10px}.funnel-captions span+span:before{margin:0 12px}}
