/*
Theme Name: BXTD Solutions
Theme URI: https://bxtdsolutions.com/
Author: BXTD Solutions
Author URI: https://bxtdsolutions.com/
Description: Custom theme converted from the Grok-built static BXTD site draft (Nov 2, 2026). Roofing-first marketing site with the BXTD 100 GBP Score tool. Design preview — the noindex meta is intentional until launch.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: bxtd-solutions
*/
:root{--navy:#0b3a5b;--sky:#4fc3e8;--ink:#0d2236;--ink2:#47596b;--bg:#fbfcfd;--bg2:#eef3f7;--card:#fff;--line:#d9e3ec;--acc:#2a3bdc;--glow:none;--sh:6px 6px 0 var(--navy)}
[data-theme=dark]{--navy:#e6eef5;--ink:#e6eef5;--ink2:#9fb2c4;--bg:#0b131c;--bg2:#101b27;--card:#132131;--line:#22364a;--sh:6px 6px 0 #4fc3e8;--glow:0 0 40px rgba(79,195,232,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.08;margin:0 0 .4em}
h1{font-size:clamp(40px,6.4vw,78px)}h2{font-size:clamp(30px,4vw,48px)}h3{font-size:21px}
.sky{color:var(--sky);font-style:italic}
.eyebrow{font:700 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:14px;display:inline-flex;gap:10px;align-items:center}
.eyebrow:before{content:"";width:22px;height:2px;background:var(--sky)}
.lead{font-size:19px;color:var(--ink2);max-width:640px}
/* header */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:20px;height:70px}
.logo img{height:34px;display:block}
.lg-d{display:none!important}[data-theme=dark] .lg-l{display:none!important}[data-theme=dark] .lg-d{display:block!important;filter:drop-shadow(0 0 8px rgba(79,195,232,.5))}
nav.main{display:flex;gap:22px;margin-left:auto;font-weight:600;font-size:15px}
nav.main a{text-decoration:none;color:var(--ink2)}nav.main a:hover,nav.main a.on{color:var(--navy)}
.tog{border:2px solid var(--navy);background:none;color:var(--navy);border-radius:999px;width:64px;height:30px;font:700 11px ui-monospace,monospace;cursor:pointer}
.burger{display:none}
/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:15px 24px;font-weight:800;font-size:16px;text-decoration:none;border:2px solid var(--navy);background:var(--navy);color:var(--bg);border-radius:4px;box-shadow:4px 4px 0 var(--sky);cursor:pointer;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--sky)}
.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--sky)}
.btn.ghost{background:transparent;color:var(--navy);box-shadow:none}
.btn input.hap{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
/* hero */
.hero{position:relative;overflow:hidden;padding:80px 0 60px}
.hero .mesh{position:absolute;right:-120px;top:10px;width:720px;opacity:.9;pointer-events:none;filter:drop-shadow(var(--glow))}
.hero .mesh.l{left:-330px;right:auto;top:180px;width:520px;opacity:.35}
.hero .wrap{position:relative}
.hero h1 .sky{display:block}
.ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
/* sections */
section{padding:84px 0}section.alt{background:var(--bg2)}
.grid{display:grid;gap:22px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:2px solid var(--navy);border-radius:6px;padding:26px;box-shadow:var(--sh)}
.card.soft{border:1px solid var(--line);box-shadow:none}
.num{font:800 13px ui-monospace,monospace;color:var(--sky)}
.ph{border:2px dashed var(--sky);background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(79,195,232,.07) 10px 20px);color:var(--ink2);font:600 12px ui-monospace,monospace;padding:10px 12px;border-radius:4px}
.tag{display:inline-block;font:700 11px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:3px;background:var(--sky);color:#06253a}
.tag.ex{background:#ffd34d}
/* tiles */
.tile{display:block;text-decoration:none;padding:22px;border:2px solid var(--navy);border-radius:6px;background:var(--card);transition:transform .15s,box-shadow .15s;position:relative;min-height:150px}
.tile:hover{transform:rotate(-1deg) translateY(-3px);box-shadow:var(--sh)}
.tile svg{width:44px;height:44px;stroke:var(--sky);fill:none;stroke-width:2.2}
.tile b{display:block;font-size:18px;margin-top:14px;color:var(--navy)}
.tile span{font-size:13px;color:var(--ink2)}
.tile:after{content:"\2197";position:absolute;right:16px;top:12px;font-weight:800;color:var(--sky)}
/* score tool */
.tool{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:start}
.form label{display:block;font:700 12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;margin:14px 0 6px;color:var(--ink2)}
.form input,.form select{width:100%;padding:14px;font-size:16px;border:2px solid var(--navy);border-radius:4px;background:var(--bg);color:var(--ink)}
.ring{position:relative;width:180px;height:180px;margin:6px auto}
.ring .n{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:800 54px/1 "Open Sans",sans-serif;color:var(--navy)}
.ring small{display:block;font:700 11px ui-monospace,monospace;letter-spacing:.1em;color:var(--ink2);margin-top:4px}
.fix{display:grid;grid-template-columns:40px 1fr;gap:8px;padding:12px 0;border-top:1px solid var(--line)}
.fix .k{font:800 22px ui-monospace,monospace;color:var(--sky)}
.row{display:grid;grid-template-columns:1.2fr .5fr 1.6fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.row .src{color:var(--ink2);font-size:12px}
.bar{height:6px;background:var(--line);border-radius:3px;margin-top:6px}.bar i{display:block;height:100%;background:var(--sky);border-radius:3px}
.gate{position:relative;margin-top:24px}.gate .blur{filter:blur(5px);user-select:none;pointer-events:none}
.gate .over{position:absolute;inset:60px 10% auto;background:var(--card);border:2px solid var(--navy);box-shadow:var(--sh);padding:24px;border-radius:6px}
.gate.open .blur{filter:none}.gate.open .over{display:none}
/* funnel / prices */
.price{font:800 44px/1 "Open Sans";color:var(--navy);margin:10px 0}.price small{font-size:15px;color:var(--ink2);font-weight:600}
.step{position:relative}.step .badge{position:absolute;top:-14px;left:20px}
ul.ck{list-style:none;padding:0;margin:14px 0}ul.ck li{padding:6px 0 6px 26px;position:relative}ul.ck li:before{content:"";position:absolute;left:0;top:13px;width:12px;height:6px;border-left:3px solid var(--sky);border-bottom:3px solid var(--sky);transform:rotate(-45deg)}
/* flagship */
.flag{background:#071827;color:#e6eef5;position:relative;overflow:hidden}
.flag h2,.flag h3{color:#e6eef5}.flag .lead{color:#9fb2c4}
.flag .mesh{position:absolute;left:-200px;bottom:-140px;width:640px;opacity:.25}
.phone{width:300px;margin:0 auto;background:#0e1f30;border:10px solid #1b2c3d;border-radius:42px;padding:22px 18px;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 60px rgba(79,195,232,.2);font-size:13px;color:#e6eef5;position:relative}
.phone .st{display:flex;justify-content:space-between;font-weight:700;font-size:12px;opacity:.8}
.phone h4{margin:16px 0 2px;font-size:20px}.phone .mut{color:#9fb2c4}
.phone .lb{font:700 10px ui-monospace,monospace;letter-spacing:.15em;color:#4fc3e8;margin:18px 0 8px}
.phone .it{display:flex;justify-content:space-between;align-items:center;background:#132a40;border-radius:12px;padding:10px 12px;margin-bottom:6px}
.phone .on{width:30px;height:18px;border-radius:9px;background:#4fc3e8;position:relative}.phone .on:after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff}
.pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block;margin-right:6px;animation:p 1.6s infinite}@keyframes p{50%{opacity:.3}}
.pill3{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.pill3 span{border:1px solid #2c4660;padding:8px 14px;border-radius:999px;font-weight:700;font-size:14px}
/* stats */
.stat b{display:block;font:800 52px/1 "Open Sans";color:var(--navy)}.stat b em{color:var(--sky);font-style:normal}
.stat p{margin:8px 0 0;color:var(--ink2);font-size:14px}
footer{border-top:2px solid var(--navy);padding:46px 0;font-size:14px;color:var(--ink2)}
footer .wrap{display:flex;gap:30px;justify-content:space-between;flex-wrap:wrap}
.note{font-size:12px;color:var(--ink2);font-family:ui-monospace,monospace}
.quirk{display:inline-block;transform:rotate(-3deg);background:var(--sky);color:#06253a;padding:2px 10px;font-weight:800}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}.g2,.tool{grid-template-columns:1fr}nav.main{display:none}nav.main.open{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:20px 24px;border-bottom:2px solid var(--navy)}.burger{display:block;margin-left:auto;background:none;border:2px solid var(--navy);color:var(--navy);border-radius:4px;padding:6px 10px;font-weight:800}.tog{margin-left:0}
.hero{padding:44px 0 40px}.hero .mesh{width:420px;right:-170px;top:-10px;opacity:.45}.hero .mesh.l{display:none}section{padding:60px 0}.row{grid-template-columns:1fr .6fr}.row .src{grid-column:1/-1}.gate .over{inset:20px 0 auto}}
@media(max-width:520px){.g3,.g4{grid-template-columns:1fr}.g4.tiles{grid-template-columns:1fr 1fr}.tile{min-height:130px;padding:16px}.logo img{height:28px}.btn{width:100%;justify-content:center}}

#meshc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero{min-height:620px}.hero .wrap{z-index:2}
.hero h1{max-width:820px}
.mform{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;max-width:720px}
.mform input{flex:1 1 200px;padding:15px;font-size:16px;border:2px solid var(--navy);border-radius:4px;background:var(--card);color:var(--ink)}
.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:14px;font-weight:600;color:var(--ink2)}
.trust span{display:flex;gap:8px;align-items:center}
.ic{width:22px;height:22px;stroke:var(--sky);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.lg{width:38px;height:38px}
.divider{height:70px;background:url(assets/mesh-light.webp) center/1400px auto repeat-x;opacity:.55;border:0;margin:0;-webkit-mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
[data-theme=dark] .divider{background-image:url(assets/mesh-dark.webp)}
.ph-mark{background:#ffd34d;color:#3a2a00;font:700 11px ui-monospace,monospace;padding:2px 6px;border-radius:3px;white-space:nowrap}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin:34px 0 10px}
.flow .nd{position:relative;z-index:1;text-align:center}
.flow .nd i{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 10px;border-radius:50%;border:2px solid #4fc3e8;background:#0e2236;box-shadow:0 0 24px rgba(79,195,232,.45)}
.flow .nd b{font-size:15px}.flow .nd small{display:block;color:#9fb2c4;font-size:12px}
.flow svg.wire{position:absolute;left:12.5%;right:12.5%;top:37px;width:75%;height:4px;overflow:visible}
.flow .wire line{stroke:#4fc3e8;stroke-width:2;stroke-dasharray:6 10;animation:dash 1.2s linear infinite;filter:drop-shadow(0 0 6px #4fc3e8)}
.flow .dot{animation:run 3.2s linear infinite;fill:#fff;filter:drop-shadow(0 0 8px #4fc3e8)}
@keyframes dash{to{stroke-dashoffset:-32}}@keyframes run{from{transform:translateX(0)}to{transform:translateX(var(--w,900px))}}
.feat{display:flex;gap:12px;align-items:flex-start}
details{border-top:1px solid var(--line);padding:16px 0}details summary{font-weight:800;cursor:pointer;color:var(--navy);font-size:17px}details p{color:var(--ink2);margin:8px 0 0}
.prog{height:6px;background:var(--line);border-radius:3px;margin:8px 0 18px}.prog i{display:block;height:100%;background:var(--sky);border-radius:3px;transition:width .3s}
table.cmp{width:100%;border-collapse:collapse;font-size:15px}table.cmp td,table.cmp th{padding:12px;border-bottom:1px solid var(--line);text-align:center}table.cmp td:first-child,table.cmp th:first-child{text-align:left}
table.cmp th{color:var(--navy)}
.sticky{display:none}
@media(prefers-reduced-motion:reduce){.flow .wire line,.flow .dot,.pulse{animation:none}}
@media(max-width:900px){.flow{grid-template-columns:1fr 1fr;row-gap:26px}.flow svg.wire{display:none}.hero{min-height:0}
.sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:2px solid var(--navy)}.sticky .btn{flex:1;justify-content:center;padding:12px;box-shadow:none}body{padding-bottom:74px}.hdr-cta{display:none!important}.cmpw{overflow-x:auto}}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none}.wm{font-weight:700;font-size:25px;color:#4fc3e8;letter-spacing:-.01em;line-height:1}[data-theme=dark] .wm{color:#e6eef5;text-shadow:0 0 10px rgba(79,195,232,.6)}@media(max-width:520px){.wm{font-size:20px}}
.stat p b{display:inline;font:inherit;font-weight:800;color:var(--navy)}
.grid>*{min-width:0}html,body{overflow-x:clip}
/* ---- v2: Google marks, dark-first creative layer ---- */
.gimg{height:20px;width:auto;flex:none}
.gline{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:14px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
[data-theme=dark] .gline{background:#fff;color:#3c4043;border-color:#fff}
.trust span .gimg{height:18px}
footer .tm{flex-basis:100%;font-size:12px;margin:10px 0 0;opacity:.8}
.bigic{position:absolute;right:4%;bottom:-40px;z-index:1;pointer-events:none}
.bigic svg{width:340px;height:340px;stroke:var(--sky);stroke-width:.6;opacity:.18;fill:none}
.huge{position:absolute;right:-10px;top:-20px;font:900 clamp(90px,17vw,240px)/1 "Open Sans",sans-serif;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--sky);opacity:.22;pointer-events:none;z-index:-1}
[data-theme=dark] body{background:radial-gradient(1200px 600px at 85% -10%,rgba(42,59,220,.22),transparent 60%),radial-gradient(900px 500px at -10% 40%,rgba(79,195,232,.08),transparent 60%),var(--bg)}
[data-theme=dark] section.alt{background:linear-gradient(180deg,#0e1a27,#0b131c);position:relative}
[data-theme=dark] section.alt:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(79,195,232,.18) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask:linear-gradient(90deg,#000,transparent 40%,transparent 60%,#000);pointer-events:none}
[data-theme=dark] section.alt>.wrap{position:relative}
[data-theme=dark] .card{background:linear-gradient(160deg,#16263a 0%,#0f1b29 100%);border:1px solid #2a4560;box-shadow:0 0 0 1px rgba(79,195,232,.05),0 18px 40px rgba(0,0,0,.35)}
[data-theme=dark] .card:hover{border-color:#4fc3e8;box-shadow:0 0 30px rgba(79,195,232,.18)}
[data-theme=dark] .card.hot{border:1px solid #4fc3e8;box-shadow:0 0 0 1px #4fc3e8,0 0 50px rgba(79,195,232,.3)}
[data-theme=dark] .card.soft{background:rgba(19,33,49,.7)}
[data-theme=dark] .tile{background:linear-gradient(160deg,#16263a,#0f1b29);border:1px solid #2a4560}
[data-theme=dark] .tile:hover{border-color:#4fc3e8;box-shadow:0 0 30px rgba(79,195,232,.25)}
[data-theme=dark] .btn{background:#4fc3e8;color:#06192a;border-color:#4fc3e8;box-shadow:4px 4px 0 #e6eef5}
[data-theme=dark] .btn.ghost{background:transparent;color:#e6eef5;border-color:#e6eef5;box-shadow:none}
[data-theme=dark] h1{text-shadow:0 0 40px rgba(79,195,232,.15)}
[data-theme=dark] .price{background:linear-gradient(90deg,#e6eef5,#4fc3e8);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme=dark] .ring svg{filter:drop-shadow(0 0 12px rgba(79,195,232,.5))}
[data-theme=dark] .stat b{background:linear-gradient(90deg,#e6eef5,#4fc3e8);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme=dark] .stat b em{color:#4fc3e8}
[data-theme=dark] footer{border-top:1px solid #22364a;background:#070d14}
[data-theme=dark] .divider{opacity:.8}
[data-theme=dark] header.top{background:rgba(11,19,28,.82)}
[data-theme=dark] .form input,[data-theme=dark] .form select,[data-theme=dark] .mform input{background:#0b1622;border-color:#2f4c68;color:#e6eef5}
[data-theme=dark] .form input:focus,[data-theme=dark] .mform input:focus{outline:none;border-color:#4fc3e8;box-shadow:0 0 0 3px rgba(79,195,232,.25)}
[data-theme=dark] .num{font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1px #4fc3e8}
[data-theme=dark] table.cmp th{color:#4fc3e8}
.hero.ind .wrap{position:relative;z-index:2}
@media(max-width:900px){.bigic svg{width:200px;height:200px}.bigic{bottom:-20px;right:-30px}}
/* ---- Higgsfield media slots ---- */
.hero{position:relative;overflow:hidden}
.hv{position:absolute;inset:0;z-index:0;pointer-events:none}
.hv-poster img,.hv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv-video{opacity:0;transition:opacity .8s}.hv-video.on{opacity:1}
.hv-fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 85%,transparent) 45%,color-mix(in srgb,var(--bg) 35%,transparent) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 30%)}
.hero:has(.hv) #meshc{opacity:.35}
.hero .wrap{position:relative;z-index:2}
.hgrid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.hgrid:has(.hpin),.hgrid:has(.indimg){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.hpin img,.indimg img{width:100%;height:auto;display:block}
.hpin img{max-width:460px;margin:auto;filter:drop-shadow(0 0 40px rgba(79,195,232,.35))}
.indimg img{border-radius:18px;border:1px solid #2a4560;box-shadow:0 0 50px rgba(79,195,232,.2);aspect-ratio:3/2;object-fit:cover}
@media(max-width:900px){.hgrid:has(.hpin),.hgrid:has(.indimg){grid-template-columns:1fr}.hpin img{max-width:300px}
 .hv-fade{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent),var(--bg) 85%)}}
.reveal{position:fixed;inset:0;z-index:999;background:#050b12;display:grid;place-items:center;transition:opacity .35s}
.reveal.out{opacity:0}.reveal video{max-width:min(92vw,720px);max-height:80vh}
.reveal-skip{position:absolute;right:18px;bottom:18px;background:transparent;color:#e6eef5;border:1px solid #e6eef5;border-radius:999px;padding:8px 16px;font:700 13px monospace;cursor:pointer}
@media(prefers-reduced-motion:reduce){.hv-video{display:none}}
/* ---- HF v2: pin panel, industry overlay ---- */
.pinpanel{position:relative;max-width:460px;margin:auto;border-radius:28px;background:radial-gradient(circle at 50% 50%,#1c2026 0%,#1b1f24 55%,#0b131c 100%);box-shadow:0 0 0 1px #2a4560,0 0 60px rgba(79,195,232,.25),0 24px 50px rgba(0,0,0,.35);overflow:hidden}
.pinpanel img{max-width:100%!important;filter:none!important;-webkit-mask:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%);mask:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%)}
.indwrap{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 0 50px rgba(79,195,232,.2)}
.indwrap .indimg img{border:0;border-radius:0;box-shadow:none}
.indfade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,19,28,.55) 0%,rgba(11,19,28,0) 35%),linear-gradient(0deg,rgba(11,19,28,.45) 0%,rgba(11,19,28,0) 40%);border-radius:18px;box-shadow:inset 0 0 0 1px #2a4560}
@media(max-width:900px){.pinpanel{max-width:320px}}
.reveal{background:radial-gradient(circle at 50% 50%,#1b1f24 0%,#14181d 45%,#05090e 100%)}
.reveal video{-webkit-mask:radial-gradient(circle at 50% 50%,#000 55%,transparent 71%);mask:radial-gradient(circle at 50% 50%,#000 55%,transparent 71%)}
.hgrid{column-gap:48px}
section.hero.ind{overflow:hidden}
@media(max-width:900px){.bigic{right:0}.bigic svg{width:160px;height:160px}}
.ph-mark{white-space:normal;overflow-wrap:anywhere;max-width:100%}
img.mesh{max-width:100%}
@media(max-width:900px){[data-theme=light] .hv-fade{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,transparent) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 55%,var(--bg) 90%)}}
/* ---- Photo Glow-Up ---- */
.glowg{align-items:center;gap:40px}
.realtag{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--sky);background:color-mix(in srgb,var(--sky) 10%,transparent);font-size:15px;line-height:1.5}
.realtag svg{flex:none;color:var(--sky);margin-top:2px}
.gsteps{display:grid;gap:10px;margin:18px 0 22px}
.gstep{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.gstep .k{font:700 13px monospace;color:var(--sky);min-width:22px}
.gstep svg{flex:none;color:var(--sky)}.gstep span:not(.k){color:var(--ink2);font-size:14px}
.ba{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;border:1px solid var(--line);user-select:none;touch-action:pan-y;background:#0b131c}
[data-theme=dark] .ba{border-color:#2a4560;box-shadow:0 0 50px rgba(79,195,232,.18)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-l{position:absolute;top:12px;padding:4px 10px;border-radius:999px;background:rgba(5,11,18,.75);color:#e6eef5;font:700 12px monospace;letter-spacing:.08em;text-transform:uppercase}
.ba-l.l{left:12px}.ba-l.r{right:12px}
.ba-h{position:absolute;top:0;bottom:0;left:var(--p);width:44px;margin-left:-22px;cursor:ew-resize;display:grid;place-items:center;outline:none}
.ba-h:before{content:"";position:absolute;top:0;bottom:0;left:21px;width:2px;background:#e6eef5;box-shadow:0 0 12px rgba(79,195,232,.8)}
.ba-h span{position:relative;width:40px;height:40px;border-radius:50%;background:#4fc3e8;border:2px solid #e6eef5;box-shadow:0 0 20px rgba(79,195,232,.6)}
.ba-h:focus-visible span{outline:3px solid #fff;outline-offset:3px}
.ba-empty{display:grid;place-items:center;background:repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--sky) 7%,transparent) 14px 15px),var(--card);border:1.5px dashed var(--sky)}
.ba-ph{display:grid;justify-items:center;gap:8px;text-align:center;padding:20px}
.ba-ph svg{color:var(--sky)}.ba-ph b{font-size:20px}.ba-ph span{color:var(--ink2);font-size:14px}
.glow .eyebrow{display:flex}.glow .gline{display:flex;width:fit-content}
.glow .price .ph-mark{font-size:14px}
.gstep{align-items:flex-start}.gstep svg{margin-top:3px}
.howline{font-size:14px;color:var(--ink2);margin:14px 0 0;line-height:1.6}.howline span{display:inline-block;margin-right:8px}
.bafig{margin:0}.bafig figcaption{margin-top:10px;font:600 14px/1.4 "Open Sans",sans-serif;color:var(--ink2);text-align:center}
.system{background:var(--bg2,#0f1418)}
.sysrow{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:36px 0;border-top:1px solid rgba(131,212,238,.18)}
.sysrow.flip .systxt{order:2}
.systxt h3{font-size:24px;margin:10px 0 8px}.systxt p{color:var(--ink2);line-height:1.6}.systxt svg{color:#83d4ee;width:28px;height:28px;vertical-align:middle}
.sysn{font:700 13px monospace;color:#83d4ee;margin-right:10px;letter-spacing:.1em}
.sysvis{position:relative;max-width:460px;justify-self:center;width:100%}
.sysvid{width:100%;height:auto;border-radius:16px;display:block;background:#1b1e23;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.exlbl{position:absolute;top:-12px;right:12px;z-index:2;background:#ffd34d;color:#1b1e23;font:700 11px/1 monospace;padding:6px 9px;border-radius:6px;letter-spacing:.06em}
.pcard,.rcard{background:#fff;color:#1b1e23;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid rgba(0,0,0,.08)}
.pc-h{display:flex;gap:10px;align-items:center;padding:14px 16px;font-size:14px}.pc-h small{color:#667}
.pc-av{width:36px;height:36px;border-radius:50%;background:#1b1e23;color:#83d4ee;display:grid;place-items:center;font-weight:700}
.pcard img{width:100%;height:auto;display:block}.pcard p{padding:12px 16px 0;margin:0;font-size:15px;line-height:1.5}
.pc-btn{display:inline-flex;gap:8px;align-items:center;margin:12px 16px 16px;padding:9px 18px;border:1.5px solid #1b1e23;border-radius:999px;font-weight:700;font-size:14px}.pc-btn svg{width:16px;height:16px}
.rcard{padding:18px;font-size:15px;line-height:1.55}.rcard p{margin:6px 0 0}
.stars{display:inline-flex;gap:2px;vertical-align:middle;color:#f5b400}.stars svg{width:16px;height:16px;fill:currentColor}
.rp{margin-top:14px;padding:12px 14px;background:#eef6fa;border-left:3px solid #83d4ee;border-radius:8px}
.micro{font-size:13px;color:var(--ink2);margin-top:8px}
@media(max-width:820px){.sysrow{grid-template-columns:1fr;gap:22px}.sysrow.flip .systxt{order:0}}
.permtag{position:absolute;right:10px;bottom:10px;z-index:3;background:#ffd34d;color:#1b1e23;font:700 11px/1 monospace;padding:5px 8px;border-radius:5px}
.indmesh .m-l{display:none}[data-theme=light] .indmesh .m-l{display:block}[data-theme=light] .indmesh .m-d{display:none}
[data-theme=light] .indmesh .indfade{background:none}[data-theme=light] .indmesh{box-shadow:0 0 40px rgba(79,120,232,.18)}
.card.addon{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin-top:26px}
.card.addon h3{margin:6px 0}.card.addon p{margin:0}.addon-p{text-align:right}.addon-p .price{margin-bottom:10px}
@media(max-width:820px){.card.addon{grid-template-columns:1fr;gap:12px}.addon-p{text-align:left}}
/* GBP report v2 */
.nvt{font:700 11px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);border:1px dashed var(--line);border-radius:6px;padding:2px 6px;white-space:nowrap}
.intlbl{background:#f6c344;color:#2a1d00;font:800 13px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:10px;margin-bottom:16px}
.rep .card{margin-bottom:18px}.rep-top{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center}
.pil{border-top:1px solid var(--line);padding:14px 0}.pil-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pil-h span{color:var(--ink2);font-size:14px}
.why{color:var(--ink2);font-size:14px;margin:4px 0}.src{font:12px ui-monospace,monospace;color:var(--ink2);opacity:.8;word-break:break-word}
.mrow{display:grid;grid-template-columns:1fr 110px;gap:12px;padding:10px 0 10px 12px;border-left:2px solid var(--line);margin:8px 0}.mrow .pt{text-align:right;font-weight:800;color:var(--navy)}.mx{color:var(--ink2);font-size:14px}
.mrow .bar{height:6px;background:var(--line);border-radius:4px;margin:6px 0;overflow:hidden}.mrow .bar i{display:block;height:100%;background:var(--sky)}
.cbars{margin:10px 0 20px}.cbar{display:grid;grid-template-columns:230px 1fr 130px;gap:12px;align-items:center;padding:7px 0}.cb-t{height:14px;background:var(--line);border-radius:8px;overflow:hidden}.cb-t i{display:block;height:100%;background:var(--ink2)}.cbar.me .cb-t i{background:var(--sky)}.cbar.me .cb-n{font-weight:800}.cb-s{font-weight:800}.cb-s small{font-weight:500;color:var(--ink2);font-size:12px}
table.gcmp td small{display:block;color:var(--ink2);font-size:12px}table.gcmp .me{background:rgba(79,195,232,.10)}table.gcmp tr.tot td{font-size:18px}
.howchk{font-size:13px;color:var(--ink2);border-top:1px solid var(--line);padding-top:14px;margin-top:10px}.rcta{margin:18px 0}.prov{color:#c98a00}
.ik{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ik .f{border:1px solid var(--line);border-radius:12px;padding:12px}.ik label{font-weight:700;display:block}.ik .tip{font-size:13px;color:var(--ink2);margin:2px 0 8px}
.ik input,.ik select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:inherit;font:inherit;margin:2px 0}.ik .sd{display:grid;grid-template-columns:2fr 1fr;gap:6px}.ik .cbx{display:flex;flex-wrap:wrap;gap:10px;font-size:14px}.ik .cbx label{font-weight:500}.ik .cbx input{width:auto}
.itabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.itabs button{padding:8px 14px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:inherit;font-weight:700;cursor:pointer}.itabs button.on{background:var(--sky);color:#06253a}
@media(max-width:760px){.rep-top{grid-template-columns:1fr}.cbar{grid-template-columns:1fr 90px}.cb-n{grid-column:1/-1}.mrow{grid-template-columns:1fr 80px}.ik{grid-template-columns:1fr}.cmpw{overflow-x:auto}}
/* quick BXTD 100 */
.qsearch{position:relative}.qsearch form{display:flex;gap:10px}.qsearch input{flex:1;padding:16px;font-size:17px;border:2px solid var(--line);border-radius:12px;background:var(--card);color:inherit}
#qsug{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:6px 0 0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh)}
#qsug button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:8px;color:inherit;cursor:pointer;font:inherit}#qsug button:hover,#qsug li.hl button{background:rgba(79,195,232,.14)}#qsug span{display:block;font-size:13px;color:var(--ink2)}
#qres .card{margin-top:18px}#qlead .card{border:2px solid var(--sky)}.lrow{display:grid;grid-template-columns:2fr 1.4fr auto;gap:10px;align-items:end}.lrow input{width:100%}
@media(max-width:760px){.qsearch form{flex-direction:column}.lrow{grid-template-columns:1fr}}
/* roofing results */
.qhero{border:2px solid var(--sky)}.qhero h2{margin:4px 0}.gap{font-weight:800;font-size:19px;color:var(--navy);margin:8px 0}.rankline{display:inline-block;background:var(--sky);color:#06253a;font-weight:700;border-radius:8px;padding:6px 12px;margin:4px 0 12px}
table.hero-t th{vertical-align:bottom;font-size:14px}table.hero-t th em{display:block;font:700 11px ui-monospace,monospace;color:var(--sky);font-style:normal;letter-spacing:.1em;text-transform:uppercase}.rk{display:block;font:800 22px ui-monospace,monospace;color:var(--ink2)}th.me .rk{color:var(--sky)}
table.hero-t td.me,table.hero-t th.me{background:rgba(79,195,232,.16);box-shadow:inset 2px 0 0 var(--sky),inset -2px 0 0 var(--sky)}table.hero-t .big{font-size:24px}
.chk{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.chk .cs{font-weight:800}.chk .ok{color:#2fb37a;font-size:20px}.chk .no{color:#e0605a;font-size:20px}.chk .nvt{white-space:normal;display:inline-block;font-size:9px}
.chk{grid-template-columns:auto 1fr}
@media(max-width:760px){table.hero-t{font-size:13px}table.hero-t td,table.hero-t th{padding:8px 6px}.gap{font-size:17px}}
/* nav dropdown */
.dd{position:relative}.dd>button{background:none;border:0;font:inherit;color:var(--ink2);cursor:pointer;padding:0}.dd .menu{display:none;position:absolute;top:100%;left:-12px;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh);padding:8px;z-index:40}
.dd:hover .menu,.dd:focus-within .menu,.dd.open .menu{display:flex;flex-direction:column}.dd .menu a{padding:8px 10px;border-radius:6px}.dd .menu a:hover{background:rgba(79,195,232,.12)}
@media(max-width:900px){.dd .menu{position:static;display:flex;flex-direction:column;border:0;box-shadow:none;padding:4px 0 0 12px;background:none}.dd>button{color:var(--navy);font-weight:700;text-align:left}}
/* roofing proof */
.proof-r{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.proof-r img{width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover}.proof-r .stat b{font-size:42px}@media(max-width:900px){.proof-r{grid-template-columns:1fr}}
nav.main a,.dd>button{white-space:nowrap}@media(min-width:901px){nav.main{gap:16px}nav.main a,.dd>button{font-size:14px}}
@media(min-width:901px) and (max-width:1300px){header .btn{white-space:nowrap}}
/* ---- simplify (Nov 2) ---- */
.sh{padding:110px 0 90px;background:radial-gradient(900px 420px at 50% 0,rgba(79,195,232,.14),transparent 70%)}.sh-in{max-width:760px;text-align:center}
.sh h1{font-size:clamp(40px,6vw,68px);line-height:1.05;margin:14px 0 18px}.sh .lead{font-size:20px;max-width:560px;margin:0 auto 34px}
.sform{display:flex;gap:10px;max-width:620px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px}.sform input{flex:1;border:0;background:transparent;color:var(--navy);font-size:17px;padding:12px 14px;outline:none}.sform .btn{white-space:nowrap}
.trustline{margin-top:22px;color:var(--ink2);font-size:14px;letter-spacing:.02em}
.calm{padding:96px 0}.calm h2{font-size:clamp(28px,3.6vw,42px);margin:8px 0 16px}.narrow{max-width:760px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:34px}.three .n{font:800 15px ui-monospace,monospace;color:var(--sky);border:1px solid var(--sky);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.three h3{margin:16px 0 8px}.three p{color:var(--ink2);margin:0}
.offer .btn{margin-top:10px}.other{margin-top:40px;color:var(--ink2);font-size:15px}.other a{color:var(--sky)}
.sres{text-align:left;padding:32px}.big1{font:800 96px/1 ui-monospace,monospace;color:var(--sky)}.big1 small{font-size:28px;color:var(--ink2)}.sres .lbl{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--ink2);margin-top:6px}.say{font-size:22px;font-weight:700;color:var(--navy);margin:18px 0 22px}
table.simple{width:100%;border-collapse:collapse;font-size:16px}table.simple th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink2);text-align:left;padding:8px 10px}table.simple td{padding:14px 10px;border-top:1px solid var(--line)}table.simple .nc{text-align:right;width:84px}table.simple tr.me td{background:rgba(79,195,232,.14);font-weight:700}table.simple em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sky);margin-left:4px}
details.more{margin-top:16px}details.more summary{cursor:pointer;color:var(--sky);font-weight:700}details.more ul{padding-left:18px;color:var(--ink2);line-height:1.7}
.fixes{padding-left:22px;font-size:18px;line-height:1.6}.fixes li{margin:8px 0}.mockl{font-size:12px;color:var(--ink2);margin:0 0 10px}
#qres{max-width:760px;margin:0 auto;display:grid;gap:18px}
@media(max-width:760px){.sh{padding:70px 0 60px}.sform{flex-direction:column}.three{grid-template-columns:1fr;gap:28px}.calm{padding:64px 0}.big1{font-size:76px}.say{font-size:19px}.sres{padding:22px}table.simple td{padding:12px 6px}table.simple .nc{width:64px}}
table.simple td,table.simple th{font-family:inherit}#qres .card{min-width:0;overflow:hidden}
.sh{position:relative;overflow:hidden}.sh .wrap{position:relative;z-index:1}.sh #meshc{opacity:.55}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.prc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px;display:flex;flex-direction:column}.prc.rec{border:2px solid var(--sky);box-shadow:0 0 40px rgba(79,195,232,.18)}
.ptag{font:700 11px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}.rec .ptag{color:var(--sky)}.prc h3{margin:10px 0 6px;font-size:22px}.pp{font-size:40px;font-weight:800;color:var(--navy)}.pp small{font-size:15px;color:var(--ink2);font-weight:500}.pd{color:var(--ink2);margin:8px 0 16px}
.prc ul{list-style:none;padding:0;margin:0 0 24px;flex:1}.prc li{padding:8px 0;border-top:1px solid var(--line);font-size:15px}.prc li:before{content:"✓ ";color:var(--sky)}.btn.ghost{background:transparent;border:1px solid var(--sky);color:var(--sky);box-shadow:none}
.faq1{border-top:1px solid var(--line);padding:16px 0}.faq1 summary{cursor:pointer;font-weight:700;font-size:18px}.faq1 p{color:var(--ink2)}
@media(max-width:900px){.pgrid{grid-template-columns:1fr}}
.psm{font-size:13px;color:var(--ink2);margin:12px 0 0;text-align:center}
