/* Autoplace v3 — one direction: night studio + live route + paper chapters. */
:root{
  --night:#0A1114; --night-2:#101A1F; --night-3:#16232A;
  --bone:#E8EEF0; --mist:#97A7AD; --line:rgba(232,238,240,.14);
  --xenon:#A9D4FF;           /* UI and progress on dark */
  --amber:#FFB547;           /* only "your car": the map marker and the logo dot */
  --paper:#EEF1F2; --white:#FFFFFF; --ink:#0F1A1E; --ink-mist:#3F4C52; --rule:#D3DBDE; --steel:#315873;
  --land:#17262D; --coast:#30434C; --label:#B8C6CB;
  --ka:"Noto Sans Georgian", system-ui, sans-serif;
  --serif:"Noto Serif Georgian", Georgia, serif;
  --wide:"Anybody", "Noto Sans Georgian", sans-serif;
  --gut:clamp(20px, 4.4vw, 64px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--night)}
body{margin:0;background:var(--night);color:var(--bone);font-family:var(--ka);font-size:1.0625rem;line-height:1.65;font-weight:400}
img{display:block;max-width:100%}
button,input,select,textarea{font-family:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--xenon);outline-offset:4px}
.paper :focus-visible{outline-color:var(--steel)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:16px;top:16px;z-index:99;background:var(--bone);color:var(--night);padding:8px 14px}
.wrap{max-width:1440px;margin:0 auto;padding-inline:var(--gut)}
.num{font-family:var(--wide);font-stretch:112%;font-variant-numeric:tabular-nums}

