:root{--accent:#59f2d2;--accent-2:#59f2d2;--accent-soft:rgba(89,242,210,.07);--accent-line:rgba(89,242,210,.32);--gradient:linear-gradient(110deg,#59f2d2,#82f6e1);--gradient-text:linear-gradient(110deg,#c4fff0,#64f6d8 65%,#3dd2bb);--bg:#080d10;--bg-elev:#0d1418;--surface:#10191e;--surface-2:#172328;--border:rgba(185,218,224,.13);--border-strong:rgba(164,228,222,.3);--text:#f0f4f5;--text-muted:#a9b8c1;--text-dim:#92a5ae;--font-sans:'Manrope',sans-serif;--radius-sm:4px;--radius:6px;--radius-lg:8px;--maxw:1440px;--gutter:clamp(1.4rem,5.7vw,6rem);--section:clamp(4.5rem,8vw,7.5rem);color-scheme:dark}
[data-theme=light]{--accent:#086854;--accent-2:#087465;--accent-soft:rgba(9,128,106,.06);--accent-line:rgba(9,128,106,.3);--gradient:linear-gradient(110deg,#66e9cf,#a6f4e3);--gradient-text:linear-gradient(110deg,#06493c,#087465);--bg:#eff5f5;--bg-elev:#fff;--surface:#e7eeee;--surface-2:#dce9e7;--border:rgba(16,57,58,.16);--border-strong:rgba(16,57,58,.34);--text:#102a2c;--text-muted:#425e62;--text-dim:#547075;color-scheme:light}
body{overflow-x:clip}.bg-fx{display:none}h1,h2,h3{font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(2.15rem,4.3vw,3.6rem)}h3{letter-spacing:-.035em;line-height:1.3}p{line-height:1.75}.site-header{background:color-mix(in srgb,var(--bg) 91%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.site-header.is-stuck{background:color-mix(in srgb,var(--bg) 96%,transparent);box-shadow:none}.nav{height:91px}.brand{gap:10px;font-size:1.3rem;letter-spacing:-.06em}.brand-mark{width:30px;height:32px;background:transparent;box-shadow:none;border:1px solid var(--accent-line);border-radius:3px;transform:rotate(-9deg)}.brand-mark svg{color:var(--accent-2);transform:rotate(9deg)}.brand-name b{font-weight:800}.brand-period{color:var(--accent-2)}.nav-links{gap:1.65rem}.nav-links a:not(.btn){font-size:.875rem;padding:.6rem .25rem;position:relative;background:none!important}.nav-links a[aria-current=page]:not(.btn):after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:2px;background:var(--accent-2)}.nav-links .btn{padding:.7rem 1.35rem;margin-left:1rem}.btn{border-radius:4px;min-height:46px;transition:background .2s,box-shadow .2s,transform .2s;font-size:.9rem}.btn-primary{color:#052c26;box-shadow:none;background:var(--gradient);border:1px solid #6ce9d1;font-weight:750}.btn-primary:hover{background:#b1ffed;box-shadow:0 0 30px #59f2d224;transform:translateY(-2px)}.btn-ghost{background:transparent;border-color:var(--border-strong)}.btn-lg{padding:1rem 1.35rem;font-size:.92rem}.icon-btn{border-radius:4px;background:transparent;width:40px;height:40px}.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.11em;color:var(--accent-2);background:none;border:0;padding:0;border-radius:0}.dot{background:var(--accent-2);width:6px;height:6px;box-shadow:0 0 8px #59f2d260;animation:none}.hero{padding:0;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 42%,#14323166,transparent 47%)}.hero-grid{grid-template-columns:1.04fr 1fr;gap:0;align-items:center;min-height:690px}.hero-grid>div:first-child{z-index:2;padding:3.4rem 0}.hero h1{font-size:clamp(3.15rem,5.35vw,5.1rem);max-width:12ch;line-height:1.03;letter-spacing:-.064em;margin-top:1.5rem;font-weight:500}.hero-opening{display:block;color:var(--text);margin-bottom:.16em}.hero h1 .grad-text{display:block}.hero .lede{font-size:1rem;line-height:1.75;margin-top:1.6rem;color:var(--text-muted)}.hero-cta{margin-top:1.8rem;gap:1rem}.hero-cta .btn-ghost{border:none;padding-left:0;padding-right:0;gap:.6rem;margin-left:.25rem}.hero-note{font-size:.8125rem;margin-top:1rem;color:var(--text-dim)}.dimension{position:relative;min-width:0;height:610px;align-self:center;margin-right:-2.2rem;margin-left:-1.5rem}.dimension:before{content:'';position:absolute;inset:10% -10%;background-image:linear-gradient(#95beb807 1px,transparent 1px),linear-gradient(90deg,#95beb807 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse,black,transparent 70%);pointer-events:none}.scene{position:absolute;inset:15px -35px;touch-action:pan-y;cursor:grab;outline-offset:-15px;border-radius:50%;overflow:hidden}.scene:active{cursor:grabbing}.scene canvas{width:100%;height:100%;max-width:100%;display:block}.scene-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.8rem);letter-spacing:.08em;color:var(--accent-2)}.scene.ready .scene-fallback{display:none}.dimension-top,.dimension-bottom{position:absolute;left:6%;right:2%;display:flex;align-items:center;justify-content:space-between;font: .6875rem var(--font-mono);letter-spacing:.1em;color:var(--text-dim);z-index:3;pointer-events:none}.dimension-top{top:28px;border-top:1px solid var(--border);padding-top:14px}.dimension-bottom{bottom:22px;border-bottom:1px solid var(--border);padding-bottom:14px;gap:10px;flex-wrap:wrap}.scene-controls{display:flex;gap:8px;pointer-events:auto}.scene-controls[hidden]{display:none}.scene-controls button{font: .75rem var(--font-mono);padding:9px 10px;border:1px solid var(--border);background:var(--bg);border-radius:3px;cursor:pointer;color:var(--text-muted)}.scene-controls button:hover,.scene-controls button[aria-pressed=true]{border-color:var(--accent-line);color:var(--accent-2)}.scene-label{position:absolute;font: .65rem var(--font-mono);letter-spacing:.08em;color:var(--text-muted);pointer-events:none;z-index:2;padding:9px;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid var(--border)}.label-cross{color:var(--accent-2);margin-right:7px}.label-one{top:23%;right:-1%}.label-two{bottom:25%;left:0}.label-three{bottom:17%;right:4%}.capability-strip{border-block:1px solid var(--border);background:var(--bg)}.capability-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.capability-strip a{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;font-size:.9rem;border-right:1px solid var(--border);gap:1rem}.capability-strip a:first-child{padding-left:0}.capability-strip a:last-child{border:0;padding-right:0}.capability-strip a>span:first-child{font: .7rem var(--font-mono);color:var(--text-dim)}.capability-strip a>span:last-child{color:var(--accent-2)}.capability-strip a:hover{color:var(--accent-2)}.intro-section{padding:6rem 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.intro-grid h2{margin-top:1.25rem}.intro-grid .lede{font-size:1.03rem}.intro-grid .hero-note{font-size:.875rem;line-height:1.8}.section-head{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 4rem}.section-head .eyebrow{grid-column:1/-1;margin:0}.section-head h2{max-width:17ch}.section-head h2+p{margin:0;align-self:end;font-size:1rem;max-width:48ch}.card{background:var(--surface);border-radius:6px;padding:2rem;box-shadow:none;transition:transform .3s,border-color .3s;overflow:hidden}.card:hover{box-shadow:none;transform:translateY(-3px);border-color:var(--accent-line)}.card p,.step p,.faq .answer,.prose p,.prose li,.info-block p,.info-block a{font-size:1rem}.card h3{font-size:1.4rem;font-weight:550}.card-list{font-size:.94rem;line-height:1.7;border-color:var(--border)}.card-list li:before{color:var(--accent-2)}.card-accent:before{background:linear-gradient(140deg,#59f2d209,transparent 65%)}.tag{font-size:.6875rem;padding:0;background:none;border:0;color:var(--accent-2);letter-spacing:.1em;border-radius:0;margin-bottom:.75rem}.grid{gap:1.1rem}#stuck .grid{grid-template-columns:repeat(3,1fr)}#stuck .card{border:0;border-top:1px solid var(--border-strong);background:none;padding:2rem 1.5rem 0 0;border-radius:0}#stuck .card:before{font: .75rem var(--font-mono);color:var(--accent-2);content:'01 /';display:block;margin-bottom:1.5rem}#stuck .card:nth-child(2):before{content:'02 /'}#stuck .card:nth-child(3):before{content:'03 /'}#stuck .row{justify-content:flex-start!important}#stuck .row .btn{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.steps{grid-template-columns:repeat(3,1fr);gap:2rem}.step{padding:4.8rem 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:none}.step:before{left:0;top:1.1rem;font-size:1.8rem;font-weight:400;background:none;box-shadow:none;border:0;width:auto;height:auto;color:var(--accent-2)}.step h3{font-size:1.25rem}.step .meta{font-size:.75rem;letter-spacing:.07em;margin-top:1.5rem}.work-glyph{height:200px;position:relative;display:flex;align-items:center;justify-content:center;margin:-2rem -2rem 2rem;background:radial-gradient(ellipse at center,#153b3880,transparent 70%);border-bottom:1px solid var(--border);overflow:hidden}.work-glyph .glyph-code{font:500 4rem var(--font-mono);letter-spacing:-.09em;color:var(--accent-2);text-shadow:0 0 45px #59f2d222;transform:perspective(800px) rotateY(-16deg) rotateX(12deg)}.work-glyph .glyph-id{position:absolute;bottom:15px;left:20px;font: .625rem var(--font-mono);color:var(--text-dim);letter-spacing:.12em}.work-glyph:after{content:'+';position:absolute;top:12px;right:16px;color:var(--accent-2)}.page-index #work .card{padding:2rem;transform-style:preserve-3d}.page-index #work h3{font-size:1.7rem}.page-index #work .grid{gap:1.5rem}.price-card{background:none;border-color:var(--border);border-top:2px solid var(--border-strong);padding:2rem}.price-card.card-accent{background:var(--surface);border-top-color:var(--accent-2)}.price-card .price .amount{font-weight:500;letter-spacing:-.07em}.price-card .price{margin:1.8rem 0}.price-card .from{font-size:.8rem;letter-spacing:.07em;color:var(--accent-2)}.checks li{font-size:.95rem}.faq{gap:0}.faq details{border:0;border-bottom:1px solid var(--border);background:none;border-radius:0}.faq summary{padding:1.5rem 0;font-weight:500;font-size:1.125rem}.faq .answer{padding:0 3rem 1.7rem 0;max-width:88ch}.faq summary:after{border-radius:0;background:none;border:0;color:var(--accent-2);font-size:1.5rem}.cta-band{border:1px solid var(--accent-line);border-radius:6px;background:radial-gradient(ellipse at 50% 120%,#1e5b5055,transparent 70%),var(--bg-elev);padding:5rem 2rem}.cta-band h2{font-size:clamp(2.6rem,5.7vw,5rem);max-width:15ch}.cta-band .eyebrow{margin-bottom:1.5rem}.site-footer{background:var(--bg);border-color:var(--border);padding-top:4rem}.footer-top{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}.footer-top .footer-h{font: .75rem var(--font-mono);letter-spacing:.11em;color:var(--text-dim)}.footer-links a{font-size:.875rem}.footer-blurb{font-size:.875rem}.footer-bottom{font-size:.75rem;border-color:var(--border)}.page-hero{padding:5rem 0 4rem;background:radial-gradient(ellipse at 85% 0%,#194d4133,transparent 60%);border-bottom:1px solid var(--border);margin-bottom:2rem}.page-hero h1{font-size:clamp(3rem,5.8vw,5.25rem);max-width:18ch}.page-hero .lede{font-size:1.1rem;max-width:64ch}.page-work .svc{padding-block:4.5rem;gap:4rem}.svc-head h2{font-size:2.6rem}.spec{font-size:.9rem}.spec dt{font-size:.8rem}.page-about .page-hero img{filter:saturate(.65);border:1px solid var(--accent-line)}.prose{max-width:80ch}.prose h2{font-size:1.7rem;letter-spacing:-.04em}.input,.select,.textarea{border-radius:4px;background:var(--bg-elev);font-size:1rem;padding:.8rem 1rem;min-width:0}.field label{font-size:.875rem}.field .hint{font-size:.8125rem}.notice{border-radius:4px;background:var(--accent-soft);font-size:.95rem}.js .reveal,.js .reveal-stagger>*{opacity:1;transform:none}.page-contact #book{scroll-margin-top:110px}.booking-direct{margin-top:1rem;color:var(--accent-2);font-size:.9rem;text-decoration:underline;text-underline-offset:4px} [data-theme=light] .hero{background:radial-gradient(ellipse at 80% 42%,#6cbeaf26,transparent 52%)}[data-theme=light] .dimension{--text-muted:#385959}[data-theme=light] .work-glyph{background:#daeae6}[data-theme=light] .cta-band{background:#e0ede9}
.hero-visual.dimension{display:block}
@media(min-width:1450px){.hero-grid{min-height:770px}.dimension{height:680px}.hero h1{font-size:5.4rem}}
@media(max-width:1100px){.nav-links{gap:1rem}.hero-grid{grid-template-columns:1.1fr 1fr;min-height:610px}.hero h1{font-size:4.2rem}.dimension{height:540px;margin-right:-1rem}.hero .eyebrow{font-size:.625rem}.hero-cta{gap:.75rem}.hero-cta .btn{font-size:.8rem}.scene-label{font-size:.56rem}.intro-grid{gap:3rem}.footer-top{gap:2rem}.section-head{gap:1.2rem 2rem}.steps{gap:1.5rem}}
@media(max-width:940px){.nav{height:76px}.nav-links{background:var(--bg-elev);border:1px solid var(--border);border-radius:5px;top:calc(100% + 1px)}.nav-links .btn{margin:0}.nav-links a:not(.btn){padding:.9rem}.nav-links a[aria-current=page]:after{display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:3.6rem}.hero-cta{align-items:flex-start;flex-direction:column}.dimension{height:510px}.dimension-top{font-size:.55rem}.dimension-bottom{font-size:.55rem}.scene-label{display:none}.capability-strip a{padding:1.4rem 1rem;font-size:.8rem;gap:.7rem}#stuck .grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{padding:1.8rem 0 1rem 4.5rem}.step:before{top:1.8rem}.footer-top{grid-template-columns:1.5fr 1fr}.page-work .svc{gap:2rem}.intro-section{padding:4rem 0}}
@media(max-width:680px){.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-grid>div:first-child{width:100%;padding:3rem 0 0}.hero .eyebrow{font-size:.625rem;letter-spacing:.07em}.hero h1{font-size:clamp(3rem,11.9vw,4.7rem);max-width:100%;margin-top:1.5rem}.hero h1 br{display:none}.hero-opening{max-width:10.5ch}.hero .grad-text{max-width:11.5ch}.hero .lede{font-size:1rem}.hero-cta{flex-direction:row;align-items:center;gap:.8rem}.hero-cta .btn{font-size:.8rem}.hero-cta .btn-primary{padding:.9rem 1rem}.hero-note{font-size:.75rem}.dimension{width:100%;height:415px;margin:0;flex:none}.scene{inset:-10px -10px}.dimension-top{top:22px;left:0;right:0}.dimension-bottom{bottom:12px;left:0;right:0;font-size:.6rem}.scene-controls button{min-height:38px}.capability-strip .wrap{grid-template-columns:1fr}.capability-strip a,.capability-strip a:first-child,.capability-strip a:last-child{padding:1.1rem 0;border:0;border-bottom:1px solid var(--border);justify-content:flex-start;gap:1rem;font-size:.875rem}.capability-strip a:last-child{border:0}.capability-strip a>span:last-child{margin-left:auto}.intro-grid,.section-head{grid-template-columns:1fr;gap:1.5rem}.intro-grid{gap:2rem}.intro-grid .lede{font-size:1rem}.section-head h2{max-width:19ch}.section-head h2+p{max-width:100%}h2{font-size:2.3rem}.card{padding:1.5rem}.page-index #work .card{padding:1.5rem}.work-glyph{margin:-1.5rem -1.5rem 1.5rem;height:170px}.page-index #work h3{font-size:1.5rem}.section{padding-block:4rem}.footer-top{grid-template-columns:1fr 1fr;gap:2.5rem 1rem}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{gap:1rem;align-items:flex-start;flex-direction:column}.page-hero{padding:3rem 0}.page-hero h1{font-size:3rem}.page-hero .lede{font-size:1rem}.page-work .svc{padding:2rem 0}.svc-head h2{font-size:2.25rem}.price-card{padding:1.5rem}.cta-band{padding:3.5rem 1.4rem}.cta-band h2{font-size:3rem}.faq summary{font-size:1rem}.faq .answer{padding-right:0}.contact-grid>*{min-width:0}.page-contact .page-hero .grid{grid-template-columns:1fr}.scene-fallback{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.card:hover,.btn:hover{transform:none}}

.eyebrow,.tag,.dimension-top,.dimension-bottom,.scene-label,.hero .eyebrow,.work-glyph .glyph-id,.capability-strip a>span:first-child{font-size:.75rem}.dimension-top{letter-spacing:.05em}.scene-label{letter-spacing:.04em}.project-examples{grid-column:1/-1;border-top:1px solid var(--border);font-size:.9rem}.project-examples summary{padding:1.3rem 0;cursor:pointer;color:var(--text-muted)}.project-examples>div{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 3rem;padding:0 0 1.5rem;font-family:var(--font-mono);font-size:.8125rem}.project-examples .example-note{font-family:var(--font-sans);color:var(--text-dim);grid-column:1/-1;margin-top:1rem}@media(max-width:680px){.project-examples>div{grid-template-columns:1fr}.hero .eyebrow{font-size:.75rem;line-height:1.8;max-width:28ch}.dimension-top,.dimension-bottom{font-size:.75rem;letter-spacing:0}.hero-note{font-size:.8125rem}}


.fit-note{max-width:85ch;margin-top:2rem;font-size:.9rem;color:var(--text-muted);line-height:1.75}.section-head.center{display:block;text-align:left}.section-head.center h2{margin-top:1.2rem;max-width:21ch}.hero h1{max-width:14ch}.page-index .hero .lede{max-width:43ch}.page-index .intro-grid .link-arrow{display:inline-flex}@media(min-width:941px){.hero h1{font-size:clamp(3.5rem,5.3vw,5.1rem)}.hero-grid{min-height:650px}}@media(max-width:680px){.hero h1 .hero-opening,.hero h1 .grad-text{max-width:13ch}.hero-cta .btn-primary{padding-inline:.9rem}.hero-cta .btn{font-size:.8125rem}.hero-cta{gap:.8rem}}


@media(min-width:681px) and (max-width:940px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-grid>div:first-child{padding:3rem 0 0;max-width:650px}.hero h1{font-size:4rem}.hero h1 .hero-opening{display:inline}.hero h1 .grad-text{display:block}.hero .lede{max-width:50ch}.hero-cta{flex-direction:row;align-items:center}.dimension{width:100%;max-width:560px;margin:0 auto;height:500px}.scene{inset:15px 0}.dimension-top{left:0;right:0}.dimension-bottom{left:0;right:0}}

/* FAQ rows show a plus that turns to a minus, so they read as openable (the redesign had removed the chevron). */
.faq summary::after{content:"+";position:absolute;right:1.4rem;top:50%;width:auto;height:auto;border:0;background:none;transform:translateY(-50%);font-size:1.5rem;line-height:1;font-weight:400;color:var(--accent-2)}
.faq details[open] summary::after{content:"\2212";transform:translateY(-50%)}
