
/* Layout: architectural grid, dark "plant room" bands alternating with clean light rooms. Colour tokens are placeholders until the logo palette is applied. */
/* Layout: logo-led. White header carries the full-colour logo; charcoal bands pick up the logo grey; green is the single accent, used like the logo's slanted banner. */
:root{
  /* Dark-first, matched to the BSES landing pages: near-black ink, bright logo green, condensed display type */
  --ink:#212121;
  --ink-2:#212121;
  --paper:#212121;
  --panel:#212121;
  --line:rgba(255,255,255,.09);
  --muted:rgba(255,255,255,.72);
  --fg:#FFFFFF;
  --on-ink:#FFFFFF;
  --on-ink-muted:rgba(255,255,255,.72);
  --rule-dark:rgba(255,255,255,.09);
  --accent:#51B94C;
  --accent-2:#51B94C;
  --accent-ink:#51B94C;
  --brand-grey:#787879;
  --display:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --body:"Barlow", system-ui, "Segoe UI", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;
  --max:1240px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6}
a{color:inherit}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:20px}
h1,h2,h3,h4{font-family:var(--display);font-stretch:75%;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-0.01em}
h1{font-size:clamp(2.6rem,7vw,5.4rem);font-weight:800;text-transform:uppercase;line-height:.95}
h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;text-transform:uppercase;line-height:.98}
h3{font-size:1.25rem;font-weight:700}
p{margin:0;max-width:65ch}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-ink)}
.dark .eyebrow{color:var(--accent)}
.lede{font-size:1.15rem;color:var(--muted)}
.dark .lede{color:var(--on-ink-muted)}
.stack{display:flex;flex-direction:column;gap:18px}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--panel);color:var(--fg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo{display:block;line-height:0;flex-shrink:1;min-width:0}
.logo img{height:46px;width:auto;max-width:100%}
footer .logo img{height:54px}
nav.main{display:flex;gap:2px;flex-wrap:nowrap;white-space:nowrap}
nav.main a{text-decoration:none;font-size:.86rem;padding:8px 7px;border-radius:3px;color:var(--muted);font-weight:500}
nav.main a:hover,nav.main a:focus-visible{color:var(--fg);background:var(--paper)}
nav.main a.on{color:var(--fg);box-shadow:inset 0 -3px 0 var(--accent)}
.cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--accent);color:var(--ink);text-decoration:none;font-weight:600;padding:12px 20px;border-radius:3px;border:0;font:600 .95rem var(--body);cursor:pointer}
.cta:hover{filter:brightness(1.08)}
.cta.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--fg);padding:8px 12px;border-radius:4px;font:500 .85rem var(--mono)}
@media (max-width:1500px){.bar .cta.hdr{display:none}}
@media (max-width:1380px){
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:76px;background:var(--panel);flex-direction:column;padding:12px 20px 20px;border-bottom:1px solid var(--line)}
  nav.main.open{display:flex}
  .bar .cta.hdr{display:none}
}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Sections */
section{padding-block:clamp(56px,8vw,104px)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark-2{background:var(--ink-2);color:var(--on-ink)}
.white{background:var(--panel)}
.page{display:none}
.page.active{display:block}

/* Photo placeholders */
.ph{position:relative;background:repeating-linear-gradient(135deg,#2A2B2D 0 14px,#2E2F31 14px 28px);color:var(--on-ink-muted);border-radius:2px;min-height:220px;display:flex;align-items:flex-end;padding:14px;max-width:100%}
.ph.light{background:repeating-linear-gradient(135deg,#E7E9E7 0 14px,#E0E3E0 14px 28px);color:var(--muted)}
.ph::after{content:attr(data-label);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.ph.tall{min-height:420px}

/* Hero */
.hero{padding-block:clamp(56px,9vw,120px) 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.proof{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-dark);margin-top:64px}
.proof div,.proof a{padding:22px 18px 26px;border-right:1px solid var(--rule-dark)}
.proof a:last-child,.proof div:last-child{border-right:0}
.proof b{display:block;font-family:var(--display);font-stretch:75%;font-size:1.9rem;font-weight:750;font-variant-numeric:tabular-nums}
.proof span{font-size:.85rem;color:var(--on-ink-muted)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.proof{grid-template-columns:1fr 1fr}.proof div:nth-child(2){border-right:0}.proof div:nth-child(-n+2){border-bottom:1px solid var(--rule-dark)}}

/* Grids */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:900px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.g4{grid-template-columns:1fr}}
.g2>*,.g3>*,.g4>*{min-width:0}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}

/* Service rows */
.svc{display:grid;grid-template-columns:repeat(4,1fr);column-gap:24px;border-top:1px solid var(--line)}
.svc a{display:flex;flex-direction:column;gap:10px;padding:28px 24px 30px 0;border-bottom:1px solid var(--line);text-decoration:none}
.svc a:hover h3{color:var(--accent-ink)}
.svc .code{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.08em}
.svc p{color:var(--muted);font-size:.95rem}
@media (max-width:1000px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}
.svc a.svc-cta h3{color:var(--accent-ink)}

/* Systems */
.sys{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark)}
.sys a{background:var(--ink);padding:24px 18px;text-decoration:none;display:flex;flex-direction:column;gap:8px;min-height:150px}
.sys a:hover{background:var(--ink-2)}
.sys b{font-family:var(--display);font-stretch:75%;font-size:1.3rem}
.sys span{font-size:.85rem;color:var(--on-ink-muted)}
.sys i{font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}
@media (max-width:900px){.sys{grid-template-columns:1fr 1fr}}

/* Projects */
.proj{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj article{display:flex;flex-direction:column;gap:12px}
.proj .meta{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.proj .tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:.68rem;padding:3px 8px;border:1px solid var(--line);border-radius:2px;color:var(--muted)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{font:500 .85rem var(--body);background:var(--panel);border:1px solid var(--line);padding:8px 14px;border-radius:3px;cursor:pointer;color:var(--fg)}
.filters button.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
@media (max-width:900px){.proj{grid-template-columns:1fr}}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.reviews blockquote{margin:0;padding:26px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.reviews cite{font-style:normal;font-family:var(--mono);font-size:.75rem;color:var(--muted)}
.stars{color:var(--accent);letter-spacing:2px}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* Process */
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:s}
.steps li{list-style:none;padding:22px 18px 0 0;border-top:2px solid var(--rule-dark);position:relative}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:.75rem;color:var(--accent);display:block;margin-bottom:10px}
.steps li b{display:block;font-family:var(--display);font-stretch:75%;margin-bottom:6px}
.steps li span{font-size:.9rem;color:var(--on-ink-muted)}
.steps{padding:0;margin:0}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:24px}}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:12px}
.badge{border:1px solid var(--line);background:var(--panel);padding:14px 18px;display:flex;flex-direction:column;gap:2px;min-width:0}
.badge b{font-family:var(--display);font-stretch:75%;font-size:1rem}
.badge span{font-size:.8rem;color:var(--muted)}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:var(--panel);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:16px}
.plan.feat{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.plan ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:.95rem}
.plan .price{font-family:var(--display);font-stretch:75%;font-size:1.6rem;font-weight:750}
.plan .cta{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

/* Spec table */
.tbl{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
tr:last-child td{border-bottom:0}

/* Form */
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:500}
input,select,textarea{font:400 1rem var(--body);padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--fg);width:100%}
textarea{min-height:130px;resize:vertical}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);padding:8px 12px;border-radius:3px;background:var(--panel);font-weight:400}
.checks input{width:auto}
.note{font-size:.85rem;color:var(--accent-ink);font-weight:500}
@media (max-width:640px){form{grid-template-columns:1fr}}

.contact-list{display:flex;flex-direction:column;gap:22px}
.contact-list div{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--rule-dark);padding-top:14px}
.contact-list small{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-muted)}
.contact-list b{font-family:var(--display);font-stretch:75%;font-size:1.2rem;font-weight:600;user-select:all}

/* Page heads */
.phead{padding-block:clamp(48px,7vw,88px) clamp(40px,5vw,64px)}
.crumb{font-family:var(--mono);font-size:.72rem;color:var(--on-ink-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}

/* Strip CTA */
.strip{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}

footer{background:var(--ink);color:var(--on-ink-muted);padding-block:56px 32px;font-size:.88rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink);margin-bottom:12px;font-weight:500}
.fgrid a{display:block;text-decoration:none;padding:3px 0}
.fgrid a:hover{color:var(--on-ink)}
.legal{border-top:1px solid var(--rule-dark);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}

