:root{--paper:#f7f8fc;--white:#fff;--ink:#19152c;--muted:#615e70;--purple:#5735ba;--coral:#ff365a;--line:#dedfe8;--dark:#21183d;--pad:5.5%;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--coral);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(48px,5.1vw,82px)}h2{font-size:clamp(38px,4vw,62px)}h3{font-size:25px;letter-spacing:-.03em}p{color:var(--muted)}.skip{position:fixed;top:-100px;padding:15px;background:#fff;z-index:100}.skip:focus{top:0}.header{padding:28px var(--pad);height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:165px;height:auto;display:block}.header nav{display:flex;gap:34px;font-size:14px}.header nav a,.text-link{border-bottom:1px solid transparent;padding:8px 0;transition:border .3s}.header nav a:hover,.text-link:hover{border-color:var(--purple)}.header-link{font-size:14px;padding:9px 16px;border:1px solid #ccc9d8;border-radius:5px}.header-link:hover{background:#fff}.hero{padding:40px var(--pad) 64px;display:grid;grid-template-columns:1.08fr 1fr;gap:30px;align-items:center;min-height:670px}.hero-copy{padding:15px 0 40px;position:relative;z-index:2}.eyebrow,.section-label{font-size:14px;font-weight:500;letter-spacing:.025em;display:flex;align-items:center;gap:12px}.eyebrow{margin-bottom:34px;color:var(--purple)}.eyebrow-line{width:28px;height:2px;background:var(--coral)}h1 span{color:var(--purple)}.hero-description{max-width:465px;margin-top:29px;font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;border:1px solid var(--purple);border-radius:5px;padding:14px 22px;font-size:15px;font-weight:500;transition:background .3s,transform .3s}.button:hover{background:#3e258d;transform:translateY(-2px)}.text-link{font-size:14px;color:var(--ink);border-bottom:1px solid #bdb9ca}.hero-note{font-size:13px;margin-top:30px}.hero-visual{height:550px;position:relative;border:1px solid #dedbea;background:#eeedf7;border-radius:7px;overflow:hidden}.visual-top{position:absolute;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;z-index:2;font-size:12px;color:#635c79}.sculpture{position:absolute;inset:20px -35px 20px;touch-action:pan-y}.sculpture canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 1s}.sculpture.ready canvas{opacity:1}.fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 65% 65%,#000 55%,transparent 92%)}.sculpture.ready .fallback{opacity:0;pointer-events:none}.visual-caption{position:absolute;left:25px;right:25px;bottom:62px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#524769;border-top:1px solid #d4d0e4;padding-top:16px}.motion{position:absolute;bottom:17px;right:24px;display:flex;align-items:center;gap:8px;font-size:12px;background:none;border:0;color:#635c79;padding:4px}.motion[hidden]{display:none}.specialty-rail{margin:0 var(--pad);padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.specialty-rail>span{color:var(--muted)}.specialty-rail p{color:var(--ink)}.specialty-rail p span{margin:0 22px;color:#aaa3bb}.section{padding:105px var(--pad)}.section-label{color:var(--purple);margin-bottom:32px}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:52px}.section-heading>p{max-width:450px}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.about h2{margin-bottom:30px}.about-content p{max-width:520px;margin-top:20px}.work{background:#fff}.work-heading{display:flex;justify-content:space-between}.project-status{font-size:13px}.project summary{cursor:pointer;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;list-style:none}.project-title{font-size:60px}.project-descriptor{font-size:23px}.expand{font-size:28px}.project-body{margin:35px 0 0 40%;max-width:570px}.project-body .subtle{font-size:14px;margin-top:20px}.project-points{display:flex;gap:20px;font-size:13px;margin-top:25px}.people{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.people h2{font-size:45px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:42px}.team-member img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;background:#eeedea}.team-member:first-child img{object-position:center top}.team-member figcaption{font-size:14px;line-height:1.45;margin-top:14px}footer{margin:0 var(--pad);padding:35px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:var(--muted)}footer .brand img{width:130px}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s var(--ease)}.reveal-on-scroll.visible{opacity:1;transform:none}
@media(min-width:1700px){body{--pad:max(5.5%,calc((100vw - 1550px)/2))}}@media(max-width:1100px){.header nav{gap:24px}.hero{gap:20px;padding-top:25px}.hero-visual{height:500px}.hero-actions{gap:18px}.hero-description{font-size:17px}.hero-note{max-width:300px}.visual-caption{flex-direction:column;gap:4px;bottom:45px}.section-heading{gap:40px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body{--pad:6%;font-size:16px}.header{height:95px;padding-top:22px;padding-bottom:22px}.brand img{width:136px}.header nav{gap:18px;font-size:13px}.header nav a:nth-child(2),.header nav a:nth-child(3){display:none}.header-link{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:28px;padding-bottom:40px;min-height:0}.hero-copy{padding:0 0 32px}.eyebrow{font-size:13px;margin-bottom:25px}h1{font-size:clamp(43px,10vw,65px);letter-spacing:-.055em}.hero-description{font-size:17px;margin-top:25px}.hero-actions{margin-top:26px;gap:15px}.hero-note{margin-top:23px;font-size:12px;max-width:none}.button{padding:12px 18px;font-size:14px}.text-link{font-size:13px}.hero-visual{height:415px}.visual-top{top:18px;left:18px;right:18px}.visual-caption{left:18px;right:18px;flex-direction:row;font-size:10px;gap:12px;bottom:52px}.motion{right:18px;font-size:11px}.sculpture{inset:10px -15px 0}.specialty-rail{flex-direction:column;align-items:flex-start;gap:10px;font-size:13px}.specialty-rail p span{margin:0 7px}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:13px;margin-bottom:25px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}h2{font-size:39px}.about,.people{grid-template-columns:1fr;gap:30px}.project summary{grid-template-columns:1fr auto}.project-title{font-size:42px}.project-descriptor{grid-column:1;font-size:20px}.project-body{margin:30px 0 0}.people h2{font-size:36px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;margin-top:30px}footer{flex-wrap:wrap;gap:25px}footer>span:nth-child(2){display:none}footer a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-on-scroll{opacity:1;transform:none}}

.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solution-grid article{padding:33px 34px 30px 0;display:flex;flex-direction:column;align-items:flex-start}.solution-grid article+article{padding-left:34px;border-left:1px solid var(--line)}.solution-index{color:var(--purple);font-size:13px;margin-bottom:28px}.solution-grid h3{margin-bottom:18px}.solution-grid p{font-size:16px;max-width:330px}.solution-context{margin-top:auto;padding-top:29px;font-size:13px;color:var(--muted)}.specialties{display:grid;grid-template-columns:1fr 3fr;gap:45px;margin-top:48px}.specialties>p{font-size:16px;line-height:1.6;color:var(--ink)}.specialties strong{font-weight:500}.specialty-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.specialty-notes h4{margin:0 0 10px;font-weight:500;font-size:15px}.specialty-notes p{font-size:14px;line-height:1.65}.approach{background:#fff}.workflow-demo{display:grid;grid-template-columns:1.25fr 1fr;border:1px solid var(--line);border-radius:7px;overflow:hidden}.workflow-story{padding:34px 36px 30px;background:#f4f3fa;display:flex;flex-direction:column;justify-content:space-between}.demo-label{font-size:14px;color:var(--ink);margin-bottom:18px}.scenario-tabs{display:flex;flex-wrap:wrap;gap:8px}.scenario-tabs button{font-size:13px;padding:9px 12px;border:1px solid #d6d1e5;border-radius:4px;background:transparent;color:#64597e;transition:background .2s,color .2s}.scenario-tabs button[aria-selected=true]{background:var(--purple);border-color:var(--purple);color:#fff}.scenario-tabs button:hover{border-color:var(--purple)}.flow-line{display:flex;justify-content:space-between;gap:15px;margin:62px 0 51px;position:relative}.flow-line:before{content:'';position:absolute;top:26px;left:30px;right:30px;height:1px;background:#b9aed1}.flow-node{position:relative;width:30%;text-align:center}.flow-node>span{display:inline-flex;width:54px;height:54px;border:1px solid #b9aed1;align-items:center;justify-content:center;border-radius:50%;background:#f4f3fa;color:var(--purple);font-size:14px}.flow-node:last-child>span{background:#e6def9;border-color:var(--purple)}.flow-node p{font-size:14px;line-height:1.45;margin-top:18px;color:var(--ink)}.demo-footnote{font-size:12px;max-width:470px;line-height:1.6}.workflow-output{padding:38px 36px;background:var(--white);min-height:390px;border-left:1px solid var(--line)}.route-type{font-size:12px;color:var(--purple);text-transform:uppercase;letter-spacing:.09em}.workflow-output blockquote{margin:23px 0 30px;font-size:24px;font-weight:450;line-height:1.4;letter-spacing:-.025em;max-width:360px}.output-rule{height:1px;background:var(--line);margin-bottom:27px}.workflow-output h3{font-size:22px;margin-bottom:13px}.workflow-output p{font-size:15px}.source-chip{border-left:2px solid var(--purple);margin-top:27px;padding-left:15px;font-size:12px}.source-chip span{display:block;color:var(--muted);margin-bottom:5px}.source-chip strong{font-weight:500;line-height:1.5}.workflow-output [hidden]{display:none}.case-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.case-top .section-label{margin-bottom:0}.project-status{background:#f1edf9;padding:7px 12px;border-radius:4px;color:var(--purple);font-size:13px}.case-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;margin-top:55px;align-items:center}.case-name{font-size:14px;letter-spacing:.1em;color:var(--purple);margin-bottom:22px}.case-title h2{font-size:clamp(38px,3.8vw,56px);max-width:590px}.case-title>p:not(.case-name){font-size:17px;margin-top:25px;max-width:490px}.case-title .text-link{display:inline-block;margin-top:22px}.case-map{background:#f1f2f8;border:1px solid #e3e4ed;padding:27px 30px;border-radius:7px}.map-label,.map-footer{font-size:12px;color:var(--muted);display:block}.case-map>div{padding:24px 0 25px 45px;position:relative;border-bottom:1px solid #d8dae7}.case-map>div>span{position:absolute;left:0;top:26px;color:var(--purple);font-size:13px}.case-map h3{font-size:20px;margin-bottom:7px}.case-map p{font-size:14px}.map-footer{margin-top:23px}.development-notes{margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}.development-notes summary,.research-sources summary{display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-size:15px}.development-notes summary>span,.research-sources summary>span{font-size:26px;line-height:1;transition:transform .3s}details[open]>summary>span{transform:rotate(45deg)}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 65px;padding:10px 0 28px}.notes-grid h3{font-size:21px;margin-bottom:14px}.notes-grid p{font-size:15px}.notes-caption{grid-column:1/-1;font-size:12px!important;border-top:1px solid var(--line);padding-top:22px}.research{background:var(--dark);color:#fff}.research .section-label{color:#cbbafa}.research-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:110px}.research-intro h2{font-size:clamp(48px,5vw,74px)}.research-intro em{font-style:normal;color:#c6abff}.research-intro>p{color:#c3bccf;margin-top:28px;max-width:400px;font-size:17px}.research-mark{display:flex;flex-wrap:wrap;gap:12px;margin-top:37px;font-size:12px;color:#c6abff}.research-mark span{padding:7px 11px;border:1px solid #5b496f;border-radius:3px}.principles article{display:flex;gap:25px;padding:24px 0;border-top:1px solid #49365f}.principles article:first-child{padding-top:0;border:0}.principles article>span{font-size:12px;color:#c4a6ff;padding-top:4px}.principles h3{font-size:24px}.principles p{color:#c3bccf;margin-top:10px;font-size:15px;max-width:455px}.research-sources{margin-top:65px;border-top:1px solid #49365f;border-bottom:1px solid #49365f}.research-sources summary{color:#ddd5e9}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:12px 0 25px}.source-grid a{border-bottom:1px solid #49365f;padding-bottom:25px}.source-grid a:hover h3{color:#d1b5ff}.source-grid a>span{font-size:12px;color:#b6a1d1}.source-grid h3{font-size:21px;margin:15px 0 12px}.source-grid p{font-size:14px;color:#c3bccf}.source-grid .source-note{grid-column:1/-1;font-size:12px;margin-top:0;max-width:700px}.people{display:block}.people .section-heading{margin-bottom:48px}.people h2{font-size:clamp(38px,4vw,60px)}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0}.portrait{overflow:hidden;border-radius:5px}.team-member img{aspect-ratio:4/4.6;transition:transform .7s var(--ease)}.team-member:hover img{transform:scale(1.035)}.team-member figcaption{font-size:17px;letter-spacing:-.02em;line-height:1.4;margin-top:18px}.team-member figcaption small{display:block;margin-top:7px;font-size:13px;letter-spacing:0;color:var(--muted)}.collaborate{background:#ebe7f5;display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.collaborate h2{font-size:clamp(38px,3.6vw,55px)}.collaborate>div>p:not(.section-label){max-width:470px;margin-top:25px;font-size:17px}.collaborate .button{margin-top:28px}.conversation-points{padding-left:45px;border-left:1px solid #cfc5e1}.conversation-points>p{color:var(--purple);font-size:14px!important;margin:0!important}.conversation-points ol{list-style:none;counter-reset:question;padding:0;margin:25px 0 0}.conversation-points li{counter-increment:question;padding:17px 0;border-bottom:1px solid #cfc5e1;position:relative;font-size:18px}.conversation-points li:before{content:'0' counter(question);display:inline-block;width:34px;font-size:12px;color:var(--purple)}
@media(max-width:1100px){.solution-grid article{padding-right:23px}.solution-grid article+article{padding-left:23px}.specialties{grid-template-columns:1fr 3fr;gap:25px}.specialty-notes{gap:20px}.workflow-story,.workflow-output{padding:30px 25px}.case-grid{gap:50px}.research-grid{gap:60px}.team-grid{gap:20px}.collaborate{gap:45px}.conversation-points{padding-left:30px}}
@media(max-width:700px){.solution-grid{grid-template-columns:1fr}.solution-grid article,.solution-grid article+article{padding:26px 0;border-left:0;border-top:1px solid var(--line)}.solution-grid article:first-child{border-top:0}.solution-index{margin-bottom:17px}.solution-grid h3{font-size:25px;margin-bottom:13px}.solution-grid p{max-width:none}.solution-context{padding-top:17px;font-size:12px}.specialties{grid-template-columns:1fr;gap:26px;margin-top:32px}.specialty-notes{grid-template-columns:1fr;gap:22px}.specialty-notes p{font-size:14px}.workflow-demo{grid-template-columns:1fr}.workflow-story{padding:25px 22px}.scenario-tabs{gap:7px}.scenario-tabs button{font-size:12px;padding:9px 10px}.flow-line{margin:35px 0}.flow-node>span{width:46px;height:46px}.flow-line:before{top:23px}.flow-node p{font-size:13px}.workflow-output{border-left:0;border-top:1px solid var(--line);padding:28px 24px;min-height:380px}.workflow-output blockquote{font-size:23px;margin-top:20px}.case-top{align-items:flex-start;gap:15px}.case-top .section-label{font-size:12px;max-width:190px}.project-status{font-size:11px;white-space:nowrap;padding:6px 8px}.case-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.case-title h2{font-size:39px}.case-title h2 br{display:none}.case-map{padding:23px}.case-map h3{font-size:19px}.development-notes{margin-top:36px}.development-notes summary,.research-sources summary{font-size:14px;gap:15px;padding:20px 0}.notes-grid{grid-template-columns:1fr;gap:25px}.research-grid{grid-template-columns:1fr;gap:38px}.research-intro h2{font-size:55px}.research-intro>p{font-size:16px;margin-top:23px}.research-mark{margin-top:26px}.principles article{gap:20px;padding:22px 0}.principles h3{font-size:22px}.research-sources{margin-top:35px}.source-grid{grid-template-columns:1fr;gap:23px}.source-grid h3{margin-top:10px}.people .section-heading{margin-bottom:32px}.people h2{font-size:39px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.team-member figcaption{font-size:15px;margin-top:13px}.collaborate{grid-template-columns:1fr;gap:35px}.collaborate h2{font-size:39px}.conversation-points{padding-left:0;border-left:0}.conversation-points li{font-size:16px}.collaborate>div>p:not(.section-label){font-size:16px}}

.contact-email{display:block;margin-top:18px;font-size:14px;color:var(--purple);overflow-wrap:anywhere}.contact-email:hover{text-decoration:underline}

.research-intro em{font-family:Georgia,serif;font-style:italic;letter-spacing:-.045em;font-weight:400}

.workflow-output p,.principles p,.notes-grid p{font-size:16px}.scenario-tabs button{font-size:14px}.source-chip strong{font-size:13px}@media(max-width:700px){.scenario-tabs button{font-size:13px}}

/* Progressive scroll presentation: content is readable before JavaScript runs. */
html{scroll-padding-top:108px}.header{position:sticky;top:0;z-index:30;height:88px;padding-top:18px;padding-bottom:18px;background:rgba(247,248,252,.97);border-bottom:1px solid transparent;transition:border-color .25s}.is-scrolled .header{border-bottom-color:var(--line)}.header nav a[aria-current=location]{color:var(--purple);border-bottom-color:var(--purple)}.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--purple);transform:scaleX(0);transform-origin:left}.headline-line{display:block;color:var(--ink)}h1 .accent{color:var(--purple)}.hero-visual{margin-bottom:0}.motion{position:fixed;z-index:50;right:22px;bottom:20px;background:#fff;border:1px solid #d5cfdf;border-radius:5px;padding:8px 13px;color:#514568;font-size:12px;box-shadow:0 3px 18px #21183d0b}.motion:hover{border-color:var(--purple)}.motion[hidden]{display:none}
.motion-enabled .motion-reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .65s var(--ease) var(--reveal-delay,0s),transform .8s var(--ease) var(--reveal-delay,0s)}.motion-enabled .motion-reveal.is-visible{opacity:1;transform:none}.motion-enabled .hero-copy{transform:translate3d(0,var(--hero-drift,0px),0)}.motion-enabled .hero-visual .visual-caption{transform:translate3d(0,var(--caption-drift,0px),0)}
.scroll-story{--story-progress:0;position:relative}.story-stage{position:relative}.story-caption{display:none}.story-enabled .scroll-story{height:calc(var(--stage-height) + 140svh)}.story-enabled .story-stage{position:sticky;top:max(108px,calc((100svh - var(--stage-height))/2));}.story-enabled .story-caption{display:flex;align-items:center;justify-content:space-between;padding:0 2px 18px;font-size:12px;color:var(--muted);gap:20px}.story-position{display:flex;align-items:center;gap:18px}.story-count{font-variant-numeric:tabular-nums;color:var(--purple)}.story-meter{display:block;width:90px;height:2px;background:#ddd6ed}.story-meter i{display:block;width:100%;height:100%;background:var(--purple);transform:scaleX(var(--story-progress));transform-origin:left}.story-enabled .workflow-output{min-height:440px}.flow-progress{position:absolute;left:30px;right:30px;top:26px;height:2px;background:var(--purple);transform:scaleX(var(--flow-fill,.33));transform-origin:left;transition:transform .35s var(--ease)}.story-enabled .flow-progress{transition:none}.flow-node.is-route>span{background:var(--purple);color:#fff;border-color:var(--purple)}
@media(min-width:1100px) and (min-height:680px){.motion-enabled .research-intro,.motion-enabled .case-title{position:sticky;top:130px;align-self:start}}
@media(max-width:700px){html{scroll-padding-top:90px}.header{height:78px;padding-top:15px;padding-bottom:15px}.motion{right:12px;bottom:12px;padding:8px 11px;font-size:11px}.motion-enabled .hero-copy{transform:none}.motion-enabled .motion-reveal{transform:translate3d(0,18px,0);transition-delay:0s}.motion-enabled .motion-reveal.is-visible{transform:none}.flow-progress{top:23px}.reading-progress{height:2px}footer{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enabled .motion-reveal,.motion-enabled .hero-copy,.motion-enabled .hero-visual .visual-caption{opacity:1;transform:none!important}.story-enabled .scroll-story{height:auto}.story-enabled .story-stage{position:relative;top:auto}.story-enabled .story-caption{display:none}.motion-enabled .research-intro,.motion-enabled .case-title{position:static}}

.scenario-tabs button{min-height:44px}@media(max-width:700px){.scenario-tabs button{font-size:14px}}
