/* Wolfline Systems · Ember & Ice · 2026 rebuild */
:root{
  --night:#070D17;--panel:#0C1626;--panel2:#101E33;--panel3:#152844;
  --cream:#F1EEE7;--muted:rgba(241,238,231,.62);--faint:rgba(241,238,231,.4);
  --ice:#7FD4F2;--ice-bright:#A8E4FA;--ice-dim:rgba(127,212,242,.14);
  --ember:#FF8A4A;--ember-bright:#FFA56E;--ember-deep:#E8622C;--ember-dim:rgba(255,138,74,.14);
  --line:rgba(127,212,242,.13);--line-strong:rgba(127,212,242,.3);
  --pad:clamp(1.25rem,5vw,5rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--cream);font:400 1.06rem/1.7 'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:'Archivo',sans-serif;line-height:1.05;letter-spacing:-.01em}
::selection{background:var(--ember);color:#170A03}
.skip{position:absolute;left:-999px;top:0;background:var(--ember);color:#170A03;padding:.6rem 1rem;z-index:200;font-weight:700}
.skip:focus{left:1rem;top:1rem}
.eyebrow{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ice);display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:linear-gradient(90deg,var(--ember),var(--ice));flex:none}
.eyebrow.ember{color:var(--ember-bright)}
/* header */
header.site{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem var(--pad);background:rgba(7,13,23,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;line-height:1}
.wordmark .wl{font-family:'Archivo';font-weight:900;font-size:1.3rem;letter-spacing:.01em;white-space:nowrap}
.wordmark .wl b{font-weight:900;color:var(--ember)}
.wordmark .wl i{font-style:normal;font-weight:900;color:var(--ice)}
.wordmark .sys{font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.42em;color:var(--muted);text-transform:uppercase;padding-bottom:.15em}
nav.main{display:flex;gap:1.5rem;align-items:center}
nav.main a{font-size:.85rem;color:var(--muted);text-decoration:none;font-weight:500;transition:color .2s}
nav.main a:hover,nav.main a:focus-visible{color:var(--ice-bright)}
.btn{display:inline-block;background:linear-gradient(120deg,var(--ember-bright),var(--ember-deep));color:#1A0B03;font-family:'Archivo';font-weight:700;font-size:.85rem;padding:.65rem 1.25rem;border-radius:.35rem;text-decoration:none;letter-spacing:.02em;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,138,74,.35)}
.btn.ice{background:transparent;color:var(--ice-bright);border:1px solid var(--line-strong)}
.btn.ice:hover{box-shadow:0 10px 28px rgba(127,212,242,.18);background:var(--ice-dim)}
.btn.full{width:100%;text-align:center}
.menu-toggle{display:none;background:none;border:1px solid var(--line-strong);border-radius:.35rem;color:var(--cream);font-family:'Space Mono';font-size:.75rem;letter-spacing:.15em;padding:.5rem .8rem;cursor:pointer}
/* mobile nav */
@media (max-width:860px){
  nav.main{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.4rem var(--pad) 2rem;background:#0A1322;border-bottom:1px solid var(--line-strong);box-shadow:0 30px 60px rgba(0,0,0,.55);max-height:calc(100vh - 4rem);overflow:auto;display:none}
  nav.main.open{display:flex}
  nav.main a{font-size:1rem}
  nav.main .btn{margin-top:.4rem}
  .menu-toggle{display:block}
}
/* films */
.film{position:relative;height:260vh;background:var(--panel)}
.film .film-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:flex-end}
.film .frame{position:absolute;inset:0}
.film video,.film .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film .poster{background-size:cover;background-position:center 62%}
.film .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,23,.55) 0%,rgba(7,13,23,.1) 35%,rgba(7,13,23,.86) 100%)}
.film[data-mode="still-preference"],.film[data-mode="still-failure"]{height:auto}
.film[data-mode="still-preference"] .film-sticky,.film[data-mode="still-failure"] .film-sticky{position:relative;height:auto;min-height:100svh}
.film .hero-inner{position:relative;z-index:2;width:100%;padding:0 var(--pad) clamp(2.5rem,7vh,5rem);max-width:76rem;margin:0 auto}
.film h1{font-size:clamp(2.5rem,7.2vw,5.4rem);font-weight:900;text-wrap:balance;max-width:20ch;color:var(--cream)}
.film h1 em{font-style:normal;background:linear-gradient(100deg,var(--ember-bright),var(--ice-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
.film .lede{margin-top:1.2rem;max-width:36rem;color:rgba(241,238,231,.9);font-size:clamp(1rem,1.4vw,1.2rem);text-shadow:0 1px 12px rgba(7,13,23,.7)}
.film .hero-cta{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.ghost{display:inline-block;border:1px solid rgba(241,238,231,.4);color:var(--cream);padding:.65rem 1.25rem;border-radius:.35rem;text-decoration:none;font-size:.85rem;font-weight:600;transition:border-color .2s,background .2s;background:rgba(7,13,23,.35);cursor:pointer;font-family:inherit}
.ghost:hover{border-color:var(--ember);background:var(--ember-dim)}
.film .scroll-hint{position:absolute;bottom:1.2rem;right:var(--pad);z-index:2;font-family:'Space Mono';font-size:.65rem;letter-spacing:.25em;color:rgba(241,238,231,.7);text-transform:uppercase}
.scroll-hint::after{content:"";display:block;width:1px;height:2.6rem;background:linear-gradient(var(--ember),transparent);margin:.5rem auto 0}
/* short film variant */
.film.short{height:190vh}
/* marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);padding:.9rem 0}
.marquee .track{display:flex;gap:3.2rem;white-space:nowrap;width:max-content;animation:slide 34s linear infinite;font-family:'Space Mono';font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.marquee .track b{color:var(--ember);font-weight:400}
.marquee .track i{color:var(--ice);font-style:normal}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}
/* sections */
section.block{padding:clamp(4rem,10vh,8rem) var(--pad);max-width:76rem;margin:0 auto}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split.rev{grid-template-columns:.95fr 1.05fr}
figure.shot{position:relative;border-radius:.6rem;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);border:1px solid var(--line)}
figure.shot img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
figure.shot.wide img{aspect-ratio:16/10}
figure.shot .badge{position:absolute;top:1rem;left:1rem;font-family:'Space Mono';font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;background:rgba(7,13,23,.72);border:1px solid var(--line-strong);color:var(--cream);padding:.35rem .7rem;border-radius:.3rem;backdrop-filter:blur(6px)}
h1.page{font-size:clamp(2.2rem,5vw,4rem);font-weight:900;margin:1rem 0 1.2rem;text-wrap:balance}
h2.sec{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:900;margin:1rem 0 1.2rem;text-wrap:balance}
h2.sec em,h1.page em{font-style:normal;color:var(--ember-bright)}
h2.sec em.ice{color:var(--ice-bright)}
p.body{color:var(--muted);max-width:38rem}
p.body strong{color:var(--cream);font-weight:600}
/* cards */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;padding:2rem 1.8rem;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}
.card:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:0 22px 50px rgba(0,0,0,.45)}
.card .num{font-family:'Space Mono';font-size:.75rem;letter-spacing:.2em;color:var(--ice)}
.card h3{font-size:1.3rem;margin:.7rem 0 .6rem}
.card p{color:var(--muted);font-size:.95rem}
.card a.stretched{position:absolute;inset:0;text-indent:-9999px}
.card.ember .num{color:var(--ember-bright)}
.card.ember{border-top:2px solid var(--ember)}
.card.icec{border-top:2px solid var(--ice)}
/* dual cards */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.dual .side{border-radius:.7rem;padding:2rem 1.8rem;border:1px solid var(--line);position:relative;overflow:hidden}
.dual .side.heat{background:linear-gradient(150deg,rgba(255,138,74,.16),rgba(232,98,44,.05) 55%,transparent)}
.dual .side.cool{background:linear-gradient(150deg,rgba(127,212,242,.16),rgba(46,127,166,.05) 55%,transparent)}
.dual .side h3{font-size:1.25rem;margin:.5rem 0 .6rem}
.dual .side .k{font-family:'Space Mono';font-size:.65rem;letter-spacing:.25em;text-transform:uppercase}
.dual .heat .k{color:var(--ember-bright)}
.dual .cool .k{color:var(--ice-bright)}
.dual .side p{color:var(--muted);font-size:.95rem}
/* stats band */
.band{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding:clamp(2.5rem,6vh,4rem) var(--pad);max-width:76rem;margin:0 auto}
.stat b{font-family:'Archivo';font-weight:900;font-size:clamp(1.9rem,3vw,2.6rem);display:block;background:linear-gradient(100deg,var(--ember-bright),var(--ice-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-family:'Space Mono';font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
/* timeline */
.timeline{position:relative;margin-top:3rem}
.timeline .rail{position:absolute;left:1.05rem;top:0;bottom:0;width:2px;background:rgba(241,238,231,.1)}
.timeline .rail i{position:absolute;top:0;left:0;width:2px;height:calc(var(--tl-progress,0) * 100%);background:linear-gradient(var(--ember),var(--ice));display:block}
.step{display:grid;grid-template-columns:2.4rem 1fr;gap:1.2rem;padding:1.4rem 0;position:relative}
.step .dot{width:11px;height:11px;border-radius:50%;background:var(--night);border:2px solid var(--ember);margin-top:.45rem}
.step.is-lit .dot{background:var(--ember);box-shadow:0 0 14px rgba(255,138,74,.7)}
.step h3{font-size:1.05rem;margin-bottom:.35rem}
.step .day{font-family:'Space Mono';color:var(--ice);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.step p{color:var(--muted);font-size:.95rem;max-width:42rem}
/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem;align-items:stretch}
.tier{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;padding:2rem 1.7rem;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s}
.tier:hover{transform:translateY(-5px)}
.tier.feature{border-color:var(--ember);background:linear-gradient(170deg,var(--panel3),var(--panel));box-shadow:0 26px 60px rgba(255,138,74,.13)}
.tier .tag{font-family:'Space Mono';font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ice)}
.tier.feature .tag{color:var(--ember-bright)}
.tier h3{font-size:1.35rem;margin:.6rem 0 1rem}
.tier .price{font-family:'Archivo';font-weight:900;font-size:2.4rem;line-height:1;color:var(--cream)}
.tier .price small{display:block;font-family:'Space Mono';font-weight:400;font-size:.68rem;letter-spacing:.12em;color:var(--muted);margin-top:.45rem;text-transform:uppercase}
.tier ul{list-style:none;margin:1.4rem 0 1.8rem;display:grid;gap:.55rem}
.tier li{font-size:.9rem;color:var(--muted);padding-left:1.3rem;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:.55em;width:.45rem;height:.45rem;background:linear-gradient(120deg,var(--ember),var(--ice));border-radius:1px}
.tier li strong{color:var(--cream);font-weight:600}
.tier .btn,.tier .btn.ice{margin-top:auto;text-align:center}
.scarce{margin-top:1.6rem;font-family:'Space Mono';font-size:.72rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;text-align:center}
/* quote */
.quote{font-family:'Archivo';font-weight:700;font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.4;color:var(--cream);border-left:3px solid;border-image:linear-gradient(var(--ember),var(--ice)) 1;padding-left:1.4rem;margin:1.6rem 0;text-wrap:balance}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.fact{border-top:1px solid var(--line);padding-top:.9rem}
.fact b{font-family:'Archivo';font-size:1.5rem;color:var(--ember-bright);display:block}
.fact span{font-size:.85rem;color:var(--muted)}
/* demo section */
.demo-panel{background:linear-gradient(140deg,var(--panel3),var(--panel));border:1px solid var(--line-strong);border-radius:.8rem;padding:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden}
.demo-panel::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,138,74,.18),transparent 65%);pointer-events:none}
.demo-panel::after{content:"";position:absolute;bottom:-70px;left:-70px;width:260px;height:260px;background:radial-gradient(circle,rgba(127,212,242,.15),transparent 65%);pointer-events:none}
.demo-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;position:relative;z-index:1}
@media (max-width:860px){.demo-row{grid-template-columns:1fr}}
.demo-phone{display:grid;gap:.8rem}
.demo-phone label{font-family:'Space Mono';font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.demo-status{font-size:.92rem;min-height:1.4rem}
.demo-status.ok{color:var(--ember-bright)}
.demo-status.no{color:#FF9D9D}
/* form */
.book{background:var(--panel);border-top:1px solid var(--line)}
form.netform{display:grid;gap:1.1rem;margin-top:2rem;max-width:44rem}
form.netform label{font-family:'Space Mono';font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.4rem}
form.netform input,form.netform select,form.netform textarea{width:100%;background:rgba(241,238,231,.06);border:1px solid var(--line-strong);border-radius:.35rem;color:var(--cream);padding:.85rem 1rem;font:inherit}
form.netform input::placeholder,form.netform textarea::placeholder{color:var(--faint)}
form.netform input:focus,form.netform select:focus,form.netform textarea:focus{outline:2px solid var(--ember);outline-offset:1px;border-color:var(--ember)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.hidden-field{position:absolute;left:-999px}
/* faq */
details.faq{border-bottom:1px solid var(--line);padding:1.1rem 0}
details.faq summary{cursor:pointer;font-family:'Archivo';font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-family:'Space Mono';color:var(--ember);font-size:1.3rem;flex:none}
details.faq[open] summary::after{content:"–"}
details.faq p{color:var(--muted);padding-top:.8rem;max-width:44rem}
/* call modal */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.4rem;background:rgba(4,8,14,.78);backdrop-filter:blur(6px)}
.modal[hidden]{display:none}
.modal .box{background:linear-gradient(150deg,var(--panel3),var(--panel));border:1px solid var(--line-strong);border-radius:.8rem;padding:clamp(1.6rem,4vw,2.6rem);max-width:30rem;width:100%;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.modal h3{font-size:1.5rem;margin:.4rem 0 .5rem}
.modal p{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}
.modal .x{position:absolute;top:.9rem;right:.9rem;background:none;border:1px solid var(--line);color:var(--muted);font-size:.95rem;width:2rem;height:2rem;border-radius:.35rem;cursor:pointer;font-family:'Space Mono'}
.modal .x:hover{color:var(--cream);border-color:var(--line-strong)}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
.gallery figure{border-radius:.6rem;overflow:hidden;border:1px solid var(--line);position:relative}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.04)}
/* footer */
footer.site{border-top:1px solid var(--line);padding:2.4rem var(--pad);display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center;font-family:'Space Mono';font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--ice-bright)}
/* reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* responsive */
@media (max-width:860px){
  .grid-2,.grid-3,.dual,.tiers,.stats,.facts,.gallery{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:1.8rem}
  .split,.split.rev{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .film{height:260svh}
  .film.short{height:190svh}
  .film .film-sticky{position:sticky;top:0;height:100svh}
  .film .scroll-hint{display:none}
}

/* Exit-intent sample popup */
.exit-pop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:var(--pad);background:rgba(7,13,23,.72);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .35s ease}
.exit-pop.on{opacity:1;pointer-events:auto}
.exit-pop .pop{position:relative;width:min(30rem,100%);background:var(--panel);border:1px solid rgba(241,238,231,.14);border-radius:14px;padding:2.2rem 2rem;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:translateY(14px);transition:transform .35s ease}
.exit-pop.on .pop{transform:none}
.exit-pop .pop .eyebrow{margin-bottom:.6rem}
.exit-pop h2{font-size:1.55rem;line-height:1.2;color:var(--cream);text-wrap:balance}
.exit-pop p{margin-top:.7rem;color:rgba(241,238,231,.78);font-size:.95rem}
.exit-pop form{margin-top:1.2rem;display:flex;gap:.6rem}
.exit-pop input{flex:1;min-width:0;background:rgba(7,13,23,.6);border:1px solid rgba(241,238,231,.16);border-radius:8px;padding:.8rem .9rem;color:var(--cream);font-size:.95rem}
.exit-pop input:focus{outline:none;border-color:var(--ember)}
.exit-pop .btn{white-space:nowrap}
.exit-pop .note{margin-top:.8rem;font-size:.72rem;color:rgba(241,238,231,.5)}
.exit-pop .x{position:absolute;top:.55rem;right:.7rem;background:none;border:none;color:rgba(241,238,231,.6);font-size:1.3rem;line-height:1;cursor:pointer;padding:.2rem .4rem}
.exit-pop .x:hover{color:var(--cream)}
@media (max-width:860px){.exit-pop{padding:1rem}.exit-pop .pop{padding:1.6rem 1.3rem}.exit-pop form{flex-direction:column}.exit-pop .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.exit-pop,.exit-pop .pop{transition:none}}