/* ---------- logo ---------- */
.logo{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;white-space:nowrap}
.logo svg{width:30px;height:30px;flex:none}
.logo .sym-line{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:square}
.logo .sym-dot{fill:var(--amber)}
.wm{display:flex;flex-direction:column;line-height:1}
.wm b{font-family:var(--wide);font-stretch:112%;font-weight:540;font-size:16px;letter-spacing:.045em}
.wm span{font-family:var(--ka);font-weight:500;font-size:11px;margin-top:4px;opacity:.8}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto;z-index:50;height:76px;color:var(--bone);border-bottom:1px solid transparent;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s}
.top.scrolled{background:rgba(10,17,20,.74);backdrop-filter:blur(14px) saturate(140%);border-color:var(--line)}
.top.light{background:rgba(238,241,242,.9);color:var(--ink);border-color:rgba(15,26,30,.1)}
.top .wrap{display:flex;align-items:center;gap:36px;height:100%}
.nav{display:flex;gap:28px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;white-space:nowrap;opacity:.82;transition:opacity .25s}
.nav a:hover{opacity:1}
.top-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid currentColor;border-radius:999px;font-size:14.5px;text-decoration:none;white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease)}
.top-cta:hover{background:var(--bone);color:var(--night);border-color:var(--bone)}
.top.light .top-cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 30px;border-radius:999px;font:500 15.5px var(--ka);text-decoration:none;overflow:hidden;isolation:isolate;white-space:nowrap;border:0;cursor:pointer;transition:transform .15s}
.btn:active{transform:scale(.985)}
.btn-solid{background:var(--bone);color:var(--night)}
.btn-solid::before{content:"";position:absolute;inset:0;background:var(--xenon);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn-solid:hover::before{transform:none}
.btn-line{box-shadow:inset 0 0 0 1px rgba(232,238,240,.45);color:var(--bone);background:transparent;transition:box-shadow .3s,background .4s var(--ease)}
.btn-line:hover{box-shadow:inset 0 0 0 1px var(--bone);background:rgba(232,238,240,.06)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink::before{content:"";position:absolute;inset:0;background:var(--steel);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn-ink:hover::before{transform:none}

/* ---------- 1 · hero ---------- */
.hero{position:relative;height:100svh;min-height:660px;overflow:hidden;background:#000}
.hero-media{position:absolute;inset:0 0 0 24%;--sweep:150%}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.motion .hero-media img{-webkit-mask-image:linear-gradient(102deg,#000 calc(var(--sweep) - 30%),rgba(0,0,0,.08) var(--sweep));mask-image:linear-gradient(102deg,#000 calc(var(--sweep) - 30%),rgba(0,0,0,.08) var(--sweep))}
.lightbar{position:absolute;inset:-10% auto -10% 0;width:22%;left:calc(var(--sweep) - 30%);background:linear-gradient(90deg,transparent,rgba(190,225,255,.10) 45%,rgba(230,244,255,.2) 50%,rgba(190,225,255,.10) 55%,transparent);mix-blend-mode:screen;transform:skewX(-12deg);pointer-events:none;opacity:0}
.motion .lightbar{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,#000 22%,rgba(0,0,0,.62) 34%,rgba(0,0,0,0) 54%),linear-gradient(0deg,rgba(10,17,20,1) 0%,rgba(10,17,20,0) 26%);pointer-events:none}
.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(56px,10vh,120px)}
.hero h1{font-weight:320;font-size:clamp(42px,5.4vw,90px);line-height:1.06;letter-spacing:-.012em;margin:0 0 26px;max-width:7.6em}
.hero .lede{font-size:clamp(17px,1.25vw,20px);line-height:1.6;color:#DCE4E7;max-width:32em;margin:0 0 36px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.scrollhint{position:absolute;right:var(--gut);bottom:clamp(56px,10vh,120px);z-index:2;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--mist);writing-mode:vertical-rl}
.scrollhint i{display:block;width:1px;height:72px;background:linear-gradient(var(--bone),transparent);transform-origin:top}
.motion .scrollhint i{animation:drip 2.4s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* ---------- 2 · route + journey ---------- */
.route{position:relative;padding-top:clamp(120px,17vh,210px)}
.manifesto{font-weight:280;font-size:clamp(30px,3.6vw,60px);line-height:1.2;letter-spacing:-.01em;margin:0 0 clamp(90px,13vh,160px);max-width:20em}
.motion .manifesto .w{color:#61727A}
.route-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:40px}
.route-head h2,.h2{font-weight:500;font-size:clamp(32px,3.2vw,52px);line-height:1.1;letter-spacing:-.01em;margin:0}
.route-head p{margin:0;color:#C3CED2;max-width:32em;justify-self:end}
.scene{position:relative;height:100svh;min-height:660px;overflow:hidden;background:var(--night)}
.map{position:absolute;inset:0;width:100%;height:100%;display:block;--k:1}
.map .land{fill:var(--land);stroke:var(--coast);stroke-width:.75;vector-effect:non-scaling-stroke}
.map .detail{fill:var(--land);stroke:var(--coast);stroke-width:.75;vector-effect:non-scaling-stroke;opacity:0}
.map .ghost{fill:none;stroke:rgba(169,212,255,.5);stroke-width:1.2;stroke-dasharray:2 5;vector-effect:non-scaling-stroke;opacity:0}
.map .live{fill:none;stroke:var(--xenon);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0}
.map .ghost.on,.map .live.on{opacity:1}
.map .road-ghost{fill:none;stroke:rgba(232,238,240,.3);stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.map .road-live{fill:none;stroke:var(--bone);stroke-width:1.6;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.map .city{fill:var(--bone);r:calc(3px * var(--k))}
.map .odot{fill:var(--bone);r:calc(3.5px * var(--k))}
.map .lbl{font:500 calc(14px * var(--k))/1 var(--ka);fill:var(--label)}
.map:not(.zoomed) #lbl-poti,.map:not(.zoomed) #lbl-batumi{display:none}
.map .car-ring{fill:var(--night);r:calc(6.5px * var(--k))}
.map .car-dot{fill:var(--amber);r:calc(4.5px * var(--k))}
.scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 42% at 10% 90%,rgba(10,17,20,.9),rgba(10,17,20,0) 72%),linear-gradient(0deg,rgba(10,17,20,.8),rgba(10,17,20,0) 22%),linear-gradient(180deg,rgba(10,17,20,.7),rgba(10,17,20,0) 18%)}
.origins{position:absolute;z-index:3;top:100px;left:var(--gut);display:flex;gap:4px;margin:0;padding:0;border:0}
.origins label{position:relative;display:flex;align-items:center;height:48px;padding:0 16px;font-size:16px;color:#AFC0C6;cursor:pointer;transition:color .2s}
.origins label::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:1px;background:var(--bone);transform:scaleX(0);transform-origin:left;transition:transform .18s ease-out}
.origins label:has(input:checked){color:var(--bone)}
.origins label:has(input:checked)::after{transform:scaleX(1)}
.origins label:hover{color:var(--bone)}
.origins input{position:absolute;opacity:0;inset:0;cursor:pointer}
.origins label:has(input:focus-visible){outline:2px solid var(--xenon);outline-offset:-2px}
.stage-ui{position:absolute;z-index:3;left:var(--gut);bottom:112px;width:min(520px,42vw)}
.counter{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.roll{height:1em;overflow:hidden;font-family:var(--wide);font-stretch:125%;font-weight:220;font-size:clamp(72px,8vw,132px);line-height:1}
.roll span{display:block;transition:transform .9s var(--ease)}
.counter .meta{display:grid;gap:6px;margin-top:.7em}
.counter .of{font-family:var(--wide);font-stretch:112%;font-size:15px;color:var(--mist)}
.mode{font-size:14px;color:var(--night);background:var(--amber);border-radius:999px;padding:2px 12px;font-weight:500;width:max-content}
.stage-text{position:relative;min-height:9.5em}
.stage-text article{position:absolute;inset:0 auto auto 0}
.motion .stage-text article{clip-path:inset(0 0 100% 0);visibility:hidden;transform:translateY(18px);transition:clip-path .55s var(--ease),transform .7s var(--ease),visibility 0s .55s}
.motion .stage-text article.on{clip-path:inset(0 0 -10% 0);visibility:visible;transform:none;transition:clip-path .75s var(--ease),transform .75s var(--ease),visibility 0s}
.stage-text h3{font-weight:500;font-size:clamp(26px,2.4vw,38px);line-height:1.15;margin:0 0 10px}
.stage-text p{margin:0;color:#C3CED2;font-size:1.0625rem;max-width:30em}
.evidence{position:absolute;z-index:3;right:var(--gut);bottom:112px;width:clamp(230px,19vw,300px)}
.evidence .ph{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--night-3);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.evidence img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s var(--ease),transform 1.6s var(--ease)}
.evidence img.on{opacity:1;transform:none}
.evidence figcaption{margin-top:12px;font-size:14px;color:var(--mist)}
.ticks{position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:52px;display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.ticks span{position:relative;height:2px;background:rgba(232,238,240,.16);overflow:hidden}
.ticks i{position:absolute;inset:0;background:var(--xenon);transform:scaleX(0);transform-origin:left}
.more{display:none}
.stage-list{list-style:none;margin:0 auto;padding:clamp(48px,6vh,72px) var(--gut) 0;max-width:1440px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.stage-list .ph{aspect-ratio:4/3;border-radius:14px;overflow:hidden;margin-bottom:14px}
.stage-list img{width:100%;height:100%;object-fit:cover}
.stage-list .n{font-family:var(--wide);font-stretch:125%;font-weight:250;font-size:38px;line-height:1;color:var(--mist)}
.stage-list h3{font-weight:500;font-size:22px;margin:6px 0 4px}
.stage-list p{margin:0;color:#C3CED2;font-size:16px}
.route-tail{height:clamp(120px,16vh,180px)}
@media (min-width:1100px){
  .motion .stage-list{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0}
}
@media (max-width:1099px), (prefers-reduced-motion:reduce){
  .stage-ui,.evidence,.ticks{display:none}
}
.no-motion .stage-ui,.no-motion .evidence,.no-motion .ticks{display:none}

/* ---------- workshop (dark) ---------- */
.workshop{position:relative;padding:clamp(40px,6vh,80px) 0 clamp(150px,20vh,230px)}
.ws-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,96px);align-items:end;margin-bottom:clamp(48px,7vh,84px)}
.ws-head .h2{font-weight:280;font-size:clamp(48px,6.6vw,112px);line-height:1;letter-spacing:-.02em}
.ws-lead{margin:0;font-size:clamp(18px,1.35vw,21px);line-height:1.6;color:#C3CED2;max-width:34em}
.ws-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:start}
.ws-media{position:relative;aspect-ratio:5/6}
.ws-media figure{position:absolute;margin:0;overflow:hidden;border-radius:6px;background:var(--night-3)}
.ws-media img{width:100%;height:100%;object-fit:cover}
.ws-media .m1{inset:0 18% 16% 0}
.ws-media .m2{right:0;bottom:0;width:46%;aspect-ratio:4/5;box-shadow:0 30px 60px -30px rgba(0,0,0,.85);outline:10px solid var(--night)}
.ws-media .m3{right:4%;top:6%;width:30%;aspect-ratio:1;border-radius:50%;outline:8px solid var(--night)}
.ws-media figcaption{position:absolute;left:0;bottom:calc(16% - 34px);font-size:13.5px;color:var(--mist)}
.ws-list{list-style:none;margin:0;padding:0;counter-reset:ws}
.ws-list li{display:grid;grid-template-columns:56px 1fr;gap:4px 18px;padding:24px 0;border-top:1px solid var(--line)}
.ws-list li:last-child{border-bottom:1px solid var(--line)}
.ws-list .n{grid-row:span 2;font-family:var(--wide);font-stretch:125%;font-weight:250;font-size:34px;line-height:1;color:var(--xenon)}
.ws-list h3{margin:0;font-weight:500;font-size:clamp(20px,1.6vw,25px);line-height:1.25}
.ws-list p{margin:0;color:#C3CED2;font-size:16.5px}
.ws-list .partsline{display:flex;gap:8px;margin-top:10px}
.ws-list .partsline span{font-size:14px;padding:3px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(232,238,240,.35)}
/* flexible package */
.flex{margin-top:clamp(56px,8vh,90px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:start;padding:clamp(28px,3vw,44px);background:var(--white);border-top:3px solid var(--steel)}
.flex h3{margin:0 0 12px;font-weight:600;font-size:clamp(22px,1.9vw,30px);line-height:1.2}
.flex p{margin:0;color:var(--ink-mist)}
.flex .count{display:flex;align-items:baseline;gap:10px;margin-top:22px;font-family:var(--wide);font-stretch:112%}
.flex .count b{font-weight:300;font-size:56px;line-height:1}
.flex .count span{color:var(--ink-mist);font-size:18px}
.flex .chips{gap:8px}
.flex .chips span{display:flex;align-items:center;gap:8px}
.flex .chips span::before{content:"";width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;transition:background .25s}
.flex .chips input:checked + span::before{background:var(--amber);box-shadow:none}
/* aftercare bridge */
.after{position:relative;min-height:96svh;overflow:hidden;background:var(--night);display:flex;align-items:flex-end}
.after > img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 45%}
.after::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(10,17,20,.82) 36%,rgba(10,17,20,.1) 70%),linear-gradient(90deg,rgba(10,17,20,.6),rgba(10,17,20,0) 55%)}
.after .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(60px,10vh,110px)}
.after h2{font-weight:280;font-size:clamp(40px,5vw,84px);line-height:1.05;letter-spacing:-.015em;margin:0 0 40px;max-width:13em}
.after .bens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.after .bens li{padding-top:20px;border-top:1px solid rgba(232,238,240,.3);font-weight:500;font-size:clamp(18px,1.4vw,22px);line-height:1.4;position:relative}
.after .bens li::before{content:"";position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--amber)}

/* ---------- paper chapter ---------- */
.paper{position:relative;z-index:4;background:var(--paper);color:var(--ink);margin-top:-64px}
.paper .h2{color:var(--ink)}
.paper .lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:48px}
.paper .lead p{margin:0;color:var(--ink-mist);max-width:34em;justify-self:end}
.packages{padding:clamp(100px,14vh,160px) 0 clamp(80px,10vh,120px)}
.ptable{width:100%;border-collapse:collapse;table-layout:fixed}
.ptable th,.ptable td{padding:14px 18px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle}
.ptable thead th{vertical-align:bottom;padding:24px 18px 20px;border-bottom:1px solid var(--ink)}
.ptable thead th:first-child{width:30%}
.ptable .pn{display:block;font-family:var(--wide);font-stretch:112%;font-weight:400;font-size:15px;color:var(--steel);margin-bottom:8px}
.ptable .pname{display:block;font-weight:600;font-size:clamp(19px,1.6vw,25px);line-height:1.2}
.ptable .pend{display:block;margin-top:8px;font-size:14.5px;font-weight:400;color:var(--steel)}
.ptable .tag{display:inline-block;margin-bottom:10px;font-size:12.5px;font-weight:500;background:var(--ink);color:var(--paper);border-radius:999px;padding:2px 10px}
.ptable tbody th{font-weight:400;font-size:16px}
.ptable tbody th .n{display:inline-block;width:28px;font-family:var(--wide);font-stretch:112%;color:var(--ink-mist);font-size:14px}
.ptable td{text-align:left}
.ptable .p3{background:rgba(49,88,115,.07)}
.yes,.no{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center}
.yes{background:var(--ink)}
.yes svg{width:12px;height:12px;color:var(--paper)}
.no::before{content:"";width:12px;height:1.5px;background:#9AA6AB}
.ptable tfoot td{border-bottom:0;padding-top:24px;vertical-align:top;font-size:15px;color:var(--ink-mist)}
.ptable tfoot .btn{height:46px;padding:0 20px;font-size:14.5px;margin-top:16px}
.pcards{display:none}
.excerpt{padding:clamp(60px,8vh,100px) 0;border-top:1px solid var(--rule)}
.excerpt .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,96px)}
.excerpt p{font-family:var(--serif);font-size:clamp(18px,1.3vw,20px);line-height:1.75;color:var(--ink-mist);margin:0 0 1.1em;max-width:38em}
.excerpt p:first-child{font-size:clamp(21px,1.7vw,26px);line-height:1.55;color:var(--ink)}
.calc{padding:clamp(60px,8vh,100px) 0 clamp(100px,14vh,160px);border-top:1px solid var(--rule)}
.cgrid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:start}
.field{margin-bottom:28px}
.field .lb{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;color:var(--ink-mist);margin-bottom:8px}
.field .numin{width:132px;font:500 18px var(--wide);font-stretch:112%;text-align:right;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule);padding:4px 2px}
.field .numin:focus{outline:none;border-color:var(--steel)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;margin:0;height:28px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--ink) var(--p,50%),#C5CED2 var(--p,50%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);margin-top:-10px;box-shadow:0 0 0 6px rgba(15,26,30,.08)}
input[type=range]::-moz-range-track{height:2px;background:#C5CED2}
input[type=range]::-moz-range-progress{height:2px;background:var(--ink)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px #C5CED2;font-size:15px;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.chips input:checked + span{background:var(--ink);color:var(--paper);box-shadow:none}
.chips input:focus-visible + span{outline:2px solid var(--steel);outline-offset:2px}
.est{background:var(--white);border-top:3px solid var(--ink);padding:clamp(26px,3vw,44px)}
.est .ex{display:inline-block;font-size:13px;color:var(--ink-mist);border:1px solid var(--rule);border-radius:999px;padding:2px 12px;margin-bottom:14px}
.est .tl{font-size:15px;color:var(--ink-mist)}
.est .total{font-family:var(--wide);font-stretch:112%;font-weight:300;font-size:clamp(34px,4.2vw,64px);line-height:1.05;letter-spacing:-.01em;margin:6px 0 22px}
.stack{display:flex;height:10px;background:#E3E8EA;margin-bottom:18px}
.stack i{display:block;height:100%;transition:width .6s var(--ease)}
.lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:0}
.lines .ln{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #E6EBED;font-size:15px}
.lines dt{display:flex;align-items:center;gap:10px;color:var(--ink-mist)}
.lines dt i{width:9px;height:9px;flex:none}
.lines dd{margin:0;font-family:var(--wide);font-stretch:112%;white-space:nowrap}
.decl{display:grid;grid-template-columns:auto 1fr auto;gap:12px 18px;align-items:center;margin:22px 0 26px;padding:16px 18px;background:#F4F6F7;font-size:14.5px;color:var(--ink-mist)}
.decl b{font-family:var(--wide);font-stretch:112%;font-weight:500;font-size:18px;color:#8A4B0E}
.proof{padding:clamp(100px,14vh,160px) 0 clamp(60px,8vh,100px);border-top:1px solid var(--rule)}
.evs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,32px)}
.ev .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#D8DFE2;margin-bottom:18px}
.ev .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.ev:hover .ph img{transform:scale(1.04)}
.motion .ev .ph{clip-path:inset(0 0 100% 0)}
.ev h3{font-weight:600;font-size:19px;line-height:1.3;margin:0 0 8px}
.ev p{margin:0;color:var(--ink-mist);font-size:15.5px}
.doc{position:absolute;inset:0;background:var(--white);padding:22px;display:flex;flex-direction:column;gap:2px;font-size:14.5px}
.doc .ex{align-self:flex-start;font-size:12.5px;background:var(--paper);border-radius:999px;padding:2px 10px;margin-bottom:12px;color:var(--ink-mist)}
.doc .row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--rule)}
.doc .row .yes{width:20px;height:20px}
.doc .sig{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:14px}
.doc .sig svg{width:100%;height:34px}
.doc .sig path{fill:none;stroke:var(--steel);stroke-width:1.6;stroke-linecap:round}
.doc .sig i{display:block;height:1px;background:var(--ink)}
.benefits{padding:0 0 clamp(100px,14vh,160px)}
.bens{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.bens li{padding-top:22px;border-top:1px solid var(--ink);font-weight:500;font-size:clamp(19px,1.5vw,23px);line-height:1.4;position:relative}
.bens li::before{content:"";position:absolute;top:-1px;left:0;width:48px;height:3px;background:var(--steel)}

/* ---------- masters: the bridge back to night ---------- */
.masters{position:relative;height:96svh;min-height:640px;overflow:hidden;background:var(--night)}
.masters img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 40%}
.masters::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(10,17,20,.75) 30%,rgba(10,17,20,0) 62%),linear-gradient(90deg,rgba(10,17,20,.55),rgba(10,17,20,0) 50%)}
.masters .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(60px,10vh,110px)}
.masters h2{font-weight:280;font-size:clamp(52px,7.4vw,124px);line-height:1;letter-spacing:-.02em;margin:0 0 22px}
.masters p{font-size:1.125rem;max-width:32em;margin:0 0 30px;color:#D3DCDF}

/* ---------- request ---------- */
.request{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100svh;background:var(--night)}
.request .ph{position:relative;overflow:hidden}
.request .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.request .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,20,0) 55%,var(--night))}
.request form{padding:clamp(56px,7vw,110px) var(--gut);display:flex;flex-direction:column;justify-content:center;max-width:760px}
.request h2{margin-bottom:16px}
.request .intro{color:#C3CED2;margin:0 0 26px;max-width:32em}
.picked{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;min-height:0}
.picked span{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--night-3);font-size:14px;color:var(--bone)}
.picked span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber)}
.in{position:relative;margin-bottom:20px}
.in input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(232,238,240,.3);color:var(--bone);font:inherit;font-size:18px;padding:26px 0 10px;outline:none;transition:border-color .3s}
.in label{position:absolute;left:0;top:24px;color:#AFC0C6;font-size:17px;pointer-events:none;transition:transform .45s var(--ease),color .3s;transform-origin:left top}
.in input:focus + label,.in input:not(:placeholder-shown) + label{transform:translateY(-22px) scale(.78);color:var(--xenon)}
.in input:focus{border-color:var(--xenon)}
.cars-pick{margin:8px 0 22px}
.cars-pick .lbl{display:block;color:#AFC0C6;font-size:15px;margin-bottom:10px}
.cars-pick .chips span{box-shadow:inset 0 0 0 1px rgba(232,238,240,.3);color:var(--bone)}
.cars-pick .chips input:checked + span{background:var(--bone);color:var(--night)}
.cars-pick .note{display:block;margin-top:10px;font-size:14px;color:var(--mist);min-height:1.4em}
.request .btn{align-self:flex-start;margin-top:10px}
.request small{display:block;margin-top:16px;color:var(--mist);font-size:13.5px}

/* ---------- footer ---------- */
footer{padding:72px 0 44px;border-top:1px solid var(--line)}
.f-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;margin-bottom:44px}
footer .logo svg{width:44px;height:44px}
footer .wm b{font-size:24px}
footer .wm span{font-size:15px}
.f-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 40px;color:var(--mist);font-size:14.5px}
.f-row nav{display:flex;flex-wrap:wrap;gap:10px 26px}
.f-row a{text-decoration:none}
.f-row a:hover{color:var(--bone)}

