/* ===== Homepage-only styles (cinematic experience + tools) ===== */
.h2x{margin-bottom:.35em;font-family:var(--display);font-size:clamp(2.7rem,12vw,5.6rem);line-height:.9;letter-spacing:.5px;text-wrap:balance}
.h2x .it{color:var(--teal);font-style:italic;font-family:var(--serif);font-weight:400;font-size:.96em}
.kicker{font-size:10.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.kicker::before{content:"";width:18px;height:1px;background:var(--teal)}

/* --- EXPERIENCE --- */
#experience{position:relative;height:100svh;width:100%;overflow:hidden;background:var(--black);padding:0;z-index:1}
#stage-outer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,177.78svh);height:max(100svh,56.25vw)}
#stage{position:absolute;inset:0;will-change:transform}
#stage>img,.layer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.layer{position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;will-change:clip-path}
.edge{position:absolute;pointer-events:none;opacity:0}
#rinse{position:absolute;pointer-events:none;opacity:0;mix-blend-mode:screen;background:repeating-linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.18) 3px,rgba(255,255,255,0) 8px),linear-gradient(180deg,rgba(190,235,255,.4),rgba(190,235,255,0))}
.vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 45%,rgba(8,11,16,.8) 100%)}
.fade-b{position:absolute;left:0;right:0;bottom:0;height:16rem;pointer-events:none;background:linear-gradient(to top,var(--black) 10%,transparent)}
.fade-t{position:absolute;left:0;right:0;top:0;height:10rem;pointer-events:none;background:linear-gradient(to bottom,rgba(8,11,16,.85),transparent)}
.scrim{display:none;position:absolute;top:0;bottom:0;left:0;width:62%;pointer-events:none;background:linear-gradient(to right,rgba(8,11,16,.82),rgba(8,11,16,.4),transparent)}
@media(min-width:768px){.scrim{display:block}}
.hero-copy{position:absolute;left:0;right:0;bottom:11svh;z-index:10}
.hero-copy h1{font-family:var(--display);font-size:clamp(4.2rem,19vw,7rem);line-height:.86;letter-spacing:.5px;text-shadow:0 6px 40px rgba(0,0,0,.6)}
.hero-copy h1 .it{display:block;color:var(--teal);font-family:var(--serif);font-style:italic;font-weight:400;font-size:.78em;line-height:1;margin-top:.06em}
@media(min-width:768px){.hero-copy{bottom:13svh}.hero-copy h1{font-size:clamp(5rem,10.5vw,9rem)}}
.hero-copy p{margin-top:1.25rem;max-width:26rem;color:rgba(255,255,255,.88);font-size:1.05rem;text-shadow:0 2px 14px rgba(0,0,0,.9)}
.hero-btns{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:10px}
#hint{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);z-index:10}
#hint div{width:20px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:999px;animation:hint 1.8s ease-in-out infinite}
#hint div::after{content:"";display:block;width:2px;height:8px;margin:6px auto 0;background:rgba(255,255,255,.7);border-radius:2px}
@keyframes hint{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}}
.stage-text{position:absolute;left:0;right:0;bottom:9svh;z-index:10;opacity:0;visibility:hidden}
.stage-text .card2{max-width:36rem;border-radius:var(--r);background:rgba(8,11,16,.8);padding:1.25rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08)}
.stage-text h2{font-family:var(--display);font-size:clamp(2.6rem,11.5vw,4.9rem);line-height:.9;letter-spacing:.5px}
.stage-text h2 .it{color:var(--teal);font-family:var(--serif);font-style:italic;font-weight:400;font-size:.9em}
.stage-text .body{margin-top:.9rem;font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.8)}
@media(min-width:768px){.stage-text{bottom:auto;top:50%;transform:translateY(-50%)}.stage-text .card2{background:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}.stage-text .body{font-size:1.05rem}}
.prog{margin-top:1.25rem}
.prog .row{display:flex;justify-content:space-between;font-size:10.5px;text-transform:uppercase;letter-spacing:2.2px;color:rgba(255,255,255,.6)}
.prog .pct{font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums}
.prog .bar{margin-top:.5rem;height:1px;background:rgba(255,255,255,.15)}
.prog .bar i{display:block;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left}
#reveal{text-align:center}
#reveal .card2{max-width:none;background:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
#reveal h2{font-size:clamp(3.6rem,17vw,8.5rem);filter:drop-shadow(0 6px 30px rgba(0,0,0,.75))}
#reveal p{margin:1.1rem auto 0;max-width:26rem;color:#fff;filter:drop-shadow(0 2px 12px rgba(0,0,0,.95))}
@media(min-width:768px){#reveal{bottom:13svh;top:auto;transform:none}}
#static{display:none}
body.reduced #experience{display:none}
body.reduced #static{display:block;padding-top:calc(var(--nav-h) + 40px)}
#static .frame{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;margin-top:2.5rem}
#static .frame img{width:100%;height:100%;object-fit:cover}

/* --- BEFORE / AFTER --- */
.ba{position:relative;margin-top:2.5rem;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:var(--r);background:var(--black-3);user-select:none;touch-action:pan-y;border:1px solid var(--border)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba .after{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.ba .tag{position:absolute;top:1rem;border-radius:999px;background:rgba(8,11,16,.72);padding:.3rem .8rem;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:2px;backdrop-filter:blur(8px);pointer-events:none;transition:opacity .2s;border:1px solid rgba(255,255,255,.1)}
.ba .handle{position:absolute;top:0;height:100%;width:1px;background:rgba(255,255,255,.9);cursor:ew-resize;left:50%}
.ba .knob{position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;background:var(--teal);color:#061012;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.55)}

/* --- REAL WORK (video) --- */
.work-grid{display:grid;gap:2rem;margin-top:2.5rem;align-items:center}
@media(min-width:900px){.work-grid{grid-template-columns:380px 1fr;gap:4rem}}
.work-points{list-style:none;display:grid;gap:14px;margin-top:1.5rem}
.work-points li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--border);color:rgba(255,255,255,.82);font-size:16px;line-height:1.5}
.work-points li:last-child{border-bottom:1px solid var(--border)}
.work-points b{font-family:var(--display);font-size:22px;color:var(--teal);letter-spacing:1px;min-width:34px;line-height:1.1}

/* --- GAME --- */
.game-grid{display:grid;gap:1.25rem;margin-top:2.5rem}
@media(min-width:1024px){.game-grid{grid-template-columns:1fr 300px}}
.gbox{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;border-radius:var(--r);background:var(--black);cursor:none;user-select:none;touch-action:none;border:1px solid var(--border)}
.gbox img,.gbox canvas{position:absolute;inset:0;width:100%;height:100%}
.gbox img{object-fit:cover}
#fx{pointer-events:none}
#sprayer{position:absolute;left:-12px;top:-12px;pointer-events:none;width:24px;height:24px;border:2px solid var(--teal);border-radius:50%;background:rgba(61,214,204,.2);will-change:transform}
#gdone{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:rgba(8,11,16,.84);padding:1.5rem;text-align:center;backdrop-filter:blur(4px)}
#gdone.show{display:flex}
.aside{display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;background:var(--black-3)}
.big-pct{font-family:var(--display);font-size:4rem;line-height:1;color:var(--teal);margin-top:.5rem;font-variant-numeric:tabular-nums}
.mini-bar{margin-top:.75rem;height:1px;background:rgba(255,255,255,.15)}
.mini-bar i{display:block;height:1px;background:var(--teal);width:0;transition:width .2s}

/* --- SERVICES (editorial list) --- */
.svc-grid{display:grid;gap:2.5rem;margin-top:3rem}
@media(min-width:1024px){.svc-grid{grid-template-columns:1.1fr 1fr;gap:4rem}}
.svc-list{list-style:none;border-top:1px solid var(--border)}
.svc-list li{border-bottom:1px solid var(--border)}
.svc-list .row{display:flex;width:100%;align-items:baseline;gap:1.1rem;padding:1.15rem 0;text-align:left}
.svc-list .n{width:2rem;flex-shrink:0;font-size:.72rem;color:var(--gray);letter-spacing:1px}
.svc-list .name{font-family:var(--display);font-size:clamp(1.9rem,8vw,2.7rem);line-height:.95;letter-spacing:.5px;transition:color .2s;display:block}
.svc-list li.on .name{color:var(--teal)}
.svc-list .blurb{display:block;max-height:0;overflow:hidden;opacity:0;font-size:.95rem;color:var(--muted);transition:max-height .35s var(--ease),opacity .3s,margin .3s;line-height:1.55}
.svc-list li.on .blurb{max-height:10rem;opacity:1;margin-top:.5rem}
.svc-list .go{display:inline-flex;align-items:center;gap:6px;margin-top:.8rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--teal)}
.svc-list .go:hover{color:#fff}
.svc-img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);background:var(--black-3);border:1px solid var(--border)}
@media(min-width:1024px){.svc-img{position:sticky;top:calc(var(--nav-h) + 24px);aspect-ratio:auto;height:560px}}
.svc-img img{width:100%;height:100%;object-fit:cover;transform:scale(2.2);transition:object-position .7s var(--ease)}
.svc-img .shade{position:absolute;inset:0;background:linear-gradient(to top,var(--black) 0%,transparent 55%);pointer-events:none}
.svc-img .cap{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem}
.svc-more{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:8px}
.svc-more a{border:1px solid var(--border-2);border-radius:999px;padding:9px 14px;font-size:12px;color:var(--muted);transition:all .2s}
.svc-more a:hover{border-color:var(--teal);color:#fff}

/* --- GAUGE --- */
.gauge-grid{display:grid;gap:2.5rem;margin-top:3rem;align-items:center}
@media(min-width:1024px){.gauge-grid{grid-template-columns:400px 1fr;gap:4rem}}
.gauge{max-width:400px;margin:0 auto;width:100%}
#needle{transform-origin:100px 110px;transition:transform .9s cubic-bezier(.2,1.2,.4,1)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1px solid var(--border-2);border-radius:999px;padding:.6rem 1rem;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:rgba(255,255,255,.8);transition:all .2s}
.chip.on{border-color:var(--teal);background:var(--teal);color:#061012}
.methods{display:grid;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.methods{grid-template-columns:repeat(3,1fr)}}
.method{border:1px solid var(--border);border-radius:var(--r-s);padding:1rem 1.1rem;transition:all .2s;background:var(--black-3)}
.method.on{border-color:rgba(61,214,204,.6);background:rgba(61,214,204,.06)}
.method p{margin-top:.4rem;font-size:.8rem;line-height:1.55;color:var(--muted)}
.fine{margin-top:1.5rem;font-size:.78rem;color:var(--gray)}

/* --- ESTIMATOR --- */
.est-grid{display:grid;gap:2rem;margin-top:3rem}
@media(min-width:1024px){.est-grid{grid-template-columns:1fr 380px;gap:3rem}}
.est-steps{display:grid;gap:2.25rem}
fieldset{border:0;min-width:0}
legend{margin-bottom:.9rem}
.opts{display:grid;gap:.5rem}
.opts.three.compact{grid-template-columns:1fr 1fr 1fr}
.opts.compact .opt{padding:.75rem .7rem;min-height:50px;gap:.4rem}.opts.compact .opt b{white-space:nowrap;font-size:.85rem}.opts.compact .opt .box{margin-left:.3rem;width:16px;height:16px}
@media(min-width:640px){.opts.two{grid-template-columns:1fr 1fr}.opts.three{grid-template-columns:1fr 1fr 1fr}}
.opt{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--border);border-radius:var(--r-s);padding:.9rem 1rem;text-align:left;background:var(--black-3);transition:all .2s;min-height:58px}
.opt.on{border-color:var(--teal);background:rgba(61,214,204,.08)}
.opt b{display:block;font-size:.92rem;font-weight:600}
.opt small{display:block;font-size:.75rem;color:var(--muted);margin-top:1px}
.opt .box{margin-left:.75rem;width:20px;height:20px;flex-shrink:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center}
.opt.multi .box{border-radius:6px}
.opt.on .box{border-color:var(--teal);background:var(--teal);color:#061012}
.opt .box svg{display:none}.opt.on .box svg{display:block}
.range-row{display:flex;align-items:center;gap:1rem;margin-top:.5rem}
.range-row input[type=range]{flex:1;accent-color:var(--teal);height:32px}
.range-val{font-family:var(--display);font-size:2rem;color:var(--teal);min-width:5.5rem;text-align:right;letter-spacing:1px}
.range-val small{font-family:var(--sans);font-size:.7rem;color:var(--muted);letter-spacing:1px;display:block;text-align:right;margin-top:-4px}
.sub{display:none;margin:.6rem 0 0 .25rem;padding-left:.9rem;border-left:1px solid var(--border-2)}
.sub.show{display:block}
.sub .opts{gap:.4rem}
.sub .opt{min-height:46px;padding:.6rem .85rem}
.sub .opt b{font-size:.85rem}
.price-card{height:fit-content;border:1px solid var(--border);border-radius:var(--r);background:var(--black-3);padding:1.5rem}
@media(min-width:1024px){.price-card{position:sticky;top:calc(var(--nav-h) + 24px)}}
.price{font-family:var(--display);font-size:clamp(2.4rem,11vw,3.2rem);line-height:1;margin-top:.9rem;letter-spacing:.5px}
.lines{list-style:none;margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem;font-size:.9rem}
.lines li{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);margin-top:.5rem}
.lines li span:last-child{font-variant-numeric:tabular-nums;color:#fff}
.lines li.disc,.lines li.disc span{color:var(--teal)}
.note{margin-top:1rem;font-size:.78rem;line-height:1.6;color:var(--gray)}
.ai-card{margin-top:1rem;border:1px solid rgba(61,214,204,.3);border-radius:var(--r-s);padding:1rem 1.1rem;background:rgba(61,214,204,.05);font-size:.9rem;color:var(--muted);display:flex;gap:12px;align-items:center}
.ai-card b{color:#fff;display:block;font-size:.95rem}
.ai-card .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0;animation:pulse 2s infinite}

/* --- QUOTE --- */
.q-grid{display:grid;gap:2.5rem}
@media(min-width:1024px){.q-grid{grid-template-columns:1fr 1.25fr;gap:4rem}}
.attached{margin-top:1.75rem;border:1px solid var(--border);border-radius:var(--r);background:var(--black);padding:1.25rem;font-size:.9rem}
.contact{margin-top:1.75rem;font-size:.9rem;color:var(--muted)}
.contact a{display:block;color:#fff}.contact a:hover{color:var(--teal)}
.contact a.tel{font-family:var(--display);font-size:2.2rem;letter-spacing:2px;line-height:1.1;margin:.2rem 0}
.qform{display:grid;gap:1rem;background:var(--black-3);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem}
@media(min-width:640px){.qform{padding:2rem}}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pill{border:1px solid var(--border-2);border-radius:999px;padding:.5rem .95rem;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.85);transition:all .2s}
.pill.on{border-color:var(--teal);background:var(--teal);color:#061012}
.err{margin-top:.3rem;font-size:.75rem;color:#fca5a5;display:none}
.err.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#success{display:none;flex-direction:column;justify-content:center;border:1px solid rgba(61,214,204,.35);background:rgba(61,214,204,.06);border-radius:var(--r);padding:2rem}

/* --- AREAS --- */
.area-tiers{display:grid;gap:10px;margin-top:2.5rem}
@media(min-width:768px){.area-tiers{grid-template-columns:repeat(3,1fr)}}
.tier{border:1px solid var(--border);border-radius:var(--r);padding:1.4rem;background:var(--black-3)}
.tier .t{font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--teal);font-weight:700}
.tier h3{font-family:var(--display);font-size:1.9rem;letter-spacing:.5px;margin:.4rem 0 .6rem;font-weight:400}
.tier ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.tier li a{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:6px 11px;font-size:12.5px;color:var(--muted);transition:all .2s}
.tier li a:hover{border-color:var(--teal);color:#fff}

/* --- reviews strip --- */
.rev{display:grid;gap:1.5rem;margin-top:2.5rem;align-items:center}
@media(min-width:900px){.rev{grid-template-columns:1fr 1.4fr;gap:3rem}}
.rev .score{font-family:var(--display);font-size:clamp(5rem,20vw,8rem);line-height:.85;letter-spacing:1px}
.rev .stars{color:#f5c518;font-size:1.3rem;letter-spacing:3px;margin-top:.5rem}

#skip{position:absolute;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:12;opacity:0;visibility:hidden;font-size:10.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 14px;background:rgba(8,11,16,.55);backdrop-filter:blur(8px)}
#skip:hover{color:#fff;border-color:rgba(255,255,255,.5)}
@media(min-width:768px){#skip{right:32px;bottom:28px}}