/* ==== hero crispness + motion pass (Oct 17) ==== */
.poster-hero{background-image:url("media/hero-scrub-poster.jpg")}
.poster-lobby{background-image:url("media/lobby-scrub-poster.jpg")}
@media (min-resolution:2dppx){
  .poster-hero{background-image:url("media/hero-scrub-poster-2x.jpg")}
  .poster-lobby{background-image:url("media/lobby-scrub-poster-2x.jpg")}
}
.film h1 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--ember-bright) 0%,var(--ice-bright) 35%,var(--ember-bright) 70%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:var(--ember-bright);
  animation:goldSweep 6s ease-in-out infinite;
}
@keyframes goldSweep{
  0%,18%{background-position:0% 50%}
  55%,100%{background-position:100% 50%}
}
@media (prefers-reduced-motion:reduce){
  .film h1 em{animation:none}
}
.hero-inner{animation:heroRise .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.veil::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 45% at 22% 78%,rgba(212,164,74,.16),transparent 70%);
  animation:emberBreathe 8s ease-in-out infinite alternate;
}
@keyframes emberBreathe{from{opacity:.55}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.veil::after,.hero-inner{animation:none}}

/* ===== missed-calls calculator ===== */
#math{padding-top:2rem}
.calc{position:relative;max-width:56rem;margin:0 auto}
.calc-glow{position:absolute;top:-30%;right:-20%;width:60%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,138,74,.13),transparent 65%);pointer-events:none}
.calc .body{max-width:44rem;margin-top:1rem}
.calc-panel{margin-top:2.2rem;background:var(--panel2);border:1px solid var(--line);border-radius:1.15rem;padding:clamp(1.4rem,4vw,2.6rem);position:relative;overflow:hidden}
.calc-row{margin-bottom:1.8rem}
.calc-row label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}
.calc-k{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.calc-v{font-family:'Archivo',sans-serif;font-weight:700;font-size:1.5rem;color:var(--ice-bright)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:38px;background:transparent;cursor:grab;touch-action:pan-y}
input[type=range]:active{cursor:grabbing}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--ember),var(--ember-bright) var(--fill,20%),rgba(241,238,231,.1) var(--fill,20%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--ember-bright);border:3px solid var(--cream);box-shadow:0 4px 18px rgba(255,138,74,.55);margin-top:-11px}
input[type=range]::-moz-range-track{height:8px;border-radius:99px;background:rgba(241,238,231,.1)}
input[type=range]::-moz-range-progress{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--ember),var(--ember-bright))}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--ember-bright);border:3px solid var(--cream);box-shadow:0 4px 18px rgba(255,138,74,.55)}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;justify-content:space-between}
.chipset{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.06em;padding:.5rem .95rem;border-radius:99px;border:1px solid var(--line-strong);background:transparent;color:var(--cream);cursor:pointer;transition:all .25s}
.chip:hover{border-color:var(--ember);color:var(--ember-bright)}
.chip.is-on{background:var(--ember);border-color:var(--ember);color:#170A03;font-weight:700}
.calc-out{margin-top:.6rem}
.big{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(2.2rem,7vw,3.9rem);line-height:1.05;margin:.4rem 0 1rem}
.big em{font-style:normal;background:linear-gradient(100deg,var(--ember-bright),var(--ice-bright));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.big span{color:var(--cream)}
.per{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.per.year{margin-top:.4rem}
.gauge{height:10px;border-radius:99px;background:rgba(241,238,231,.08);overflow:hidden;margin-top:1.6rem}
.gauge i{display:block;height:100%;width:20%;border-radius:99px;background:linear-gradient(90deg,var(--ember-deep),var(--ember),var(--ember-bright));transition:width .3s ease;box-shadow:0 0 14px rgba(255,138,74,.5)}
.kicker{margin-top:1.4rem;color:var(--muted);max-width:36rem}
@media(max-width:640px){.calc-v{font-size:1.2rem}.chip{padding:.55rem 1rem}}
@media(prefers-reduced-motion:reduce){.gauge i{transition:none}}


/* ===== branded loader ===== */
.loader{position:fixed;inset:0;z-index:200;background:var(--night);display:flex;align-items:center;justify-content:center;animation:loaderAuto .6s ease 4s forwards;pointer-events:none}
.loader.done{animation:loaderOut .7s cubic-bezier(.76,0,.24,1) forwards}
.loader-in{text-align:center}
.loader-mark{font:900 clamp(2.4rem,7vw,4rem)/1 'Archivo',sans-serif;letter-spacing:.02em;color:var(--cream)}
.loader-mark em{font-style:normal;color:var(--ember-bright)}
.loader-sub{font:700 .62rem/1 'Space Mono',monospace;letter-spacing:.34em;color:var(--faint);margin:.9rem 0 2.1rem;text-transform:uppercase}
.loader-bar{width:min(200px,40vw);height:2px;background:rgba(241,238,231,.12);margin:0 auto;border-radius:2px;overflow:hidden}
.loader-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--ember),var(--ember-bright));transform-origin:0 50%;animation:loaderFill 1.6s cubic-bezier(.6,.05,.3,1) forwards}
.loader-mark,.loader-sub{opacity:0;animation:loaderRise .6s ease forwards}
.loader-sub{animation-delay:.15s}
@keyframes loaderFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes loaderRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes loaderOut{to{opacity:0;visibility:hidden;transform:translateY(-2vh)}}
@keyframes loaderAuto{to{opacity:0;visibility:hidden}}