/* ---------- menu drawer (phones, tablets) ---------- */
.menu-btn{display:none;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;font:500 14.5px var(--ka);cursor:pointer}
.menu-btn i{display:grid;gap:4px;width:16px}
.menu-btn i::before,.menu-btn i::after{content:"";display:block;height:1.5px;background:currentColor}
.drawer{position:fixed;inset:0;z-index:80;background:var(--night);color:var(--bone);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 18px) var(--gut) calc(env(safe-area-inset-bottom,0px) + 24px);overflow:auto}
.drawer[hidden]{display:none}
.drawer .d-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.drawer nav{display:grid}
.drawer nav a{display:flex;align-items:center;min-height:56px;font-size:24px;font-weight:400;text-decoration:none;border-bottom:1px solid var(--line)}
.drawer .d-contact{margin-top:auto;display:grid;gap:10px;padding-top:28px}
.drawer .d-contact .btn{width:100%}
/* ---------- contact bar + message sheet (phones) ---------- */
.cbar{display:none}
.sheet{position:fixed;inset:auto 0 0 0;z-index:90;background:var(--night-2);color:var(--bone);border-radius:22px 22px 0 0;padding:22px var(--gut) calc(env(safe-area-inset-bottom,0px) + 22px);box-shadow:0 -30px 60px -20px rgba(0,0,0,.6)}
.sheet[hidden]{display:none}
.sheet h2{font-weight:500;font-size:20px;margin:0 0 6px}
.sheet p{margin:0 0 16px;color:var(--mist);font-size:14.5px}
.sheet .links{display:grid;gap:8px}
.sheet .links a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border-radius:14px;background:var(--night-3);text-decoration:none;font-weight:500}
.sheet .links a span{color:var(--mist);font-weight:400;font-size:14px}
.sheet .x{position:absolute;right:14px;top:12px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--bone);font-size:26px;cursor:pointer}
.scrim{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.55)}
.scrim[hidden]{display:none}
/* ---------- hero lot link ---------- */
.lotlink{display:inline-block;margin-top:22px;color:#DCE4E7;font-size:15.5px;text-underline-offset:5px;text-decoration-thickness:1px}
.lotlink:hover{color:var(--xenon)}
/* ---------- visit strip ---------- */
.visit{padding:0 0 clamp(110px,15vh,170px)}
.visit .card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);padding:clamp(26px,3vw,44px);border:1px solid var(--line);border-radius:6px;background:var(--night-2)}
.visit h2{font-weight:500;font-size:clamp(26px,2.4vw,38px);line-height:1.15;margin:0 0 10px}
.visit p{margin:0 0 20px;color:#C3CED2}
.visit dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0}
.visit dt{font-size:13.5px;color:var(--mist);margin-bottom:4px}
.visit dd{margin:0;font-size:17px}
.visit dd.soon{color:var(--mist);font-style:italic}
/* ---------- payments + timeline ---------- */
.paytime{padding:clamp(60px,8vh,100px) 0;border-top:1px solid var(--rule)}
.pt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,88px)}
.paytime h3{font-weight:600;font-size:clamp(22px,1.9vw,30px);line-height:1.2;margin:0 0 10px}
.paytime .intro{margin:0 0 26px;color:var(--ink-mist)}
.pays{list-style:none;margin:0;padding:0;counter-reset:pay}
.pays li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:2px 16px;padding:16px 0;border-top:1px solid var(--rule)}
.pays li::before{counter-increment:pay;content:counter(pay);grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--wide);font-stretch:112%;font-size:15px}
.pays b{font-weight:600}
.pays span{color:var(--ink-mist);font-size:15.5px}
.paytime .note{margin:18px 0 0;font-size:14.5px;color:var(--ink-mist);padding-left:14px;border-left:3px solid var(--steel)}
.times{list-style:none;margin:0;padding:0}
.times li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:14px 0;border-top:1px solid var(--rule)}
.times b{font-weight:500}
.times em{font-style:normal;font-family:var(--wide);font-stretch:112%;font-size:15px;color:var(--steel);white-space:nowrap}
.times .bar{grid-column:1 / -1;height:6px;background:#E2E8EA;border-radius:3px;overflow:hidden}
.times .bar i{display:block;height:100%;background:var(--steel);border-radius:3px;transform-origin:left}
/* ---------- FAQ ---------- */
.faq{padding:clamp(60px,8vh,100px) 0 clamp(120px,16vh,180px);border-top:1px solid var(--rule)}
.faq .qs{max-width:900px}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 0;font-weight:500;font-size:clamp(17px,1.3vw,20px);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--ink),var(--ink)) center/14px 1.6px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.6px 14px no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:var(--ink-mist);max-width:44em}
/* ---------- form: channel, lot, errors, success ---------- */
.ch .chips span{box-shadow:inset 0 0 0 1px rgba(232,238,240,.3);color:var(--bone)}
.ch .chips input:checked + span{background:var(--bone);color:var(--night)}
.err{display:block;min-height:1.3em;margin-top:6px;font-size:14px;color:#FFB4A0}
.in.bad input{border-color:#FFB4A0}
.picked span button{all:unset;cursor:pointer;margin-left:4px;padding:2px 6px;border-radius:999px;color:var(--mist)}
.picked span button:hover{color:var(--bone)}
.ok{display:none;padding:28px;border-radius:6px;background:var(--night-3)}
.ok h3{font-weight:500;font-size:24px;margin:0 0 8px}
.ok p{margin:0;color:#C3CED2}
.sent .ok{display:block}
.sent .fields{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* ---------- calculator: currency + explanations ---------- */
.curbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:14.5px;color:var(--ink-mist)}
.curbar .chips span{min-height:36px;padding:0 12px}
.explain{margin-top:18px;font-size:14.5px;color:var(--ink-mist)}
.explain summary{cursor:pointer;font-weight:500;color:var(--ink);min-height:44px;display:flex;align-items:center}
.explain ul{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}
.rate{margin:10px 0 0;font-size:13.5px;color:var(--ink-mist)}
.flexcount{font-family:var(--ka);font-size:15px;color:var(--ink-mist);margin-top:6px}
html{scroll-padding-top:90px}

/* ---------- responsive ---------- */
@media (max-width:1180px){ .nav{display:none} .top-cta{margin-left:auto} .menu-btn{display:inline-flex} }
@media (max-width:1099px){
  .scene{height:auto;min-height:0;overflow:visible}
  .map{position:relative;height:auto;aspect-ratio:16/10}
  .scene::after{display:none}
  .origins{position:relative;top:auto;left:auto;flex-wrap:wrap;padding:0 var(--gut) 12px}
}
@media (max-width:899px){
  .top{height:66px}
  .wm span{display:none}
  .top-cta{min-height:44px;padding:0 15px;font-size:13.5px}
  .hero-media{left:0;top:-12%}
  .hero-media img{object-position:70% 30%}
  .hero::after{background:linear-gradient(0deg,rgba(10,17,20,1) 10%,rgba(10,17,20,.55) 52%,rgba(10,17,20,.1) 100%)}
  .hero h1{max-width:none}
  .scrollhint{display:none}
  .btn{width:100%}
  .route-head,.paper .lead,.excerpt .wrap{grid-template-columns:minmax(0,1fr);gap:16px}
  .route-head p,.paper .lead p{justify-self:start}
  .stage-list{grid-template-columns:minmax(0,1fr);gap:28px}
  .ws-head,.ws-grid,.flex{grid-template-columns:minmax(0,1fr)}
  .ws-media{aspect-ratio:4/5}
  .after .bens{grid-template-columns:minmax(0,1fr)}
  .ptable{display:none}
  .pcards{display:grid;gap:14px}
  .pcard{background:var(--white);padding:22px;border-top:3px solid var(--ink)}
  .pcard .pn{font-family:var(--wide);color:var(--steel);font-size:14px}
  .pcard h3{font-weight:600;font-size:21px;margin:4px 0 2px}
  .pcard .pend{color:var(--steel);font-size:14.5px;margin:0 0 12px}
  .pcard ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;font-size:15px}
  .pcard li{display:flex;gap:10px;align-items:center}
  .pcard li.off{color:#7E8A8F}
  .pcard p{color:var(--ink-mist);margin:0 0 12px;font-size:15px}
  .cgrid{grid-template-columns:minmax(0,1fr)}
  .lines{grid-template-columns:minmax(0,1fr)}
  .decl{grid-template-columns:minmax(0,1fr)}
  .evs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .bens{grid-template-columns:minmax(0,1fr)}
  .masters{height:auto;min-height:0}
  .masters img{position:relative;top:0;height:58vh}
  .masters .wrap{padding:28px var(--gut) 64px}
  .request{grid-template-columns:minmax(0,1fr)}
  .request .ph{display:none}
  .top-cta{display:none}
  .cbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 10px);background:rgba(10,17,20,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s var(--ease)}
  .cbar.show{transform:none}
  .cbar.typing{transform:translateY(110%)}
  .cbar a,.cbar button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;font:500 15.5px var(--ka);text-decoration:none;border:0;cursor:pointer}
  .cbar a{background:var(--bone);color:var(--night)}
  .cbar button{background:var(--night-3);color:var(--bone)}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .visit .card,.pt-grid{grid-template-columns:minmax(0,1fr)}
  .visit dl{grid-template-columns:minmax(0,1fr)}
  .stage-list li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px 14px;align-items:start}
  .stage-list .ph{grid-row:span 3;aspect-ratio:1;width:76px;margin:0;border-radius:10px}
  .stage-list .n{font-size:20px}
  .stage-list h3{font-size:18px;margin:0}
  .stage-list p{font-size:15px}
  .stage-list.short li:nth-child(n+5){display:none}
  .more{display:flex;margin:18px var(--gut) 0;min-height:48px;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--bone);font:500 15px var(--ka);width:calc(100% - 2 * var(--gut));cursor:pointer}
  .request .ph::after{background:linear-gradient(0deg,var(--night),rgba(10,17,20,0) 60%)}
}
@media (max-width:520px){ .evs{grid-template-columns:minmax(0,1fr)} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }

