@font-face{font-family:"Maison Mono";src:url("/fonts/MaisonMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Maison Mono";src:url("/fonts/MaisonMono-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
:root{--pad:clamp(20px,5vw,72px);--red:#F82922;--ink:#0a0a0a}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--ink);color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.caps{text-transform:uppercase;font-weight:700;letter-spacing:-.01em;line-height:.95}
.caps i,h2 i{font-style:italic;font-weight:400}
.red{color:var(--red)}
.small{font-size:13px;color:#777}

/* nav */
.nav{background:#fff;color:#171717;height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px 0 8px;border-bottom:1px solid #ececec;position:sticky;top:0;z-index:30}
.logo img{display:block;height:19px;width:auto}
.burger{background:none;border:0;color:#171717;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.links{display:none}
.links ul{list-style:none;display:flex;gap:26px;font-size:14px;font-weight:700;text-transform:uppercase;height:77px;align-items:stretch}
.links li{display:flex;align-items:center;position:relative}
.links li>a{display:flex;align-items:center;height:100%;letter-spacing:.01em}
.links li>a:hover{text-decoration:underline;text-underline-offset:5px}
.mega{position:fixed;left:0;right:0;top:77px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec;display:none;z-index:40}
.links li.has:hover .mega,.links li.has:focus-within .mega{display:block}
.megain{max-width:1100px;margin:0 auto;padding:30px 24px 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.megain.plain{grid-template-columns:1fr;max-width:1100px}
.megain.plain .col{display:flex;gap:36px;flex-wrap:wrap}
.megain h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
.megain a{display:block;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;color:#171717}
.megain.plain a{margin:0;font-weight:700}
.megain a:hover{text-decoration:underline;text-underline-offset:4px}
.navr{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.navr .ico,.navr>svg{display:none;line-height:0;color:#171717}
.btn.sm{height:36px;padding:0 12px;font-size:12px;font-weight:400;letter-spacing:0;margin-left:4px}
@media(min-width:900px){.nav{height:77px;padding:0 24px}.logo img{height:23px}.burger{display:none}.links{display:block}.navr .ico,.navr>svg{display:block}.btn.sm{height:37px;font-size:13px;margin-left:6px}}
/* mobile drawer */
.drawer{position:fixed;inset:0;background:#fff;color:#171717;z-index:50;overflow:auto;display:flex;flex-direction:column}
.drawer[hidden]{display:none}
.drawerhead{height:60px;display:flex;align-items:center;gap:8px;padding:0 12px 0 8px;border-bottom:1px solid #ececec;flex:none}
.drawerhead img{height:19px;margin-left:auto;margin-right:auto;transform:translateX(-26px)}
.drawernav{padding:6px 20px}
.drawernav .top,.drawernav summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:15px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ececec;list-style:none;cursor:pointer}
.drawernav summary::-webkit-details-marker{display:none}
.drawernav summary:after{content:"+";font-size:22px;font-weight:300}
.drawernav details[open] summary:after{content:"–"}
.drawernav .sub{padding:4px 0 14px 14px;border-bottom:1px solid #ececec}
.drawernav .sub p{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#777;margin:14px 0 6px}
.drawernav .sub a{display:block;font-size:14px;text-transform:uppercase;padding:9px 0;color:#171717}
.drawerfoot{margin-top:auto;padding:20px;display:flex;flex-direction:column;gap:14px;border-top:1px solid #ececec}
.drawerfoot .btn{width:100%}
.drawerfoot a:not(.btn){font-size:13px;text-transform:uppercase;font-weight:700;color:#171717}
body.menu-open{overflow:hidden}
/* handoff to Zenoti */
.handoff{position:fixed;inset:0;z-index:60;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;padding:var(--pad);opacity:0;transition:opacity .3s}
.handoff.on{opacity:1}
.handoff .in{max-width:560px;width:100%}
.handoff .tick{width:44px;height:44px;border-radius:50%;border:1px solid #fff;display:flex;align-items:center;justify-content:center;margin-bottom:22px;font-size:18px}
.handoff h2{font-size:clamp(36px,7vw,64px)}
.handoff p{font-size:clamp(17px,2vw,20px);color:#d6d6d6;margin-top:16px;line-height:1.45}
.handoff .bar{height:3px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden;margin-top:28px}
.handoff .bar i{display:block;height:100%;width:0;background:#fff;animation:fill 3.9s linear forwards}
@keyframes fill{to{width:100%}}
.handoff small{display:block;font-size:12px;color:#9a9a9a;margin-top:16px;line-height:1.45}
.handoff small a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 26px;border-radius:5px;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:0;cursor:pointer;font-family:inherit;transition:opacity .15s}
.btn:hover{opacity:.85}
.btn.black{background:#000;color:#fff}
.btn.white{background:#fff;color:#000}
.btn.line{border:1px solid #fff;color:#fff;background:transparent}
.btn.sm{height:37px;padding:0 12px;font-size:13px;font-weight:400;letter-spacing:0;margin-left:6px}
.btn[disabled]{opacity:.6;cursor:wait}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink)}
.hero .ph{background-size:cover;background-position:var(--pos,50% 30%);position:relative}
.hero .in{position:relative;z-index:2;padding:28px var(--pad) 40px;max-width:900px}
.eyebrow{font-family:"Maison Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ECEAE4;margin-bottom:14px;display:block}
.hero h1{font-size:clamp(34px,8.5vw,56px);max-width:820px}
.hero h1.long{font-size:clamp(32px,8vw,52px)}
.hero h1.xl{font-size:clamp(38px,9.5vw,66px)}
.hero .sub{font-size:clamp(15px,1.4vw,17px);line-height:1.45;color:#d6d6d6;max-width:600px;margin-top:14px}
@media(max-width:899px){.hero .ph{height:min(54vw,280px)}.hero .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ink) 0%,rgba(10,10,10,0) 40%)}.hero .in{margin-top:-44px;padding-top:0;padding-bottom:32px}}
@media(min-width:900px){.hero{min-height:calc(100svh - 77px);padding-bottom:0;display:flex;align-items:center}.hero .ph{position:absolute;right:0;top:0;width:66%;height:100%}.hero .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 8%,rgba(10,10,10,.9) 18%,rgba(10,10,10,0) 60%),linear-gradient(0deg,var(--ink) 0%,rgba(10,10,10,0) 35%)}.hero .in{padding-top:40px;padding-bottom:40px;width:100%}.eyebrow{font-size:14px;margin-bottom:18px}}

/* form */
.form{margin-top:18px;max-width:640px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.inp{display:block;position:relative}
.inp input{width:100%;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:5px;padding:0 18px;color:#fff;font-size:16px;background:rgba(255,255,255,.04);font-family:inherit;outline:none;-webkit-appearance:none}
.inp input::placeholder{color:#9a9a9a}
.inp input:focus{border-color:#fff}
.inp input.bad{border-color:var(--red)}
.inp.full{grid-column:1/-1}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.4;color:#9a9a9a;margin:8px 0 12px;cursor:pointer}
.consent a{text-decoration:underline}
.consent input{position:absolute;opacity:0;width:0;height:0}
.consent .box{width:16px;height:16px;border:1px solid #fff;border-radius:3px;flex:none;position:relative;margin-top:1px;background:transparent}
.consent.bad{color:var(--red)}.consent.bad .box{border-color:var(--red)}
.consent input:checked+.box{background:#fff}
.consent input:checked+.box:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}
.form .cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.form .fine{font-size:12px;color:#7a7a7a;line-height:1.4;max-width:300px}
.form .err{font-size:13px;color:var(--red);margin-top:12px}
.legalline{font-size:11px;line-height:1.45;color:#8a8a8a;margin-top:14px;max-width:600px}
.legalline a{text-decoration:underline;text-underline-offset:2px}
.spots{display:flex;align-items:center;gap:16px;margin-top:18px;max-width:560px;font-size:13px;color:#9a9a9a}
.bar{flex:1;height:4px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden}
.bar i{display:block;height:100%;width:38%;background:var(--red)}
@media(max-width:480px){.form .cta .btn{width:100%}.form .fine{max-width:none}}

@media(max-width:600px){.spots{flex-wrap:wrap;gap:10px}.bar{flex:none;width:100%;order:2}}

/* sections */
.sec{padding:clamp(44px,6vw,84px) var(--pad)}
.sec.white{background:#fff;color:#000}
h2{font-size:clamp(32px,5vw,56px);line-height:1;letter-spacing:-.02em;font-weight:700;text-transform:uppercase}
h2.sent{text-transform:none;font-weight:500;letter-spacing:-.015em;font-size:clamp(27px,3.8vw,44px);line-height:1.06}
p.body{font-size:clamp(16px,1.3vw,18px);line-height:1.5;color:#c9c9c9;max-width:560px;margin-top:14px}
p.body:first-of-type{margin-top:20px}
.sec.white p.body{color:#333}
.two{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.photo{border-radius:8px;overflow:hidden;background:#d9d9d9;position:relative}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 160px rgba(0,0,0,.3);pointer-events:none}
.photo.tall{height:min(85vw,520px)}
.photo.wide{height:min(55vw,260px);margin-top:28px}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:64px}.two.rev .photo{order:0}}
@media(max-width:899px){.two.rev .photo{order:2}}
.bens{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:40px;border-top:1px solid rgba(255,255,255,.25)}
.sec.white .bens{border-top-color:#000}
.ben{padding:20px 0 22px;border-bottom:1px solid rgba(255,255,255,.14)}
.sec.white .ben{border-bottom-color:#ddd}
.ben .big{font-size:clamp(52px,7vw,80px);line-height:.9;font-weight:700;letter-spacing:-.04em}
.ben .big small{font-size:.44em;font-weight:700;letter-spacing:-.02em;vertical-align:top;margin-left:2px;line-height:1.6}
.ben b{display:block;font-size:17px;font-weight:700;margin-top:14px;text-transform:uppercase;letter-spacing:.01em;line-height:1.2}
.ben span{display:block;font-size:15px;line-height:1.45;color:#b5b5b5;margin-top:8px;max-width:260px}
.sec.white .ben span{color:#333}
@media(min-width:900px){.bens{grid-template-columns:repeat(4,1fr);margin-top:56px}.ben{border-bottom:0;border-right:1px solid rgba(255,255,255,.14);padding:26px 24px 28px 0;margin-right:24px}.ben:last-child{border-right:0;margin-right:0}.sec.white .ben{border-right-color:#ddd}.ben b{font-size:19px}}

/* price */
.pricegrid{display:grid;grid-template-columns:1fr;gap:32px;align-items:stretch}
@media(min-width:900px){.pricegrid{grid-template-columns:1.1fr .9fr;gap:72px}}
.pricecard{background:#fff;color:#000;border-radius:8px;padding:clamp(22px,3vw,40px);align-self:start}
.sec.white .pricecard{border:1px solid #000}
.pricecard .was{font-size:16px;color:#777;text-decoration:line-through;margin-top:22px}
.pricecard .big{font-size:clamp(64px,8vw,92px);font-weight:700;letter-spacing:-.04em;line-height:1;margin:10px 0 6px}
.pricecard .big small{font-size:22px;font-weight:400;letter-spacing:0}
.pricecard .inc{margin-top:28px;border-top:1px solid #000}
.pricecard .inc div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #d9d9d9;font-size:16px}
.pricecard .inc div span:last-child{font-weight:700;text-align:right;white-space:nowrap}
.pricecard .btn{width:100%;margin-top:28px}
.pricecard .fine{font-size:12px;color:#666;text-align:center;margin-top:12px}

/* steps */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.step .photo{height:min(52vw,320px)}
.step b{display:block;font-size:clamp(18px,2vw,22px);letter-spacing:-.01em;margin-top:18px;line-height:1.15}
.step span{display:block;font-size:15px;color:#b5b5b5;line-height:1.45;margin-top:8px}
.sec.white .step span{color:#333}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr);margin-top:48px}}
@media(max-width:480px){.steps{grid-template-columns:1fr 1fr;gap:12px}.step .photo{height:48vw}.step b{font-size:15px;margin-top:12px}.step span{font-size:13px}}

/* PRO page */
p.note{font-size:12px;line-height:1.45;color:#8a8a8a;margin-top:22px;max-width:640px}
.sec.white p.note{color:#666}
.steps.ba .photo{height:auto;aspect-ratio:4/5}
.steps.ba .photo:after{box-shadow:none}
.steps.ba .step b{font-size:clamp(15px,1.4vw,18px);margin-top:14px}
.steps.three{grid-template-columns:1fr}
@media(min-width:900px){.steps.three{grid-template-columns:repeat(3,1fr)}}
.steps.three .photo{height:min(56vw,360px)}
.specs{list-style:none;margin-top:28px;border-top:1px solid rgba(255,255,255,.25)}
.sec.white .specs{border-top-color:#000}
.specs li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.sec.white .specs li{border-bottom-color:#ddd}
.specs .plus{color:var(--red);font-size:40px;line-height:.8;font-weight:700;width:30px}
.specs b{display:block;font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.05}
.specs span{display:block;font-size:15px;line-height:1.45;color:#b5b5b5;margin-top:6px;max-width:460px}
.sec.white .specs span{color:#333}
.kit{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;margin-top:32px}
@media(min-width:900px){.kit{grid-template-columns:1.1fr .9fr;gap:64px}}
.kit .photo{height:min(85vw,560px)}
.photo.flat{background:#f4f3f0}.photo.flat img{object-fit:contain}.photo.flat:after{box-shadow:none}
.pricecard .inc div span:first-child{color:#222}
.pricecard .inc div span:last-child.red{color:var(--red)}

/* studio */
.studio{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px}
.studio .photo{height:min(56vw,480px)}
.studio .info{border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.sec.white .studio .info{border-color:#000}
.studio .info h3{font-size:clamp(28px,3.5vw,40px);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95}
.studio .info p{font-size:17px;color:#c9c9c9;margin-top:18px;line-height:1.5}
.sec.white .studio .info p{color:#333}
.mapwrap{margin-top:32px}
.map{height:190px;border-radius:6px;overflow:hidden;background:#e9e9e9}
.map iframe{width:100%;height:100%;border:0;display:block}
.maplinks{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.maplinks a{text-decoration:underline;text-underline-offset:4px;color:#fff}
.maplinks a:after{content:" \2197";font-weight:400}
.sec.white .maplinks a{color:#000}
@media(min-width:900px){.studio{grid-template-columns:1.3fr .7fr;margin-top:40px}.mapwrap{margin-top:auto;padding-top:32px}}

/* faq */
.faq{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media(min-width:900px){.faq{grid-template-columns:1fr 1.4fr;gap:72px}}
.faqlist{border-top:1px solid #000}
.faqlist details{border-bottom:1px solid #000}
.faqlist summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:clamp(16px,1.6vw,20px);letter-spacing:-.01em}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary:after{content:"+";font-size:28px;font-weight:300;flex:none;line-height:1}
.faqlist details[open] summary:after{content:"–"}
.faqlist p{padding:0 0 22px;font-size:16px;line-height:1.5;color:#333;max-width:620px}

/* cta row + final */
.ctarow{display:flex;gap:16px;align-items:center;margin-top:36px;flex-wrap:wrap;font-size:14px;color:#9a9a9a}
.final{position:relative;min-height:420px;overflow:hidden}
.final .bg{position:absolute;inset:0;background-size:cover;background-position:50% 25%}
.final .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.25))}
.final .in{position:relative;z-index:2;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--pad)}
.final h2{font-size:clamp(36px,6vw,80px);max-width:1000px}
.final .ctas{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
@media(min-width:900px){.final,.final .in{min-height:520px}}
@media(max-width:480px){.final .ctas .btn{width:100%}}

/* footer */
.foot{background:#fff;color:#000}
.foot .tiles{display:grid;grid-template-columns:1fr;border-bottom:1px solid #000}
.foot .tiles a{padding:18px var(--pad);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:14px;border-bottom:1px solid #000;display:flex;justify-content:space-between}
.foot .tiles a:last-child{border-bottom:0}
.foot .legal{display:grid;grid-template-columns:1fr;gap:16px;padding:28px var(--pad);font-size:12px;color:#666;line-height:1.5}
.foot .legal a{text-decoration:underline}
@media(min-width:900px){.foot .tiles{grid-template-columns:repeat(3,1fr)}.foot .tiles a{border-bottom:0;border-right:1px solid #000;padding:40px var(--pad)}.foot .tiles a:last-child{border-right:0}.foot .legal{grid-template-columns:1fr auto}.foot .legal .right{text-align:right}}

/* success */
.success{background:#fff;color:#000;padding:clamp(36px,5vw,60px) var(--pad)}
.success .tick{width:44px;height:44px;border-radius:50%;border:1px solid #000;display:flex;align-items:center;justify-content:center;margin-bottom:22px;font-size:18px}
.success h2{font-size:clamp(34px,6vw,64px)}
.success p{font-size:clamp(17px,2vw,20px);color:#333;margin-top:16px;max-width:620px}

/* index */
.landing{padding:clamp(48px,7vw,96px) var(--pad)}
.landing h1{font-size:clamp(40px,7vw,80px);max-width:1000px}
.studios{display:grid;grid-template-columns:1fr;gap:16px;margin-top:48px}
@media(min-width:900px){.studios{grid-template-columns:1fr 1fr}}
.studiocard{position:relative;display:flex;align-items:flex-end;min-height:min(95vw,520px);border-radius:8px;overflow:hidden;background-size:cover;background-position:50% 30%;isolation:isolate}
.studiocard:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.1) 60%);z-index:-1}
.studiocard>div{padding:clamp(24px,3vw,40px)}
.studiocard h2{font-size:clamp(34px,4.5vw,56px)}
.studiocard p{color:#d6d6d6;margin:12px 0 22px}
