/* A single 3D stage; ScrollTrigger owns pin spacing only after the renderer is ready. */
.laptop-hero{background:#0B1F3A;color:#F5F6F8;position:relative;--hero-header:88px}
.laptop-stage{position:relative;min-height:calc(100svh - var(--hero-header));overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#203D59 0%,#0B1F3A 65%);}
.laptop-intro{position:relative;z-index:3;text-align:center;padding-top:34px;pointer-events:none}
.laptop-intro .eyebrow{color:#D4B571;font-size:10px;margin-bottom:18px}
.laptop-intro h1{font-size:clamp(46px,6.2vw,89px);line-height:1.01;letter-spacing:-.045em}
.laptop-intro h1 em{color:#D4B571}
.laptop-lead{color:#C9D5E2;font-size:17px;line-height:1.65;margin:22px auto 0;max-width:650px}
.laptop-visual{position:relative;min-height:290px;pointer-events:none;touch-action:pan-y}
.laptop-fallback{width:min(400px,76%);margin:30px auto 20px;perspective:1100px}
.fallback-lid{background:#F5F6F8;border:13px solid #202C38;border-radius:14px 14px 3px 3px;aspect-ratio:16/10;color:#0B1F3A;padding:22px;box-shadow:0 0 0 2px #7D8790;display:flex;flex-direction:column;gap:10px;transform:rotateX(-8deg)}
.fallback-lid>span{font:10px var(--mono);color:#536174}
.fallback-lid strong{font:clamp(22px,4vw,42px)/1.05 var(--display)}
.fallback-lid i{font-size:12px;font-style:normal}
.fallback-lid b{font-size:11px;font-weight:500;color:#256246;margin-top:auto}
.fallback-base{height:15px;border-radius:1px 1px 60% 60%;background:linear-gradient(#ADB4BA,#727B84);margin-inline:-20px}
.enquiry-fragments{display:none}
.hero-caption{display:none;text-align:center;position:absolute;left:20px;right:20px;top:36px;z-index:4;pointer-events:none}
.hero-caption .hero-step{font:10px var(--mono);color:#D4B571;letter-spacing:.1em}
.hero-caption p{font:clamp(24px,3.5vw,43px)/1.1 var(--display);margin-top:12px}
.hero-controls{position:relative;display:flex;align-items:center;gap:24px;z-index:6;padding-block:18px;background:#0B1F3A}
.hero-control-label{display:flex;flex-direction:column;gap:5px;margin-right:auto}
.hero-scroll-cue{font-size:13px;display:flex;gap:14px}
.hero-example-label{color:#B7C2D0;font:9px var(--mono)}
.hero-controls .button{font-size:14px;min-height:50px}
.hero-skip{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;border-bottom:1px solid #738399}
.laptop-hero :focus-visible{outline-color:#D4B571}
.hero-progress{display:none;position:absolute;inset:auto 0 0;height:2px;background:#344860;z-index:8}
.hero-progress span{display:block;width:100%;height:100%;background:#B8933F;transform:scaleX(0);transform-origin:left}
.hero-accessible-summary{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-handoff{display:none}
.laptop-hero[data-mode="fallback"] .hero-scroll-cue{display:none}
.laptop-hero[data-mode="fallback"] .hero-skip{font-size:0}
.laptop-hero[data-mode="fallback"] .hero-skip::before{content:"Explore the work";font-size:12px}
/* Enhancement never controls important copy availability or native scrolling. */
.laptop-hero.is-3d .laptop-stage{height:calc(100svh - var(--hero-header));min-height:0}
.laptop-hero.is-3d .laptop-visual{position:absolute;inset:0;min-height:0;z-index:2}
.laptop-visual canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:pan-y}
.laptop-hero.is-3d .laptop-fallback{display:none}
.laptop-hero.is-3d .enquiry-fragments{display:block;position:absolute;inset:0}
.enquiry-fragments>span{position:absolute;padding:11px 15px;background:#F5F6F8;color:#34445A;font:13px var(--body);border:1px solid #FFFFFF26;border-radius:5px;box-shadow:0 6px 20px #00000013;white-space:nowrap}
.enquiry-fragments>span:nth-child(1){left:13%;top:51%;transform:rotate(-5deg)}
.enquiry-fragments>span:nth-child(2){right:14%;top:56%;transform:rotate(4deg)}
.enquiry-fragments>span:nth-child(3){right:19%;top:73%;transform:rotate(-3deg)}
.laptop-hero.is-3d .hero-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0B1F3A 35%)}
.laptop-hero.is-3d .hero-caption,.laptop-hero.is-3d .hero-progress{display:block}
.laptop-hero.is-3d .hero-handoff{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;opacity:0}
.workflow-ui{position:absolute;width:1280px;height:800px;background:#F5F6F8;color:#0B1F3A;font-family:var(--body);transform-origin:0 0;overflow:hidden}
.workflow-ui *{box-sizing:border-box}
.workflow-ui p,.workflow-ui h2,.workflow-ui h3{margin:0;text-wrap:wrap;letter-spacing:0}
.workflow-sidebar{position:absolute;inset:0 auto 0 0;width:170px;background:#0B1F3A;color:#D6DFEA;padding:32px 24px;display:flex;flex-direction:column;gap:30px;font-size:17px}
.workflow-sidebar>b{font:52px var(--display);color:#FFF;margin-bottom:64px}.workflow-sidebar>b>span{color:#B8933F}
.workflow-sidebar>span:first-of-type{color:#D4B571}
.workflow-sidebar small{margin-top:auto;font-size:12px;line-height:1.7}
.workflow-top{position:absolute;top:0;left:170px;right:0;height:94px;border-bottom:1px solid #D7DDE4;display:flex;align-items:center;justify-content:space-between;padding:0 46px;font:14px var(--mono)}
.workflow-top>span:last-child{font:16px var(--body);color:#536174}
.workflow-heading{position:absolute;left:216px;top:133px}
.workflow-heading p{font:13px var(--mono);letter-spacing:.09em;color:#7A5D26}
.workflow-heading h2{font:400 42px/1.2 var(--display);margin-top:16px}
.workflow-card{position:absolute;left:216px;top:265px;width:608px;height:385px;background:#FFF;border:1px solid #D7DDE4;border-radius:10px;padding:26px 30px}
.workflow-card-top{display:flex;align-items:center;justify-content:space-between;font:12px var(--mono);color:#536174}
.workflow-card-top b{font:500 14px var(--body);color:#256246;background:#E9F3EC;padding:7px 12px;border-radius:4px}
.workflow-card h3{font:500 30px var(--body);margin-top:22px}
.workflow-card-note{font-size:15px;color:#536174;margin-top:3px!important}
.workflow-card dl{margin-top:24px}.workflow-card dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #E6EAF0;font-size:17px}.workflow-card dt{color:#536174}.workflow-card dd{font-weight:500}
.workflow-owner{font-size:15px;color:#256246;margin-top:20px}
.workflow-schedule{position:absolute;left:868px;top:270px;width:366px;padding:0 12px}
.workflow-schedule>span{font:12px var(--mono);color:#7A5D26}
.workflow-schedule h3{font:400 28px var(--display);margin-top:13px}
.workflow-slot{display:flex;gap:18px;align-items:flex-start;margin-top:35px}.workflow-slot time{font:14px var(--mono);color:#536174}.workflow-slot i{height:1px;background:#D7DDE4;flex:1;margin-top:8px}.workflow-booking{border-left:3px solid #B8933F;background:#E8EDF2;padding:14px;flex:1;display:flex;flex-direction:column;gap:7px;font-size:12px}.workflow-booking strong{font-size:18px}
.workflow-footnote{position:absolute;left:216px;top:680px;font-size:17px;color:#536174}
.workflow-ui[data-state="new"] .workflow-card-top b,.workflow-ui[data-state="review"] .workflow-card-top b{color:#7A5D26;background:#F5EFDF}
.workflow-ui[data-state="new"] .workflow-owner,.workflow-ui[data-state="review"] .workflow-owner{color:#7A5D26}
.workflow-ui:not([data-state="scheduled"]) .workflow-booking{opacity:0}
.workflow-ui[data-layout="narrow"] .workflow-sidebar,.workflow-ui[data-layout="narrow"] .workflow-schedule{display:none}
.workflow-ui[data-layout="narrow"] .workflow-top{left:416px;width:448px;padding:0;height:100px;font-size:12px}
.workflow-ui[data-layout="narrow"] .workflow-top>span:first-child{display:none}.workflow-ui[data-layout="narrow"] .workflow-top>span:last-child{font-size:18px}
.workflow-ui[data-layout="narrow"] .workflow-heading{left:416px;top:132px}.workflow-ui[data-layout="narrow"] .workflow-heading p{font-size:12px}.workflow-ui[data-layout="narrow"] .workflow-heading h2{font-size:35px;width:430px;line-height:1.1}
.workflow-ui[data-layout="narrow"] .workflow-card{left:416px;width:448px;top:258px;height:412px;padding:25px 27px}
.workflow-ui[data-layout="narrow"] .workflow-card dl>div{display:block;padding:9px 0;font-size:18px}.workflow-ui[data-layout="narrow"] .workflow-card dd{margin-top:3px}
.workflow-ui[data-layout="narrow"] .workflow-card-note{font-size:15px}.workflow-ui[data-layout="narrow"] .workflow-card h3{font-size:29px;margin-top:16px}
.workflow-ui[data-layout="narrow"] .workflow-owner{margin-top:16px;font-size:17px}
.workflow-ui[data-layout="narrow"] .workflow-footnote{left:416px;top:703px;width:440px;font-size:18px;line-height:1.4}
/* Match the display texture's coordinates, independent of global paragraph rhythm. */
.workflow-card h3{position:absolute;left:30px;top:79px;margin:0;line-height:1.2}
.workflow-card-note{position:absolute;left:30px;top:119px;line-height:1.2;margin:0!important}
.workflow-card dl{position:absolute;left:30px;right:30px;top:168px;margin:0}
.workflow-card dl>div{position:relative;height:43px;padding:0;border:0;line-height:1.2}
.workflow-card dl>div::after{content:"";position:absolute;left:0;right:0;top:32px;height:1px;background:#E6EAF0}
.workflow-card dd{margin:0}
.workflow-owner{position:absolute;left:30px;top:331px;margin:0;line-height:1.2}
.workflow-ui[data-layout="narrow"] .workflow-card h3{left:27px;top:72px;margin:0}
.workflow-ui[data-layout="narrow"] .workflow-card-note{left:27px;top:110px}
.workflow-ui[data-layout="narrow"] .workflow-card dl{left:27px;right:27px;top:150px}
.workflow-ui[data-layout="narrow"] .workflow-card dl>div{height:57px;padding:0}
.workflow-ui[data-layout="narrow"] .workflow-card dl>div::after{top:49px}
.workflow-ui[data-layout="narrow"] .workflow-card dd{position:absolute;top:25px;margin:0}
.workflow-ui[data-layout="narrow"] .workflow-owner{left:27px;top:371px;margin:0}
@media(max-width:900px){
 .laptop-hero{--hero-header:72px}.laptop-intro{padding-top:28px}.laptop-intro .eyebrow{max-width:310px;margin-inline:auto;font-size:9px}.laptop-intro h1{font-size:clamp(39px,5.9vw,65px)}
 .laptop-lead{font-size:15px;max-width:480px}.hero-controls{gap:12px}
 .hero-control-label{max-width:180px}.hero-example-label{font-size:8px}
 .enquiry-fragments>span{font-size:11px;padding:9px 11px}.enquiry-fragments>span:nth-child(1){left:5%;top:49%}.enquiry-fragments>span:nth-child(2){right:5%;top:65%}.enquiry-fragments>span:nth-child(3){display:none}
}
@media(max-width:600px){
 .laptop-intro{padding-top:27px}.laptop-intro h1{font-size:clamp(36px,10.2vw,56px);line-height:1.05}.laptop-intro .small-line{display:none}.laptop-intro .eyebrow{max-width:280px;font-size:8px;margin-bottom:16px}
 .laptop-lead{font-size:14px;line-height:1.6;margin-top:17px;max-width:340px}.desktop-break{display:none}
 .hero-controls{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding-top:18px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .hero-controls .button{grid-column:1/-1;grid-row:1;min-height:46px;width:100%;font-size:13px}.hero-control-label{grid-row:2;max-width:none}.hero-scroll-cue{display:none}.hero-example-label{font-size:7px}.hero-skip{font-size:11px;gap:8px;min-height:42px;border:0}
 .hero-caption{top:30px}.hero-caption p{font-size:29px;max-width:300px;margin-inline:auto}.hero-caption .hero-step{font-size:9px}
 .enquiry-fragments>span:nth-child(1){left:6%;top:46%}.enquiry-fragments>span:nth-child(2){right:6%;top:72%}
 .fallback-lid{padding:15px;border-width:9px}.fallback-lid b{font-size:9px}.fallback-lid i{font-size:10px}
 .laptop-fallback{margin-top:45px;width:78%}.laptop-visual{min-height:265px}
}
@media(max-height:560px) and (min-width:601px){
 .laptop-hero{--hero-header:72px}.laptop-intro{padding-top:12px;text-align:left;padding-right:50%;z-index:3}.laptop-intro h1{font-size:39px}.laptop-intro .eyebrow{font-size:8px;margin-bottom:10px}.laptop-lead{font-size:12px;margin-top:12px;max-width:300px}.desktop-break{display:none}
 .hero-controls{padding-block:7px;gap:14px}.hero-controls .button{min-height:43px;font-size:12px;padding:10px 15px}.hero-example-label{font-size:7px}.hero-control-label{max-width:180px}.hero-skip{font-size:11px}
 .hero-caption{top:18px}.hero-caption p{font-size:28px;margin-top:6px}.enquiry-fragments{display:none!important}
 .laptop-hero:not(.is-3d) .laptop-visual{position:absolute;right:3%;top:20px;width:43%;min-height:0}
 .laptop-hero:not(.is-3d) .laptop-fallback{width:74%;margin:0 auto}
 .laptop-hero:not(.is-3d) .fallback-lid{padding:12px;gap:5px;border-width:8px}
 .laptop-hero:not(.is-3d) .fallback-lid strong{font-size:23px}
 .laptop-hero:not(.is-3d) .hero-controls{position:absolute;bottom:0;left:0;right:0}
}
@media(prefers-reduced-motion:reduce){.laptop-hero .enquiry-fragments{display:none!important}}