/* =====================================================================
   Workshop first (2026-10-20): service menu, Poti band, import chapter head,
   service-aware request form, and the /workshop page.
   ===================================================================== */
.nav a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.hero.ws-hero .hero-media img{object-position:50% 58%}
/* service menu: four photo tiles + two supporting services */
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.8vw,28px)}
.svc li{position:relative}
.svc figure{margin:0 0 18px;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--night-3)}
.svc img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc li:hover img{transform:scale(1.04)}
.svc .n{font-family:var(--wide);font-stretch:125%;font-weight:250;font-size:30px;line-height:1;color:var(--xenon)}
.svc h3{margin:8px 0 6px;font-weight:500;font-size:clamp(19px,1.5vw,23px);line-height:1.25}
.svc p{margin:0;color:#C3CED2;font-size:15.5px;line-height:1.55}
.svc-aux{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,1.8vw,28px);margin-top:clamp(28px,4vh,44px)}
.aux{padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:6px;background:var(--night-2)}
.aux h3{margin:0 0 8px;font-weight:500;font-size:clamp(20px,1.6vw,25px);line-height:1.25}
.aux p{margin:0;color:#C3CED2;font-size:16px}
.aux .partsline{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.aux .partsline span{font-size:14px;padding:3px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(232,238,240,.35)}
.potiline{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:14px;color:var(--mist)}
.potiline i{flex:1;height:0;border-top:1.5px dashed rgba(232,238,240,.4)}
.potiline b{font-weight:500;color:var(--bone)}
.potiline .dot{width:9px;height:9px;border-radius:50%;background:var(--bone);flex:none}
.potiline .dot.to{background:var(--amber)}
.ws-why{margin:0 0 6px;font-weight:500;font-size:15px;color:var(--mist)}
.ws-more{margin-top:28px}
.workshop .svc-wrap{margin-bottom:clamp(90px,12vh,140px)}
/* "already bought?" band */
.bought{position:relative;min-height:88svh;overflow:hidden;background:var(--night);display:flex;align-items:flex-end}
.bought > img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 50%}
.bought::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(10,17,20,.86) 34%,rgba(10,17,20,.15) 72%),linear-gradient(90deg,rgba(10,17,20,.7),rgba(10,17,20,0) 60%)}
.bought .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(60px,10vh,110px)}
.bought h2{font-weight:280;font-size:clamp(40px,5vw,84px);line-height:1.05;letter-spacing:-.015em;margin:0 0 22px;max-width:13em}
.bought p{max-width:36em;margin:0 0 30px;color:#D3DCDF;font-size:clamp(17px,1.2vw,19px)}
/* import chapter head (the line from the first hero) */
.imp-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:end;margin-bottom:clamp(80px,12vh,140px)}
.imp-head .h2{font-weight:280;font-size:clamp(44px,5.6vw,96px);line-height:1.02;letter-spacing:-.02em}
.imp-head p{margin:0;color:#C3CED2;font-size:clamp(17px,1.25vw,20px);max-width:30em}
.imp-head .lotlink{margin-top:18px}
.skipfilm{position:absolute;z-index:3;top:110px;right:var(--gut);font-size:14px;color:var(--mist);text-underline-offset:5px}
.skipfilm:hover{color:var(--bone)}
.no-motion .skipfilm{display:none}
/* request form: services, workshop fields */
.in textarea{width:100%;min-height:96px;resize:vertical;background:transparent;border:0;border-bottom:1px solid rgba(232,238,240,.3);color:var(--bone);font:inherit;font-size:18px;line-height:1.5;padding:30px 0 10px;outline:none;transition:border-color .3s}
.in textarea:focus{border-color:var(--xenon)}
.in textarea:focus + label,.in textarea:not(:placeholder-shown) + label{transform:translateY(-22px) scale(.78);color:var(--xenon)}
.svcpick .chips span::before{content:"";width:12px;height:12px;margin-right:8px;border-radius:3px;box-shadow:inset 0 0 0 1.5px currentColor;flex:none}
.svcpick .chips input:checked + span::before{background:var(--night);box-shadow:none}
[data-group][hidden]{display:none}
/* ---------- /workshop page ---------- */
.whero{position:relative;padding-top:76px;background:var(--night)}
.whero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:center;min-height:calc(100svh - 76px - 112px)}
.whero h1{font-weight:320;font-size:clamp(40px,4.8vw,80px);line-height:1.06;letter-spacing:-.012em;margin:0 0 24px;max-width:9em}
.whero .lede{font-size:clamp(17px,1.25vw,20px);line-height:1.6;color:#DCE4E7;max-width:30em;margin:0 0 34px}
.whero-media{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--night-3)}
.whero-media img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.wstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(28px,4vh,48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wstrip > div{padding:20px 20px 20px 0}
.wstrip > div + div{padding-left:20px;border-left:1px solid var(--line)}
.wstrip dt{font-size:13.5px;color:var(--mist);margin-bottom:4px}
.wstrip dd{margin:0;font-size:16.5px}
.wstrip dd.soon{color:var(--mist);font-style:italic}
.wsvc{padding-top:clamp(110px,15vh,170px)}
.photoest{padding:0 0 clamp(110px,15vh,170px)}
.pe-card{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);padding:clamp(28px,3.2vw,52px);border:1px solid var(--line);border-radius:6px;background:var(--night-2)}
.pe-card h2{font-weight:500;font-size:clamp(28px,2.6vw,42px);line-height:1.12;margin:0 0 14px}
.pe-card p{margin:0 0 26px;color:#C3CED2;max-width:36em}
.pe-actions{display:flex;flex-wrap:wrap;gap:10px}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-self:center}
.slot{position:relative;aspect-ratio:3/4;border-radius:4px;background:var(--night-3);display:flex;align-items:flex-end;padding:12px;font-size:13.5px;color:var(--label);overflow:hidden}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.slot span{position:relative;z-index:2}
.slot::before{content:"";position:absolute;inset:10px;z-index:1;pointer-events:none;background:
  linear-gradient(var(--bone),var(--bone)) top left/16px 1.5px no-repeat,linear-gradient(var(--bone),var(--bone)) top left/1.5px 16px no-repeat,
  linear-gradient(var(--bone),var(--bone)) top right/16px 1.5px no-repeat,linear-gradient(var(--bone),var(--bone)) top right/1.5px 16px no-repeat,
  linear-gradient(var(--bone),var(--bone)) bottom left/16px 1.5px no-repeat,linear-gradient(var(--bone),var(--bone)) bottom left/1.5px 16px no-repeat,
  linear-gradient(var(--bone),var(--bone)) bottom right/16px 1.5px no-repeat,linear-gradient(var(--bone),var(--bone)) bottom right/1.5px 16px no-repeat}
