:root{--ink:#171816;--gold:#ffbf59;--paper:#f7f7f2;--muted:#6b6c65;--line:#dcded5;--font-body:'DM Sans',sans-serif;--font-display:'Bricolage Grotesque',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.65}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:1.06;letter-spacing:-.045em}a{color:inherit;text-decoration:none}a:hover{color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}button,a,summary{touch-action:manipulation}a,button{transition:background .2s,color .2s,transform .2s}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a15b00;outline-offset:5px}[hidden]{display:none!important}.container{max-width:1280px;padding-left:40px;padding-right:40px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--gold);padding:12px 22px;z-index:100}.skip-link:focus{top:10px}.header{background:var(--ink);color:var(--paper);border-bottom:1px solid #373831}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:25px}.brand{display:flex;align-items:center;gap:20px}.brand img{width:48px;height:auto}.brand-caption{font-size:9px;letter-spacing:1.8px;max-width:110px;line-height:1.7;color:#c9cbc2}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav>a:not(.button):hover{color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:16px 24px;border-radius:5px;font-weight:600;font-size:13px;line-height:1.4}.button span{font-size:21px;line-height:1}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#ffd18a;color:var(--ink);transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#36382f;color:#fff;transform:translateY(-2px)}.nav-cta{margin-left:14px;padding:13px 20px}.menu-toggle{display:none}.hero{background:var(--ink);color:var(--paper)}.hero__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-top:70px;padding-bottom:76px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;display:flex;align-items:center;gap:9px;margin-bottom:26px;color:#c8cabf}.status-dot{height:6px;width:6px;border-radius:100%;background:var(--gold)}h1{font-size:clamp(64px,6.5vw,94px);font-weight:600;line-height:.98;letter-spacing:-5px;position:relative}h1>span:first-of-type{color:var(--gold)}.hero-asterisk{font-size:68px;display:inline-block;margin-left:24px;color:var(--gold);vertical-align:middle}.hero-description{color:#bbbdb3;max-width:410px;margin-top:28px;font-size:14px;line-height:1.85}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:27px}.text-link{font-size:12px;font-weight:500;border-bottom:1px solid #77796d;padding:6px 0;white-space:nowrap}.text-link span{margin-left:10px}.hero-note{font-size:10px;color:#92968a;margin-top:22px}.hero-visual{padding-top:28px;min-width:0}.preview-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#bbbeae;margin-bottom:17px}.hero-preview{display:block;background:#eff3f1;border-radius:7px;overflow:hidden;box-shadow:0 25px 55px #0003;transform:rotate(-3deg)}.hero-preview:hover{transform:rotate(-1deg)}.browser-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;padding:13px 18px;font-size:10px;color:#7b807a;line-height:1.2;border-bottom:1px solid #e7e9e2}.browser-dots{font-size:8px;color:#c3c8bd;letter-spacing:3px;white-space:nowrap}.hero-preview img{display:block;width:100%}.preview-caption{display:flex;justify-content:space-between;align-items:center;margin-top:34px;font-family:var(--font-display);font-size:19px;line-height:1.35;letter-spacing:-.3px}.round-arrow{display:grid;place-items:center;width:45px;height:45px;border:1px solid #5b5c50;border-radius:50%;font-size:26px;color:var(--gold)}.preview-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.preview-tags span{font-size:8px;letter-spacing:1px;color:#adafa3;border:1px solid #414338;padding:6px 10px;border-radius:3px}.audience-strip{border-bottom:1px solid var(--line);background:#eeefe7}.audience-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:25px;padding-bottom:25px}.audience-strip span{font-size:9px;letter-spacing:1.2px;white-space:nowrap;color:#717467}.audience-strip p{display:flex;align-items:center;gap:25px;font-family:var(--font-display);font-weight:500;font-size:19px}.audience-strip i{font-style:normal;color:#9a9e8b;font-size:19px}.section-pad{padding:95px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}h2{font-size:48px;font-weight:500;letter-spacing:-2px}.dark-eyebrow{color:#6c7063}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8;padding-bottom:4px}.project-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:24px}.project-tabs button{display:flex;align-items:center;text-align:left;gap:16px;border:0;border-right:1px solid var(--line);padding:20px 22px;background:transparent;font-weight:600;font-size:14px;color:var(--ink)}.project-tabs button:last-child{border:0}.project-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.project-tabs button:focus-visible{outline-offset:-5px;outline-color:var(--gold)}.project-tabs small{display:block;font-size:10px;color:#72766a;font-weight:400;margin-top:3px}.project-tabs button[aria-selected=true] small{color:#b8bcae}.tab-number{font-size:10px;color:#7a7f70;align-self:flex-start;padding-top:3px}.project-tabs button[aria-selected=true] .tab-number,.project-tabs button[aria-selected=true] .tab-arrow{color:var(--gold)}.tab-arrow{margin-left:auto;font-size:23px;font-weight:400}.project-screen{border:1px solid #dfe2d8;border-radius:8px;overflow:hidden;background:#e8ece7;padding:18px 18px 0}.project-screen .browser-bar{border-radius:6px 6px 0 0;padding:13px 18px}.live-label{font-size:8px;letter-spacing:1.3px;color:#52705d}.screenshot-button{display:block;width:100%;padding:0;border:0;position:relative;background:#e8ece7;overflow:hidden}.screenshot-button img{width:100%;display:block;aspect-ratio:1.5;object-fit:cover;object-position:top}.enlarge-label{position:absolute;right:18px;bottom:18px;background:var(--ink);color:#fff;padding:9px 14px;font-size:11px;border-radius:4px;box-shadow:0 2px 9px #0003}.screenshot-button:hover .enlarge-label{background:var(--gold);color:var(--ink)}.project-info{display:flex;justify-content:space-between;gap:40px;margin-top:26px}.project-tags{display:flex;flex-wrap:wrap;gap:14px;font-size:8px;letter-spacing:1.1px;color:#717565;margin-bottom:12px}.project-info h3{font-size:29px;letter-spacing:-.8px;margin-bottom:11px}.project-info p{font-size:12px;color:var(--muted);max-width:520px}.project-actions{display:flex;flex-direction:column;align-items:stretch;gap:11px;min-width:225px;padding-top:3px}.similar-link{font-size:11px;text-align:center;text-decoration:underline;text-underline-offset:4px}.gallery-note{font-size:10px;color:#747969;margin-top:35px}.included{background:#eceee5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.included-grid,.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.included-grid>div>p:last-child,.faq-grid>div>p:last-child{font-size:13px;color:var(--muted);max-width:300px;margin-top:25px}.benefit-list article{display:flex;gap:24px;border-bottom:1px solid #cfd3c5;padding:25px 0}.benefit-list article:first-child{padding-top:0}.benefit-list article>span:first-child{font-size:10px;color:#737866;padding-top:5px}.benefit-list article>span:last-child{margin-left:auto;font-size:24px}.benefit-list h3{font-size:20px;letter-spacing:-.5px;margin-bottom:9px}.benefit-list p{font-size:12px;line-height:1.8;color:#707565;max-width:370px}.process{background:var(--ink);color:var(--paper)}.process .section-heading>p{color:#b6b9ad}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:56px}.steps article{border-top:1px solid #4a4d40;padding-top:23px}.step-number{display:flex;align-items:center;justify-content:space-between;font-size:35px;color:var(--gold);font-family:var(--font-display);margin-bottom:32px}.step-number>span{font-size:25px}.steps h3{font-size:24px;letter-spacing:-.6px;margin-bottom:14px}.steps p{color:#afb3a5;font-size:12px;line-height:1.9;max-width:300px}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;font-weight:500;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:24px;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:13px;color:var(--muted);margin-top:15px;max-width:470px}.contact{background:var(--gold);padding:75px 0}.contact-inner{text-align:center}.contact-inner .eyebrow{justify-content:center;color:#66502c}.contact h2{font-size:70px;letter-spacing:-3px}.contact h2 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.contact p:not(.eyebrow){font-size:13px;margin:24px 0}.contact .button{padding:18px 28px}.email-link{display:block;width:fit-content;margin:18px auto 0;font-size:11px;text-decoration:underline;text-underline-offset:4px}.footer{background:var(--ink);color:#c9cdbf;padding:42px 0 22px}.footer-top{display:flex;align-items:center;gap:32px;padding-bottom:35px}.footer-top img{width:57px}.footer-top p{font-size:12px}.footer-top>a:nth-last-child(2){margin-left:auto;font-size:12px}.back-top{font-size:11px}.footer-bottom{border-top:1px solid #3a3d32;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#929785}dialog{border:0;border-radius:8px;background:var(--paper);color:var(--ink);padding:20px;max-width:1100px;width:94vw;max-height:92dvh;overflow:auto}dialog::backdrop{background:#000c}dialog img{display:block;width:100%;margin-bottom:15px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-header h2{font-size:22px;letter-spacing:-.5px}.close-preview{border:1px solid var(--line);background:transparent;border-radius:5px;padding:8px 15px;font-size:13px}body.modal-open{overflow:hidden}
@media(min-width:1450px){.container{max-width:1380px}.hero__inner{gap:90px}.hero h1{font-size:108px}}
@media(max-width:1100px){.brand-caption{display:none}.hero__inner{gap:35px}h1{font-size:77px}.hero-asterisk{font-size:45px;margin-left:12px}.hero-actions{gap:16px;flex-wrap:wrap}.audience-strip>.container{flex-direction:column;gap:12px}.audience-strip p{gap:23px}.included-grid,.faq-grid{gap:50px}.project-tabs button{padding:17px 14px;gap:12px}.tab-arrow{display:none}}
@media(max-width:767px){.container{padding-left:24px;padding-right:24px}.header-inner{min-height:80px;position:relative;flex-wrap:wrap;gap:0}.brand img{width:40px}.brand-caption{display:block;font-size:8px}.menu-toggle{display:flex;gap:15px;align-items:center;border:1px solid #5d6052;border-radius:4px;color:var(--paper);padding:8px 12px;background:transparent;font-size:12px}nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:15px 0 25px}nav.open{display:flex}nav>a{padding:12px 0}.nav-cta{margin:12px 0 0}.hero__inner{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:44px}h1{font-size:clamp(64px,12vw,88px);letter-spacing:-3.5px}.hero-asterisk{font-size:55px;margin-left:25px}.hero-description{font-size:13px;max-width:370px}.hero-actions{gap:20px}.hero-actions .button{padding:15px 19px}.text-link{font-size:11px}.hero-visual{padding:20px 7px 0}.preview-caption{font-size:17px;margin-top:23px}.preview-tags{margin-top:20px}.audience-strip p{flex-wrap:wrap;justify-content:center;gap:10px 15px;font-size:16px}.audience-strip>.container{padding-top:21px;padding-bottom:21px}.audience-strip i{font-size:12px}.section-pad{padding:60px 0}.section-heading{display:block;margin-bottom:26px}h2{font-size:37px;letter-spacing:-1.5px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}.section-heading>p{margin-top:20px;font-size:12px}.project-tabs{gap:0;border-radius:5px}.project-tabs button{display:block;padding:14px 9px;font-size:11px;line-height:1.4}.tab-number{display:block;margin-bottom:7px}.project-tabs small{font-size:9px;line-height:1.5;margin-top:6px}.project-screen{padding:8px 8px 0}.browser-bar{font-size:8px;padding:10px!important;gap:8px}.browser-dots{letter-spacing:1px;font-size:6px}.live-label{display:none}.enlarge-label{font-size:9px;padding:6px 9px;bottom:10px;right:10px}.project-info{flex-direction:column;gap:20px;margin-top:22px}.project-info h3{font-size:25px}.project-tags{font-size:7px;gap:10px}.project-actions{align-items:flex-start;gap:16px}.project-actions .button{min-width:160px}.gallery-note{margin-top:26px;font-size:9px}.included-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.included h2 br:last-child{display:none}.benefit-list article{gap:17px}.benefit-list h3{font-size:19px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.step-number{margin-bottom:20px;font-size:29px}.steps h3{font-size:23px}.steps p{max-width:none}.faq-list summary{font-size:14px}.contact{padding:55px 0}.contact h2{font-size:49px;letter-spacing:-2px}.contact p:not(.eyebrow){max-width:290px;margin:23px auto}.footer-top{flex-wrap:wrap;gap:24px}.footer-top>a:nth-last-child(2){margin-left:0}.footer-top p{flex:1}.back-top{margin-left:auto}.footer-bottom{font-size:9px;gap:20px}.dialog-header h2{font-size:17px}.close-preview{white-space:nowrap;padding:8px 10px}dialog{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-preview{transform:none}}

.carousel-viewport{overflow:hidden;touch-action:pan-y pinch-zoom;padding:28px 0 32px;margin:0}
.carousel-track{display:flex;align-items:stretch;will-change:transform}
.carousel-track>.project-panel{flex:0 0 50%;min-width:0;padding:0 12px;position:relative;opacity:.42;transform:translateY(22px) scale(.86);transform-origin:center top;filter:saturate(.45);transition:transform 1s cubic-bezier(.22,.68,.18,1),opacity 1s,filter 1s}
.carousel-track>.project-panel.is-current{z-index:1;opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}
.carousel-track .project-screen{padding:12px 12px 0}
.carousel-track .screenshot-button img{aspect-ratio:1.8;object-fit:cover;object-position:top}
.demo-name{font-family:var(--font-display);font-size:18px!important;font-weight:600;color:var(--ink)!important;margin-bottom:9px}
@media(max-width:767px){.carousel-track .screenshot-button img{aspect-ratio:1.5}.carousel-track .project-info{padding-bottom:6px}}

/* Center a full demo with half of its two neighbors visible. */
.carousel-track .project-info{flex-direction:column;gap:18px;margin-top:22px}
.carousel-track .project-info h3{font-size:clamp(19px,2.1vw,29px)}
.carousel-track .project-actions{min-width:0;align-items:flex-start}
.carousel-track .project-tags{gap:8px}
.carousel-track .project-screen{box-shadow:0 10px 25px #1718160a}
@media(max-width:767px){.carousel-track>.project-panel{padding:0 5px}.carousel-track .project-screen{padding:5px 5px 0}.carousel-track .browser-dots{display:none}.carousel-track .project-info h3{font-size:18px}.carousel-track .project-info p{font-size:11px}.carousel-track .project-actions .button{min-width:0;padding:12px;gap:12px;font-size:11px}.carousel-track .project-tags{font-size:6px}.carousel-track .similar-link{text-align:left;font-size:10px}.carousel-track .enlarge-label{font-size:8px;padding:4px 6px;right:5px;bottom:5px}}

/* Preserve Demo 3's deployed desktop framing, including the portrait at the bottom edge. */
.carousel-track [data-preview="2"] img{aspect-ratio:2;object-fit:contain}

/* The spotlight travels with the demo entering the center. */
.carousel-track .project-screen{transition:box-shadow 1s,border-color 1s}
.carousel-track .is-current .project-screen{border-color:var(--gold);box-shadow:0 14px 28px #17181620,0 0 0 1px #ffbf5955}
.carousel-track .demo-name{transition:color 1s}
.carousel-track .is-current .demo-name{color:#93601c!important}

/* Three stationary laptops; only the content inside their screens moves. */
.laptop-stage{position:relative;isolation:isolate;height:clamp(270px,33vw,440px);perspective:1200px;margin:15px -20px 0;touch-action:pan-y pinch-zoom;overflow:hidden;background:radial-gradient(ellipse at 50% 68%,#dce0d0 0,transparent 65%)}
.laptop{position:absolute;top:15%;width:35%;padding:0;border:0;background:none;color:var(--ink);transform-style:preserve-3d;text-align:center}
.laptop-left{left:0;transform:rotateY(19deg) rotateZ(-2deg);top:22%;filter:brightness(.86)}
.laptop-right{right:0;transform:rotateY(-19deg) rotateZ(2deg);top:22%;filter:brightness(.86)}
.laptop-center{width:46%;left:27%;z-index:2}
.laptop-lid{display:block;position:relative;padding:15px 9px 10px;border:2px solid #6c6e70;border-radius:13px 13px 5px 5px;background:linear-gradient(125deg,#434548,#151618 45%,#303236);box-shadow:0 15px 30px #1718162b}
.laptop-center .laptop-lid{border-color:#b09b71;box-shadow:0 18px 35px #17181638,0 0 0 1px #ffbf5940}
.laptop-camera{position:absolute;top:5px;left:50%;height:4px;width:4px;border-radius:50%;background:#111;box-shadow:inset 0 0 1px #9aaabd}
.laptop-screen{display:block;position:relative;overflow:hidden;aspect-ratio:1.8;background:#363636;border-radius:2px}
.laptop-screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;background:#363636;max-width:none}
.laptop-base{position:relative;display:block;height:12px;width:110%;margin-left:-5%;border-radius:1px 1px 50% 50% / 1px 1px 85% 85%;background:linear-gradient(#e7e8e9,#b7b9bc 35%,#797d80 80%,#383b3d);box-shadow:0 12px 16px #17181625}
.laptop-base::after{content:"";position:absolute;top:0;left:43%;width:14%;height:4px;border-radius:0 0 5px 5px;background:#81858a}
.laptop-label{display:inline-block;margin-top:20px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#74776c}
.laptop-center .laptop-label{color:#93601c;font-weight:700}
.laptop:focus-visible{outline:3px solid var(--gold);outline-offset:8px;border-radius:10px}
.laptop:disabled{cursor:default}
.laptop-details{max-width:760px;margin:0 auto;min-height:205px}
.laptop-details .project-screen{display:none}
.laptop-details .project-info{margin-top:0;align-items:center;padding-top:24px;border-top:1px solid var(--line)}
.laptop-details .demo-name{color:#93601c!important}
.laptop-details .project-info h3{font-size:28px}
@media(max-width:767px){.laptop-stage{height:clamp(235px,58vw,390px);margin:0 -24px}.laptop-center{width:72%;left:14%;top:15%}.laptop-left{width:58%;left:-38%;top:23%}.laptop-right{width:58%;right:-38%;top:23%}.laptop-lid{padding:12px 5px 6px;border-radius:9px 9px 3px 3px}.laptop-base{height:9px}.laptop-details{min-height:290px}.laptop-details .project-info{align-items:flex-start;gap:16px}.laptop-details .project-info h3{font-size:25px}.laptop-label{margin-top:14px}}

/* An immersive, cylindrical gallery of the studio's own work. */
.immersive-home .header{position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(#1d1e1be6,#1d1e1b00);border:0}
.immersive-home .header-inner{max-width:none;padding:22px 36px;min-height:90px;align-items:flex-start}
.immersive-home .brand img{width:37px}.immersive-home .brand-caption{font-size:8px}
.immersive-home nav{font-family:monospace;font-size:10px;text-transform:uppercase;gap:30px;padding-top:6px}
.immersive-home .nav-cta{padding:4px 0;background:transparent;color:var(--paper);border-radius:0;font-size:10px;font-weight:400;gap:35px;margin-left:60px}
.hero-lab{position:relative;isolation:isolate;height:100svh;min-height:700px;max-height:1250px;overflow:hidden;background:#1d1e1b;color:#f7f7f2;touch-action:pan-y}
.lab-canvas,.lab-fallback,.lab-shade{position:absolute;inset:0;width:100%;height:100%}
.lab-canvas{z-index:-3;cursor:grab;opacity:0;transition:opacity 1.4s}.hero-lab.is-ready .lab-canvas{opacity:1}.lab-canvas:active{cursor:grabbing}
.lab-fallback{z-index:-4;display:flex;align-items:center;justify-content:center;gap:40px;opacity:.28;transform:rotate(-12deg) scale(1.15)}.lab-fallback button{width:38%;flex-shrink:0;border:0;padding:0;background:none;box-shadow:0 30px 80px #0005}.lab-fallback img{width:100%;display:block}.hero-lab.is-ready .lab-fallback{visibility:hidden}
.lab-shade{z-index:-2;pointer-events:none;background:radial-gradient(ellipse 42% 35% at 50% 51%,#1d1e1bf5 0%,#1d1e1bbd 60%,transparent 100%),linear-gradient(#1d1e1b99,transparent 20%,transparent 78%,#1d1e1be6)}
.lab-topline{position:absolute;top:115px;left:36px;right:36px;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#b0b2a8;pointer-events:none}
.lab-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px;pointer-events:none}
.lab-eyebrow{font:9px monospace;letter-spacing:2.3px;color:#d2d5c9;margin-bottom:21px}
.hero-lab h1{font-size:clamp(65px,7.8vw,116px);letter-spacing:-.065em;line-height:1;font-weight:500;text-shadow:0 4px 50px #0005}
.hero-lab h1>span{color:var(--gold)}
.lab-description{font-size:13px;line-height:1.7;margin-top:23px;color:#d7dbcf}
.lab-cta{pointer-events:auto;display:flex;align-items:center;gap:34px;padding:12px 0 10px;margin-top:22px;border-bottom:1px solid #a4a997;font-size:12px;color:#f7f7f2}.lab-cta span{font-size:20px;color:var(--gold);transition:transform .2s}.lab-cta:hover{color:var(--gold)}.lab-cta:hover span{transform:translate(3px,-3px)}
.lab-bottom{position:absolute;bottom:28px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:9px monospace;letter-spacing:.7px}.lab-bottom>a{display:flex;align-items:center;gap:28px}.lab-bottom>a span{font-size:20px;color:var(--gold)}.lab-hint{color:#a7ab9e;font-size:8px}
.lab-motion{border:0;background:none;color:#c6cbbb;font:9px monospace;padding:10px 0 10px 12px;display:flex;align-items:center;gap:15px}.lab-motion:hover{color:var(--gold)}
@media(max-width:760px){.immersive-home .header-inner{padding:20px 24px;min-height:80px;align-items:center}.immersive-home .brand img{width:32px}.immersive-home .brand-caption{font-size:7px}.immersive-home nav{padding:22px;background:#1d1e1b;z-index:5;font-size:12px}.immersive-home .nav-cta{margin-left:0;padding:10px 0;font-size:12px}.hero-lab{min-height:640px;max-height:1000px}.lab-topline{top:103px;left:24px;right:24px;font-size:7px}.lab-topline>span:last-child{display:none}.lab-shade{background:radial-gradient(ellipse 85% 35% at 50% 50%,#1d1e1bfa, #1d1e1bcc 65%,transparent),linear-gradient(#1d1e1b80,transparent 25%,transparent 75%,#1d1e1be6)}.hero-lab h1{font-size:clamp(51px,10.8vw,80px)}.lab-eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:20px}.lab-description{font-size:12px}.lab-center{padding:90px 16px}.lab-bottom{bottom:22px;left:24px;right:24px;gap:10px;font-size:8px;flex-wrap:wrap}.lab-hint{order:3;width:100%;text-align:center;font-size:7px;margin-top:12px}.lab-motion{font-size:8px}.lab-fallback{flex-direction:column;gap:120px}.lab-fallback button{width:80%}}
@media(prefers-reduced-motion:reduce){.lab-canvas{transition:none}}
.lab-project-access button{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0}
.lab-project-access button:focus-visible{clip-path:none;width:auto;height:auto;left:24px;top:110px;z-index:4;background:var(--gold);padding:12px 18px;color:var(--ink)}
.preview-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:28px;align-items:center}.preview-layout #modal-image{margin:0;border-radius:4px}.preview-copy{padding:20px 12px 20px 0}.preview-copy h3{font-size:34px;letter-spacing:-1px;line-height:1.1}.preview-copy #preview-tags{font:9px/1.8 monospace;letter-spacing:1px;color:#727565;margin-bottom:20px}.preview-copy #preview-description{font-size:13px;line-height:1.8;color:var(--muted);margin-top:18px}.preview-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}.preview-actions .similar-link{text-align:left}

@media(max-width:760px){.preview-layout{grid-template-columns:1fr;gap:0}.preview-copy{padding:24px 8px 8px}.preview-copy h3{font-size:28px}.preview-copy #preview-tags{margin-bottom:12px}.preview-actions{margin-top:22px}}

/* Project details enter as a full-height drawer from the right. */
#preview-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(660px,92vw);max-width:none;height:100dvh;max-height:none;border-radius:0;padding:0 32px 36px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 70px #0003}
#preview-dialog::backdrop{background:#0008}
#preview-dialog .dialog-header{position:sticky;top:0;z-index:1;background:var(--paper);padding:24px 0;margin:0 0 8px;border-bottom:1px solid var(--line)}
#preview-dialog .preview-layout{grid-template-columns:1fr;gap:0;padding-top:20px}
#preview-dialog .preview-copy{padding:30px 0 0}
#preview-dialog .preview-actions{padding-bottom:12px}
@media(max-width:760px){#preview-dialog{width:100%;padding:0 20px 28px}#preview-dialog .dialog-header{padding:18px 0}#preview-dialog .preview-copy{padding-top:24px}}
