:root{--ink:#14213d;--muted:#5b6477;--brand:#1f6f5c;--on-brand:#fff;--brand2:#e9a23b;--on-brand2:#fff;--bg:#fbf8f2;--card:#fff;--line:#e6e0d4;--band:#f1ebdf;--hl:#f6d9a8;--phone:#14213d;--bubble:#2c3a5a;--field:#fff;--field-line:#cfc7b6;--photo:#e2dccf;--nav:rgba(251,248,242,.95);--accent-text:var(--brand);--bubble-out:var(--brand);--on-bubble-out:var(--on-brand)}
html[data-theme=storefront]{--ink:#0f1b33;--muted:#4a5468;--brand:#1b2f5a;--on-brand:#fff;--brand2:#b8862b;--on-brand2:#0f1b33;--bg:#faf7f0;--card:#fff;--line:#e4dccb;--band:#efe6d2;--hl:#e8cf95;--phone:#0f1b33;--bubble:#24365e;--field:#fff;--field-line:#cbbf9f;--photo:#e6dcc4;--nav:rgba(250,247,240,.95);--accent-text:#8a6416;--bubble-out:#b8862b;--on-bubble-out:#0f1b33}
html[data-theme=hardware]{--ink:#2a2118;--muted:#5e5245;--brand:#2f5d3a;--on-brand:#fff;--brand2:#b5482a;--on-brand2:#fff;--bg:#f7f1e3;--card:#fffdf7;--line:#e3d8bf;--band:#ede3cc;--hl:#f0c9a8;--phone:#2a2118;--bubble:#4a3d2e;--field:#fffdf7;--field-line:#cdbf9f;--photo:#e4d8bb;--nav:rgba(247,241,227,.95);--accent-text:#b5482a;--bubble-out:#2f5d3a;--on-bubble-out:#fff}
html[data-theme=modern]{--ink:#f2f3f5;--muted:#a9b0bc;--brand:#ff6a1a;--on-brand:#141518;--brand2:#ffb37a;--on-brand2:#141518;--bg:#16181c;--card:#20242a;--line:#323842;--band:#1c1f24;--hl:rgba(255,106,26,.35);--phone:#0c0d10;--bubble:#2b3038;--field:#16181c;--field-line:#3d4450;--photo:#2a2f37;--nav:rgba(22,24,28,.92);--accent-text:#ffb37a;--bubble-out:#ff6a1a;--on-bubble-out:#141518}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}section{padding:64px 0}.band{background:var(--band)}
.row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav{position:sticky;top:0;background:var(--nav);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:9;padding:12px 0}
.logo{font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}.logo span{color:var(--accent-text)}
nav a{margin:0 12px;color:var(--muted);text-decoration:none}nav a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--brand);color:var(--on-brand);padding:14px 22px;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid var(--brand);cursor:pointer;font-size:16px}
.btn:hover{filter:brightness(1.1)}.btn.ghost{background:transparent;color:var(--brand)}.btn.sm{padding:8px 14px;font-size:14px}
h1{font-size:clamp(34px,5vw,56px);line-height:1.1;margin:.2em 0}h1 em{color:var(--brand);font-style:normal;background:linear-gradient(transparent 65%,var(--hl) 0)}
h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 .3em}.sub{color:var(--muted);margin-top:0}
.eyebrow{color:var(--accent-text);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.lead{font-size:19px;color:var(--muted)}.ctas{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.checks{list-style:none;padding:0;color:var(--muted)}.checks li:before{content:"✓ ";color:var(--accent-text);font-weight:800}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.phone{background:var(--phone);border-radius:32px;padding:28px 18px;max-width:360px;justify-self:center;box-shadow:0 20px 50px rgba(20,33,61,.25)}
.bubble{padding:10px 14px;border-radius:16px;margin:8px 0;max-width:85%;font-size:15px}.in{background:var(--bubble);color:#fff}.out{background:var(--bubble-out);color:var(--on-bubble-out);margin-left:auto}
.phone .cap{color:#9aa4ba;text-align:center}.cap{font-size:13px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
article,.tier{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}article h3{margin-top:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;list-style:none;counter-reset:s}
.steps li{background:var(--card);border-radius:16px;padding:24px;counter-increment:s}.steps li:before{content:counter(s);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand2);color:var(--on-brand2);font-weight:800;margin-bottom:10px}
.steps b{display:block;font-size:19px}.steps span{color:var(--muted)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;align-items:start}
.tier.pop{border:2px solid var(--brand);position:relative;transform:translateY(-8px)}.tag{position:absolute;top:-13px;left:24px;background:var(--brand2);color:var(--on-brand2);padding:2px 10px;border-radius:99px;font-size:13px;font-weight:700}
.price{font-size:40px;font-weight:800;margin:0}.price small{font-size:16px;color:var(--muted)}.setup{color:var(--muted);margin-top:0}.tier ul{padding-left:18px}
.edit{background:#fff3cd;color:#7a5b00;font-size:12px;padding:1px 6px;border-radius:4px}.guarantee{margin-top:28px;text-align:center}
.calc,.form{background:var(--card);border-radius:16px;padding:24px;display:grid;gap:14px;border:1px solid var(--line)}
label{display:grid;gap:4px;font-weight:600;font-size:15px}input,select{font:inherit;padding:11px;border:1px solid var(--field-line);border-radius:8px;background:var(--field);color:var(--ink)}
output{font-size:20px;color:var(--brand)}.hp{position:absolute;left:-9999px}
.photo{aspect-ratio:1;background:var(--photo);border-radius:20px;display:grid;place-items:center;color:var(--muted)}
.ph{border-style:dashed;color:var(--muted);text-align:center}
details{background:var(--card);border-radius:12px;padding:16px 20px;margin:10px 0}summary{font-weight:700;cursor:pointer}
footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted)}footer a{color:var(--brand)}
@media(max-width:820px){.grid2,.cards,.steps,.tiers{grid-template-columns:1fr}nav{display:none}.tier.pop{transform:none}section{padding:44px 0}}
.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.group{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.group h3{margin:0 0 12px;display:flex;align-items:center;gap:10px;font-size:20px}
.group h3 span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-size:15px}
.group ul{list-style:none;padding:0;margin:0}.group li{padding:10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.45}
.group li b{display:block;color:var(--ink);font-size:16px}
.flag{background:var(--card);border:2px solid var(--brand);border-radius:20px;padding:32px;margin-top:28px;position:relative}
.flag h3{font-size:26px;margin:.4em 0 .2em}.flag .tag{position:static;display:inline-block}.plus{color:var(--muted);font-weight:400;margin:0 6px}
.cols{columns:3;column-gap:28px;padding-left:18px;margin:18px 0 24px}.cols li{break-inside:avoid;margin-bottom:6px}
.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.price.sm{font-size:26px}
@media(max-width:1000px){.groups{grid-template-columns:1fr 1fr}.cols{columns:2}}
@media(max-width:820px){.groups,.extras{grid-template-columns:1fr}.cols{columns:1}.flag{padding:22px}}
html[data-theme=modern]{color-scheme:dark}option{background:var(--card);color:var(--ink)}
.kicker{color:var(--accent-text);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0}
.based{color:var(--muted);font-size:15px;margin:8px 0 0}
.phone .cap.sample{color:var(--ink);font-size:14px;font-weight:600;background:var(--bubble);border-radius:99px;padding:4px 12px;margin:14px auto 0;width:fit-content}
.about .aboutcopy{max-width:760px}
.covers{color:var(--muted);font-size:14px;margin:8px 0 0}
.btn .short{display:none}
.ctas .btn{white-space:normal;text-align:center}
@media(max-width:1100px){.nav .btn .full{display:none}.nav .btn .short{display:inline}}
.nav .btn{white-space:nowrap}
/* service pages */
.page{padding:64px 0 32px}.page h1{max-width:20ch}.crumb{font-size:.9rem;opacity:.75;margin-bottom:12px}.crumb a{color:inherit}
.page .lead{font-size:1.15rem;max-width:62ch;margin:16px 0 24px}.ctas{display:flex;gap:12px;flex-wrap:wrap}
.prose{max-width:760px;padding-bottom:48px}.prose h2{margin:32px 0 8px;font-size:1.4rem}.prose ul{padding-left:20px;line-height:1.7}.prose a{color:var(--accent,#ff6a1a)}
.cta-band{text-align:center;padding:48px 0}.cta-band .ctas{justify-content:center;margin-top:16px}
.btn.ghost{background:transparent;border:2px solid currentColor;color:inherit}
.flinks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:16px}.flinks a{color:inherit;opacity:.85}
#services li b a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.9em}.consent input{width:auto;margin-top:4px}
.outcomes{grid-template-columns:repeat(3,1fr)}.outcomes .group p{color:var(--muted);line-height:1.5;margin:0}.outcomes .group a{color:var(--ink)}
.fine{color:var(--muted);font-size:14px;margin-top:18px;max-width:900px}
.audit{border:2px dashed var(--line);border-radius:16px;padding:20px;margin-top:16px}.audit .cap.sample{margin:0 0 14px}
.audit ul{list-style:disc;padding-left:18px}.audit li{border:0;padding:2px 0}
@media(max-width:820px){.outcomes{grid-template-columns:1fr}}
.grid2>*{min-width:0}.form input,.form select{max-width:100%;box-sizing:border-box}
.form{min-width:0;max-width:100%;box-sizing:border-box}.form select{width:100%}
.addons h3{font-size:19px}.addons .price.sm{font-size:16px;color:var(--accent-text)}

.demo{padding:0 0 56px}.vidframe{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(20,33,61,.25);background:#0b0f19;line-height:0}
.vidframe video,.vidframe img{display:block;width:100%;height:auto}.vidposter{display:none}
@media(max-width:700px){.vidframe{max-width:420px;margin:0 auto}.demo{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.vidframe video{display:none}.vidposter{display:block}}

.skip{position:absolute;left:-9999px;z-index:99;background:var(--brand);color:var(--on-brand);padding:8px 16px;border-radius:8px}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--brand2);outline-offset:3px}
.nav-toggle{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:820px){
  .nav-toggle{display:inline-flex;align-items:center}
  .nav .wrap.row{flex-wrap:wrap;gap:8px 12px}
  .nav .logo{margin-right:auto}
  .nav .btn.sm{flex:1 1 100%;text-align:center}
  nav{display:none;flex-basis:100%;width:100%;flex-direction:column;padding:8px 0 0;order:4}
  nav.is-open{display:flex}
  nav a{display:block;margin:0;padding:10px 0}
}

#booking .tag{position:static;display:inline-block;margin:0 0 10px}
footer .row{flex-wrap:wrap;gap:8px 16px}
footer .row>span{flex:1 1 24rem}
footer .row>a{white-space:nowrap}
/* Privacy page */
.privacy .effective{font-size:.95rem;color:var(--muted);margin:-8px 0 8px}
.privacy h2{scroll-margin-top:80px}
.privacy hr{border:0;border-top:1px solid var(--line);margin:40px 0 8px}
.privacy .terms li{margin-bottom:10px}