/* ===== live booking phone ===== */
#booktap .tapgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
#booktap .mono-note{font:700 .68rem/1.8 'Space Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1.6rem}
.phonewrap{position:relative;display:flex;justify-content:center;perspective:1200px}
.phone-tab{position:absolute;top:-12px;right:8%;z-index:3;background:#C5A069;color:#121212;font:700 .58rem/1 'Space Mono',monospace;letter-spacing:.18em;text-transform:uppercase;padding:.42rem .6rem;border-radius:4px;box-shadow:0 6px 18px rgba(197,160,105,.35);animation:tabFloat 4s ease-in-out infinite}
.phone{position:relative;width:min(300px,82vw);aspect-ratio:300/590;background:#121212;border-radius:2.4rem;border:1px solid rgba(241,238,231,.14);box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 60px rgba(197,160,105,.14);transform:rotateY(-7deg) rotateX(2deg);animation:phoneFloat 6s ease-in-out infinite alternate;overflow:hidden}
.notch{position:absolute;top:.7rem;left:50%;transform:translateX(-50%);width:30%;height:4px;border-radius:4px;background:rgba(241,238,231,.16);z-index:2}
.pscreen{position:absolute;inset:0;padding:2.2rem 1.15rem 1.4rem}
.pform,.pdone{position:absolute;inset:2.2rem 1.15rem 1.4rem}
.pk{font:700 .56rem/1 'Space Mono',monospace;letter-spacing:.22em;color:rgba(241,238,231,.5);text-transform:uppercase}
.ph{font:900 1.18rem/1.25 'Archivo',sans-serif;color:#fff;margin:.5rem 0 1.2rem}
.pfield{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(197,160,105,.55);border-radius:.55rem;padding:.72rem .8rem;margin-bottom:.6rem;font:600 .78rem/1.2 'Archivo',sans-serif;color:rgba(241,238,231,.92);background:rgba(197,160,105,.05)}
.pfield em{font-style:normal;color:#C5A069}
.pbtn{width:100%;margin-top:.9rem;background:#C5A069;color:#121212;border:0;border-radius:.6rem;padding:.8rem;font:800 .85rem/1 'Archivo',sans-serif;letter-spacing:.01em}
.pfield.f2{animation:fieldGlow 9s ease-in-out infinite}
.pbtn{animation:btnPulse 9s ease-in-out infinite}
.pdone{opacity:0;text-align:center;padding-top:3.2rem;animation:doneShow 9s ease-in-out infinite}
.pcheck{display:inline-flex;align-items:center;justify-content:center;width:3.1rem;height:3.1rem;border-radius:50%;border:2px solid #C5A069;color:#C5A069;font-size:1.4rem}
.pdh{font:900 1.3rem/1 'Archivo',sans-serif;color:#fff;margin:1rem 0 .35rem}
.pdt{font:700 .72rem/1 'Space Mono',monospace;letter-spacing:.14em;color:#C5A069;text-transform:uppercase}
.pds{font:500 .78rem/1.5 'Inter',sans-serif;color:rgba(241,238,231,.55);margin-top:1.1rem}
.pform{animation:formCycle 9s ease-in-out infinite}
@keyframes formCycle{0%,30%{opacity:1}40%,88%{opacity:0}96%,100%{opacity:1}}
@keyframes doneShow{0%,30%{opacity:0;transform:translateY(8px)}40%,88%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes fieldGlow{0%,10%{background:rgba(197,160,105,.05);border-color:rgba(197,160,105,.55)}16%,26%{background:rgba(197,160,105,.22);border-color:#C5A069}32%,100%{background:rgba(197,160,105,.05);border-color:rgba(197,160,105,.55)}}
@keyframes btnPulse{0%,24%{transform:none}28%{transform:scale(1.03)}32%,100%{transform:none}}
@keyframes phoneFloat{from{transform:rotateY(-7deg) rotateX(2deg) translateY(0)}to{transform:rotateY(-7deg) rotateX(2deg) translateY(-10px)}}
@keyframes tabFloat{0%,100%{transform:none}50%{transform:translateY(-5px)}}
@media (max-width:860px){
  #booktap .tapgrid{grid-template-columns:1fr}
  .phonewrap{margin-top:2.2rem}
  .phone{transform:none;animation:phoneFloatM 6s ease-in-out infinite alternate}
  @keyframes phoneFloatM{from{transform:translateY(0)}to{transform:translateY(-10px)}}
}
@media (prefers-reduced-motion:reduce){
  .loader{display:none}
  .pform{animation:none;opacity:1}
  .pdone{display:none}
  .pfield.f2,.pbtn,.phone,.phone-tab{animation:none}
}

/* portrait hero art for phones */
@media (max-width:700px){
  .poster-hero{background-image:url(media/hero-portrait.jpg)}
  .poster-hero::after{content:none}
}
@media (max-width:700px) and (min-resolution:2dppx){
  .poster-hero{background-image:url(media/hero-portrait-2x.jpg)}
}
/* auto-reveal motion for all pages */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

/* ===== animated missed-call visual (replaces photo) ===== */
.missed{position:relative;border-radius:18px;overflow:hidden;background:var(--panel2);border:1px solid var(--line);min-height:340px;display:flex;align-items:center;justify-content:center}
.missed-panel{position:relative;width:86%;max-width:300px;display:flex;flex-direction:column;gap:.7rem;padding:1rem}
.rings{position:absolute;top:12%;left:50%;width:44px;height:44px;transform:translateX(-50%)}
.rings i{position:absolute;inset:0;border:2px solid rgba(255,138,74,.55);border-radius:50%;animation:ring 3.6s ease-out infinite}
.rings i:nth-child(2){animation-delay:1.2s}
.rings i:nth-child(3){animation-delay:2.4s}
@keyframes ring{0%{transform:scale(.25);opacity:.9}100%{transform:scale(3.4);opacity:0}}
.mc{background:#0A1220;border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:10px;padding:.7rem .9rem;display:flex;justify-content:space-between;align-items:baseline;opacity:0;animation:mcIn 3.6s ease forwards}
.mc span{font:700 .92rem 'Archivo',sans-serif;color:var(--cream)}
.mc em{font:400 .8rem 'Space Mono',monospace;color:var(--muted)}
.mc1{animation-delay:.4s}.mc2{animation-delay:1.3s}.mc3{animation-delay:2.2s}
@keyframes mcIn{0%{opacity:0;transform:translateY(14px)}12%,88%{opacity:1;transform:none}100%{opacity:1;transform:none}}
.mnote{margin-top:.4rem;font:400 .72rem 'Space Mono',monospace;color:var(--muted);letter-spacing:.04em;opacity:0;animation:mcIn 1s ease forwards 3.1s}
@media (prefers-reduced-motion:reduce){.mc,.mnote{animation:none;opacity:1}.rings i{animation:none;opacity:.35}}

/* ===== wire-to-pro morph section ===== */
.wirewrap{height:240vh;position:relative;background:var(--night)}
.wire-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:2rem;padding:0 var(--pad)}
.wire-head{text-align:center;max-width:640px;margin:0 auto}
.browser{width:min(780px,92vw);margin:0 auto;border-radius:14px;background:#0A0F1A;border:1px solid rgba(241,238,231,.14);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.brow{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;background:#0D1420;border-bottom:1px solid rgba(241,238,231,.08)}
.brow i{width:.6rem;height:.6rem;border-radius:50%;background:rgba(241,238,231,.18)}
.brow span{margin-left:.6rem;font:400 .68rem 'Space Mono',monospace;color:var(--muted)}
.bscreen{position:relative;aspect-ratio:16/10;background:#F4F2ED}
@media (max-width:700px){.bscreen{aspect-ratio:4/5}}
.wire{position:absolute;inset:0;padding:6% 7%;font-family:Georgia,serif;color:#9A9A9A;transition:opacity .45s ease,filter .45s ease}
.wnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8%}
.wlogo{display:inline-block;width:84px;height:14px;background:#C9C9C9;border-radius:2px}
.wlinks{display:inline-block;width:120px;height:10px;background:#DCDCDC;border-radius:2px}
.wtitle{font:400 clamp(1.2rem,4vw,2rem) Georgia,serif;color:#8B8B8B;margin:0 0 5%}
.whero{height:22%;background:#E3E3E3;border-radius:4px;margin-bottom:5%}
.wline{height:10px;background:#DFDFDF;border-radius:2px;margin:0 0 3.5%}
.wline.short{width:60%}
.wbtn{width:110px;height:26px;background:#CFCFCF;border-radius:3px;margin-top:6%}
.wirewrap.s2 .wire,.wirewrap.s3 .wire{opacity:0;filter:blur(4px)}
.pro{position:absolute;inset:0;padding:6% 7%;background:linear-gradient(180deg,#0B1524,#070D17);opacity:0;transform:scale(1.04);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column}
.wirewrap.s2 .pro{opacity:1;transform:none}
.pnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:6%}
.plogo{font:900 clamp(.95rem,2.4vw,1.25rem) 'Archivo',sans-serif;color:var(--cream);letter-spacing:.02em}
.plogo em{font-style:normal;color:var(--ember)}
.plinks{font:600 .72rem 'Archivo',sans-serif;color:var(--muted);display:flex;gap:1rem;align-items:center}
.plinks i{font-style:normal}
.plinks i:last-child{color:#070D17;background:var(--ember);padding:.3rem .6rem;border-radius:4px;font-weight:700}
.pmarquee{overflow:hidden;border-top:1px solid rgba(255,138,74,.25);border-bottom:1px solid rgba(255,138,74,.25);padding:.35rem 0;margin-bottom:7%}
.pmarquee span{display:inline-block;white-space:nowrap;font:700 .62rem 'Space Mono',monospace;color:var(--ember);letter-spacing:.14em;animation:pmq 9s linear infinite}
@keyframes pmq{0%{transform:translateX(0)}100%{transform:translateX(-38%)}}
.ptitle{font:900 clamp(1.3rem,4.2vw,2.4rem) 'Archivo',sans-serif;color:var(--cream);margin:0 0 3%;line-height:1.08}
.ptitle em{font-style:normal;color:var(--ember)}
.psub{font:400 .85rem 'Inter',sans-serif;color:var(--muted);margin:0 0 6%}
.pcta{align-self:flex-start;background:var(--ember);color:#070D17;font:700 .85rem 'Archivo',sans-serif;padding:.65rem 1.1rem;border-radius:6px;margin-bottom:5%}
.pchip{display:flex;align-items:center;gap:.5rem;font:400 .72rem 'Space Mono',monospace;color:var(--cream);background:rgba(255,138,74,.1);border:1px solid rgba(255,138,74,.35);border-radius:6px;padding:.45rem .7rem;align-self:flex-start}
.pchip i{width:.55rem;height:.55rem;border-radius:50%;background:var(--ember);animation:pulse 1.6s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.morphbar{height:3px;background:rgba(241,238,231,.12)}
.morphbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ember),var(--ember-bright))}
@media (prefers-reduced-motion:reduce){.pmarquee span{animation:none}.wire,.pro{transition:none}}

/* ===== mobile hero: pure-code ember field, no photo ===== */
@media (max-width:700px){
  .poster-hero{background:none !important}
  .poster-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 38% at 50% 26%,rgba(255,138,74,.17),transparent 72%),linear-gradient(180deg,#070D17 0%,#0B1524 58%,#070D17 100%)}
  .poster-hero::after{content:'';position:absolute;inset:-30% 0 0 0;background-image:radial-gradient(2px 2px at 18% 30%,rgba(255,165,110,.8),transparent 60%),radial-gradient(1.6px 1.6px at 76% 22%,rgba(255,165,110,.7),transparent 60%),radial-gradient(1.4px 1.4px at 32% 64%,rgba(255,138,74,.55),transparent 60%),radial-gradient(1.8px 1.8px at 64% 48%,rgba(255,165,110,.6),transparent 60%),radial-gradient(1.2px 1.2px at 88% 66%,rgba(255,138,74,.5),transparent 60%),radial-gradient(1.5px 1.5px at 44% 84%,rgba(255,165,110,.55),transparent 60%),radial-gradient(1.3px 1.3px at 10% 52%,rgba(255,138,74,.45),transparent 60%);animation:embers 9s linear infinite}
  .film video{display:none}
}
@keyframes embers{0%{transform:translateY(0)}100%{transform:translateY(-14%)}}
@media (prefers-reduced-motion:reduce){.poster-hero::after{animation:none}}

/* ===== 2 a.m. card fixes ===== */
.missed .badge{position:absolute;top:1rem;left:1rem;z-index:3;font-family:'Space Mono';font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;background:rgba(7,13,23,.72);border:1px solid var(--line-strong);color:var(--cream);padding:.35rem .7rem;border-radius:.3rem;backdrop-filter:blur(6px)}
.missed{min-height:320px}
.missed-panel{padding-top:2.6rem}
@media (max-width:700px){
  .missed{min-height:300px}
  .split{gap:1.6rem}
}

/* ===== front desk page: animated hero wave + transcript ===== */
.fdhero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(180deg,var(--night) 0%,var(--panel) 100%)}
.fd-glow{position:absolute;inset:0;background:radial-gradient(ellipse 46% 34% at 50% 68%,rgba(255,138,74,.15),transparent 70%);animation:fdBreathe 7s ease-in-out infinite alternate}
@keyframes fdBreathe{from{opacity:.55}to{opacity:1}}
.wave{position:absolute;bottom:0;left:0;right:0;height:110px;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:0 2rem}
.wave i{width:5px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--ember-bright),rgba(255,138,74,.25));animation:wv 1.8s ease-in-out infinite alternate;transform-origin:bottom}
@keyframes wv{from{height:8px;opacity:.5}to{height:64px;opacity:1}}
.wave i:nth-child(5n+1){animation-delay:.15s}
.wave i:nth-child(5n+2){animation-delay:.45s}
.wave i:nth-child(5n+3){animation-delay:.75s}
.wave i:nth-child(5n+4){animation-delay:1.05s}
.wave i:nth-child(5n){animation-delay:1.35s}

/* transcript */
.trans{max-width:640px;margin:3rem auto 0;background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,4vw,2rem);text-align:left}
.trans-head{font-family:'Space Mono';font-size:.62rem;letter-spacing:.2em;color:var(--muted);display:flex;align-items:center;gap:.6rem;margin-bottom:1.2rem}
.tdot{width:8px;height:8px;border-radius:50%;background:var(--ember);display:inline-block;animation:tdPulse 2s ease-in-out infinite}
@keyframes tdPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,138,74,.5)}50%{box-shadow:0 0 0 7px rgba(255,138,74,0)}}
.trow{display:flex;gap:.8rem;margin-bottom:.9rem;opacity:0;transform:translateY(12px);animation:tIn .6s ease forwards}
.trow.c1{animation-delay:.4s}
.trow.c2{animation-delay:1.8s}
.trow.c3{animation-delay:3.4s}
@keyframes tIn{to{opacity:1;transform:none}}
.twho{font-family:'Space Mono';font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ember-bright);min-width:5.2rem;padding-top:.45rem}
.c3 .twho,.c1 .twho{color:var(--ice-bright)}
.say{background:var(--panel3);border:1px solid var(--line);border-radius:.7rem;padding:.65rem .95rem;color:var(--cream);font-size:.95rem;line-height:1.55}
.c2 .say{border-color:rgba(255,138,74,.35)}
.tbook{margin-top:1.2rem;opacity:0;animation:tIn .6s ease 5s forwards;font-family:'Space Mono';font-size:.72rem;letter-spacing:.12em;color:var(--night);background:linear-gradient(90deg,var(--ember),var(--ember-bright));border-radius:.5rem;padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.tbook span{background:rgba(7,13,23,.18);border-radius:.35rem;padding:.2rem .5rem}

/* features grid */
.fdgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
.fdgrid .card{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.4rem}
.fdgrid .card .k{font-family:'Space Mono';font-size:.7rem;color:var(--ember-bright);letter-spacing:.2em;display:block;margin-bottom:.8rem}
.fdgrid .card h3{font-size:1.15rem;margin-bottom:.5rem}
.fdgrid .card p{color:var(--muted);font-size:.92rem;line-height:1.6}
@media (max-width:760px){
  .fdgrid{grid-template-columns:1fr}
  .twho{min-width:4.4rem}
}

/* ===== shared page-support visuals ===== */
.mono{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1.4rem}
.center-cta{text-align:center;margin-top:2.6rem}
.fdhero .hero-cta{justify-content:center}
.fdhero .hero-inner{text-align:center;align-items:center;max-width:60rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
.svc-card{background:var(--panel2);border:1px solid var(--line);border-radius:1rem;padding:1.6rem;position:relative;overflow:hidden}
.svc-card.featured{border-color:rgba(255,138,74,.45);box-shadow:0 0 0 1px rgba(255,138,74,.12),0 24px 60px rgba(0,0,0,.35)}
.svc-card h3{font:700 1.25rem/1.25 'Archivo',sans-serif;color:var(--cream);margin:.8rem 0 .5rem}
.svc-card p{color:var(--muted);font-size:.95rem;line-height:1.65}
.svc-k{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.2em;color:var(--ember)}
.svc-price{margin-top:1rem;color:var(--ember-bright);font-weight:600}
.sv-wire{display:grid;gap:.4rem;height:74px;grid-template-columns:1.6fr 1fr;grid-auto-rows:10px}
.sv-wire i{background:rgba(241,238,231,.14);border-radius:2px;animation:svpop 2.6s ease-in-out infinite}
.sv-wire i:nth-child(2){grid-column:span 2;animation-delay:.2s}
.sv-wire i:nth-child(3){animation-delay:.4s}.sv-wire i:nth-child(4){animation-delay:.6s}
.sv-wire i:nth-child(5){grid-column:span 2;animation-delay:.8s;background:rgba(255,138,74,.5);animation:svpop 2.6s ease-in-out infinite,svgold 2.6s ease-in-out infinite}
.sv-wire i:nth-child(6){animation-delay:1s}
@keyframes svpop{0%,12%{opacity:.15}45%,80%{opacity:1}100%{opacity:.15}}
@keyframes svgold{45%,80%{background:rgba(255,138,74,.85)}}
.sv-film{height:74px;border-radius:.5rem;border:1px solid var(--line);background:var(--panel3);overflow:hidden;position:relative}
.sv-film span{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,165,110,.35) 48%,rgba(127,212,242,.25) 55%,transparent 72%);transform:translateX(-100%);animation:svsweep 3.2s ease-in-out infinite}
@keyframes svsweep{to{transform:translateX(100%)}}
.sv-wave{height:74px;display:flex;align-items:flex-end;gap:4px}
.sv-wave i{flex:1;background:linear-gradient(180deg,var(--ember-bright),rgba(255,138,74,.25));border-radius:2px;animation:svbars 1.3s ease-in-out infinite alternate}
.sv-wave i:nth-child(2n){animation-delay:.15s}.sv-wave i:nth-child(3n){animation-delay:.3s}.sv-wave i:nth-child(4n){animation-delay:.45s}.sv-wave i:nth-child(5n){animation-delay:.6s}
@keyframes svbars{from{height:18%}to{height:92%}}
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.4rem}
.faq-grid .inc{grid-column:span 2}
.inc{background:var(--panel2);border:1px solid var(--line);border-radius:.8rem;padding:1.2rem 1.4rem}
.inc b{display:block;color:var(--cream);font:600 1.02rem 'Archivo',sans-serif;margin-bottom:.3rem}
.inc span{color:var(--muted);font-size:.92rem;line-height:1.6}
.week-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.2rem;justify-content:center}
.wk{display:flex;align-items:center;gap:.6rem;background:var(--panel2);border:1px solid var(--line);border-radius:2rem;padding:.45rem 1rem .45rem .5rem;color:var(--muted);font-size:.8rem;letter-spacing:.05em}
.wk b{width:1.7rem;height:1.7rem;border-radius:50%;background:var(--panel3);display:grid;place-items:center;color:var(--cream);font-size:.8rem}
.wk.gold b{background:var(--ember);color:#0A0E16}.wk.gold{color:var(--ember-bright);border-color:rgba(255,138,74,.4)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.8rem;align-items:stretch}
.pr-card{background:var(--panel2);border:1px solid var(--line);border-radius:1.1rem;padding:2rem;display:flex;flex-direction:column;position:relative}
.pr-card.featured{border-color:rgba(255,138,74,.5);box-shadow:0 0 0 1px rgba(255,138,74,.14),0 30px 70px rgba(0,0,0,.4);transform:translateY(-6px)}
.pr-card.featured::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 35%,rgba(255,165,110,.07) 50%,transparent 65%);background-size:250% 100%;animation:svsweep2 4.5s ease-in-out infinite;pointer-events:none}
@keyframes svsweep2{from{background-position:120% 0}to{background-position:-120% 0}}
.pr-chip{position:absolute;top:-0.8rem;left:50%;transform:translateX(-50%);background:var(--ember);color:#0A0E16;font:700 .68rem 'Archivo';letter-spacing:.12em;text-transform:uppercase;padding:.35rem .9rem;border-radius:2rem}
.pr-k{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pr-big{font:900 clamp(2.6rem,5vw,3.4rem)/1 'Archivo';color:var(--cream);margin-top:.9rem}
.pr-card.featured .pr-big{color:var(--ember-bright)}
.pr-mo{color:var(--muted);font-size:.9rem;margin:.2rem 0 1.2rem}
.pr-list{list-style:none;margin:0 0 1.6rem;flex:1}
.pr-list li{color:var(--muted);font-size:.94rem;line-height:1.65;padding:.42rem 0 .42rem 1.4rem;position:relative;border-bottom:1px dashed rgba(241,238,231,.08)}
.pr-list li::before{content:'';position:absolute;left:0;top:.95rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--ember)}
.ab-tl{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.8rem;position:relative;padding-top:1.4rem}
.ab-tl::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--ember),rgba(255,138,74,.08))}
.tl-node{background:var(--panel2);border:1px solid var(--line);border-radius:.8rem;padding:1rem 1.2rem;flex:1;min-width:9.5rem}
.tl-node b{display:block;font:700 1.1rem 'Archivo';color:var(--cream);margin-bottom:.2rem}
.tl-node i{font-style:normal;font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.tl-node.gold{border-color:rgba(255,138,74,.5)}.tl-node.gold b{color:var(--ember-bright)}
@media (max-width:900px){.svc-grid,.pr-grid,.inc-grid{grid-template-columns:1fr}.inc-grid{gap:.8rem}.faq-grid .inc{grid-column:auto}.pr-card.featured{transform:none}}


/* thanks page */
.thx-check{width:4.6rem;height:4.6rem;border-radius:50%;border:2px solid var(--ember);display:grid;place-items:center;font-size:2rem;color:var(--ember-bright);margin-bottom:1.4rem;animation:thxpop .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes thxpop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}

/* ===== device fit: nothing may ever overflow sideways ===== */
html{overflow-x:clip}
body{overflow-x:clip}
.calc{overflow:hidden}
@media(max-width:640px){
  .calc-panel{padding:1.15rem 1rem;border-radius:.9rem}
  .calc-row label{gap:.6rem}
  .chips{gap:.8rem}
}

/* ===== film scenes (50-50 integration, preview) ===== */
.pin{position:relative;height:190vh}
.pin-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;padding:0 var(--pad);overflow:hidden}
.mono-cue{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:1rem}
.cs-wrap{text-align:center;max-width:44rem}
.cs-phone{position:relative;height:230px;margin:2rem auto 2.2rem}
.cs-rings i{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border:2px solid rgba(255,138,74,.5);border-radius:50%;animation:csring 2.4s ease-out infinite}
.cs-rings i:nth-child(2){animation-delay:.8s}
.cs-rings i:nth-child(3){animation-delay:1.6s}
@keyframes csring{from{transform:scale(.4);opacity:.9}to{transform:scale(1.8);opacity:0}}
.cs-core{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--ember-bright);border-radius:50%;box-shadow:0 0 24px rgba(255,165,110,.9);transition:all .7s cubic-bezier(.2,1,.3,1)}
.cs-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);opacity:0;background:linear-gradient(135deg,#1B2A3F,#101E33);border:1px solid rgba(255,138,74,.55);color:var(--cream);font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.08em;padding:.6rem 1.1rem;border-radius:2rem;white-space:nowrap;transition:all .6s cubic-bezier(.2,1.3,.3,1) .5s}
#cscene.snap .cs-rings i{animation-play-state:paused;opacity:0}
#cscene.snap .cs-core{transform:translate(0,-40px) scale(0)}
#cscene.snap .cs-chip{opacity:1;transform:translate(-50%,-50%) scale(1)}
#cscene .sec,#cscene .mono-cue{opacity:0;transform:translateY(24px);transition:all .7s ease}
#cscene.snap .sec{opacity:1;transform:none;transition-delay:.85s}
#cscene.snap .mono-cue{opacity:1;transform:none;transition-delay:1.2s}
.ts-stage{width:min(52rem,92vw);margin:1.6rem auto .4rem}
.ts-houses path,.ts-houses rect{fill:var(--panel3)}
.ts-lines path{stroke:var(--ember);stroke-width:2.5;stroke-linecap:round;fill:none}
.ts-dots circle{fill:var(--ember-bright);opacity:0;transform:scale(0);transform-origin:center;transform-box:fill-box;transition:all .5s cubic-bezier(.2,1.4,.4,1)}
#tscene.lit .ts-dots circle{opacity:1;transform:scale(1)}
.ts-dots circle:nth-child(2){transition-delay:.12s}.ts-dots circle:nth-child(3){transition-delay:.24s}.ts-dots circle:nth-child(4){transition-delay:.36s}.ts-dots circle:nth-child(5){transition-delay:.48s}.ts-dots circle:nth-child(6){transition-delay:.6s}
.ts-hub{fill:var(--ember-bright);opacity:0;transition:opacity .6s}
#tscene.lit .ts-hub{opacity:1}
.ts-hub-glow{fill:none;stroke:rgba(255,165,110,.5);stroke-width:2;opacity:0;transform:scale(.5);transform-origin:center;transform-box:fill-box;transition:all .8s}
#tscene.lit .ts-hub-glow{opacity:1;transform:scale(1);animation:hubpulse 2.4s ease-in-out infinite}
@keyframes hubpulse{50%{transform:scale(1.35);opacity:.5}}
.finale{position:relative;overflow:hidden;text-align:center;padding:clamp(4rem,10vh,8rem) var(--pad);max-width:60rem;margin:0 auto}
.fin-burst{position:absolute;inset:-30%;background:radial-gradient(circle at 50% 60%,rgba(255,138,74,.22),transparent 45%);opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.finale.boom .fin-burst{opacity:1}
.loader-mark span{display:inline-block;opacity:0;transform:translateY(26px);filter:blur(8px);animation:ldletter .7s cubic-bezier(.2,1.2,.3,1) forwards}
.loader-mark span:nth-child(1){animation-delay:.05s}.loader-mark span:nth-child(2){animation-delay:.17s}.loader-mark span:nth-child(3){animation-delay:.29s}.loader-mark span:nth-child(4){animation-delay:.41s}
@keyframes ldletter{to{opacity:1;transform:none;filter:none}}
