/* Impact: locally served OFL fonts, Latin covers English and Puerto Rico Spanish. */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/barlow-condensed-500-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('./fonts/dm-sans-latin.woff2') format('woff2')}
:root{--bg:#090c0f;--surface:#10161b;--text:#f3f1ec;--muted:#a7afb7;--line:#ffffff25;--accent:#ff9b52;--blue:#53b9ff;--glass:#ffffff0c;--ease:cubic-bezier(.22,1,.36,1);--metal:#b7c5cd;--control:#182027;--serif:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
img{display:block;max-width:100%;object-fit:cover}
p,h1,h2,h3{margin:0}
button svg{pointer-events:none}
.wrap{width:min(1280px,calc(100% - 112px));margin:auto}
.skip{position:fixed;top:-100px;left:20px;background:var(--bg);padding:10px;z-index:100}
.skip:focus{top:10px}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;color:#f3f1ec}
.header-inner{width:min(1280px,calc(100% - 112px));height:128px;display:flex;align-items:center;justify-content:space-between;margin:auto;border-bottom:1px solid #ffffff29;gap:24px}
.brand img{width:112px;height:96px;object-fit:contain}
.desktop-nav{display:flex;gap:34px;margin-left:50px;font-size:13px}
.desktop-nav a{color:#ddd;transition:color .2s}
.desktop-nav a:hover{color:var(--accent)}
.utilities{display:flex;gap:8px;align-items:center}
.utility{background:#ffffff05;border:1px solid #ffffff29;border-radius:8px;height:40px;width:40px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;letter-spacing:.03em;flex-shrink:0}
.utility svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.utility:hover{background:#ffffff15}
.garage-link{position:relative;display:flex;align-items:center;gap:20px;min-height:44px;padding:0 17px;border:1px solid #91a3b36b;border-radius:3px 12px 3px 3px;background:#17212b70;box-shadow:inset 0 1px #ffffff14;font-size:13px;font-weight:500;margin-left:8px}
.menu-toggle{display:none}
.hero{height:880px;min-height:740px;max-height:1100px;position:relative;overflow:hidden;color:#f3f1ec;background:#080b0f}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image img{width:100%;height:100%;object-position:65% 64%;filter:brightness(.92);transform:scale(1.025)}
.hero-shade{background:linear-gradient(180deg,#06090c90 0%,#06090c20 45%,#06090c00 65%,#06090ce8 100%),linear-gradient(90deg,#080b0fee 0%,#080b0f95 28%,#080b0f10 65%,transparent 85%)}
.hero-content{position:relative;padding-top:188px}
.eyebrow{font:500 12px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.dash{width:28px;height:1px;background:var(--accent)}
h1{font:500 clamp(68px,7.7vw,116px)/.98 var(--serif);text-transform:uppercase;letter-spacing:-.012em;margin-top:24px;text-wrap:balance}
.serif{font:inherit;letter-spacing:inherit}
.hero-bottom{margin-top:28px;max-width:360px}
.hero-bottom p{color:#d3d9de;font-size:16px;line-height:1.65;max-width:310px;text-wrap:pretty}
.button{--edge:linear-gradient(125deg,#d9e5ec85,#74859255 45%,#e2e8ee70);--face:linear-gradient(125deg,#28343bee,#10161bf5);--cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:60px;padding:7px 7px 7px 24px;border:0;border-radius:0;background:transparent;color:#f3f1ec;font-size:14px;font-weight:600;letter-spacing:.015em;cursor:pointer;transition:transform 180ms var(--ease)}
.button:hover{transform:none}
.primary{color:#f3f1ec}
.hero .button{margin-top:25px}
.button span:last-child[aria-hidden]{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);background:#ff9b52;color:#172027}
.hero-foot{position:absolute;bottom:36px;left:0;right:0;display:flex;align-items:center;justify-content:space-between}
.scroll-link{display:flex;gap:16px;align-items:center;font-size:12px;letter-spacing:.1em}
.scroll-line{height:32px;width:1px;background:#ffffff60}
.scene-control{display:flex;gap:24px}
.scene-control button{background:none;color:#aaa;border:0;border-bottom:1px solid transparent;padding:10px 0;font-size:12px;display:flex;gap:10px}
.scene-control button[aria-pressed=true]{color:#fff;border-color:var(--accent)}
.side-label{position:absolute;right:18px;top:48%;writing-mode:vertical-rl;font-size:12px;letter-spacing:.22em;color:#b7c0c9}
.intro{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 2fr;gap:60px;border-bottom:1px solid var(--line)}
.intro .eyebrow{align-self:start;margin-top:12px;color:var(--accent)}
h2{font:500 clamp(40px,4.7vw,68px)/1.02 var(--serif);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}
.intro p:not(.eyebrow){max-width:540px;margin-top:24px;color:var(--muted);font-size:16px;line-height:1.7}
.services{padding-top:106px;padding-bottom:110px}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}
.section-top .eyebrow{margin-bottom:20px;color:var(--accent)}
.section-top>p{font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:8px;max-width:230px}
.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch}
.service-visual{height:620px;position:relative;overflow:hidden;border-radius:4px}
.service-visual>img{height:100%;width:100%;object-position:center;transition:opacity .3s}
.service-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000a)}
.image-caption{position:absolute;bottom:26px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:12px;z-index:1}
.image-caption>span:last-child{font-size:12px;letter-spacing:.15em;color:#b8c1c8}
.service-list{border-top:1px solid var(--line)}
.service-item{border-bottom:1px solid var(--line)}
.service-trigger{width:100%;display:flex;align-items:center;gap:25px;padding:24px 0;border:none;background:none;text-align:left}
.service-number{font-size:12px;color:var(--muted)}
.service-trigger h3{font:500 32px/1.1 var(--serif);letter-spacing:.012em;text-transform:uppercase;flex:1}
.service-trigger .plus{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);font-size:22px;color:var(--muted);font-weight:400;border-radius:50%;flex-shrink:0}
.service-trigger[aria-expanded=true] .plus{color:var(--accent);border-color:var(--accent)}
.service-content{padding:0 0 26px 41px}
.service-content p{font-size:16px;color:var(--muted);line-height:1.7;max-width:390px}
.service-content .service-meta{font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:var(--blue);margin-bottom:14px}
.text-link{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;min-height:44px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;font-size:14px;font-weight:500;line-height:1.5;color:var(--text)}
.text-link:hover{color:var(--accent)}
.service-content .text-link{margin-top:16px}
.experience{background:var(--surface);border-block:1px solid var(--line)}
.experience-inner{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:110px}
.experience .eyebrow{color:var(--accent);margin-bottom:25px}
.muted{color:var(--muted)}
.segmented{display:inline-flex;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:26px;background:transparent;margin-bottom:30px}
.segmented button{position:relative;background:none;border:0;border-radius:0;padding:14px 0;font-size:14px;font-weight:500;color:var(--muted);min-height:48px}
.segmented button[aria-pressed=true]{background:transparent;color:var(--text)}
.experience-options h3{font:500 32px/1.1 var(--serif);text-transform:uppercase;margin-bottom:16px}
.experience-options p{font-size:16px;line-height:1.7;color:var(--muted);max-width:450px}
.experience-options ul{list-style:none;padding:0;margin:24px 0;font-size:12px;color:var(--muted)}
.experience-options li{padding:9px 0;border-bottom:1px solid var(--line)}
.experience-options li:before{content:'+';color:var(--accent);margin-right:16px}
.craft{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.craft .eyebrow{color:var(--accent);margin-bottom:24px}
.craft h2{font-size:48px}
.craft-copy>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.7;margin-top:24px}
.signature{margin:32px 0;display:flex;flex-direction:column}
.signature>span{font:500 28px/1.2 var(--serif);letter-spacing:.04em;text-transform:uppercase}
.signature small{font-size:12px;color:var(--muted);margin-top:5px;letter-spacing:.06em}
.craft-visual{margin:0;overflow:hidden;position:relative;height:540px;border-radius:4px;background:#0d1217}
.craft-visual img{height:100%;width:100%;object-fit:cover;object-position:57% 70%;transform:scale(1.5)}
figcaption{position:absolute;bottom:14px;left:20px;color:#c0c7cd;font-size:12px;background:#0008;padding:4px 8px}
.garage-section{text-align:center;padding:110px 0 120px;background:radial-gradient(ellipse at 50% 130%,#0e3851,var(--surface) 70%);border-block:1px solid var(--line)}
.garage-section .eyebrow{justify-content:center;color:var(--accent);margin-bottom:22px}
.garage-section h2{font-size:clamp(50px,5.5vw,80px)}
.garage-section p:not(.eyebrow){color:var(--muted);font-size:16px;margin-top:24px;line-height:1.7}
.glass{margin-top:32px;gap:24px;padding:12px 28px;min-height:68px;box-shadow:none;backdrop-filter:none}
.glass svg{fill:none;stroke:currentColor;stroke-width:1.5;width:82px;height:28px;flex-shrink:0}
.faq{padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:1fr 2fr;gap:60px}
.faq .eyebrow{padding-top:22px;color:var(--accent)}
details{border-bottom:1px solid var(--line);padding:20px 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-size:20px;color:var(--muted)}
details[open] summary:after{content:'−'}
details p{font-size:16px;line-height:1.7;color:var(--muted);padding-top:14px;max-width:550px}
footer{border-top:1px solid var(--line)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px 0}
.footer-top img{object-fit:contain}
.footer-top p{font:500 32px/1.1 var(--serif);text-transform:uppercase;text-align:center}
.footer-top a{font-size:12px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0 32px;font-size:12px;color:var(--muted)}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:5px 22px 5px 5px;width:min(560px,calc(100% - 32px));max-height:90dvh;padding:30px;box-shadow:0 20px 90px #0007}
dialog::backdrop{background:#030608ba;backdrop-filter:blur(9px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.dialog-top .eyebrow{color:var(--accent)}
.dialog-top .utility{border-color:var(--line)}
dialog h2{font-size:40px}
.demo-note{margin-top:16px;color:var(--muted);font-size:12px}
form{margin-top:22px}
form label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin-bottom:16px}
input,select{width:100%;min-height:50px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:16px;min-width:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form>p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:18px}
form .button{width:100%}
.summary-lines{margin:25px 0}
.summary-lines p{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.summary-lines span{color:var(--muted)}
.summary-lines strong{font-weight:500;text-align:right;overflow-wrap:anywhere}
#booking-summary .text-link{margin-top:18px}
[hidden]{display:none!important}
[data-theme=light]{--bg:#d5dadd;--surface:#c7ced3;--text:#192730;--muted:#485865;--line:#253c5029;--accent:#924206;--blue:#075b91;--glass:#ffffff28;--metal:#55636e;--control:#d0d8dd;color-scheme:light}
[data-theme=light] .primary{color:var(--text)}
[data-theme=light] .hero{color:#f3f1ec}
[data-theme=light] .hero .dash,[data-theme=light] .scene-control button[aria-pressed=true]{--accent:#ff9b52}
[data-theme=light] .garage-section{background:radial-gradient(ellipse at 50% 150%,#92abbc,var(--surface) 70%)}
[data-theme=light] .glass{box-shadow:none}

@media(min-width:1700px){.hero{height:960px}
.hero-image img{object-position:center 60%}
}

@media(max-width:1000px){.wrap,.header-inner{width:calc(100% - 64px)}
.desktop-nav{gap:18px;margin-left:0}
.hero{height:830px}
.hero-content{padding-top:200px}
.hero-image img{object-position:57% 65%}
.hero-shade{background:linear-gradient(90deg,#080b0faa,transparent),linear-gradient(180deg,#06090c60,transparent 60%,#06090ce8)}
.service-layout{gap:35px}
.service-visual{height:640px}
.experience-inner{gap:50px}
.craft{gap:40px}
.craft h2{font-size:42px}
.intro{gap:40px;grid-template-columns:1fr 2fr}
.faq{gap:40px}
.service-trigger h3{font-size:26px}
}

@media(max-width:700px){.wrap,.header-inner{width:calc(100% - 40px)}
.header-inner{height:102px;gap:10px}
.brand img{width:88px;height:80px}
.desktop-nav,.garage-link{display:none}
.menu-toggle{display:inline-flex}
.utilities{gap:6px}
.utility{height:40px;width:40px}
.site-header #mobile-nav{margin:0 20px;padding:18px;background:#0e151af5;border:1px solid #ffffff30;border-radius:12px;color:#fff;box-shadow:0 20px 40px #0005}
.site-header #mobile-nav a{display:block;padding:12px;font-size:14px}
.hero{height:820px;min-height:740px;max-height:none}
.hero-content{padding-top:146px}
.hero .eyebrow{font-size:11px;gap:10px;letter-spacing:.07em}
h1{font-size:clamp(54px,14.8vw,80px);line-height:1.02;letter-spacing:-.005em;margin-top:22px}
.hero-bottom{margin-top:20px}
.hero-bottom p{font-size:15px;line-height:1.65;max-width:300px}
.hero .button{margin-top:24px;min-height:58px;font-size:14px}
.hero-image{top:120px;bottom:-20px}
.hero-image img{object-fit:cover;object-position:57% 72%;transform:scale(1);height:100%;width:100%}
.hero-shade{background:linear-gradient(180deg,#080b0f 8%,#080b0fba 38%,#080b0f00 57%,#080b0f00 78%,#080b0f 100%)}
.hero-foot{bottom:25px}
.scroll-link{font-size:12px;gap:9px;max-width:150px}
.scene-control{gap:12px}
.scene-control button{font-size:12px;gap:5px}
.side-label{display:none}
.intro{padding-block:64px;display:block}
.intro .eyebrow{margin:0 0 23px}
.intro h2{font-size:37px}
.intro p:not(.eyebrow){font-size:16px;margin-top:19px}
.services{padding-block:65px}
.section-top{display:block;margin-bottom:28px}
.section-top h2{font-size:40px}
.section-top>p{margin-top:22px}
.service-layout{display:flex;flex-direction:column;gap:28px}
.service-visual{height:310px}
.service-visual img{object-position:center 52%}
.image-caption{bottom:20px;left:20px;right:20px}
.service-trigger{padding:21px 0;gap:20px}
.service-trigger h3{font-size:28px}
.service-content{padding-left:36px}
.experience-inner{padding-block:64px;display:block}
.experience h2{font-size:48px}
.experience-options{margin-top:35px}
.segmented{margin-bottom:23px}
.craft{padding-block:65px;display:flex;flex-direction:column;gap:35px}
.craft h2{font-size:40px}
.craft-visual{height:340px;width:100%}
.craft-visual img{transform:scale(1.15)}
.garage-section{padding-block:70px}
.garage-section h2{font-size:52px}
.garage-section p:not(.eyebrow){font-size:16px}
.faq{display:block;padding-block:50px}
.faq .eyebrow{margin-bottom:15px}
.footer-top{gap:20px;flex-wrap:wrap;padding:28px 0}
.footer-top img{width:110px;height:100px}
.footer-top p{text-align:right;font-size:26px}
.footer-top>a{width:100%;text-align:center}
.footer-bottom{justify-content:center;text-align:center;gap:12px;font-size:12px}
.footer-bottom>span:nth-child(2){width:100%}
dialog{padding:23px}
dialog h2{font-size:35px}
.form-row{gap:10px}
.hero-image img[data-scene=crystal]{filter:brightness(.65)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.reveal{opacity:1!important;transform:none!important}
}


.interior-art{height:100%;display:grid;place-items:center;background:#080d13}
.interior-art>div{width:90%;aspect-ratio:1;background:url(../assets/service-icons.png) 100% 0 / 300% 200%;border-radius:5px}


/* Machined controls: geometry belongs to action surfaces, never to reading text. */
.button:before,.button:after{content:'';position:absolute;pointer-events:none;clip-path:var(--cut)}
.button:before{inset:0;background:var(--edge);z-index:-2}
.button:after{inset:1px;background:var(--face);z-index:-1}
.button svg.action-arrow{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform 200ms var(--ease)}
.garage-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.segmented button[aria-pressed=true]:after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}
.desktop-nav a{padding-block:14px}
.desktop-nav{font-size:14px}
.service-number{font-variant-numeric:tabular-nums;color:var(--muted)}
.service-trigger[aria-expanded=true] h3{color:var(--text)}
.scene-control button{min-height:44px;align-items:center;font-size:12px}
.section-top>p{font-size:16px;max-width:260px}
.experience-options ul{font-size:14px}
.image-caption{font-size:13px}
.image-caption>span:last-child{font-size:11px;letter-spacing:.08em}
summary{font-size:16px}
.footer-top a{min-height:44px;display:inline-flex;align-items:center}
.footer-bottom{font-size:12px;align-items:center}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.demo-note,form>p{font-size:13px;line-height:1.65}
form label{font-size:13px}
.summary-lines p{font-size:14px}
.signature small,figcaption{font-size:12px}
.hero .button{--face:linear-gradient(125deg,#28343bee,#10161bf5);color:#f3f1ec}
[data-theme=light] .button{--edge:linear-gradient(125deg,#556977a0,#7c8e9980,#fff);--face:linear-gradient(125deg,#e5eaed,#c3cdd5);color:var(--text)}
[data-theme=light] .hero .button{--edge:linear-gradient(125deg,#d9e5ec85,#74859255,#e2e8ee70);--face:linear-gradient(125deg,#28343bee,#10161bf5);color:#f3f1ec}
[data-theme=light] .hero .eyebrow{color:#f3f1ec}
.button:active{transform:translateY(1px);transition-duration:70ms}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.button:hover:not(:active){--edge:linear-gradient(125deg,#e4edf5,#8696a699,#e2e8ee);transform:translateY(-1px)}
.button:hover .action-arrow{transform:translate(2px,-2px)}
.garage-link:hover{background:#283b49b0}
}
@media(max-width:1000px){
.desktop-nav{gap:18px;font-size:13px}
.garage-link{gap:12px;padding-inline:12px}
}
@media(max-width:800px) and (min-width:701px){.desktop-nav{gap:12px}.header-inner{gap:12px}.brand img{width:92px}.utilities{gap:5px}}
@media(max-width:700px){
.utility{width:44px;height:44px}
.hero-content{padding-top:147px}
.hero-bottom{margin-top:22px}
.hero-shade{background:linear-gradient(180deg,#080b0f 8%,#080b0fcf 38%,#080b0f20 60%,transparent 78%,#080b0f 100%)}
.hero-image{top:176px;bottom:0}
.hero-image img{object-position:59% 72%}
.hero .eyebrow .dash{width:18px;flex-shrink:0}
.scroll-link{font-size:11px;letter-spacing:.02em}
.scene-control{gap:14px}
.scene-control button{font-size:11px}
.intro h2,.section-top h2,.craft h2{font-size:42px}
.service-trigger h3{font-size:28px}
.service-content{padding-left:0}
.service-trigger{gap:16px}
.garage-section h2{font-size:52px}
.garage-section p br{display:none}
.glass{gap:18px;padding-inline:22px;font-size:14px}
.glass svg{width:64px}
.footer-bottom{font-size:12px}
.image-caption>span:last-child{display:none}
.form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.button:active,.button:hover,.button:hover .action-arrow{transform:none}.hero-content{opacity:1!important;transform:none!important}}
.action-arrow{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.text-link>span[aria-hidden]{flex-shrink:0}
.site-header{--accent:#ff9b52}
