/* v0.2: bounded illustrations, labelled layers and transitions. */
img{height:auto}
.hero{min-height:760px;grid-template-columns:1fr 1.13fr;gap:35px;overflow:clip;padding-top:70px}
.hero-art{margin:0;height:520px;min-height:0;display:flex;align-items:center}
.hero-scene{width:100%;height:auto;min-height:0;aspect-ratio:3/2;display:block}
.factory{width:100%;max-width:100%;height:auto;margin:0;filter:none;position:relative;z-index:2;object-fit:contain;transform:translateY(calc(var(--hero-progress,0)*34px)) scale(calc(1 - var(--hero-progress,0)*.04));transform-origin:center;will-change:transform}
.scene-grid{inset:12% 3%;background-size:32px 32px;opacity:.45}
.scene-caption{position:static;display:block;text-align:center;font-size:9px;letter-spacing:.8px;margin-top:15px}
.art-index{display:none}
.partner{margin-top:28px}
.partner img{width:177px;height:auto;max-width:100%}
.hero-actions{gap:20px}
.hero-actions .button{font-size:11px;gap:16px}
.scroll-hint{bottom:25px}
.problems{position:relative;isolation:isolate}
.problems::before{content:'';width:1px;height:65px;background:linear-gradient(transparent,#42a447);position:absolute;left:0;top:0}
.problem-symbol svg{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.problem-in-view .problem-symbol svg{transform:translateY(-5px)}
.approach{padding-top:85px;background:linear-gradient(#f3f5f6,#edf2f4)}
.method-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:90px;align-items:end}
.method-heading>.eyebrow{grid-column:1/-1}
.method-heading h2{margin-bottom:0}
.method-heading .lead{font-size:14px;max-width:430px;margin:0 0 5px}
.method-body{grid-template-columns:1.15fr 1fr;gap:90px;margin-top:45px}
.method-visual{top:105px;max-width:580px;width:100%;min-width:0}
.layer-scene{height:435px;max-height:none;overflow:visible;margin-top:0}
.layer-stack{width:min(410px,88%);height:250px;top:4px;transform:translateX(-50%);isolation:isolate}
.layer{height:63px;padding:14px 18px 0;gap:13px;clip-path:polygon(0 19%,52% 0,100% 19%,100% 75%,48% 100%,0 75%);opacity:1!important;filter:none!important;transition:transform .7s cubic-bezier(.2,.75,.25,1),background .7s;transform:none;box-shadow:none;overflow:hidden}
.layer-number{font-size:10px}
.layer-label{font-size:11px;line-height:1.3;white-space:normal;font-weight:500;max-width:280px}
.layer-mark{display:block;flex-shrink:0}
.layer-mark svg{width:18px;height:18px}
.layer-0{top:188px}.layer-1{top:141px}.layer-2{top:94px}.layer-3{top:47px}.layer-4{top:0}
.layer-scene[data-active="0"] .layer:not(.layer-0),.layer-scene[data-active="1"] .layer-2,.layer-scene[data-active="1"] .layer-3,.layer-scene[data-active="1"] .layer-4,.layer-scene[data-active="2"] .layer-3,.layer-scene[data-active="2"] .layer-4,.layer-scene[data-active="3"] .layer-4{transform:none;opacity:1;filter:none}
.layer-scene[data-active="0"] .layer-0,.layer-scene[data-active="1"] .layer-1,.layer-scene[data-active="2"] .layer-2,.layer-scene[data-active="3"] .layer-3,.layer-scene[data-active="4"] .layer-4{transform:translateX(22px)}
.method-factory{position:absolute;width:100%;max-width:100%;height:175px;object-fit:contain;left:0;bottom:0;transform:none;filter:none}
.scene-controls{margin-top:4px}
.illustration-caption{margin-top:10px;font-size:9px}
.work-example{margin:20px auto 0;padding:17px 20px;background:#ffffffc9;border:1px solid #dbe5e9;border-radius:5px;max-width:470px}
.example-eyebrow{font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-bottom:13px;color:var(--muted)}
.example-track{display:flex;align-items:center;justify-content:space-between;gap:8px}
.example-node{flex:1;display:flex;flex-direction:column;gap:5px;color:#8b9ba5;transition:color .5s}
.example-node>span{display:flex;justify-content:center}
.example-node svg{width:20px;height:20px}
.example-node b{font-weight:400;font-size:9px;text-align:center}
.example-node.is-active{color:var(--deep-green)}
.example-connector{width:24px;height:1px;flex-shrink:0;background:#ccd9df;position:relative}
.example-connector::after{content:'';position:absolute;right:0;top:-2px;border-left:4px solid #9db1bc;border-top:2px solid transparent;border-bottom:2px solid transparent}
#example-text{text-align:center;font-size:11px;margin:14px 0 5px;line-height:1.6;color:var(--navy)}
.work-example small{display:block;text-align:center;font-size:8px;color:var(--muted)}
.story-step{min-height:355px;opacity:1;padding-left:22px;border-left:1px solid #d5e0e5;transition:border-color .5s}
.story-step.is-active{border-left-color:var(--green)}
.story-step h3{font-size:32px}
.story-step>p:last-child{max-width:370px}
.method-note{margin-top:20px}
.people{padding-top:95px}
.cases-section{padding-top:100px;position:relative;overflow:clip}
.cases-heading{max-width:1344px}
.cases-heading h2{font-size:51px;max-width:800px}
.cases-heading .lead{font-size:14px;max-width:560px}
.case{padding-top:35px;padding-bottom:100px}
.case-copy h3{font-size:44px;margin-bottom:25px;letter-spacing:-1.6px}
.case-copy .eyebrow{font-size:10px;letter-spacing:1.5px}
.case-factory{height:390px;object-fit:cover}
.case-tablet{height:210px;object-fit:cover}
.about h2{font-size:41px}
.about-vision{font-size:14px;line-height:1.9;color:var(--muted);margin-top:22px;max-width:600px}
.founder{font-size:10px;line-height:1.8}
.footer-notes{display:flex;flex-direction:column;gap:9px;max-width:265px}
.footer-notes span{font-size:9px;letter-spacing:.8px;color:var(--muted)}
.footer-notes small{font-size:8px;color:var(--muted);line-height:1.7}
/* Each chapter has an entrance. Content remains available without observers. */
.motion-enabled .section-transition h2,.motion-enabled .section-transition>.eyebrow,.motion-enabled .section-transition .section-heading,.motion-enabled .section-transition .people-heading{transform:translateY(38px);opacity:.25;transition:transform .95s cubic-bezier(.2,.75,.25,1),opacity .8s}
.motion-enabled .section-transition.in-view h2,.motion-enabled .section-transition.in-view>.eyebrow,.motion-enabled .section-transition.in-view .section-heading,.motion-enabled .section-transition.in-view .people-heading{transform:translateY(0);opacity:1}
.motion-enabled .section-transition .problem{transform:translateY(40px);transition:transform .9s cubic-bezier(.2,.75,.25,1)}
.motion-enabled .section-transition.in-view .problem{transform:translateY(0)}
.motion-enabled .section-transition .problem:nth-child(2){transition-delay:.1s}.motion-enabled .section-transition .problem:nth-child(3){transition-delay:.2s}.motion-enabled .section-transition .problem:nth-child(4){transition-delay:.3s}
.motion-enabled .section-transition .case-images,.motion-enabled .section-transition .agent-demo,.motion-enabled .section-transition .app-example{transform:translateY(50px) scale(.95);transition:transform 1.1s cubic-bezier(.2,.75,.25,1)}
.motion-enabled .section-transition.in-view .case-images,.motion-enabled .section-transition.in-view .agent-demo,.motion-enabled .section-transition.in-view .app-example{transform:translateY(0) scale(1)}
.motion-enabled .section-transition .about-symbol{transform:translateX(-40px);transition:transform 1s cubic-bezier(.2,.75,.25,1)}
.motion-enabled .section-transition.in-view .about-symbol{transform:translateX(0)}
.motion-enabled .section-transition form{transform:translateY(30px);transition:transform 1s cubic-bezier(.2,.75,.25,1)}
.motion-enabled .section-transition.in-view form{transform:translateY(0)}
@media(max-width:1150px){.hero{min-height:720px;gap:25px}.hero-art{height:440px}.method-body{gap:50px}.method-heading{gap:50px}.layer-label{font-size:10px}.layer-mark{display:none}.layer-stack{width:90%}.story-step h3{font-size:27px}.case-factory{height:340px}.case-tablet{height:185px}.cases-heading h2{font-size:45px}.about h2{font-size:35px}}
@media(max-width:900px){.hero{gap:20px;min-height:650px}.hero-art{height:390px}.hero h1{font-size:41px}.hero-actions{display:flex;align-items:flex-start}.partner img{width:155px}.method-heading{display:block}.method-heading h2{margin-bottom:25px}.method-body{gap:30px}.layer-stack{width:95%}.layer{padding-inline:12px;gap:7px}.layer-label{font-size:9px}.layer-number{font-size:9px}.layer-scene{height:425px}.work-example{padding:15px 10px}.example-node b{font-size:8px}.example-connector{width:12px}.story-step{min-height:335px;padding-left:17px}.story-step h3{font-size:25px}.case-factory{height:330px}.case-tablet{height:165px}.cases-heading h2{font-size:42px}}
@media(max-width:650px){.hero{padding:40px 0 60px;gap:10px;min-height:0}.hero h1{font-size:clamp(35px,9.3vw,52px)}.hero-art{height:auto;width:100%;margin:18px 0 0;display:block}.hero-scene{height:auto;width:100%;aspect-ratio:auto}.factory{height:auto;max-width:100%;transform:none}.scene-caption{font-size:8px;margin-top:8px}.hero-actions{gap:14px}.hero-actions .button{font-size:10px;gap:13px}.hero-actions .text-link{font-size:10px}.partner{margin-top:25px}.partner img{width:158px}.problems::before{height:35px}.approach{padding-top:60px}.method-heading h2{font-size:39px}.method-heading .lead{font-size:12px}.method-body{display:block;margin-top:35px}.method-visual{position:relative;top:auto;max-width:460px}.layer-scene{height:425px}.layer-stack{width:min(355px,94%);top:10px}.layer{height:63px;padding:14px 14px 0;gap:11px}.layer-label{font-size:10px;max-width:250px}.layer-mark{display:block}.layer-number{font-size:9px}.method-factory{height:155px;bottom:0;width:100%;left:0}.story-step{padding:25px 0 25px 16px;min-height:0;border-top:0;margin-bottom:10px;border-left:1px solid #d5e0e5}.story-step h3{font-size:25px}.story{margin-top:30px}.work-example{padding:16px 14px}.example-node b{font-size:9px}.example-connector{width:20px}.illustration-caption{margin-top:12px}.method-note{font-size:10px}.people{padding-top:65px}.cases-section{padding-top:60px}.cases-heading h2{font-size:35px}.cases-heading .lead{font-size:12px}.case{padding-top:20px;padding-bottom:60px}.case-copy h3{font-size:37px;margin-bottom:20px}.case-factory{height:280px}.case-tablet{height:158px}.case-copy .eyebrow{font-size:9px}.about h2{font-size:32px}.about-vision{font-size:12px}.footer-notes{max-width:100%;display:flex}.footer-notes small{font-size:8px}.footer-notes span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.factory,.layer,.section-transition h2,.section-transition .case-images,.section-transition .agent-demo,.section-transition .app-example,.section-transition .about-symbol,.section-transition form,.section-transition .problem{transform:none!important;opacity:1!important;transition:none!important}.layer{filter:none!important}}