.sysblock{display:grid;grid-template-columns:280px 1fr;gap:40px;padding-block:44px;border-top:1px solid var(--line)}
.sysblock:first-child{border-top:0}
.sysblock>.stack{min-width:0}.sysblock .pill{align-self:flex-start}#coolautomation h2{font-size:clamp(2rem,3vw,2.9rem)}
.sysblock ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
@media (max-width:860px){.sysblock{grid-template-columns:1fr;gap:18px}}
.pill{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--ink);padding:5px 14px;clip-path:polygon(6% 0,94% 0,100% 100%,0 100%)}
/* Scene demo: reads like a keypad / control panel */
.scene{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--rule-dark);background:var(--ink-2)}
.scene-btns{display:flex;flex-direction:column;border-right:1px solid var(--rule-dark)}
.scene-btns button{all:unset;cursor:pointer;padding:22px 24px;border-bottom:1px solid var(--rule-dark);display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--display);font-stretch:75%;font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em;color:var(--on-ink-muted)}
.scene-btns button:last-child{border-bottom:0}
.scene-btns button:hover{color:var(--on-ink)}
.scene-btns button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.scene-btns button .led{width:10px;height:10px;border-radius:50%;background:var(--rule-dark);flex-shrink:0;transition:background .3s,box-shadow .3s}
.scene-btns button[aria-pressed="true"]{color:var(--on-ink);background:var(--ink)}
.scene-btns button[aria-pressed="true"] .led{background:var(--accent);box-shadow:0 0 10px var(--accent)}
.scene-out{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}
.dev{padding:22px 22px 24px;border-right:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:6px;min-width:0}
.dev:nth-child(3n){border-right:0}
.dev:nth-last-child(-n+3){border-bottom:0}
.dev small{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-ink-muted)}
.dev b{font-family:var(--mono);font-weight:500;font-size:1.25rem;color:var(--on-ink);font-variant-numeric:tabular-nums;transition:color .3s}
.dev b.hot{color:var(--accent)}
.dev .meter{height:4px;background:var(--rule-dark);margin-top:6px;position:relative;overflow:hidden}
.dev .meter i{position:absolute;inset:0 auto 0 0;background:var(--accent);transition:width .6s ease}
.scene-note{font-family:var(--mono);font-size:.78rem;color:var(--on-ink-muted);padding:14px 24px;border-top:1px solid var(--rule-dark);grid-column:1/-1}
@media (max-width:860px){.scene{grid-template-columns:1fr}.scene-btns{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--rule-dark)}.scene-btns button{flex:1 1 50%;font-size:1.05rem;padding:16px;border-bottom:0}.scene-out{grid-template-columns:1fr 1fr}.dev:nth-child(3n){border-right:1px solid var(--rule-dark)}.dev:nth-child(2n){border-right:0}.dev:nth-last-child(-n+3){border-bottom:1px solid var(--rule-dark)}.dev:nth-last-child(-n+2){border-bottom:0}}
/* FAQ */
details{border-top:1px solid var(--line);padding-block:20px}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-family:var(--display);font-stretch:75%;font-weight:700;font-size:1.35rem;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--accent-ink);font-family:var(--mono)}
details[open] summary::after{content:"−"}
details p{margin-top:12px;color:var(--muted)}
.urgent{border-left:4px solid var(--accent);padding:18px 22px;background:var(--panel)}
.photo{margin:0;position:relative;overflow:hidden;border-radius:2px;background:var(--ink-2);max-width:100%}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.photo figcaption{position:absolute;left:0;bottom:0;right:0;padding:28px 16px 12px;background:linear-gradient(transparent,rgba(33,33,33,.78));color:#FFFFFF;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.bleed{position:relative;min-height:clamp(320px,48vw,620px);display:flex;align-items:flex-end;color:#FFFFFF;overflow:hidden;background:var(--ink)}
.bleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bleed::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,33,33,0) 35%,rgba(33,33,33,.82));z-index:1}
.bleed .wrap{position:relative;z-index:2;width:100%;padding-block:40px}
.bleed .eyebrow{color:var(--accent)}
.bleed p{color:rgba(255,255,255,.78)}
.reel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:56px;align-items:center}
.phone{position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#212121;box-shadow:0 0 0 8px var(--ink-2),0 30px 60px -20px rgba(0,0,0,.6);max-width:100%}
.phone video{width:100%;height:100%;object-fit:cover;display:block}
.snd{position:absolute;right:12px;bottom:12px;z-index:2;font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(33,33,33,.7);color:#FFFFFF;border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:3px;cursor:pointer}
@media (max-width:860px){.reel{grid-template-columns:1fr}.phone{max-width:340px;margin-inline:auto}}
.zones{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.zones figure:nth-child(1){grid-column:span 4}
.zones figure:nth-child(2){grid-column:span 2;grid-row:span 2}
.zones figure:nth-child(3),.zones figure:nth-child(4){grid-column:span 2}
.zones figure:nth-child(5){grid-column:span 6}
@media (max-width:760px){.zones{grid-template-columns:1fr 1fr}.zones figure{grid-column:span 2!important;grid-row:auto!important}}
.proj a.card{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.proj a.card .photo img{transition:transform .5s ease}
.proj a.card:hover .photo img{transform:scale(1.04)}
.proj a.card:hover h3{color:var(--accent-ink)}
.proj article.soon{opacity:.55}
.feature{display:grid;grid-template-columns:1.3fr 1fr;gap:0;background:var(--ink);color:var(--on-ink);text-decoration:none}
.feature .photo{border-radius:0;min-height:100%}
.feature .body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.feature .tag{border-color:var(--rule-dark);color:var(--on-ink-muted)}
@media (max-width:860px){.feature{grid-template-columns:1fr}}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--rule-dark)}
.specs div{padding:18px 18px 20px 0;display:flex;flex-direction:column;gap:4px;min-width:0}
.specs small{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-ink-muted)}
.specs b{font-family:var(--display);font-stretch:75%;font-size:1.3rem;font-weight:700;text-transform:uppercase;color:#FFFFFF}
@media (max-width:760px){.specs{grid-template-columns:1fr 1fr}}
.sysrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.sysrow div{background:var(--panel);padding:24px 20px;display:flex;flex-direction:column;gap:8px}
.sysrow i{font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.sysrow b{font-family:var(--display);font-stretch:75%;font-size:1.5rem;text-transform:uppercase}
.sysrow p{font-size:.92rem;color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.gal figure{grid-column:span 2}
.gal figure.w{grid-column:span 4}
.gal figure.h{grid-column:span 3}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr}.gal figure,.gal figure.w,.gal figure.h{grid-column:span 2}}
.keypad-note{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:860px){.keypad-note{grid-template-columns:1fr}}
.daydusk{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.daydusk figure figcaption{font-size:.8rem}
@media (max-width:760px){.daydusk{grid-template-columns:1fr}}
/* Reviews */
.rv-wrap{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;align-items:start}
.score{display:flex;flex-direction:column;gap:14px;position:sticky;top:110px}
.score .num{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:clamp(6rem,14vw,9.5rem);line-height:.82;color:var(--accent);font-variant-numeric:tabular-nums}
.score .big-stars{font-size:1.7rem;letter-spacing:4px;color:var(--accent)}
.score .lbl{font-family:var(--display);font-stretch:75%;font-weight:700;font-size:1.6rem;text-transform:uppercase;line-height:1}
.gmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-muted)}
.gmark i{width:22px;height:22px;border-radius:50%;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);display:inline-block;-webkit-mask:radial-gradient(circle,transparent 5px,#000 6px);mask:radial-gradient(circle,transparent 5px,#000 6px)}
.rv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.rv-tabs button{font:500 .82rem var(--body);background:transparent;color:var(--on-ink-muted);border:1px solid var(--rule-dark);padding:7px 13px;border-radius:3px;cursor:pointer}
.rv-tabs button.on{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.rv-grid{columns:2;column-gap:18px}
.rv{break-inside:avoid;margin:0 0 18px;padding:24px 24px 20px;background:var(--ink-2);border:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:14px}
.rv p{color:var(--on-ink);font-size:1rem;line-height:1.55}
.rv .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rv .stars{font-size:.95rem;letter-spacing:2px}
.rv .chip{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-muted);border:1px solid var(--rule-dark);padding:3px 8px}
.rv footer{display:flex;align-items:center;gap:10px;background:none;padding:0;font-size:.85rem;color:var(--on-ink-muted)}
.rv .av{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-items:center;font:700 .8rem var(--body);flex-shrink:0}
.rv footer b{color:var(--on-ink);font-weight:600}
.rv.big p{font-family:var(--display);font-stretch:85%;font-weight:600;font-size:1.45rem;line-height:1.25}
@media (max-width:900px){.rv-wrap{grid-template-columns:1fr}.score{position:static}}
@media (max-width:640px){.rv-grid{columns:1}}
.pull{border-left:4px solid var(--accent);padding:6px 0 6px 22px;display:flex;flex-direction:column;gap:10px;max-width:60ch}
.pull p{font-family:var(--display);font-stretch:85%;font-weight:600;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.25}
.pull cite{font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dark .pull cite{color:var(--on-ink-muted)}
.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.brands.on-dark{background:var(--rule-dark);border-color:var(--rule-dark)}
.bgrp{background:var(--panel);padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.on-dark .bgrp{background:var(--ink)}
.bgrp small{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink)}
.on-dark .bgrp small{color:var(--accent)}
.bgrp ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.bgrp li{font-family:var(--display);font-stretch:75%;font-weight:700;font-size:1.45rem;text-transform:uppercase;line-height:1.1}
@media (max-width:900px){.brands{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.brands{grid-template-columns:1fr}}
/* Home: hero runs under a transparent header */
header.site{transition:background .3s ease,border-color .3s ease,color .3s ease}
.logo .lg-rev{display:none}
body.home-over header.site{position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);background:transparent;border-bottom-color:transparent;color:#FFFFFF}
body.home-over header.site .lg-col{display:none}
body.home-over header.site .lg-rev{display:block}
body.home-over nav.main a{color:rgba(241,242,241,.82)}
body.home-over nav.main a:hover,body.home-over nav.main a:focus-visible{color:#fff;background:rgba(255,255,255,.1)}
body.home-over .menu-btn{color:#FFFFFF;border-color:rgba(255,255,255,.4)}
body.home-fixed header.site{position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);box-shadow:0 1px 0 var(--line)}
.hero-full{position:relative;min-height:clamp(600px,92vh,940px);display:flex;flex-direction:column;justify-content:flex-end;color:#FFFFFF;background:var(--ink);overflow:hidden}
.hero-full>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 45%}
.hero-full::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(33,33,33,.62) 0,rgba(33,33,33,0) 20%,rgba(33,33,33,0) 45%,rgba(33,33,33,.85) 88%),linear-gradient(90deg,rgba(33,33,33,.8) 0,rgba(33,33,33,.45) 45%,rgba(33,33,33,0) 72%)}
.hero-full .eyebrow{color:var(--accent);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.hero-full h1,.hero-full .lede{text-shadow:0 2px 18px rgba(0,0,0,.35)}
@media (max-width:760px){.hero-full::before{background:linear-gradient(180deg,rgba(33,33,33,.55) 0,rgba(33,33,33,.55) 30%,rgba(33,33,33,.88) 70%,rgba(33,33,33,.95) 100%)}}
.hero-full>.wrap{position:relative;z-index:2;width:100%;padding-top:140px}
.hero-full .stack{max-width:760px}
.hero-full .lede{color:rgba(255,255,255,.78)}
.hero-full .proof{margin-top:48px;border-top-color:rgba(255,255,255,.22)}
.hero-full .proof div,.hero-full .proof a{border-right-color:rgba(255,255,255,.22)}
.hero-full .proof a:hover b{color:var(--accent)}
.hero-full .proof span{color:rgba(255,255,255,.78)}
.hero-tag{position:absolute;right:20px;top:110px;z-index:2;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.78);text-decoration:none;background:rgba(33,33,33,.45);padding:8px 12px;border-radius:2px;backdrop-filter:blur(4px)}
.hero-tag:hover{background:rgba(33,33,33,.7)}
@media (max-width:860px){.hero-full .proof div:nth-child(-n+2){border-bottom-color:rgba(255,255,255,.22)}.hero-tag{top:auto;bottom:auto;display:none}}
/* Savant page */
.sv-hero{position:relative;min-height:clamp(560px,86vh,880px);display:flex;align-items:flex-end;color:#FFFFFF;background:var(--ink);overflow:hidden}
.sv-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.sv-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(33,33,33,.86) 0,rgba(33,33,33,.55) 40%,rgba(33,33,33,0) 70%),linear-gradient(0deg,rgba(33,33,33,.7) 0,rgba(33,33,33,0) 40%)}
.sv-hero .wrap{position:relative;z-index:2;width:100%;padding-block:64px}
.sv-hero .stack{max-width:640px}
.sv-hero .lede{color:rgba(255,255,255,.78)}
.amb{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.3);padding:10px 14px;align-self:flex-start}
.amb b{font-family:var(--display);font-stretch:75%;font-size:1.6rem;font-weight:800;color:var(--accent);line-height:1}
.amb span{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.way{display:flex;flex-direction:column;gap:14px;min-width:0}
.way .num{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--accent-ink)}
.way p{color:var(--muted)}
@media (max-width:900px){.ways{grid-template-columns:1fr}}
.ctrl{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark)}
.ctrl div{background:var(--ink);padding:24px 22px 26px;display:flex;flex-direction:column;gap:8px}
.ctrl b{font-family:var(--display);font-stretch:75%;font-size:1.5rem;font-weight:800;text-transform:uppercase}
.ctrl p{color:var(--on-ink-muted);font-size:.93rem}
.ctrl i{font-style:normal;font-family:var(--mono);font-size:.7rem;color:var(--accent);letter-spacing:.12em}
@media (max-width:760px){.ctrl{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.ctrl{grid-template-columns:1fr}}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.mosaic figure:nth-child(1){grid-column:span 7}
.mosaic figure:nth-child(2){grid-column:span 5}
.mosaic figure:nth-child(3){grid-column:span 4}
.mosaic figure:nth-child(4){grid-column:span 4}
.mosaic figure:nth-child(5){grid-column:span 4}
@media (max-width:760px){.mosaic{grid-template-columns:1fr}.mosaic figure{grid-column:auto!important}}
.dark .proj .meta,.dark .proj .tag{color:var(--on-ink-muted);border-color:var(--rule-dark)}
.form-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:48px;align-items:start}
@media (max-width:860px){.form-grid{grid-template-columns:1fr}}
.ghl-slot iframe{width:100%;border:0;min-height:636px;display:block}
input[type=file]{padding:10px;background:var(--panel)}
.form-side{padding:28px}
.form-side p{color:var(--on-ink-muted);font-size:.92rem}
.signs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.signs div{background:var(--panel);padding:24px 22px;display:flex;flex-direction:column;gap:8px}
.signs b{font-family:var(--display);font-stretch:75%;font-size:1.4rem;font-weight:800;text-transform:uppercase;line-height:1.05}
.signs p{color:var(--muted);font-size:.93rem}
@media (max-width:860px){.signs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.signs{grid-template-columns:1fr}}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.path{background:var(--ink-2);border:1px solid var(--rule-dark);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px}
.path ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;color:var(--on-ink-muted)}
.path .tags .tag{border-color:var(--rule-dark);color:var(--on-ink)}
@media (max-width:860px){.paths{grid-template-columns:1fr}}
.bleed-strong::before{background:linear-gradient(90deg,rgba(33,33,33,.82) 0,rgba(33,33,33,.5) 50%,rgba(33,33,33,.15) 80%),linear-gradient(180deg,rgba(33,33,33,0) 40%,rgba(33,33,33,.6))}
.fq-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}
.fq-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.fq-search{gap:8px}
.fq-tabs{display:flex;flex-direction:column;gap:2px}
.fq-tabs button{all:unset;cursor:pointer;padding:9px 12px;font-size:.92rem;color:var(--muted);border-left:3px solid transparent}
.fq-tabs button:hover{color:var(--fg)}
.fq-tabs button:focus-visible{outline:2px solid var(--accent)}
.fq-tabs button.on{color:var(--fg);border-left-color:var(--accent);background:var(--panel);font-weight:600}
.fq-group{margin-bottom:40px}
.fq-h{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:8px}
.fq-none{color:var(--muted)}
@media (max-width:860px){.fq-wrap{grid-template-columns:1fr}.fq-side{position:static}.fq-tabs{flex-direction:row;flex-wrap:wrap;gap:6px}.fq-tabs button{border:1px solid var(--line);border-radius:3px}.fq-tabs button.on{border-color:var(--accent)}}
.rchip{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:rgba(33,33,33,.5);border:1px solid rgba(255,255,255,.22);padding:8px 14px 8px 10px;border-radius:40px;align-self:flex-start;backdrop-filter:blur(4px)}
.rchip .st{color:var(--accent);letter-spacing:2px;font-size:.95rem}
.rchip b{font-weight:600;font-size:.9rem;color:#FFFFFF}
.rchip:hover{border-color:var(--accent)}
.rchip.light{background:var(--panel);border-color:var(--line)}
.rchip.light b{color:var(--fg)}
.rrail{background:var(--accent);color:var(--ink)}
.rrail .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;padding-block:28px}
.rrail .sc{display:flex;align-items:center;gap:14px;text-decoration:none}
.rrail .sc b{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:3.6rem;line-height:.8}
.rrail .sc span{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.rrail .qs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.rrail q{font-size:.95rem;line-height:1.45;quotes:"“" "”"}
.rrail cite{display:block;font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;opacity:.75}
@media (max-width:1000px){.rrail .wrap{grid-template-columns:1fr}.rrail .qs{grid-template-columns:1fr}.rrail .qs>div:nth-child(n+2){display:none}}
.plan-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:40px;align-items:start}
@media (max-width:900px){.plan-wrap{grid-template-columns:1fr}}
.pstep{border-top:1px solid var(--line);padding-block:26px;display:flex;flex-direction:column;gap:14px}
.pstep h3{display:flex;gap:12px;align-items:baseline}
.pstep h3 span{font-family:var(--mono);font-size:.72rem;color:var(--accent-ink);letter-spacing:.12em}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button{font:500 .92rem var(--body);background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:11px 16px;border-radius:3px;cursor:pointer;text-align:left}
.opts button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.opts button small{display:block;font-size:.75rem;opacity:.7;font-weight:400;margin-top:2px}
.psum{position:sticky;top:100px;background:var(--ink);color:var(--on-ink);padding:28px;display:flex;flex-direction:column;gap:16px}
.psum h3{color:#FFFFFF}
.psum dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:.92rem}
.psum dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-muted);padding-top:3px}
.psum dd{margin:0}
.psum .rec{border-top:1px solid var(--rule-dark);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.psum .rec li{margin-bottom:6px}
.psum .rec ul{margin:0;padding-left:18px;color:var(--on-ink-muted);font-size:.92rem}
.psum .rec b{color:var(--accent)}
.cp-new{background:var(--accent);color:var(--ink);padding:12px 16px;align-self:flex-start;font-size:.95rem}
.bill{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel)}
.bill button{font:500 .9rem var(--body);background:transparent;border:0;padding:10px 16px;cursor:pointer;color:var(--fg)}
.bill button em{font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--accent-ink);margin-left:6px}
.bill button.on{background:var(--ink);color:var(--on-ink)}
.bill button.on em{color:var(--accent)}
.cps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.cp{position:relative;background:var(--panel);border:1px solid var(--line);padding:30px 26px;display:flex;flex-direction:column;gap:12px;min-width:0}
.cp.feat{background:var(--ink);color:var(--on-ink);border-color:var(--ink);box-shadow:inset 0 4px 0 var(--accent)}
.cp-flag{position:absolute;top:-12px;left:26px;background:var(--accent);color:var(--ink);font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px}
.cp h3{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:2rem;text-transform:uppercase}
.cp-tag{color:var(--muted);font-size:.92rem;min-height:2.8em}
.cp.feat .cp-tag,.cp.feat .cp-ex{color:var(--on-ink-muted)}
.cp-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.cp-price b{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums}
.cp-price .per{font-size:.85rem;color:var(--muted)}
.cp.feat .cp-price .per{color:var(--on-ink-muted)}
.cp-price .from{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;width:100%}
.cp-ex{font-size:.82rem;color:var(--muted);margin-top:-4px}
.cp ul{list-style:none;margin:8px 0 6px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.93rem;border-top:1px solid var(--line);padding-top:16px}
.cp.feat ul{border-top-color:var(--rule-dark)}
.cp li{padding-left:24px;position:relative}
.cp li::before{content:"";position:absolute;left:0;top:.35em;width:13px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.cp .cta{margin-top:auto;align-self:flex-start}
.cp.feat .cta.ghost{color:var(--on-ink)}
.cp-fine{font-size:.85rem;color:var(--muted)}
@media (max-width:960px){.cps{grid-template-columns:1fr}.cp-tag{min-height:0}}
table.cmp td{text-align:center}
table.cmp thead th:not(:first-child){text-align:center;color:var(--fg);font-family:var(--display);font-stretch:75%;font-size:1.1rem;font-weight:800;letter-spacing:0}
table.cmp tbody th{font-family:var(--body);font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--fg);font-weight:500}
table.cmp td:nth-child(3){background:rgba(81,185,76,.08)}
table.cmp .no{color:var(--line)}
.cp-head{font-size:.85rem;font-weight:600;border-top:1px solid var(--line);padding-top:16px;margin:8px 0 -6px}
.cp.feat .cp-head{border-top-color:var(--rule-dark)}
.cp-head+ul{border-top:0!important;padding-top:0!important}
.addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;background:var(--panel);border:1px dashed var(--accent);padding:28px}
.addon h3{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:1.8rem;text-transform:uppercase}
.addon p,.addon ul{color:var(--muted);font-size:.93rem;margin:0}
.addon ul{padding-left:18px;display:flex;flex-direction:column;gap:4px}
.addon-price{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
@media (max-width:760px){.addon{grid-template-columns:1fr}}
/* App */
.app-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
@media (max-width:900px){.app-hero{grid-template-columns:1fr}}
.mock{width:min(320px,100%);margin-inline:auto;aspect-ratio:9/19;background:#0F1011;border-radius:40px;padding:14px;box-shadow:0 0 0 2px #2E2F31,0 40px 80px -30px rgba(0,0,0,.7)}
.mock .scr{height:100%;border-radius:28px;background:#F5F6F5;color:#1F2021;overflow:hidden;display:flex;flex-direction:column;font-size:.8rem}
.mock .top{background:#1F2021;color:#FFFFFF;padding:22px 16px 16px;display:flex;flex-direction:column;gap:4px}
.mock .top small{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:rgba(255,255,255,.72)}
.mock .top b{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:1.25rem;text-transform:uppercase}
.mock .ok{display:flex;align-items:center;gap:8px;background:#51B94C;color:#1F2021;padding:10px 16px;font-weight:600}
.mock .ok i{width:8px;height:8px;border-radius:50%;background:#1F2021;display:inline-block}
.mock .rows{padding:10px 12px;display:flex;flex-direction:column;gap:8px;flex:1}
.mock .row{background:#fff;border:1px solid #E1E3E1;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.mock .row small{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#5E5F60}
.mock .row b{font-weight:600;font-size:.82rem}
.mock .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 16px}
.mock .btns span{background:#1F2021;color:#FFFFFF;text-align:center;padding:10px 6px;border-radius:10px;font-weight:600;font-size:.75rem}
.mock .btns span:first-child{background:#51B94C;color:#1F2021}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feat-grid>div{background:var(--panel);padding:24px 22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.feat-grid h3{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:1.35rem;text-transform:uppercase}
.feat-grid dl{margin:0;display:flex;flex-direction:column;gap:10px}
.feat-grid dt{font-weight:600;font-size:.93rem}
.feat-grid dd{margin:0;color:var(--muted);font-size:.88rem}
@media (max-width:1000px){.feat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.feat-grid{grid-template-columns:1fr}}
.safety{border-left:4px solid var(--accent);background:var(--panel);padding:16px 20px;font-size:.92rem}
.cp-app{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--accent-ink)}
.cp.feat .cp-app{color:var(--accent)}
.cp-app::before{content:"";width:10px;height:16px;border:2px solid currentColor;border-radius:3px}
.soon{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;background:var(--accent);color:var(--ink);padding:6px 12px;align-self:flex-start}
.mock{position:relative}
.mock::after{content:"Coming soon";position:absolute;top:22px;right:-14px;transform:rotate(8deg);background:var(--accent);color:var(--ink);font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.uw{position:absolute;top:14px;left:14px;background:var(--accent);color:#212121;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.proj .card{display:flex;flex-direction:column;gap:12px}
.draft{background:#FFF4D6;color:#6A4B00;border:1px dashed #C99A1E;padding:12px 16px;font-size:.88rem;font-family:var(--mono)}

/* ===== Landing-page look ===== */
@media (max-width:680px){.obar span:not(:first-child){display:none}.obar{font-size:.72rem}}
body{font-size:16.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{letter-spacing:.2px}
h1{font-weight:800;line-height:.92}
h2{font-weight:800;line-height:.95;font-size:clamp(2.6rem,5.4vw,4.6rem)}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.grn{color:var(--accent)}
.eyebrow,.crumb{font-family:var(--body);font-weight:800;font-size:.75rem;letter-spacing:.2em;color:var(--accent)!important}
.lede{color:rgba(255,255,255,.78)}
.white{background:var(--ink-2)!important}
.dark-2{background:var(--ink-2)}
section{padding-block:clamp(64px,8vw,110px)}
/* buttons */
.cta{border-radius:999px;min-height:52px;padding:0 26px;font-weight:800;font-family:var(--body);font-size:.98rem;letter-spacing:.2px;background:var(--accent);color:#212121!important;box-shadow:0 10px 30px -8px rgba(81,185,76,.55);transition:transform .25s ease,box-shadow .25s ease,background .25s ease;justify-content:center}
.cta:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(81,185,76,.7);filter:none}
.cta.ghost{background:transparent;box-shadow:none;border:2px solid rgba(255,255,255,.35);color:#fff!important}
.cta.ghost:hover{border-color:var(--accent);color:var(--accent)!important;background:transparent}
/* offer bar + header */
.obar{background:var(--accent);color:#212121;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:9px 16px;display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap}
.obar a{text-decoration:underline;text-underline-offset:3px}
header.site,body.home-over header.site,body.home-fixed header.site{position:sticky!important;top:env(safe-area-inset-top,0px);left:auto;right:auto;background:rgba(33,33,33,.84)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)!important;color:#fff;box-shadow:none}
.logo .lg-col,body.home-over header.site .lg-col{display:none!important}
.logo .lg-rev{display:block!important}
nav.main a,body.home-over nav.main a{color:rgba(255,255,255,.78);font-weight:600}
nav.main a:hover,nav.main a:focus-visible,body.home-over nav.main a:hover{color:#fff;background:rgba(255,255,255,.06)}
nav.main a.on{color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}
.menu-btn,body.home-over .menu-btn{color:#fff;border-color:rgba(255,255,255,.3);border-radius:999px;font-family:var(--body);font-weight:700}
@media (max-width:1380px){nav.main{background:#212121!important;border-bottom:1px solid var(--line)!important}}
.bar .cta.hdr{min-height:44px;padding:0 20px;font-size:.88rem}
/* mobile sticky */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(33,33,33,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.mbar .cta{flex:1;min-height:48px;font-size:.92rem;padding:0 12px}
@media (max-width:680px){.mbar{display:flex}footer{padding-bottom:110px!important}}
/* hero */
.hero-full>.wrap{padding-top:clamp(56px,8vw,110px)}
.hero-full .slides{position:absolute;inset:0;z-index:0}
.hero-full .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.8s ease,transform 8s linear}
.hero-full .slides img.on{opacity:1;transform:scale(1)}
.hero-full::before{background:linear-gradient(90deg,rgba(33,33,33,.94) 0%,rgba(33,33,33,.75) 45%,rgba(33,33,33,.2) 100%),linear-gradient(0deg,#212121 0%,transparent 32%)!important}
.hero-full h1{font-size:clamp(3.2rem,7.4vw,7rem)}
.hdots{position:absolute;right:24px;bottom:28px;z-index:3;display:flex;gap:8px}
.hdots i{width:28px;height:3px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .4s}
.hdots i.on{background:var(--accent)}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:6px;font-size:.88rem;font-weight:700;color:rgba(255,255,255,.78)}
.trust span{display:flex;align-items:center;gap:8px}
.trust span::before{content:"";width:12px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg) translateY(-2px)}
.trust span.st::before{display:none}
.trust .gold{color:#51B94C;letter-spacing:2px}
.proof b{color:var(--accent);font-size:clamp(2.2rem,3.6vw,3.2rem)!important;font-weight:800}
.proof span{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.72rem}
.hero-tag{border-radius:999px;font-family:var(--body);font-weight:700;letter-spacing:.06em}
/* brand marquee */
.marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2);padding:24px 0;overflow:hidden}
.marq .trk{display:flex;gap:64px;width:max-content;animation:mq 36s linear infinite}
.marq span{font-family:var(--display);font-weight:700;font-size:1.75rem;letter-spacing:.12em;color:rgba(255,255,255,.45);white-space:nowrap;text-transform:uppercase}
@keyframes mq{to{transform:translateX(-50%)}}
/* cards everywhere */
.photo,.ph,.feature,.scene,.tbl,.phone,.daydusk figure{border-radius:22px;overflow:hidden}
.ph.light,.ph{background:repeating-linear-gradient(135deg,#212121 0 14px,#212121 14px 28px)!important;color:rgba(255,255,255,.45)}
.sys,.ctrl,.signs,.sysrow,.brands,.feat-grid{background:none!important;border:0!important;gap:16px!important}
.sys a,.ctrl>div,.signs>div,.sysrow>div,.brands .bgrp,.feat-grid>div,.badge,.reviews blockquote,.rv,.cp,.path,.addon,.plan,.urgent,.safety,.psum,.form-side,.cps .cp,.dev{border:1px solid var(--line)!important;border-radius:22px!important;background:var(--panel)!important}
.sys a,.ctrl>div,.signs>div,.sysrow>div,.feat-grid>div,.svc a,.cp,.badge{transition:transform .35s ease,border-color .35s ease}
.sys a:hover,.ctrl>div:hover,.signs>div:hover,.sysrow>div:hover,.feat-grid>div:hover,.svc a:hover,.badge:hover{transform:translateY(-4px);border-color:rgba(81,185,76,.5)!important}
.cp.feat{background:#212121!important;border-color:rgba(81,185,76,.55)!important;box-shadow:0 0 0 6px rgba(81,185,76,.06)}
.cp-flag{border-radius:999px}
.addon{border-style:dashed!important;border-color:rgba(81,185,76,.55)!important}
.badge{padding:16px 20px}
.badges{gap:12px}
/* home services as glow cards */
.svc{border-top:0!important;gap:16px!important}
.svc a{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line)!important;border-radius:22px;padding:32px 28px!important}
.svc a::before{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-80px;background:radial-gradient(circle,rgba(81,185,76,.28),transparent 70%);opacity:.5;transition:opacity .4s}
.svc a:hover::before{opacity:1}
.svc a h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;line-height:.95}
.svc .code{color:var(--accent)!important;font-weight:800;letter-spacing:.18em}
.svc p{color:var(--muted)!important}
.svc a.svc-cta{background:linear-gradient(135deg,#212121,#212121);border-color:rgba(81,185,76,.4)!important}
.svc a.svc-cta h3{color:var(--accent)}
/* steps: outlined numbers */
.steps{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.steps li{background:var(--panel);border:1px solid var(--line)!important;border-radius:22px;padding:30px 26px!important}
.steps li::before{font-family:var(--display)!important;font-weight:800;font-size:3.6rem!important;line-height:1;color:transparent!important;-webkit-text-stroke:1.5px var(--accent);letter-spacing:0!important}
.steps li b{font-size:1.35rem;margin-top:10px}
@media (max-width:900px){.steps{grid-template-columns:1fr!important}}
/* details as cards */
details{background:var(--panel);border:1px solid var(--line)!important;border-radius:16px;padding:0 22px;margin-bottom:10px;transition:border-color .3s,background .3s}
details:last-child{border-bottom:1px solid var(--line)!important}
details[open]{border-color:rgba(81,185,76,.5)!important;background:#212121}
summary{font-family:var(--body)!important;font-weight:800!important;font-size:1.05rem!important;text-transform:none!important;padding:20px 0;align-items:center}
summary::after{content:"+"!important;width:30px;height:30px;border-radius:50%;background:rgba(81,185,76,.14);display:grid;place-items:center;flex-shrink:0;color:var(--accent);font-weight:800}
details[open] summary::after{content:"−"!important;background:var(--accent);color:#212121}
details p,details ul{padding-bottom:20px}
/* forms, tables, chips */
input,select,textarea{background:#212121;border-color:rgba(255,255,255,.14);border-radius:12px;color:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.checks label,.opts button,.filters button,.rv-tabs button,.bill{border-radius:999px!important}
.opts button{border-radius:14px!important}
.filters button.on,.rv-tabs button.on,.bill button.on{background:var(--accent)!important;color:#212121!important;border-color:var(--accent)!important}
.bill button.on em{color:#212121!important}
.tag,.chip,.pill,.soon,.cp-new,.amb{border-radius:999px}
.cp-new{border-radius:14px}
th{color:var(--muted)}
table.cmp td:nth-child(3){background:rgba(81,185,76,.07)}
.cmp thead th:not(:first-child){color:#fff!important}
.rchip{border-radius:999px}
.rrail{border-radius:0}
footer{background:#212121;border-top:1px solid var(--line)}
footer .logo img{height:64px}
/* why + founder */
.why{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.why-img{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5}
.why-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.why-img .creds{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(33,33,33,.82);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}
.creds .ck{grid-column:1/-1;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.creds .cr{display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:2px solid var(--accent)}
.creds .cr b{font-family:var(--display);font-weight:800;font-size:1.4rem;line-height:1;text-transform:uppercase}
.creds .cr span{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.78)}
.pts{display:grid;gap:14px}
.pt{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 24px;border-radius:18px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s}
.pt:hover{border-color:rgba(81,185,76,.5)}
.pt .n{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--accent)}
.pt h4{font-family:var(--body);font-size:1.15rem;font-weight:800;text-transform:none}
.pt p{color:var(--muted);font-size:.95rem;margin-top:4px}
.fd{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.fd-img{border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.fd-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.fd blockquote{margin:16px 0 26px;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(2.4rem,4.6vw,4rem);line-height:.98}
.fd blockquote em{color:var(--accent)}
.fd .who b{display:block;font-size:1.25rem;font-weight:800}
.fd .who span{color:var(--accent);font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.fd .credp{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.fd .credp span{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.78)}
@media (max-width:980px){.why,.fd{grid-template-columns:1fr;gap:36px}.why-img{aspect-ratio:4/3}.fd-img{aspect-ratio:1/1;max-width:520px}}
@media (max-width:560px){.why-img .creds{grid-template-columns:1fr}}
/* review score pill */
.gpill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-weight:800;font-size:.9rem;align-self:flex-start}
.gpill .gold{color:#51B94C;letter-spacing:2px}
.big-stars,.stars,.rv .stars{color:#51B94C!important}
.rrail .sc i{color:#212121}
@media (prefers-reduced-motion:reduce){.marq .trk{animation:none}.hero-full .slides img{transition:none}}

/* ===== BSES brand guidelines (OS/brand, confirmed 10/09/2026) =====
   Colours: Brand Green #51B94C, Charcoal #787879, Ink #212121, White #FFFFFF, Surface Grey #F4F6F7.
   Tints below are derived from Ink or White by opacity (same method as color-border), no new hexes.
   Type: Barlow Condensed (display), Barlow (body/UI), IBM Plex Mono (technical labels).
   Tokens: radius 4/8/16, shadow-sm / shadow-md, hairline 1px, emphasis 2px. */
:root{--ink:#212121;--ink-2:#212121;--paper:#212121;--panel:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);--muted:rgba(255,255,255,.78);--fg:#FFFFFF;--on-ink:#FFFFFF;--on-ink-muted:rgba(255,255,255,.78);--rule-dark:rgba(255,255,255,.12);--accent:#51B94C;--accent-2:#51B94C;--accent-ink:#51B94C;--brand-grey:#787879;--surface:#F4F6F7;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"Barlow",system-ui,"Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --r-sm:4px;--r-md:8px;--r-lg:16px;--sh-sm:0 1px 2px rgba(33,33,33,.08);--sh-md:0 4px 12px rgba(33,33,33,.12)}
[hidden]{display:none!important}
table{color:inherit}
body{background:#212121;color:#FFFFFF;font-family:var(--body);font-size:16px;line-height:1.55;font-weight:400}
.dark,.dark-2,.white,footer,.marq,.hero-full,.sv-hero,.bleed,.feature,.psum{background-color:#212121}
.white:not(.lt){background:#212121!important}
/* type scale */
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:0;font-stretch:normal}
h1{font-size:clamp(2.5rem,5vw,3.5rem)!important;line-height:1.07!important}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem)!important;line-height:1.1!important}
h3,h4{font-family:var(--body)!important;font-weight:700!important;font-size:1.25rem!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;font-stretch:normal!important}
.lede{font-size:1.25rem;line-height:1.4;color:rgba(255,255,255,.78)}
.proof b{font-size:clamp(1.75rem,3vw,2.5rem)!important;font-weight:700}
.cp-price b,.rrail .sc b,.pt .n{font-size:2.5rem;font-weight:700}
.score .num{font-size:3.5rem;line-height:1}
.steps li::before{font-size:2.5rem!important;font-weight:700}
.fd blockquote{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:700;line-height:1.1}
.pull p,.rv.big p{font-weight:600}
.sys b,.ctrl b,.signs b,.sysrow b,.bgrp li,.badge b,.steps li b,.contact-list b,.score .lbl,.specs b,.creds .cr b,.addon h3,.cp h3{font-family:var(--body)!important;font-weight:700!important;font-size:1.25rem!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;font-stretch:normal!important}
.scene-btns button{font-family:var(--body);font-weight:600;font-size:1rem;letter-spacing:.02em}
.dev b{font-family:var(--mono);font-weight:500}
summary{font-weight:700!important}
/* technical labels: IBM Plex Mono 500, 12px, caps, 0.06em */
.eyebrow,.crumb,.svc .code,.sys i,.ctrl i,.sysrow i,.bgrp small,.way .num,.pstep h3 span,.cp-flag,.uw,.creds .ck,.fgrid h4,.proof span,.rrail .sc span,.photo figcaption,.rv .chip,.proj .meta,.tag,.specs small,.dev small,.contact-list small,.psum dt,.cp-price .from,.amb span,.pull cite,.reviews cite,.rrail cite,.scene-note,.legal,.hero-tag,.snd,.soon,.feature .tag{font-family:var(--mono)!important;font-weight:500!important;letter-spacing:.06em!important;text-transform:uppercase}
.eyebrow,.crumb,.svc .code,.sys i,.ctrl i,.sysrow i,.bgrp small,.way .num,.pstep h3 span,.cp-flag,.uw,.creds .ck,.fgrid h4,.proof span,.rrail .sc span,.photo figcaption,.rv .chip,.proj .meta,.tag,.specs small,.dev small,.contact-list small,.psum dt,.cp-price .from,.amb span,.pull cite,.reviews cite,.rrail cite,.scene-note,.legal,.hero-tag,.snd,.soon,.feature .tag{font-size:.75rem!important;line-height:1.33}
.steps li::before{font-family:var(--display)!important;font-weight:700!important;letter-spacing:0!important}
/* reading text never under 14px */
.badge span,.cp-ex,.cp-fine,.note,.cp-head,.cp-price .per,.filters button,.rv-tabs button,label,.trust,.fd .credp span,.cp-app,.rv footer,.obar,.checks label,.opts button small,.sys span,.creds .cr span,.gpill,.rchip b,.fd .who span,.why-img .creds span,.form-side p,.psum dl,.psum .rec ul,.addon p,.addon ul,.ctrl p,.signs p,.sysrow p,.feat-grid dd,.mbar .cta{font-size:.875rem!important}
/* buttons and nav: Barlow 600, 15px, 0.02em */
.cta,nav.main a,.menu-btn{font-family:var(--body)!important;font-weight:600!important;font-size:.9375rem!important;letter-spacing:.02em!important;line-height:1.33}
.obar{font-weight:600;color:#212121}
/* radius tokens */
.cta,.cta.ghost,.menu-btn,input,select,textarea,.checks label,.opts button,.filters button,.rv-tabs button,.bill,.bill button,.tag,.chip,.soon,.cp-new,.amb,.cp-flag,.uw,.gpill,.rchip,.hero-tag,.fd .credp span,.snd,.rv .chip,.cp-app{border-radius:4px!important}
.sys a,.ctrl>div,.signs>div,.sysrow>div,.brands .bgrp,.feat-grid>div,.badge,.reviews blockquote,.rv,.cp,.path,.addon,.plan,.urgent,.safety,.psum,.form-side,.dev,.svc a,.steps li,.pt,details,.creds,.why-img .creds{border-radius:8px!important}
.photo,.ph,.feature,.scene,.tbl,.phone,.daydusk figure,.why-img,.fd-img,.gal figure,.mosaic figure,.zones figure{border-radius:16px!important}
/* shadows: tokens only, no glows */
.cta{box-shadow:none!important;background:#51B94C;color:#212121!important}
.cta:hover{background:#51B94C;box-shadow:var(--sh-md)!important;transform:translateY(-1px)}
.cta.ghost{background:transparent;border:2px solid rgba(255,255,255,.5);color:#FFFFFF!important}
.cta.ghost:hover{border-color:#51B94C;color:#FFFFFF!important}
.svc a::before{display:none!important}
.svc a.svc-cta{background:#51B94C!important;border-color:#51B94C!important}
.svc a.svc-cta :is(h3,p,.code){color:#212121!important}
.fd-img{box-shadow:none}
.phone{box-shadow:0 0 0 8px rgba(255,255,255,.06),var(--sh-md)}
.cp.feat{background:#212121!important;border:2px solid #51B94C!important;box-shadow:none!important}
details[open]{background:var(--panel)!important;border-color:#51B94C!important}
.sys a:hover,.ctrl>div:hover,.signs>div:hover,.sysrow>div:hover,.feat-grid>div:hover,.svc a:hover,.badge:hover,.pt:hover{border-color:#51B94C!important;transform:translateY(-2px)}
/* header + logo: white-out lockup on Ink, clear space >= 0.5X */
header.site,body.home-over header.site,body.home-fixed header.site{background:rgba(33,33,33,.96)!important}
.bar{min-height:80px}
@media (max-width:1380px){nav.main{top:80px;background:#212121!important}}
.logo img{filter:none!important}
/* stars and marks */
.big-stars,.stars,.rv .stars,.trust .gold,.gpill .gold,.rchip .st{color:#51B94C!important}
.rrail :is(.stars,i,.st){color:#212121!important}
.rrail{background:#51B94C;color:#212121}
.gmark i{display:none}
input,select,textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#FFFFFF}
.marq span{font-weight:600}

/* ===== Light bands: White and Surface Grey, Ink text. Green only as a fill here (2.50:1 as text fails) ===== */
.lt{--paper:#F4F6F7;--panel:#FFFFFF;--fg:#212121;--muted:rgba(33,33,33,.78);--line:rgba(33,33,33,.12);--on-ink:#212121;--on-ink-muted:rgba(33,33,33,.78);--rule-dark:rgba(33,33,33,.12);--accent-ink:#212121;background:#F4F6F7!important;color:#212121;color-scheme:light}
.white.lt{background:#FFFFFF!important}
.lt .lede{color:rgba(33,33,33,.78)}
.lt .eyebrow,.lt .crumb{color:#212121!important;display:inline-flex;align-items:center;gap:10px}
.lt .eyebrow::before{content:"";width:24px;height:4px;background:#51B94C;flex-shrink:0}
.lt :is(h1,h2) em,.lt .grn{color:#212121;background:#51B94C;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lt :is(.score .num,.pt .n,.svc .code,.sys i,.ctrl i,.sysrow i,.bgrp small,.way .num,.pstep h3 span,.bill em,.note,.amb b){color:#212121!important}
.lt .steps li::before{color:#212121!important;-webkit-text-stroke:0!important}
.lt :is(.big-stars,.stars,.rv .stars,.gold,.st){color:#212121!important}
.lt .cp li::before{border-color:#212121}
.lt .cp.feat li::before{border-color:#51B94C}
.lt a:not(.cta):not(.card):not(.svc a){color:inherit}
/* cards on light: White on Surface Grey, Surface Grey on White, shadow-sm at rest, shadow-md on hover */
.lt :is(.sys a,.ctrl>div,.signs>div,.sysrow>div,.brands .bgrp,.feat-grid>div,.badge,.reviews blockquote,.rv,.cp,.path,.addon,.plan,.urgent,.safety,.form-side,.dev,.svc a,.steps li,.pt,details,.tbl,.gpill){background:#FFFFFF!important;border:1px solid rgba(33,33,33,.12)!important;box-shadow:var(--sh-sm)!important}
.white.lt :is(.sys a,.ctrl>div,.signs>div,.sysrow>div,.brands .bgrp,.feat-grid>div,.badge,.reviews blockquote,.rv,.cp,.path,.addon,.plan,.urgent,.safety,.form-side,.dev,.svc a,.steps li,.pt,details,.tbl,.gpill){background:#F4F6F7!important;box-shadow:none!important}
.lt :is(.sys a,.ctrl>div,.signs>div,.sysrow>div,.feat-grid>div,.svc a,.badge,.pt,.rv):hover{border-color:#51B94C!important;box-shadow:var(--sh-md)!important}
.lt details[open]{border-color:#51B94C!important}
.lt summary::after{background:#F4F6F7;color:#212121}
.white.lt summary::after{background:#FFFFFF}
.lt details[open] summary::after{background:#51B94C;color:#212121}
.lt .addon{border:2px dashed #51B94C!important}
.lt .cta.ghost{border:2px solid rgba(33,33,33,.4);color:#212121!important}
.lt .cta.ghost:hover{border-color:#51B94C;color:#212121!important}
.lt :is(input,select,textarea){background:#FFFFFF;border:1px solid rgba(33,33,33,.24);color:#212121}
.lt .checks label{background:#FFFFFF}
.lt .cmp thead th:not(:first-child){color:#212121!important}
.lt table.cmp td:nth-child(3){background:rgba(81,185,76,.12)}
.lt .opts button[aria-pressed="true"]{background:#212121;color:#FFFFFF;box-shadow:inset 3px 0 0 #51B94C}
.lt .fd .credp span{color:#212121;border-color:rgba(33,33,33,.24)}
.lt .rv-tabs button{color:#212121;border-color:rgba(33,33,33,.24)}
.lt .photo{background:#F4F6F7}
.lt .svc a.svc-cta{background:#51B94C!important;border-color:#51B94C!important}
.lt .pull p{color:#212121}
.lt .pull cite{color:rgba(33,33,33,.78)}
.lt .tag{color:#212121;border-color:rgba(33,33,33,.24)}
.lt :is([style*="color:#FFFFFF"],[style*="color:rgba(255,255,255"],[style*="color:var(--on-ink)"]):not(.bleed *):not(.photo *):not(.feature *):not(.psum *):not(.cp.feat *):not(.why-img *){color:#212121!important}
/* black cards that sit on the light bands keep Ink + White */
.lt :is(.feature,.psum,.cp.feat,.plan.feat,.scene,.why-img .creds){--fg:#FFFFFF;--on-ink:#FFFFFF;--muted:rgba(255,255,255,.78);--on-ink-muted:rgba(255,255,255,.78);--line:rgba(255,255,255,.12);--rule-dark:rgba(255,255,255,.12);--panel:rgba(255,255,255,.06);--accent-ink:#51B94C;color:#FFFFFF}
.lt .cp.feat{background:#212121!important;border:2px solid #51B94C!important;box-shadow:var(--sh-md)!important}
.lt .cp.feat :is(h3,b,li,.cp-head,.cp-tag,.cp-ex,.per){color:#FFFFFF}
.lt .psum{background:#212121}
.lt :is(.feature,.psum,.cp.feat) .cta.ghost{color:#FFFFFF!important;border-color:rgba(255,255,255,.5)}
.lt .why-img .creds{background:rgba(33,33,33,.88)}
.lt .why-img .creds .cr b{color:#FFFFFF}
.sv-hero::before{background:linear-gradient(90deg,rgba(33,33,33,.92) 0,rgba(33,33,33,.75) 45%,rgba(33,33,33,.15) 80%),linear-gradient(0deg,rgba(33,33,33,.7) 0,rgba(33,33,33,0) 40%)!important}
html,body{margin:0}
@media (min-width:1001px){.svc{grid-template-columns:repeat(3,1fr)!important}}
.pull{margin:0}
.fgrid{grid-template-columns:1.6fr repeat(4,1fr)!important}
@media (max-width:1000px){.fgrid{grid-template-columns:1fr 1fr!important}.fgrid>div:first-child{grid-column:1/-1}}
.fcontact{line-height:1.6}.fcontact a,.legal a{color:#FFFFFF;text-decoration:underline;text-decoration-color:#51B94C;text-underline-offset:3px}
.legal a{text-transform:none}
.tbar{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.875rem;font-weight:600;color:rgba(255,255,255,.78)}
.tbar a{color:#FFFFFF;text-decoration:underline;text-decoration-color:#51B94C;text-underline-offset:3px}.tbar a:first-child{text-decoration:none}.tbar .st{color:#51B94C;letter-spacing:2px}
.symptoms{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.symptoms li{position:relative;padding:14px 16px 14px 46px;background:#FFFFFF;border:1px solid rgba(33,33,33,.12);border-radius:8px;box-shadow:var(--sh-sm)}
.symptoms li::before{content:"";position:absolute;left:18px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:2px;background:#51B94C}
.rv-row .rv{margin:0}
.next{list-style:none;margin:14px 0 0;padding:0;counter-reset:n;display:grid;gap:16px}
.next li{counter-increment:n;display:grid;grid-template-columns:36px 1fr;column-gap:12px}
.next li::before{content:counter(n);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:#51B94C;color:#212121;display:grid;place-items:center;font-weight:700}
.next span{font-size:.875rem}
.lt .sys a i{color:#212121!important}
.lt .feature :is(h2,h3,p,.eyebrow){color:#FFFFFF!important}
.lt .feature .eyebrow{color:#51B94C!important}
.lt .feature .eyebrow::before{display:none}
.next b{color:var(--fg)}.next span{color:var(--muted)}

/* ===== Dark landing home page (20/10/2026): layout ideas from grab-social.com, in BSES colours and type ===== */
#page-home .band2{background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),#212121!important}
#page-home .hero-full h1{font-size:clamp(3rem,8vw,6.5rem)!important;line-height:.95!important}
#page-home h2{font-size:clamp(2.25rem,5vw,4.25rem)!important;line-height:1!important}
#page-home .fd blockquote{font-size:clamp(2rem,4vw,3.25rem)}
.hpill{display:inline-block;align-self:flex-start;background:#FFFFFF;color:#212121;font-family:var(--mono);font-weight:500;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:4px}
.hpill.dk{background:#212121;color:#FFFFFF}
.rpill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:#FFFFFF;color:#212121;text-decoration:none;font-weight:600;font-size:.875rem;padding:8px 14px;border-radius:4px}
.rpill .st{color:#212121;letter-spacing:2px}
.htags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.htags span{border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.85);font-size:.875rem;padding:6px 12px;border-radius:4px;background:rgba(33,33,33,.4)}
.hmock{display:none;position:absolute;z-index:2;right:max(24px,calc((100vw - 1240px)/2 + 20px));top:46%;transform:translateY(-50%) rotate(3deg);width:260px}
@media (min-width:1180px){.hmock{display:block}}
.hm-ph{background:#212121;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:20px;box-shadow:var(--sh-md);display:grid;gap:10px}
.hm-ph small{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#51B94C}
.hm-ph b{font-family:var(--display);font-weight:700;font-size:1.75rem;text-transform:uppercase;color:#FFFFFF;line-height:1}
.hm-r{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.06);font-size:.875rem;color:rgba(255,255,255,.78)}
.hm-r i{font-style:normal;font-family:var(--mono);color:#FFFFFF}
.hm-n{margin:12px 0 0 -40px;transform:rotate(-5deg);background:#FFFFFF;color:#212121;border-radius:8px;padding:10px 14px;font-size:.875rem;font-weight:600;box-shadow:var(--sh-md);display:flex;align-items:center;gap:8px;width:max-content}
.hm-n .dot,.rec i{width:8px;height:8px;border-radius:50%;background:#51B94C;display:inline-block}
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.res>a{display:flex;flex-direction:column;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;text-decoration:none;color:#FFFFFF;transition:transform .35s ease,border-color .35s ease}
.res>a:hover{transform:translateY(-2px);border-color:#51B94C}
.res figure{margin:0;aspect-ratio:16/10;position:relative;overflow:hidden}
.res figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.res>a:hover figure img{transform:scale(1.04)}
.res .bd{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.res .big{font-family:var(--display);font-weight:700;font-size:clamp(3rem,5vw,4.5rem);line-height:.9;color:#51B94C;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.res .big small{font-family:var(--body);font-size:1.25rem;font-weight:600;color:#FFFFFF}
.res p{color:rgba(255,255,255,.78)}
.res .res-cta{background:#51B94C;border-color:#51B94C;color:#212121}
.res .res-cta p{color:#212121}
.res .res-cta .cta{background:#212121;color:#FFFFFF!important}
@media (max-width:1000px){.res{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.res{grid-template-columns:1fr}}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fit>div{border-radius:8px;padding:clamp(24px,3vw,36px)}
.fit .yes{background:#51B94C;color:#212121}
.fit .no{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.fit ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.fit li{position:relative;padding-left:28px}
.fit .yes li::before{content:"";position:absolute;left:2px;top:.4em;width:12px;height:7px;border-left:2.5px solid #212121;border-bottom:2.5px solid #212121;transform:rotate(-45deg)}
.fit .no li{color:rgba(255,255,255,.78)}
.fit .no li::before{content:"×";position:absolute;left:2px;top:-.05em;font-weight:700;color:#FFFFFF}
@media (max-width:860px){.fit{grid-template-columns:1fr}}
.onsite{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.onsite .phone{max-width:none;border-radius:16px;box-shadow:none}
.onsite .photo{min-height:100%;aspect-ratio:9/16}
.rec{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(33,33,33,.78);color:#FFFFFF;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:4px}
@media (max-width:900px){.onsite{grid-template-columns:1fr 1fr}}
#page-home .svc a{background:rgba(255,255,255,.06)!important}
#page-home .svc a.svc-cta{background:#51B94C!important;border-color:#51B94C!important}
#page-home .svc a.svc-cta :is(h3,p,.code){color:#212121!important}
#page-home .hfinal{padding-block:clamp(80px,10vw,140px)}

/* ===== Header menu v2 (20/10/2026): 5 items with drop-downs, call + CTA always visible ===== */
.bar{gap:20px}
nav.main{display:flex!important;align-items:center;gap:4px;position:static!important;background:none!important;border:0!important;padding:0!important;flex-direction:row!important;margin-left:auto}
nav.main>a,.dd-t{font:600 .9375rem var(--body);letter-spacing:.02em;color:rgba(255,255,255,.85);text-decoration:none;padding:10px 12px;border-radius:4px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dd-t::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
nav.main>a:hover,.dd-t:hover,.dd:focus-within>.dd-t,.dd.open>.dd-t{color:#FFFFFF;background:rgba(255,255,255,.06)}
nav.main a.on,.dd:has(a.on)>.dd-t{color:#FFFFFF;box-shadow:inset 0 -3px 0 #51B94C}
.dd{position:relative}
.dd-m{position:absolute;top:calc(100% + 10px);left:-8px;z-index:40;display:none;background:#212121;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:var(--sh-md);padding:12px;min-width:250px;grid-template-columns:1fr;gap:4px 18px}
.dd-m.two{min-width:520px;grid-template-columns:1fr 1fr}
.dd:hover>.dd-m,.dd:focus-within>.dd-m,.dd.open>.dd-m{display:grid}
.dd-m::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd-l,.dd-x{display:flex;flex-direction:column;gap:2px}
.dd-x:empty{display:none}
.dd-m.two .dd-x{border-left:1px solid rgba(255,255,255,.12);padding-left:14px}
.dd-m a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.9375rem;padding:8px 10px;border-radius:4px;white-space:nowrap}
.dd-m a:hover,.dd-m a.on{color:#FFFFFF;background:rgba(255,255,255,.06);box-shadow:none}
.dd-m .dd-x a{color:#51B94C}
.nav-ctas{display:none}
.hdr-ctas{display:flex;align-items:center;gap:14px;flex-shrink:0}
.hcall{display:inline-flex;align-items:center;gap:8px;color:#FFFFFF;text-decoration:none;font-weight:600;font-size:.9375rem;white-space:nowrap}
.hcall .ph-ic{width:10px;height:10px;border-radius:50%;background:#51B94C;box-shadow:0 0 0 4px rgba(81,185,76,.2)}
.bar .cta.hdr{display:inline-flex!important}
.menu-btn{display:none!important}
@media (max-width:1199px){
  .menu-btn{display:block!important;order:3}
  .hcall{display:none}
  nav.main{display:none!important;position:fixed!important;inset:var(--hdr-h,128px) 0 0 0;z-index:50;flex-direction:column!important;align-items:stretch;gap:0;padding:12px 20px 28px!important;background:#212121!important;overflow-y:auto;margin:0;border-top:1px solid rgba(255,255,255,.12)!important}
  nav.main.open{display:flex!important}
  nav.main>a,.dd-t{font-size:1.25rem;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;justify-content:space-between;width:100%}
  .dd-m,.dd-m.two{position:static;display:none;min-width:0;grid-template-columns:1fr;border:0;box-shadow:none;padding:4px 0 12px 8px;background:none}
  .dd:hover>.dd-m,.dd:focus-within>.dd-m{display:none}
  .dd.open>.dd-m{display:grid}
  .dd-m.two .dd-x{border-left:0;padding-left:0}
  .dd-m a{font-size:1rem}
  nav.main>a,nav.main .dd-t{font-size:1.25rem!important}
  .nav-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
  .nav-ctas .cta{justify-content:center}
}
@media (max-width:680px){.bar .cta.hdr{display:none!important}}
@media (max-width:1199px){header.site,body.home-over header.site,body.home-fixed header.site{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#212121!important}}

nav.main>a.nav-rv{gap:8px;border:1px solid rgba(81,185,76,.55);background:rgba(81,185,76,.1);color:#FFFFFF}
nav.main>a.nav-rv .st{color:#51B94C;letter-spacing:1px;font-size:.8rem}
nav.main>a.nav-rv b{background:#51B94C;color:#212121;font-weight:700;font-size:.8125rem;padding:2px 7px;border-radius:4px}
nav.main>a.nav-rv:hover,nav.main>a.nav-rv.on{background:rgba(81,185,76,.2);border-color:#51B94C}
@media (max-width:1199px){nav.main>a.nav-rv{border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;justify-content:flex-start}nav.main>a.nav-rv b{margin-left:auto}}
.bar .logo{flex-shrink:0}.bar .logo img{min-width:170px}

/* hero phone mock: Savant-style home screen */
.hphone{width:232px;top:clamp(170px,22vh,240px);transform:rotate(4deg)}
.ph-dev{background:#111;border-radius:42px;padding:10px;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 30px 60px -20px rgba(0,0,0,.7)}
.ph-scr{background:#212121;border-radius:33px;overflow:hidden;aspect-ratio:9/19;display:flex;flex-direction:column;padding:12px 12px 10px;gap:10px}
.ph-stat{display:flex;justify-content:space-between;align-items:center;font:600 .7rem var(--body);color:#FFFFFF;padding:0 8px}
.ph-isl{width:64px;height:18px;border-radius:12px;background:#000;display:block}
.ph-sig{display:flex;gap:2px;align-items:flex-end}.ph-sig i{width:3px;background:#FFFFFF;border-radius:1px}.ph-sig i:nth-child(1){height:5px}.ph-sig i:nth-child(2){height:7px}.ph-sig i:nth-child(3){height:9px}
.ph-top{display:flex;flex-direction:column;padding:4px 4px 0}
.ph-top small{font:500 .65rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ph-top b{font:700 1.6rem/1 var(--display);text-transform:uppercase;color:#FFFFFF}
.ph-scenes{display:flex;gap:5px}
.ph-scenes span{flex:1;text-align:center;font:600 .62rem var(--body);color:rgba(255,255,255,.8);background:rgba(255,255,255,.08);border-radius:8px;padding:7px 0}
.ph-scenes span.on{background:#51B94C;color:#212121}
.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}
.ph-tile{position:relative;border-radius:10px;overflow:hidden;min-height:0}
.ph-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,33,33,0) 35%,rgba(33,33,33,.85))}
.ph-tile span{position:absolute;left:8px;right:6px;bottom:6px;z-index:1;display:flex;flex-direction:column;line-height:1.15}
.ph-tile b{font:700 .72rem var(--body);color:#FFFFFF}
.ph-tile small{font:500 .58rem var(--body);color:rgba(255,255,255,.8)}
.ph-tabs{display:flex;justify-content:space-around;padding:6px 10px 2px;border-top:1px solid rgba(255,255,255,.08)}
.ph-tabs i{width:18px;height:18px;border-radius:5px;border:2px solid rgba(255,255,255,.35)}
.ph-tabs i.on{border-color:#51B94C;background:rgba(81,185,76,.25)}
.hphone .hm-n{margin:-8px 0 0 -54px;position:relative;z-index:3}

/* Savant-style phone screen (matches the real app layout) */
.ph-scr.sv{position:relative;padding:12px 0 0;gap:0;background:#212121}
.sv-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.ph-scr.sv::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(33,33,33,.55),rgba(33,33,33,.35) 40%,rgba(33,33,33,.7))}
.ph-scr.sv>*{position:relative;z-index:1}
.ph-scr.sv>img.sv-bg{position:absolute;z-index:0}
.ph-scr.sv .ph-stat{padding:0 18px}
.sv-tabs{display:flex;justify-content:space-between;padding:16px 16px 0;font:400 .56rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:#FFFFFF}
.sv-home{margin-top:auto;padding:0 16px 14px;display:flex;flex-direction:column;gap:3px}
.sv-home b{font:300 1.55rem/1.05 var(--body);color:#FFFFFF;letter-spacing:.01em;margin-bottom:6px}
.sv-home span{font:400 .66rem var(--body);color:rgba(255,255,255,.8);display:flex;justify-content:space-between;align-items:center}
.sv-eq{display:inline-flex;gap:2px;align-items:flex-end;height:12px}.sv-eq i{width:3px;background:rgba(255,255,255,.8);border-radius:1px}
.sv-eq i:nth-child(1){height:6px}.sv-eq i:nth-child(2){height:12px}.sv-eq i:nth-child(3){height:9px}.sv-eq i:nth-child(4){height:11px}
.sv-sec{background:rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.sv-shield{width:18px;height:21px;border:2px solid #FFFFFF;border-radius:2px 2px 9px 9px;margin-bottom:6px}
.sv-sec b{font:500 .7rem var(--body);color:#FFFFFF}.sv-sec small{font:400 .56rem var(--body);color:rgba(255,255,255,.6)}
.sv-svc{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 6px 18px;background:rgba(33,33,33,.45)}
.sv-svc span{display:flex;flex-direction:column;align-items:center;gap:7px;font:400 .56rem var(--body);color:#FFFFFF}
.sv-svc i{width:24px;height:24px;display:block;position:relative}
.ic-music{border:2px dashed rgba(255,255,255,.9);border-radius:50%}
.ic-music::after{content:"♪";position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:.75rem;color:#FFFFFF}
.ic-tv{border:2px solid #FFFFFF;border-radius:3px;height:16px!important;margin:4px 0}
.ic-call::after{content:"✆";position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:1.05rem;color:#FFFFFF}
.ic-light{border:2px solid #FFFFFF;border-radius:50% 50% 40% 40%;width:16px!important;height:18px!important;margin:0 4px 6px}
.ic-light::after{content:"";position:absolute;left:3px;right:3px;bottom:-6px;height:3px;background:#FFFFFF;border-radius:1px}

/* Android frame: punch-hole camera, status bar, three-button navigation */
.hphone .ph-dev{border-radius:30px;padding:8px}
.hphone .ph-scr{border-radius:23px}
.ph-stat.and{position:relative;justify-content:space-between}
.ph-hole{position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:#000;box-shadow:0 0 0 2px rgba(255,255,255,.06)}
.ph-right{display:flex;align-items:center;gap:6px}
.ph-bat{font:600 .5rem var(--body);background:#FFFFFF;color:#212121;border-radius:6px;padding:1px 5px}
.sv-svc{padding-bottom:12px!important}
.and-nav{display:flex;justify-content:space-around;align-items:center;padding:8px 24px 10px;background:#000}
.n-rec{display:flex;gap:2px}.n-rec i{width:1.5px;height:9px;background:rgba(255,255,255,.85)}
.n-home{width:11px;height:11px;border:1.5px solid rgba(255,255,255,.85);border-radius:3px}
.n-back{width:7px;height:7px;border-left:1.5px solid rgba(255,255,255,.85);border-bottom:1.5px solid rgba(255,255,255,.85);transform:rotate(45deg)}

.ph-scr.shot{padding:0;aspect-ratio:1248/1972;background:#000}
.ph-scr.shot img{width:100%;height:100%;object-fit:cover;display:block}
.hphone.hmock{width:250px}

/* Galaxy Z Fold (closed) frame: tall cover screen, tight corners, hinge spine, punch-hole camera */
.hphone.fold{width:236px}
.hphone.fold .ph-dev{position:relative;border-radius:20px;padding:6px;background:linear-gradient(90deg,#2b2b2b,#1b1b1b 12%,#1b1b1b 88%,#2b2b2b);box-shadow:0 0 0 1.5px rgba(255,255,255,.22),0 30px 60px -20px rgba(0,0,0,.7)}
.hphone.fold .ph-dev::before{content:"";position:absolute;left:-9px;top:14px;bottom:14px;width:10px;border-radius:8px 3px 3px 8px;background:linear-gradient(90deg,#4a4a4a,#2a2a2a 45%,#3a3a3a 70%,#1e1e1e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.hphone.fold .ph-dev::after{content:"";position:absolute;right:-3px;top:22%;width:3px;height:56px;border-radius:0 2px 2px 0;background:#3a3a3a;box-shadow:0 74px 0 0 #3a3a3a}
.hphone.fold .ph-scr{border-radius:15px;position:relative}
.fold-cam{position:absolute;z-index:2;left:50%;top:7px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#000;box-shadow:0 0 0 1.5px rgba(255,255,255,.08)}

.rv-sec{padding-top:clamp(40px,5vw,64px)}.rv-sec .rv-tabs{margin-bottom:28px}