.process{padding:clamp(100px,14vh,160px) 0 clamp(70px,9vh,110px)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(20px,3vw,48px)}
.steps li{padding-top:22px;border-top:1px solid var(--ink);position:relative}
.steps li::before{content:"";position:absolute;top:-1px;left:0;width:48px;height:3px;background:var(--steel)}
.steps .n{font-family:var(--wide);font-stretch:125%;font-weight:250;font-size:44px;line-height:1;color:var(--steel)}
.steps h3{margin:12px 0 6px;font-weight:600;font-size:clamp(19px,1.5vw,23px);line-height:1.25}
.steps p{margin:0;color:var(--ink-mist);font-size:16px}
.partsx{padding:clamp(60px,8vh,100px) 0;border-top:1px solid var(--rule)}
.px-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2vw,32px)}
.px-grid article{background:var(--white);border-top:3px solid var(--ink);padding:clamp(24px,2.6vw,40px)}
.px-grid article + article{border-top-color:var(--steel)}
.px-grid .pn{display:block;font-family:var(--wide);font-stretch:112%;font-size:15px;color:var(--steel);margin-bottom:10px}
.px-grid h3{margin:0 0 8px;font-weight:600;font-size:clamp(24px,2vw,32px)}
.px-grid p{margin:0;color:var(--ink-mist)}
.wvisit{padding:clamp(110px,15vh,170px) 0 clamp(60px,8vh,100px)}
.wvisit .visit{padding:0 0 18px}
.imp-card{display:grid;grid-template-columns:minmax(0,7fr) auto;gap:24px;align-items:center;padding:clamp(26px,3vw,44px);border-radius:6px;background:var(--bone);color:var(--night)}
.imp-card h2{margin:0 0 8px;font-weight:500;font-size:clamp(24px,2.2vw,34px);line-height:1.15}
.imp-card p{margin:0;color:#3F4C52;max-width:40em}
.imp-card .btn{background:var(--night);color:var(--bone)}
@media (max-width:1099px){
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .whero-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:24px}
  .whero-media{order:-1;aspect-ratio:16/11}
  .wstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wstrip > div:nth-child(3){padding-left:0;border-left:0}
  .wstrip > div:nth-child(n+3){border-top:1px solid var(--line)}
  .pe-card{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .hero.ws-hero .hero-media img{object-position:50% 40%}
  .svc{gap:22px 14px}
  .svc figure{aspect-ratio:1;margin-bottom:12px}
  .svc .n{font-size:22px}
  .svc h3{font-size:17px;margin:6px 0 4px}
  .svc p{font-size:14.5px}
  .svc-aux,.imp-head,.px-grid,.imp-card{grid-template-columns:minmax(0,1fr)}
  .imp-head{gap:18px}
  .bought{min-height:0;display:block}
  .bought > img{position:relative;top:0;height:52vh}
  .bought .wrap{padding:24px var(--gut) 64px}
  .whero{padding-top:66px}
  .whero h1{max-width:none}
  .wstrip{grid-template-columns:minmax(0,1fr)}
  .wstrip > div,.wstrip > div + div{padding:14px 0;border-left:0}
  .wstrip > div + div{border-top:1px solid var(--line)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .slots{gap:8px}
  .slot{font-size:12px;padding:8px}
}

.bought + .visit{padding-top:clamp(60px,8vh,100px)}

/* the workshop chapter opens on the paint booth: a full-bleed door after the route film */
.workshop{padding-top:0}
.ws-open{position:relative;min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:clamp(72px,10vh,120px);--sweep:-30%}
.ws-open > img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 55%}
.ws-open::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(10,17,20,.78) 30%,rgba(10,17,20,0) 62%),linear-gradient(180deg,var(--night) 0%,rgba(10,17,20,0) 18%);pointer-events:none}
.ws-open .lightbar{z-index:1}
.ws-open .ws-head{position:relative;z-index:2;width:100%;margin-bottom:0;padding-bottom:clamp(48px,8vh,96px)}
.ws-open .lotlink{margin-top:18px}
@media (max-width:899px){
  .ws-open{min-height:0;display:block;margin-bottom:56px}
  .ws-open > img{position:relative;top:0;height:56vh;object-position:50% 50%}
  .ws-open .ws-head{margin-top:-18vh;padding-bottom:0}
}
/* phones: the service menu becomes a swipeable row with large photos */
@media (max-width:899px){
  .svc{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .svc::-webkit-scrollbar{display:none}
  .svc li{flex:0 0 80%;scroll-snap-align:start}
  .svc figure{aspect-ratio:4/3}
  .svc h3{font-size:19px}
  .svc p{font-size:15px}
}
.slot{padding:16px 20px 20px}
.slot span{line-height:1.3}
@media (max-width:899px){ .slot{padding:12px 14px 14px} }
.slot{padding:16px 24px 26px}
