@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#0B1D3A; --navy-2:#132D52; --navy-3:#1B3A63;
  --blue:#2563EB; --blue-lt:#60A5FA; --blue-deep:#1D4ED8;
  --green:#16A34A; --green-deep:#15803D; --green-lt:#86EFAC;
  --white:#FFFFFF; --paper:#F5F8FB; --steel:#5B6B7D; --line:#DDE4EB;
  --dim-bg:#E9EEF3; --dim-text:#8B96A3; --dim-border:#C6CFD9;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:#fff; color:var(--navy); font-family:'Inter',sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Archivo',sans-serif; color:var(--navy); letter-spacing:-.02em; line-height:1.12;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1140px; margin:0 auto; padding:0 32px;}
.narrow{max-width:800px;}
.flagline{height:5px; background:linear-gradient(90deg,var(--blue) 0%,var(--blue-lt) 45%,var(--green) 100%);}

nav{background:rgba(11,29,58,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.08); position:sticky; top:0; z-index:100;}
.flagline{position:sticky; top:0; z-index:101;}
html{scroll-behavior:smooth; scroll-padding-top:76px;}
.nav-in{max-width:1140px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.brand{display:flex; align-items:center; gap:11px;}
.brand-txt{display:flex; flex-direction:column; line-height:1.1;}
.brand-txt b{font-family:'Archivo',sans-serif; font-size:21px; font-weight:900; color:#fff;}
.brand-txt small{font-size:11px; color:#93A8BD;}
.nav-links{display:flex; align-items:center; gap:4px;}
.nav-links a{font-size:13.5px; color:rgba(255,255,255,.7); padding:8px 13px; border-radius:8px; font-weight:500;}
.nav-links a:hover{color:#fff; background:rgba(255,255,255,.08);}
.nav-links a.cta{background:var(--green); color:#fff; font-weight:700;}
.nav-links a{display:inline-flex; align-items:center; gap:7px;}
.navpill{background:rgba(22,163,74,.2); border:1px solid rgba(134,239,172,.45); color:var(--green-lt); font-family:'Archivo',sans-serif; font-size:10.5px; font-weight:900; letter-spacing:-.01em; padding:2px 8px; border-radius:100px; line-height:1.5; white-space:nowrap;}
.nav-links a:hover .navpill{background:rgba(22,163,74,.32);}
.nav-links a.cta:hover{background:var(--green-deep);}

.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:11px; font-size:15px; font-weight:700; font-family:'Inter',sans-serif; cursor:pointer; border:none;}
.btn-blue{background:var(--blue); color:#fff;}
.btn-blue:hover{background:var(--blue-deep);}
.btn-green{background:var(--green); color:#fff;}
.btn-green:hover{background:var(--green-deep);}
.btn-ghost{background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2);}
.btn-ghost:hover{background:rgba(255,255,255,.18);}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:var(--navy-2);}

.eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(22,163,74,.15); border:1px solid rgba(22,163,74,.4); color:var(--green-lt); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 16px; border-radius:100px; margin-bottom:24px;}
.label{font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:12px;}

.hero{background:radial-gradient(ellipse 80% 60% at 50% -10%, rgba(37,99,235,.35) 0%, transparent 70%), var(--navy); color:#fff; padding:76px 0 62px; text-align:center;}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem); font-weight:900; color:#fff; max-width:17ch; margin:0 auto;}
.hero h1 em{color:var(--blue-lt); font-style:normal;}
.hero p{color:rgba(255,255,255,.65); font-size:17px; margin:20px auto 0; max-width:56ch; line-height:1.7;}
.hero-actions{display:flex; gap:13px; margin-top:34px; flex-wrap:wrap; justify-content:center;}
.trustbar{max-width:820px; margin:52px auto 0; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:22px 30px; display:flex; justify-content:space-around; flex-wrap:wrap; gap:22px;}
.tb{text-align:center;}
.tb b{display:block; font-family:'Archivo',sans-serif; font-size:1.7rem; font-weight:900; color:var(--blue-lt);}
.tb span{font-size:11.5px; font-weight:600; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.05em;}

.pagehead{background:radial-gradient(ellipse 70% 60% at 30% -20%, rgba(37,99,235,.28) 0%, transparent 70%), var(--navy); color:#fff; padding:52px 0 46px;}
.pagehead h1{color:#fff; font-size:clamp(1.9rem,4vw,2.7rem); font-weight:900;}
.pagehead p{color:rgba(255,255,255,.65); font-size:16px; margin-top:13px; max-width:64ch;}
.crumb{font-size:12.5px; color:rgba(255,255,255,.45); margin-bottom:14px;}
.crumb a:hover{color:var(--blue-lt);}

.searchbar{background:var(--paper); border-bottom:1px solid var(--line); padding:22px 0;}
.search-in{display:flex; gap:11px; flex-wrap:wrap; align-items:center;}
.search-in select,.search-in input{padding:13px 15px; border:2px solid var(--line); border-radius:10px; font-size:14px; font-family:inherit; color:var(--navy); background:#fff; min-width:170px;}
.search-in select:focus,.search-in input:focus{outline:none; border-color:var(--blue);}
.search-in input{flex:1; min-width:200px;}
.result-count{margin-left:auto; font-size:13px; color:var(--steel);}

section.pad{padding:72px 0;}
.bg-paper{background:var(--paper);}
.sec-head{margin-bottom:34px; max-width:68ch;}
.sec-head h2{font-size:clamp(1.55rem,2.9vw,2.05rem); font-weight:900; line-height:1.16;}
.sec-head .sub{font-size:16.5px; color:var(--steel); max-width:64ch; margin-top:13px; line-height:1.65;}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px;}

.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; display:flex; flex-direction:column;}
.card-top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px;}
.trade{display:inline-block; font-size:11.5px; font-weight:700; color:var(--steel); letter-spacing:.05em; margin-bottom:7px; text-transform:uppercase;}
.card h3{font-size:18px; font-weight:800;}
.card .city{font-size:13px; color:var(--steel); margin-top:2px;}
.card-seal{width:44px; height:44px; flex-shrink:0;}
.verified-row{display:flex; gap:6px; flex-wrap:wrap; margin-top:13px;}
.vchip{font-size:11px; font-weight:700; color:var(--green-deep); background:#EAF7EF; padding:4px 9px; border-radius:100px; display:flex; align-items:center; gap:4px;}
.vchip svg{width:10px; height:10px;}
.rating{font-size:13px; margin-top:12px; color:#D08700; font-weight:700;}
.rating span{color:var(--steel); font-weight:400; margin-left:4px;}
.blurb{font-size:13.5px; color:var(--steel); margin-top:10px; flex:1;}
.dti{margin-top:15px; padding-top:14px; border-top:1px solid var(--line);}
.dti-head{display:flex; justify-content:space-between; align-items:baseline; font-size:11.5px; color:var(--steel); font-weight:600;}
.dti-head b{font-family:'Archivo',sans-serif; font-size:16px; color:var(--blue); font-weight:900;}
.dti-bars{display:flex; gap:3px; margin-top:8px;}
.dti-bars i{height:6px; flex:1; border-radius:2px; background:var(--dim-border);}
.dti-bars i.on{background:var(--blue);}
.dti-note{font-size:11px; color:var(--dim-text); margin-top:7px;}
.card-cta{margin-top:15px; background:var(--navy); color:#fff; text-align:center; padding:11px; border-radius:10px; font-size:13.5px; font-weight:700;}
.card-cta:hover{background:var(--blue);}

.unvetted{background:var(--dim-bg);}
.promo{background:var(--navy); color:#fff; border-radius:16px; padding:24px 28px; display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:30px;}
.promo h3{color:#fff; font-size:19px; font-weight:800;}
.promo p{font-size:14px; color:rgba(255,255,255,.65); margin-top:5px; max-width:62ch;}
.card.dim{background:transparent; border:1.5px dashed var(--dim-border);}
.card.dim h3{color:#6C7683; font-size:16.5px;}
.card.dim .city,.card.dim .trade{color:var(--dim-text);}
.card.dim .lock{font-size:12px; color:#8B96A3; margin-top:12px; font-style:italic;}

/* 9 CHECKS - horizontal 3-across */
.checks-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.check-item{background:#fff; padding:26px 24px; display:flex; gap:15px; align-items:flex-start;}
.check-num{width:34px;height:34px;flex-shrink:0;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-family:'Archivo',sans-serif;}
.check-body h4{font-size:16px; font-weight:800; color:var(--navy); margin-bottom:5px;}
.check-body p{font-size:14px; color:var(--steel); line-height:1.55;}
.checks-foot{font-size:13px; color:var(--dim-text); text-align:center; margin-top:20px;}
@media(max-width:900px){.checks-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.checks-grid{grid-template-columns:1fr;}}

/* DTI - horizontal rows */
.dti-rows{border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff;}
.dti-row{display:grid; grid-template-columns:52px 1.1fr 1.4fr 62px; gap:18px; align-items:center; padding:22px 26px; border-bottom:1px solid var(--line);}
.dti-row:last-child{border-bottom:none;}
.dti-icon{width:40px;height:40px;background:#EEF4FE;border-radius:11px;display:flex;align-items:center;justify-content:center;}
.dti-icon svg{width:19px;height:19px;stroke:var(--blue);fill:none;stroke-width:2;}
.dti-row h4{font-size:17px; font-weight:800;}
.dti-row .dti-desc p{font-size:14px; color:var(--steel); line-height:1.55; margin-top:3px;}
.dti-track{height:9px; background:var(--dim-bg); border-radius:5px; overflow:hidden;}
.dti-fill{height:100%; background:linear-gradient(90deg,var(--blue),var(--blue-lt)); border-radius:5px;}
.dti-sample{font-size:11.5px; color:var(--dim-text); margin-top:7px;}
.dti-val{font-family:'Archivo',sans-serif; font-size:20px; font-weight:900; color:var(--blue); text-align:right;}
@media(max-width:820px){
  .dti-row{grid-template-columns:52px 1fr 58px; gap:14px; row-gap:12px;}
  .dti-row .dti-bar-wrap{grid-column:1 / span 3;}
}

/* WARNING STRIP */
.warnstrip{background:linear-gradient(150deg,#08172C 0%,#102544 100%); color:#fff; padding:76px 0;}
.warnstrip .label{color:var(--blue-lt);}
.warnstrip h2{color:#fff;}
.warnstrip .sub{color:rgba(255,255,255,.6);}
.warn-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){.warn-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.warn-grid{grid-template-columns:1fr;}}
.warn-item{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:24px 22px;}
.warn-item .wi{width:36px;height:36px;border-radius:10px;background:rgba(96,165,250,.15);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.warn-item .wi svg{width:18px;height:18px;stroke:var(--blue-lt);fill:none;stroke-width:2;}
.warn-item h4{font-size:16.5px; font-weight:800; margin-bottom:7px; color:var(--blue-lt);}
.warn-item p{font-size:14.5px; color:rgba(255,255,255,.6); line-height:1.6;}
.warn-item.good{background:rgba(22,163,74,.09); border-color:rgba(134,239,172,.28);}
.warn-item.good .wi{background:rgba(22,163,74,.2);}
.warn-item.good .wi svg{stroke:var(--green-lt);}
.warn-item.good h4{color:var(--green-lt);}

/* DUAL CTA */
.dual{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media(max-width:760px){.dual{grid-template-columns:1fr;}}
.pane{border-radius:18px; padding:40px 38px;}
.pane.home{background:var(--navy); color:#fff;}
.pane.pro{background:var(--green); color:#fff;}
.pane .pi{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.pane .pi svg{width:23px;height:23px;stroke:#fff;fill:none;stroke-width:2;}
.pane h3{font-size:24px; font-weight:900; margin-bottom:10px; color:#fff;}
.pane p{font-size:15.5px; margin-bottom:24px; opacity:.8; line-height:1.7;}
.pane ul{list-style:none; margin-bottom:26px;}
.pane li{font-size:15px; padding:5px 0; opacity:.82; display:flex; gap:9px;}
.pane .btn{background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25);}
.pane .btn:hover{background:rgba(255,255,255,.24);}
.pane.pro .btn{background:rgba(0,0,0,.22); border-color:transparent;}
.pane.pro .btn:hover{background:rgba(0,0,0,.32);}

/* FEATURE ROW */
.feat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:16px; margin-top:24px;}
.feat{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px 20px;}
.feat .fi{width:34px;height:34px;border-radius:9px;background:#E7F0FE;display:flex;align-items:center;justify-content:center;margin-bottom:13px;}
.feat .fi svg{width:17px;height:17px;stroke:var(--blue);fill:none;stroke-width:2;}
.feat h4{font-size:15.5px; font-weight:800; margin-bottom:6px;}
.feat p{font-size:14px; color:var(--steel); line-height:1.55;}

.disclaimer{margin-top:24px; padding:18px 20px; background:var(--paper); border-left:4px solid var(--blue); border-radius:0 10px 10px 0; font-size:13.5px; color:var(--steel); line-height:1.7;}

.prose h2{font-size:23px; font-weight:900; margin:34px 0 11px;}
.prose h3{font-size:16.5px; font-weight:800; margin:24px 0 7px;}
.prose p{font-size:15px; color:var(--steel); margin-bottom:13px; line-height:1.75;}
.prose ul,.prose ol{margin:0 0 15px 20px;}
.prose li{font-size:14.5px; color:var(--steel); margin-bottom:8px; line-height:1.7;}
.prose strong{color:var(--navy);}
.prose a{color:var(--blue); font-weight:600; text-decoration:underline;}
.prose a.btn{text-decoration:none; color:#fff; font-weight:700;}
.prose a.btn-green{color:#fff;}
.notice{background:var(--paper); border-left:4px solid var(--blue); border-radius:0 10px 10px 0; padding:16px 18px; font-size:13.5px; color:var(--steel); margin:22px 0; line-height:1.7;}

.pf-grid{display:grid; grid-template-columns:1fr 330px; gap:38px; align-items:start;}
@media(max-width:880px){.pf-grid{grid-template-columns:1fr;}}
.pf-box{border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:18px;}
.pf-box h3{font-size:15.5px; font-weight:800; margin-bottom:14px;}
.pf-row{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.pf-row:last-child{border-bottom:none;}
.pf-row span{color:var(--steel);}
.pf-row b{font-weight:600; text-align:right;}
.pf-row b.ok{color:var(--green-deep);}
.pf-side{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:24px; position:sticky; top:20px;}
.scorebar{margin-bottom:15px;}
.scorebar-t{display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:6px;}
.scorebar-t b{font-family:'Archivo',sans-serif; font-weight:800; color:var(--blue);}
.scorebar-track{height:7px; background:var(--dim-border); border-radius:4px; overflow:hidden;}
.scorebar-fill{height:100%; background:linear-gradient(90deg,var(--blue),var(--blue-lt));}
.review{border-bottom:1px solid var(--line); padding:14px 0;}
.review:last-child{border-bottom:none;}
.review-h{display:flex; justify-content:space-between; font-size:13px; font-weight:700; gap:10px;}
.review-h em{color:#D08700; font-style:normal;}
.review p{font-size:13.5px; color:var(--steel); margin-top:6px; line-height:1.65;}

.field{margin-bottom:17px;}
.field label{display:block; font-size:13px; font-weight:700; margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%; padding:12px 14px; border:2px solid var(--line); border-radius:10px; font-size:14px; font-family:inherit; color:var(--navy); background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--blue);}
.field textarea{min-height:130px; resize:vertical;}
.form-note{font-size:12.5px; color:var(--steel); margin-top:15px;}

.tiers{display:grid; grid-template-columns:repeat(auto-fit,minmax(265px,1fr)); gap:20px;}
.tier{border:1px solid var(--line); border-radius:16px; padding:30px 27px;}
.tier.feature{border:2px solid var(--green);}
.tier h3{font-size:19px; font-weight:900;}
.tier .amt{font-family:'Archivo',sans-serif; font-size:32px; font-weight:900; margin:10px 0 3px; color:var(--navy);}
.tier .per{font-size:12.5px; color:var(--steel); margin-bottom:18px;}
.tier ul{list-style:none; margin-bottom:22px;}
.tier li{font-size:15px; color:var(--steel); padding:6px 0; display:flex; gap:9px; align-items:flex-start;}
.tier li svg{width:14px;height:14px;flex-shrink:0;stroke:var(--green);fill:none;stroke-width:2.5;margin-top:3px;}

footer{background:#08172C; color:rgba(255,255,255,.5); padding:56px 0 30px; font-size:13px;}
.foot-top{display:flex; justify-content:space-between; gap:34px; flex-wrap:wrap; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.07); margin-bottom:24px;}
.foot-brand{max-width:340px;}
.foot-brand b{color:#fff; font-family:'Archivo',sans-serif; font-size:17px; display:block; margin-bottom:9px;}
.foot-brand p{line-height:1.7; font-size:12.8px;}
.foot-col b{color:#fff; font-size:12px; display:block; margin-bottom:11px; text-transform:uppercase; letter-spacing:.06em;}
.foot-col a{display:block; padding:4px 0; color:rgba(255,255,255,.45); font-size:12.8px;}
.foot-col a:hover{color:var(--blue-lt);}
.foot-bot{font-size:12px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;}

@media(max-width:640px){
  .wrap,.nav-in{padding-left:18px; padding-right:18px;}
  section.pad{padding:48px 0;}
  .pane{padding:30px 24px;}
  .trustbar{padding:20px;}
}


/* ── SERVICES PAGE ── */
.svc-hero{background:radial-gradient(ellipse 80% 60% at 50% -10%, rgba(37,99,235,.35) 0%, transparent 70%), var(--navy); color:#fff; padding:72px 0 64px; text-align:center;}
.svc-hero h1{color:#fff; font-size:clamp(2.1rem,4.6vw,3.3rem); font-weight:900; max-width:19ch; margin:0 auto;}
.svc-hero h1 em{color:var(--blue-lt); font-style:normal;}
.svc-hero p{color:rgba(255,255,255,.65); font-size:17px; margin:20px auto 0; max-width:58ch; line-height:1.7;}

.leak{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-top:34px;}
.leak-item{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 22px;}
.leak-item b{display:block; font-family:'Archivo',sans-serif; font-size:2rem; font-weight:900; color:var(--blue); line-height:1;}
.leak-item h4{font-size:16px; font-weight:800; margin:12px 0 7px; line-height:1.25;}
.leak-item p{font-size:14px; color:var(--steel); line-height:1.6;}

.calc{background:var(--navy); border-radius:18px; padding:34px 32px; color:#fff;}
.calc h3{color:#fff; font-size:20px; font-weight:900; margin-bottom:6px;}
.calc>p{color:rgba(255,255,255,.6); font-size:13.5px; margin-bottom:22px;}
.calc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-bottom:24px;}
.calc-f label{display:block; font-size:12px; font-weight:700; color:rgba(255,255,255,.7); margin-bottom:6px;}
.calc-f input{width:100%; padding:11px 13px; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:rgba(255,255,255,.07); color:#fff; font-size:15px; font-family:'Archivo',sans-serif; font-weight:700;}
.calc-f input:focus{outline:none; border-color:var(--blue-lt);}
.calc-out{background:rgba(37,99,235,.16); border:1px solid rgba(96,165,250,.35); border-radius:13px; padding:22px; text-align:center;}
.calc-out span{font-size:12px; font-weight:700; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.06em;}
.calc-out b{display:block; font-family:'Archivo',sans-serif; font-size:2.6rem; font-weight:900; color:var(--blue-lt); line-height:1.1; margin:6px 0;}
.calc-note{font-size:11.5px; color:rgba(255,255,255,.45); margin-top:12px; line-height:1.6;}

.svc-block{display:grid; grid-template-columns:1.05fr 1fr; gap:52px; align-items:start; padding:56px 0; border-bottom:1px solid var(--line);}
.svc-block:last-child{border-bottom:none;}
.svc-block.flip .svc-copy{order:2;}
@media(max-width:820px){.svc-block{grid-template-columns:1fr; gap:26px;} .svc-block.flip .svc-copy{order:0;}}
.svc-tag{display:inline-flex; align-items:center; gap:7px; background:#EAF7EF; color:var(--green-deep); font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:7px 15px; border-radius:100px; margin-bottom:18px;}
.svc-copy h3{font-size:clamp(1.55rem,2.7vw,2.05rem); font-weight:900; margin-bottom:14px; line-height:1.14;}
.svc-copy>p{font-size:17px; color:var(--steel); line-height:1.7; margin-bottom:26px;}
.svc-list{list-style:none; border-top:1px solid var(--line);}
.svc-list li{font-size:15.5px; color:var(--navy); font-weight:500; padding:13px 0; display:flex; gap:13px; align-items:flex-start; line-height:1.5; border-bottom:1px solid var(--line);}
.svc-list li svg{width:19px;height:19px;flex-shrink:0;stroke:var(--green);fill:none;stroke-width:2.8;margin-top:2px;}

.demo{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px; position:sticky; top:96px;}
@media(max-width:820px){.demo{position:static;}}
.demo-h{display:flex; align-items:center; gap:9px; padding-bottom:13px; border-bottom:1px solid var(--line); margin-bottom:15px;}
.demo-dot{width:8px;height:8px;border-radius:50%;background:var(--green);}
.demo-h span{font-size:12px; font-weight:700; color:var(--steel);}
.bub{max-width:82%; padding:11px 15px; border-radius:15px; font-size:13.5px; line-height:1.5; margin-bottom:10px;}
.bub.them{background:#fff; border:1px solid var(--line); border-bottom-left-radius:5px;}
.bub.us{background:var(--blue); color:#fff; margin-left:auto; border-bottom-right-radius:5px;}
.bub-t{font-size:10.5px; color:var(--dim-text); margin-bottom:12px;}
.bub-t.r{text-align:right;}

.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:18px;}
.step{position:relative; padding-top:14px;}
.step-n{width:32px;height:32px;background:var(--blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-size:13px;font-weight:900;margin-bottom:13px;}
.step h4{font-size:17px; font-weight:800; margin-bottom:6px;}
.step p{font-size:14.5px; color:var(--steel); line-height:1.6;}

.expo{background:linear-gradient(150deg,#08172C 0%,#102544 100%); color:#fff; padding:76px 0;}
.expo .label{color:var(--green-lt);}
.expo h2{color:#fff;}
.expo .sub{color:rgba(255,255,255,.6);}
.expo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){.expo-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.expo-grid{grid-template-columns:1fr;}}
.expo-item{background:rgba(22,163,74,.09); border:1px solid rgba(134,239,172,.26); border-radius:14px; padding:26px 24px;}
.expo-item .ei{width:36px;height:36px;border-radius:10px;background:rgba(22,163,74,.2);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.expo-item .ei svg{width:18px;height:18px;stroke:var(--green-lt);fill:none;stroke-width:2;}
.expo-item h4{font-size:17px; font-weight:800; margin-bottom:8px; color:var(--green-lt);}
.expo-item p{font-size:14.5px; color:rgba(255,255,255,.62); line-height:1.65;}
.expo-fine{margin-top:26px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:18px 20px; font-size:13px; color:rgba(255,255,255,.6); line-height:1.7;}
.expo-fine b{color:#fff;}

.inc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.inc{background:#fff; padding:26px 24px;}
.inc h4{font-size:16px; font-weight:800; margin-bottom:8px; display:flex; gap:10px; align-items:center;}
.inc h4 svg{width:17px;height:17px;stroke:var(--green);fill:none;stroke-width:2.8;flex-shrink:0;}
.inc p{font-size:14px; color:var(--steel); line-height:1.6;}

.integ{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.integ span{background:var(--paper); border:1px solid var(--line); border-radius:9px; padding:10px 18px; font-size:13px; font-weight:600; color:var(--steel);}

.faq-list{display:flex; flex-direction:column; gap:10px;}
.faq-item{border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.faq-q{width:100%; padding:18px 22px; background:#fff; border:none; display:flex; justify-content:space-between; align-items:center; gap:14px; text-align:left; cursor:pointer; font-size:14.5px; font-weight:700; color:var(--navy); font-family:inherit;}
.faq-q:hover{background:var(--paper);}
.faq-ar{color:var(--blue); flex-shrink:0; font-size:19px; line-height:1; transition:transform .2s;}
.faq-item.open .faq-ar{transform:rotate(45deg);}
.faq-a{display:none; padding:0 22px 20px; font-size:14px; color:var(--steel); line-height:1.75;}
.faq-item.open .faq-a{display:block;}

.bigcta{background:var(--green); border-radius:20px; padding:52px 44px; text-align:center; color:#fff;}
.bigcta h2{color:#fff; font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:900; max-width:20ch; margin:0 auto 14px;}
.bigcta p{font-size:15.5px; opacity:.85; max-width:54ch; margin:0 auto 28px; line-height:1.7;}
.bigcta .btn{background:#fff; color:var(--green-deep);}
.bigcta .btn:hover{background:rgba(255,255,255,.9);}
.bigcta .btn.alt{background:rgba(0,0,0,.2); color:#fff;}
.bigcta .btn.alt:hover{background:rgba(0,0,0,.3);}


/* ── SERVICES v2 ── */
.shero{background:radial-gradient(ellipse 90% 70% at 20% -10%, rgba(37,99,235,.32) 0%, transparent 68%), var(--navy); color:#fff; padding:70px 0 66px;}
.shero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center;}
@media(max-width:900px){.shero-grid{grid-template-columns:1fr; gap:36px;}}
.shero h1{color:#fff; font-size:clamp(2rem,3.7vw,2.9rem); font-weight:900; line-height:1.1; max-width:16ch;}
.shero h1 em{color:var(--blue-lt); font-style:normal;}
.shero>div>p.lede{color:rgba(255,255,255,.7); font-size:17px; margin-top:22px; line-height:1.7; max-width:52ch;}
.shero-checks{display:grid; grid-template-columns:1fr 1fr; gap:13px 26px; margin-top:30px;}
@media(max-width:520px){.shero-checks{grid-template-columns:1fr;}}
.shero-checks div{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:rgba(255,255,255,.85); font-weight:500;}
.shero-checks svg{width:17px;height:17px;flex-shrink:0;stroke:var(--green-lt);fill:none;stroke-width:2.6;margin-top:2px;}
.shero-fine{margin-top:20px; font-size:13px; color:rgba(255,255,255,.5); display:flex; gap:8px; align-items:center;}
.shero-fine svg{width:15px;height:15px;stroke:var(--green-lt);fill:none;stroke-width:2;flex-shrink:0;}
.livecard{background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.13); border-radius:18px; padding:24px;}
.livecard-h{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
.livecard-h b{font-size:11.5px; font-weight:800; letter-spacing:.09em; color:var(--green-lt); display:flex; gap:8px; align-items:center;}
.livedot{width:8px;height:8px;border-radius:50%;background:var(--green-lt);}
.livecard-h span{font-size:11px; color:rgba(255,255,255,.4);}
.liverow{background:rgba(37,99,235,.14); border:1px solid rgba(96,165,250,.28); border-radius:12px; padding:15px 17px; margin-bottom:10px;}
.liverow b{font-size:11px; font-weight:800; letter-spacing:.06em; color:var(--blue-lt); text-transform:uppercase; display:block; margin-bottom:6px;}
.liverow p{font-size:14px; color:rgba(255,255,255,.82); line-height:1.55;}
.liverow.g{background:rgba(22,163,74,.13); border-color:rgba(134,239,172,.3);}
.liverow.g b{color:var(--green-lt);}

.leak-item .cost{margin-top:16px; padding-top:13px; border-top:1px solid var(--line); font-size:13px; font-weight:700; color:var(--blue);}
.leak-item .ic{width:40px;height:40px;border-radius:11px;background:#E7F0FE;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.leak-item .ic svg{width:19px;height:19px;stroke:var(--blue);fill:none;stroke-width:2;}

/* result / scenario cards */
.res-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:900px){.res-grid{grid-template-columns:1fr;}}
.res{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 24px; position:relative; overflow:hidden;}
.res-tag{position:absolute; top:0; right:0; background:var(--navy); color:#fff; font-size:10.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:6px 13px; border-bottom-left-radius:10px;}
.res-tag.b{background:var(--blue);} .res-tag.g{background:var(--green);}
.res h4{font-size:13px; font-weight:800; color:var(--steel); text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px;}
.res .big{font-family:'Archivo',sans-serif; font-size:2.5rem; font-weight:900; color:var(--navy); line-height:1;}
.res .biglbl{font-size:13.5px; color:var(--steel); margin-top:5px;}
.res-metrics{background:var(--paper); border-radius:11px; padding:15px 17px; margin:18px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.res-metrics span{font-size:11.5px; color:var(--steel); display:block; margin-bottom:3px;}
.res-metrics b{font-family:'Archivo',sans-serif; font-size:16px; font-weight:800;}
.res-note{font-size:13.5px; color:var(--steel); line-height:1.65; border-left:3px solid var(--blue); padding-left:14px;}
.res-foot{margin-top:18px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--dim-text); display:flex; justify-content:space-between; gap:10px;}

/* system cards */
.sys-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media(max-width:820px){.sys-grid{grid-template-columns:1fr;}}
.sys{background:var(--navy); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:28px 26px; position:relative;}
.sys-n{position:absolute; top:24px; right:24px; font-size:10.5px; font-weight:800; letter-spacing:.08em; color:var(--blue-lt); background:rgba(37,99,235,.18); border:1px solid rgba(96,165,250,.3); padding:4px 11px; border-radius:6px;}
.sys .si{width:46px;height:46px;border-radius:12px;background:rgba(37,99,235,.18);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.sys .si svg{width:22px;height:22px;stroke:var(--blue-lt);fill:none;stroke-width:2;}
.sys h3{color:#fff; font-size:20px; font-weight:900; margin-bottom:10px;}
.sys>p{font-size:14.5px; color:rgba(255,255,255,.62); line-height:1.65; margin-bottom:16px;}
.sys ul{list-style:none; border-top:1px solid rgba(255,255,255,.1); padding-top:14px;}
.sys li{font-size:13.5px; color:rgba(255,255,255,.75); padding:6px 0; display:flex; gap:10px;}
.sys li svg{width:15px;height:15px;flex-shrink:0;stroke:var(--green-lt);fill:none;stroke-width:2.6;margin-top:3px;}

/* calculator v2 */
.calc2{display:grid; grid-template-columns:1.15fr .85fr; gap:22px;}
@media(max-width:880px){.calc2{grid-template-columns:1fr;}}
.calc-pane{background:var(--navy); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:30px 28px; color:#fff;}
.calc-pane h4{color:rgba(255,255,255,.6); font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:13px;}
.tabs{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:26px;}
@media(max-width:520px){.tabs{grid-template-columns:1fr 1fr;}}
.tab{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:9px; padding:11px 8px; font-size:13.5px; font-weight:700; color:rgba(255,255,255,.7); cursor:pointer; font-family:inherit; text-align:center;}
.tab.on{background:var(--blue); border-color:var(--blue); color:#fff;}
.sl{margin-bottom:24px;}
.sl-h{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:9px; gap:12px;}
.sl-h label{font-size:14px; font-weight:600; color:rgba(255,255,255,.85);}
.sl-h b{font-family:'Archivo',sans-serif; font-size:19px; font-weight:900; color:var(--blue-lt); white-space:nowrap;}
.sl input[type=range]{width:100%; height:6px; border-radius:3px; background:rgba(255,255,255,.15); -webkit-appearance:none; appearance:none; cursor:pointer;}
.sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--blue-lt); cursor:pointer; border:3px solid var(--navy);}
.sl input[type=range]::-moz-range-thumb{width:20px; height:20px; border-radius:50%; background:var(--blue-lt); cursor:pointer; border:3px solid var(--navy);}
.sl-f{display:flex; justify-content:space-between; font-size:11.5px; color:rgba(255,255,255,.4); margin-top:7px;}
.calc-res{background:#0A1729; border:2px solid var(--green); border-radius:18px; padding:30px 28px; color:#fff; display:flex; flex-direction:column;}
.calc-res>span{font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--green-lt);}
.calc-res .amt{font-family:'Archivo',sans-serif; font-size:3.1rem; font-weight:900; color:var(--green-lt); line-height:1.05; margin:8px 0 4px;}
.calc-res .per{font-size:15px; color:rgba(255,255,255,.75); margin-bottom:24px;}
.calc-line{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.14); font-size:15px;}
.calc-line:last-of-type{border-bottom:none;}
.calc-line span{color:rgba(255,255,255,.88); display:flex; gap:10px; align-items:center; font-weight:500;}
.calc-line svg{width:16px;height:16px;stroke:var(--blue-lt);fill:none;stroke-width:2;flex-shrink:0;}
.calc-line b{font-family:'Archivo',sans-serif; font-weight:800; color:var(--green-lt); white-space:nowrap;}
.calc-cta{margin-top:auto; padding-top:22px;}
.calc-fine{font-size:12.5px; color:rgba(255,255,255,.62); line-height:1.7; margin-top:16px;}

/* founder */
.founder{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start;}
@media(max-width:880px){.founder{grid-template-columns:1fr; gap:32px;}}
.founder-card{background:var(--navy); border-radius:18px; padding:34px 30px; color:#fff;}
.founder-card .fseal{width:76px;height:76px;margin-bottom:20px;}
.founder-card h4{color:#fff; font-size:20px; font-weight:900; margin-bottom:5px;}
.founder-card .role{font-size:13px; color:var(--green-lt); font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:20px;}
.founder-stat{padding:13px 0; border-top:1px solid rgba(255,255,255,.12);}
.founder-stat b{display:block; font-family:'Archivo',sans-serif; font-size:22px; font-weight:900; color:var(--blue-lt);}
.founder-stat span{font-size:12.5px; color:rgba(255,255,255,.55);}
.founder-body p{font-size:16.5px; color:var(--steel); line-height:1.75; margin-bottom:16px;}
.pullq{border-left:4px solid var(--blue); padding:4px 0 4px 20px; margin:22px 0; font-size:17.5px; font-weight:600; color:var(--navy); line-height:1.6;}
.pledge{margin-top:26px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:18px;}
.pledge h4{font-size:17px; font-weight:900; margin-bottom:4px;}
.pledge p{font-size:13.5px; color:var(--steel);}
.pledge .pic{width:52px;height:52px;border-radius:50%;background:#EAF7EF;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pledge .pic svg{width:25px;height:25px;stroke:var(--green);fill:none;stroke-width:2;}

/* phases */
.phases{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:820px){.phases{grid-template-columns:1fr;}}
.phase{background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px 26px;}
.phase-n{width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--green-lt);display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-size:16px;font-weight:900;margin-bottom:18px;}
.phase-day{display:inline-block; background:#E7F0FE; color:var(--blue); font-size:11.5px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; padding:4px 11px; border-radius:100px; margin-bottom:10px;}
.phase h4{font-size:20px; font-weight:900; margin-bottom:10px;}
.phase p{font-size:14.5px; color:var(--steel); line-height:1.65;}
.phase .result{margin-top:18px; padding-top:15px; border-top:1px solid var(--line); font-size:13.5px; font-weight:700; color:var(--blue);}

/* trades */
.trades{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;}
.trade-c{background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px 16px; text-align:center;}
.trade-c b{display:block; font-size:14.5px; font-weight:800; margin-bottom:4px;}
.trade-c span{font-size:12px; color:var(--steel);}


/* ── $297 EMPHASIS SYSTEM ── */
.pricechip{display:inline-flex; align-items:baseline; gap:6px; background:var(--green); color:#fff; font-family:'Archivo',sans-serif; font-weight:900; padding:6px 15px; border-radius:100px; font-size:16px; letter-spacing:-.01em; margin-left:12px; vertical-align:middle; white-space:nowrap;}
.pricechip small{font-size:11.5px; font-weight:700; opacity:.85; letter-spacing:0;}
.pricechip.dark{background:rgba(134,239,172,.16); border:1px solid rgba(134,239,172,.42); color:var(--green-lt);}

/* giant background watermark */
.wm{position:relative; overflow:hidden;}
.wm>.wrap{position:relative; z-index:2;}
.wm::before{
  content:"$297";
  position:absolute; right:-3%; top:50%; transform:translateY(-50%);
  font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(11rem,26vw,24rem);
  line-height:.8; letter-spacing:-.05em; color:var(--navy); opacity:.035;
  pointer-events:none; user-select:none; z-index:1; white-space:nowrap;
}
.wm.dk::before{color:#fff; opacity:.045;}
.wm.lft::before{right:auto; left:-3%;}
@media(max-width:820px){.wm::before{font-size:15rem; opacity:.028;}}

/* full-width price band */
.priceband{background:var(--green); color:#fff; padding:56px 0; text-align:center; position:relative; overflow:hidden;}
.priceband::before{content:"$297 $297 $297 $297 $297"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Archivo',sans-serif; font-weight:900; font-size:9rem; line-height:1; color:#fff; opacity:.07; white-space:nowrap; letter-spacing:.02em; pointer-events:none;}
.priceband .pb-in{position:relative; z-index:2;}
.priceband .pb-amt{font-family:'Archivo',sans-serif; font-size:clamp(4rem,12vw,8rem); font-weight:900; line-height:.92; letter-spacing:-.035em;}
.priceband .pb-amt sup{font-size:.36em; vertical-align:super; margin-right:2px;}
.priceband .pb-per{font-size:clamp(1.1rem,2.4vw,1.6rem); font-weight:700; opacity:.85; margin-top:4px;}
.priceband .pb-sub{font-size:16.5px; opacity:.82; max-width:56ch; margin:18px auto 0; line-height:1.7;}
.priceband .pb-row{display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-top:26px; font-size:14.5px; font-weight:700;}
.priceband .pb-row span{display:flex; gap:8px; align-items:center; opacity:.9;}
.priceband .pb-row svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2.6;}
.priceband .btn{background:#fff; color:var(--green-deep); margin-top:28px;}
.priceband .btn:hover{background:rgba(255,255,255,.9);}

/* inline price reinforcement strip */
.pricestrip{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; background:var(--paper); border:2px solid var(--green); border-radius:14px; padding:18px 26px; margin-top:28px;}
.pricestrip b{font-family:'Archivo',sans-serif; font-size:2.1rem; font-weight:900; color:var(--green-deep); line-height:1;}
.pricestrip b small{font-size:.42em; font-weight:800;}
.pricestrip span{font-size:15.5px; color:var(--steel); font-weight:500;}
.pricestrip.dk{background:rgba(22,163,74,.1); border-color:rgba(134,239,172,.45);}
.pricestrip.dk b{color:var(--green-lt);}
.pricestrip.dk span{color:rgba(255,255,255,.75);}

/* sticky bottom price bar */
.stickybar{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--navy); border-top:2px solid var(--green); padding:13px 0; transform:translateY(110%); transition:transform .28s ease;}
.stickybar.on{transform:translateY(0);}
.sb-in{max-width:1140px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;}
.sb-l{display:flex; align-items:baseline; gap:12px; color:#fff;}
.sb-l b{font-family:'Archivo',sans-serif; font-size:2rem; font-weight:900; color:var(--green-lt); line-height:1;}
.sb-l b small{font-size:.44em; font-weight:800;}
.sb-l span{font-size:14px; color:rgba(255,255,255,.65);}
.sb-in .btn{padding:11px 22px; font-size:14px;}
@media(max-width:620px){.sb-l span{display:none;} .sb-in{justify-content:center;} .stickybar{padding:10px 0;}}

/* price tag on system cards */
.sys-price{margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1); font-size:13.5px; color:var(--green-lt); font-weight:700; display:flex; gap:8px; align-items:center;}
.sys-price b{font-family:'Archivo',sans-serif; font-size:17px; font-weight:900;}

/* make the growth tier price enormous */
.tier.feature .amt{font-size:4.2rem; color:var(--green-deep); line-height:.95;}
.tier.feature .amt small{font-size:.34em; font-weight:800;}
.tier.feature{position:relative; overflow:hidden;}
.tier.feature::after{content:"BEST VALUE"; position:absolute; top:16px; right:-32px; background:var(--green); color:#fff; font-size:10.5px; font-weight:900; letter-spacing:.1em; padding:5px 40px; transform:rotate(38deg);}


/* ── FOUR SERVICES BLOCK (used everywhere) ── */
.four{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
@media(max-width:900px){.four{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.four{grid-template-columns:1fr;}}
.f4{background:#fff; border:2px solid var(--line); border-radius:14px; padding:24px 20px; text-align:center;}
.f4 .f4i{width:48px;height:48px;margin:0 auto 14px;border-radius:13px;background:#E7F0FE;display:flex;align-items:center;justify-content:center;}
.f4 .f4i svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:2;}
.f4 h4{font-size:16.5px; font-weight:900; margin-bottom:7px; line-height:1.25;}
.f4 p{font-size:14px; color:var(--steel); line-height:1.55;}
.f4 .free{display:inline-block; background:var(--green); color:#fff; font-size:11px; font-weight:900; letter-spacing:.07em; padding:3px 10px; border-radius:100px; margin-bottom:9px;}
.f4.dk{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14);}
.f4.dk h4{color:#fff;}
.f4.dk p{color:rgba(255,255,255,.68);}
.f4.dk .f4i{background:rgba(96,165,250,.16);}
.f4.dk .f4i svg{stroke:var(--blue-lt);}
.f4.gr{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.3);}
.f4.gr h4{color:#fff;} .f4.gr p{color:rgba(255,255,255,.9);}
.f4.gr .f4i{background:rgba(255,255,255,.2);} .f4.gr .f4i svg{stroke:#fff;}
.f4.gr .free{background:#fff; color:var(--green-deep);}

/* compact 4-service list for tight spots */
.four-min{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 20px; margin-top:20px;}
@media(max-width:520px){.four-min{grid-template-columns:1fr;}}
.four-min div{display:flex; gap:10px; align-items:flex-start; font-size:15px; font-weight:600;}
.four-min svg{width:18px;height:18px;flex-shrink:0;stroke:var(--green);fill:none;stroke-width:2.6;margin-top:2px;}
.four-min.dk div{color:rgba(255,255,255,.9);}
.four-min.dk svg{stroke:var(--green-lt);}
.four-min.gr div{color:#fff;} .four-min.gr svg{stroke:#fff;}

/* never-changes guarantee */
.guar{background:var(--navy); border-radius:18px; padding:38px 34px; color:#fff; text-align:center; margin-top:30px;}
.guar h3{color:#fff; font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:900; margin-bottom:12px;}
.guar p{font-size:16px; color:rgba(255,255,255,.7); max-width:58ch; margin:0 auto; line-height:1.7;}
.guar-row{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:26px;}
@media(max-width:820px){.guar-row{grid-template-columns:1fr 1fr;}}
.guar-i{background:rgba(22,163,74,.12); border:1px solid rgba(134,239,172,.3); border-radius:12px; padding:18px 14px;}
.guar-i b{display:block; font-family:'Archivo',sans-serif; font-size:15.5px; font-weight:900; color:var(--green-lt); margin-bottom:4px;}
.guar-i span{font-size:13px; color:rgba(255,255,255,.62);}


/* ── PARTNERSHIP / GFHA ── */
.gf-hero{background:radial-gradient(ellipse 80% 70% at 50% -10%, rgba(37,99,235,.3) 0%, transparent 68%), var(--navy); color:#fff; padding:66px 0 58px;}
.gf-hero h1{color:#fff; font-size:clamp(2rem,4.2vw,3.1rem); font-weight:900; max-width:20ch; line-height:1.1;}
.gf-hero h1 em{color:var(--blue-lt); font-style:normal;}
.gf-hero p{color:rgba(255,255,255,.7); font-size:17px; margin-top:20px; max-width:62ch; line-height:1.7;}

.bigstats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); border-radius:16px; overflow:hidden; margin-top:38px;}
@media(max-width:820px){.bigstats{grid-template-columns:1fr 1fr;}}
.bs{background:var(--navy-2); padding:24px 20px; text-align:center;}
.bs b{display:block; font-family:'Archivo',sans-serif; font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:900; color:var(--blue-lt); line-height:1;}
.bs span{font-size:12.5px; color:rgba(255,255,255,.58); display:block; margin-top:7px; line-height:1.4;}

.reach{background:linear-gradient(150deg,#08172C,#102544); color:#fff; padding:72px 0;}
.reach .label{color:var(--green-lt);}
.reach h2{color:#fff;}
.reach .sub{color:rgba(255,255,255,.6);}
.reach-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:820px){.reach-grid{grid-template-columns:1fr 1fr;}}
.rc{background:rgba(96,165,250,.09); border:1px solid rgba(96,165,250,.28); border-radius:14px; padding:26px 22px; text-align:center;}
.rc b{display:block; font-family:'Archivo',sans-serif; font-size:2.2rem; font-weight:900; color:var(--blue-lt); line-height:1;}
.rc span{font-size:13.5px; color:rgba(255,255,255,.68); display:block; margin-top:9px; line-height:1.5;}

.prog{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;}
.pg{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 24px;}
.pg .pgn{font-size:11px; font-weight:900; letter-spacing:.09em; color:var(--blue); margin-bottom:11px;}
.pg h4{font-size:18px; font-weight:900; margin-bottom:9px;}
.pg p{font-size:14px; color:var(--steel); line-height:1.65;}
.pg .pgs{margin-top:14px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; color:var(--steel);}
.pg .pgs b{font-family:'Archivo',sans-serif; color:var(--navy); font-weight:900;}

.fraudbox{background:var(--navy); border-radius:18px; padding:40px 36px; color:#fff; margin-top:8px;}
.fraudbox h3{color:#fff; font-size:clamp(1.4rem,2.7vw,2rem); font-weight:900; margin-bottom:14px;}
.fraudbox p{font-size:16px; color:rgba(255,255,255,.72); line-height:1.75; margin-bottom:14px; max-width:70ch;}
.fraudbox .fq{border-left:4px solid var(--green-lt); padding-left:20px; margin:22px 0; font-size:17px; font-weight:600; color:#fff; line-height:1.6;}

.deploy-list{border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.dp{display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; padding:15px 22px; border-bottom:1px solid var(--line); background:#fff;}
.dp:last-child{border-bottom:none;}
.dp-yr{font-family:'Archivo',sans-serif; font-size:13px; font-weight:900; color:var(--blue); width:42px;}
.dp-n b{font-size:15px; font-weight:800; display:block;}
.dp-n span{font-size:13px; color:var(--steel);}
.dp-t{font-size:13px; color:var(--steel); text-align:right; white-space:nowrap;}
@media(max-width:620px){.dp{grid-template-columns:auto 1fr;} .dp-t{grid-column:2; text-align:left;}}

.orglinks{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:26px;}
@media(max-width:620px){.orglinks{grid-template-columns:1fr;}}
.ol{display:flex; gap:16px; align-items:center; background:var(--paper); border:2px solid var(--line); border-radius:14px; padding:22px 24px;}
.ol:hover{border-color:var(--blue);}
.ol .oli{width:44px;height:44px;border-radius:11px;background:#E7F0FE;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ol .oli svg{width:21px;height:21px;stroke:var(--blue);fill:none;stroke-width:2;}
.ol b{display:block; font-size:16px; font-weight:800;}
.ol span{font-size:13.5px; color:var(--steel);}

/* contractor benefits on home */
.benefits{background:linear-gradient(150deg,#08172C,#122D52); color:#fff; padding:62px 0;}
.benefits .label{color:var(--green-lt);}
.benefits h2{color:#fff;}
.benefits .sub{color:rgba(255,255,255,.65);}
.ben-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){.ben-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.ben-grid{grid-template-columns:1fr;}}
.ben{background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.13); border-radius:14px; padding:24px 22px;}
.ben .bi{width:38px;height:38px;border-radius:10px;background:rgba(96,165,250,.16);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.ben .bi svg{width:19px;height:19px;stroke:var(--blue-lt);fill:none;stroke-width:2;}
.ben h4{font-size:16.5px; font-weight:800; color:#fff; margin-bottom:8px;}
.ben p{font-size:14px; color:rgba(255,255,255,.66); line-height:1.6;}
.ben .bnum{font-family:'Archivo',sans-serif; font-size:1.6rem; font-weight:900; color:var(--green-lt); line-height:1; margin-bottom:8px;}
.ben-cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:30px;}


/* ── MOBILE NAV (CSS-only, no JS) ── */
.navtoggle{position:absolute; opacity:0; pointer-events:none;}
.burger{display:none; width:44px; height:44px; align-items:center; justify-content:center; cursor:pointer; border-radius:9px; flex-shrink:0; -webkit-tap-highlight-color:transparent;}
.burger:hover{background:rgba(255,255,255,.08);}
.burger span{display:block; position:relative; width:22px; height:2px; background:#fff; border-radius:2px; transition:background .2s;}
.burger span::before,.burger span::after{content:""; position:absolute; left:0; width:22px; height:2px; background:#fff; border-radius:2px; transition:transform .25s ease, top .2s ease;}
.burger span::before{top:-7px;}
.burger span::after{top:7px;}
.navtoggle:checked ~ .nav-in .burger span{background:transparent;}
.navtoggle:checked ~ .nav-in .burger span::before{top:0; transform:rotate(45deg);}
.navtoggle:checked ~ .nav-in .burger span::after{top:0; transform:rotate(-45deg);}
.navtoggle:focus-visible ~ .nav-in .burger{outline:2px solid var(--green-lt); outline-offset:2px;}

@media(max-width:860px){
  nav{position:sticky;}
  .nav-in{flex-wrap:nowrap;}
  .burger{display:flex;}
  .nav-links{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:absolute; left:0; right:0; top:100%;
    background:var(--navy); border-bottom:0 solid rgba(255,255,255,.1);
    padding:0 18px; gap:0;
    max-height:0; overflow:hidden; opacity:0; visibility:hidden;
    transition:max-height .3s ease, opacity .2s ease, padding .3s ease, visibility 0s .3s;
    box-shadow:0 18px 34px rgba(0,0,0,.4);
  }
  .navtoggle:checked ~ .nav-in .nav-links{
    max-height:420px; opacity:1; visibility:visible; padding:10px 18px 20px;
    border-bottom-width:1px; transition:max-height .3s ease, opacity .2s ease, padding .3s ease, visibility 0s 0s;
  }
  .nav-links a{
    padding:15px 4px; font-size:16px; border-bottom:1px solid rgba(255,255,255,.08);
    border-radius:0; justify-content:flex-start; gap:10px;
  }
  .nav-links a:last-child{border-bottom:none;}
  .nav-links a.cta{
    margin-top:14px; justify-content:center; border-radius:10px; padding:14px;
    font-size:16px; border-bottom:none;
  }
  .navpill{font-size:11.5px; padding:3px 9px;}
  .brand-txt b{font-size:19px;}
  .brand-txt small{font-size:10.5px;}
}
@media(max-width:400px){
  .brand .seal{width:30px;height:30px;}
  .brand-txt small{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .nav-links,.burger span,.burger span::before,.burger span::after{transition:none;}
}


/* ── VIDEO EMBED ── */
.videowrap{margin:0 auto; width:100%;}
.videoframe{position:relative; width:100%; padding-top:56.25%; border-radius:16px; overflow:hidden; background:#08172C; box-shadow:0 22px 48px rgba(8,23,44,.28);}
.videoframe iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
.videocap{font-size:13.5px; color:var(--steel); margin-top:14px; text-align:center; line-height:1.6;}
.videocap.dk{color:rgba(255,255,255,.6);}
.videowrap.dk .videoframe{box-shadow:0 22px 48px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.12);}
@media(max-width:640px){.videoframe{border-radius:12px;}}


/* ── ONBOARDING / CHECKOUT ── */
.ob-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:38px; align-items:start;}
@media(max-width:900px){.ob-grid{grid-template-columns:1fr; gap:28px;} .ob-side{position:static !important; order:-1;}}
.ob-side{position:sticky; top:96px;}
.valuecard{background:var(--navy); border-radius:18px; padding:28px 26px; color:#fff;}
.valuecard .vc-top{display:flex; align-items:baseline; gap:10px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.14); margin-bottom:18px;}
.valuecard .vc-amt{font-family:'Archivo',sans-serif; font-size:2.6rem; font-weight:900; color:var(--green-lt); line-height:1;}
.valuecard .vc-per{font-size:14px; color:rgba(255,255,255,.6);}
.valuecard h4{color:#fff; font-size:13px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; margin-bottom:14px; color:rgba(255,255,255,.55);}
.vc-list{list-style:none;}
.vc-list li{font-size:14.5px; color:rgba(255,255,255,.85); padding:9px 0; display:flex; gap:11px; align-items:flex-start; line-height:1.5; border-bottom:1px solid rgba(255,255,255,.08);}
.vc-list li:last-child{border-bottom:none;}
.vc-list svg{width:17px;height:17px;flex-shrink:0;stroke:var(--green-lt);fill:none;stroke-width:2.8;margin-top:2px;}
.vc-foot{margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); font-size:12.5px; color:rgba(255,255,255,.55); line-height:1.6;}
.vc-seal{display:flex; align-items:center; gap:12px; background:rgba(22,163,74,.13); border:1px solid rgba(134,239,172,.3); border-radius:12px; padding:14px 16px; margin-top:16px;}
.vc-seal svg{width:34px;height:34px;flex-shrink:0;}
.vc-seal b{display:block; font-size:13.5px; color:var(--green-lt); font-weight:800;}
.vc-seal span{font-size:12px; color:rgba(255,255,255,.6);}

.steps-bar{display:flex; gap:0; margin-bottom:34px; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.sbx{flex:1; padding:14px 16px; background:#fff; border-right:1px solid var(--line); display:flex; gap:11px; align-items:center;}
.sbx:last-child{border-right:none;}
.sbx b{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--dim-bg);color:var(--dim-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-family:'Archivo',sans-serif;}
.sbx span{font-size:13.5px; color:var(--dim-text); font-weight:600;}
.sbx.on{background:#EEF4FE;}
.sbx.on b{background:var(--blue); color:#fff;}
.sbx.on span{color:var(--navy);}
@media(max-width:640px){.steps-bar{flex-direction:column;} .sbx{border-right:none;border-bottom:1px solid var(--line);}}

.fset{border:1px solid var(--line); border-radius:14px; padding:26px 24px; margin-bottom:18px;}
.fset legend, .fset .fh{font-family:'Archivo',sans-serif; font-size:17px; font-weight:900; margin-bottom:5px;}
.fset .fsub{font-size:13.5px; color:var(--steel); margin-bottom:20px; line-height:1.6;}
.f2{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
@media(max-width:600px){.f2{grid-template-columns:1fr;}}
.field .hint{font-size:12.5px; color:var(--dim-text); margin-top:5px; line-height:1.5;}
.field label .req{color:var(--blue); margin-left:3px;}
.paybar{background:var(--paper); border:2px solid var(--green); border-radius:14px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:8px;}
.paybar b{font-family:'Archivo',sans-serif; font-size:1.9rem; font-weight:900; color:var(--green-deep); line-height:1;}
.paybar b small{font-size:.42em; font-weight:800;}
.paybar .pb-t{font-size:13.5px; color:var(--steel); margin-top:3px;}
.securenote{display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--steel); margin-top:14px; justify-content:center;}
.securenote svg{width:15px;height:15px;stroke:var(--steel);fill:none;stroke-width:2;}


/* ── BADGE PAGE ── */
.bdg-row{display:grid; grid-template-columns:180px 320px 1fr; gap:26px; align-items:start;
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; margin-bottom:18px;}
@media(max-width:1080px){.bdg-row{grid-template-columns:1fr;}}
.bdg-swatch img{width:auto !important; max-width:100%;}
.bdg-meta h3{font-size:19px; font-weight:900; margin-bottom:5px;}
.bdg-dims{font-family:'Archivo',sans-serif; font-size:12.5px; font-weight:800; color:var(--blue); margin-bottom:9px;}
.bdg-meta p{font-size:13.5px; color:var(--steel); line-height:1.6;}
.bdg-shots{display:flex; flex-direction:column; gap:12px;}
.bdg-swatch{border-radius:12px; padding:18px; display:flex; align-items:center; justify-content:center;}
.bdg-swatch.light{background:var(--paper); border:1px solid var(--line);}
.bdg-swatch.dark{background:#0B1D3A; border:1px solid #1B3A63;}
.bdg-swatch img{max-width:100%; height:auto;}
.bdg-codes label{display:block; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--steel); margin:0 0 7px;}
.bdg-codes label:not(:first-child){margin-top:16px;}
.codebox{position:relative; background:#0B1D3A; border-radius:10px; padding:14px 78px 14px 15px; overflow:auto;}
.codebox code{display:block; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11.5px;
  line-height:1.65; color:#C7D9EC; white-space:pre; }
.copybtn{position:absolute; top:11px; right:11px; background:var(--blue); color:#fff; border:none;
  border-radius:7px; padding:7px 13px; font-size:12px; font-weight:700; font-family:'Inter',sans-serif; cursor:pointer;}
.copybtn:hover{background:var(--blue-deep);}
.copybtn.ok{background:var(--green);}
.prose code{background:var(--paper); border:1px solid var(--line); border-radius:5px; padding:2px 6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; color:var(--navy);}


/* ── START CTA on get-verified ── */
.startcta{background:var(--navy); border-radius:18px; padding:34px 32px; color:#fff; margin:26px 0 30px;}
.startcta-in{display:flex; gap:32px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.startcta h3{color:#fff; font-size:23px; font-weight:900; margin-bottom:9px;}
.startcta p{font-size:15px; color:rgba(255,255,255,.68); line-height:1.65; margin-bottom:16px; max-width:52ch;}
.startcta-meta{display:flex; gap:20px; flex-wrap:wrap;}
.startcta-meta span{font-size:13.5px; color:rgba(255,255,255,.82); font-weight:600; display:flex; align-items:center; gap:7px;}
.startcta-act{text-align:center; flex-shrink:0;}
.startcta-price{font-family:'Archivo',sans-serif; font-size:2.6rem; font-weight:900; color:var(--green-lt); line-height:1; margin-bottom:14px;}
.startcta-price small{font-size:.38em; font-weight:800;}
@media(max-width:760px){.startcta-in{flex-direction:column; align-items:flex-start;} .startcta-act{text-align:left; width:100%;} .startcta-act .btn{width:100%; justify-content:center;}}


/* ── CONSENT FORM ── */
.checkline{display:flex; gap:13px; align-items:flex-start; padding:15px 0; border-bottom:1px solid var(--line); cursor:pointer;}
.checkline:last-of-type{border-bottom:none;}
.checkline input[type=checkbox]{width:21px; height:21px; flex-shrink:0; margin-top:2px; accent-color:var(--green); cursor:pointer;}
.checkline span{font-size:14.5px; line-height:1.6; color:var(--navy);}
.checkline span em{color:var(--steel); font-size:13.5px;}
.checkline:hover span{color:#000;}
.siginput{font-family:'Archivo',sans-serif !important; font-size:22px !important; font-weight:700 !important;
  padding:16px 15px !important; border-color:var(--navy) !important; background:var(--paper) !important;}


/* ── PRINT DOWNLOADS ── */
.dl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:900px){.dl-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.dl-grid{grid-template-columns:1fr;}}
.dl{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column;}
.dl-prev{padding:22px; display:flex; align-items:center; justify-content:center; min-height:150px; background:var(--paper);}
.dl-prev.navy{background:#0B1D3A;}
.dl-prev.checker{background:
  linear-gradient(45deg,#E3E8ED 25%,transparent 25%),linear-gradient(-45deg,#E3E8ED 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#E3E8ED 75%),linear-gradient(-45deg,transparent 75%,#E3E8ED 75%);
  background-size:16px 16px; background-position:0 0,0 8px,8px -8px,-8px 0;}
.dl-prev img{max-width:100%; max-height:130px; height:auto;}
.dl-body{padding:18px 20px 20px; border-top:1px solid var(--line);}
.dl-body b{display:block; font-size:15px; font-weight:800; margin-bottom:4px;}
.dl-body span{font-size:12.5px; color:var(--steel); display:block; margin-bottom:14px; line-height:1.5;}
.dl-body a{display:block; text-align:center; background:var(--navy); color:#fff; padding:10px; border-radius:8px; font-size:13.5px; font-weight:700;}
.dl-body a:hover{background:var(--blue);}
.usecases{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin-top:8px;}
.uc{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:18px 18px;}
.uc b{display:block; font-size:14.5px; font-weight:800; margin-bottom:5px;}
.uc span{font-size:13px; color:var(--steel); line-height:1.55;}


/* ── HERO BADGE SHOWCASE (grab-resistant) ── */
.herobadge{position:relative; display:inline-block;}
.herobadge svg{display:block; pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-user-drag:none;}
.herobadge::after{content:""; position:absolute; inset:0; z-index:2;}
.badgeshow{background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:26px 24px; text-align:left; max-width:340px;}
.badgeshow-lbl{font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--green-lt); margin-bottom:14px;}
.badgeshow p{font-size:13.5px; color:rgba(255,255,255,.62); line-height:1.6; margin-top:16px;}
.badgeshow a{color:var(--blue-lt); font-weight:600; text-decoration:underline;}

/* ── DIRECTORY EMPTY / PENDING STATE ── */
.emptystate{border:2px dashed var(--dim-border); border-radius:18px; padding:52px 40px; text-align:center; background:var(--paper);}
.emptystate .es-i{width:62px;height:62px;margin:0 auto 20px;border-radius:16px;background:#E7F0FE;display:flex;align-items:center;justify-content:center;}
.emptystate .es-i svg{width:30px;height:30px;stroke:var(--blue);fill:none;stroke-width:2;}
.emptystate h3{font-size:23px; font-weight:900; margin-bottom:11px;}
.emptystate p{font-size:15.5px; color:var(--steel); max-width:56ch; margin:0 auto 10px; line-height:1.7;}
.emptystate .es-act{margin-top:26px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* ── UNVERIFIED LISTING (locked) ── */
.unv-note{background:var(--navy); color:#fff; border-radius:16px; padding:26px 28px; margin-bottom:26px;}
.unv-note h3{color:#fff; font-size:19px; font-weight:800; margin-bottom:8px;}
.unv-note p{font-size:14.5px; color:rgba(255,255,255,.68); line-height:1.65; max-width:74ch;}
.card.dim .unv-cta{margin-top:14px; padding-top:13px; border-top:1px dashed var(--dim-border);}
.card.dim .unv-cta b{display:block; font-size:13px; font-weight:800; color:#6C7683; margin-bottom:5px;}
.card.dim .unv-cta span{display:block; font-size:12.5px; color:var(--dim-text); line-height:1.55; margin-bottom:11px;}
.card.dim .unv-cta a{display:block; text-align:center; background:var(--green); color:#fff; padding:9px; border-radius:8px; font-size:13px; font-weight:700;}
.card.dim .unv-cta a:hover{background:var(--green-deep);}

.hero-split{display:grid; grid-template-columns:1fr auto; gap:52px; align-items:center; text-align:left;}
@media(max-width:940px){.hero-split{grid-template-columns:1fr; gap:34px; text-align:center;}
 .hero-split .hero-actions{justify-content:center;} .hero-split h1{margin:0 auto;} .badgeshow{margin:0 auto;}}
.hero-copy-col h1{max-width:15ch;}
.hero-copy-col p{margin-left:0;}
@media(max-width:940px){.hero-copy-col p{margin-left:auto;margin-right:auto;}}


/* ── HERO MISSION LINE ── */
.heromission{border-left:4px solid var(--green-lt); padding:4px 0 4px 20px; margin:24px 0 4px; max-width:46ch;}
.heromission b{display:block; font-family:'Archivo',sans-serif; font-size:clamp(1.05rem,1.9vw,1.35rem); font-weight:900; color:#fff; line-height:1.35;}
.heromission span{display:block; font-size:15px; color:rgba(255,255,255,.68); margin-top:7px; line-height:1.55;}
@media(max-width:940px){.heromission{margin-left:auto;margin-right:auto;text-align:left;}}

/* ── STORY SECTION (2-col video + copy) ── */
.story{display:grid; grid-template-columns:1.05fr 1fr; gap:46px; align-items:center;}
@media(max-width:900px){.story{grid-template-columns:1fr; gap:30px;}}
.story-copy .label{margin-bottom:14px;}
.story-copy h2{font-size:clamp(1.55rem,2.9vw,2.15rem); font-weight:900; line-height:1.16; margin-bottom:18px;}
.story-copy p{font-size:16.5px; color:var(--steel); line-height:1.75; margin-bottom:15px;}
.story-copy p:last-child{margin-bottom:0;}
.story-copy .kicker{font-size:17.5px; font-weight:700; color:var(--navy); border-left:4px solid var(--blue); padding-left:18px; margin:22px 0 0;}
.story.dk .story-copy h2{color:#fff;}
.story.dk .story-copy p{color:rgba(255,255,255,.72);}
.story.dk .story-copy .kicker{color:#fff; border-left-color:var(--green-lt);}
.story-vid .videoframe{margin:0;}


/* ── HERO v2 — CNGF lockup + why ── */
.cngf-line{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
.cngf-line .rule{height:2px; flex:0 0 46px; background:var(--green-lt); opacity:.75;}
.cngf-line span{font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); white-space:nowrap;}
@media(max-width:940px){.cngf-line{justify-content:center;}}

.cngf-name{
  font-family:'Archivo',sans-serif; font-weight:900; line-height:.9;
  letter-spacing:-.028em; margin:0 0 6px; color:#fff;
  font-size:clamp(2.5rem,6.4vw,5.1rem); text-transform:uppercase;
}
.cngf-name .l2{display:block; color:var(--green-lt);}
.cngf-sub{font-size:clamp(1rem,1.7vw,1.2rem); font-weight:700; color:rgba(255,255,255,.62);
  letter-spacing:.02em; margin-bottom:26px;}

.why{border-left:4px solid var(--green-lt); padding:2px 0 2px 22px; margin:0 0 28px; max-width:50ch;}
.why b{display:block; font-family:'Archivo',sans-serif; font-size:clamp(1.15rem,2.1vw,1.55rem);
  font-weight:900; color:#fff; line-height:1.28; margin-bottom:10px;}
.why p{font-size:16px; color:rgba(255,255,255,.7); line-height:1.65; margin:0;}
.why p + p{margin-top:9px;}
@media(max-width:940px){.why{margin-left:auto;margin-right:auto;text-align:left;}}

.hero-tagline{font-size:15.5px; color:rgba(255,255,255,.55); margin-top:22px; line-height:1.6; max-width:52ch;}
@media(max-width:940px){.hero-tagline{margin-left:auto;margin-right:auto;}}

/* hero v2 alignment fixes */
.hero-copy-col h1.cngf-name{max-width:none; margin-left:0; text-align:left;}
.cngf-sub{margin-top:14px;}
.why{margin-top:30px;}
.hero-split{align-items:start;}
.badgeshow{margin-top:56px;}
@media(max-width:940px){
  .cngf-name{text-align:center;}
  .cngf-sub{text-align:center;}
  .badgeshow{margin-top:0;}
}

.hero-copy-col .hero-actions{justify-content:flex-start; margin-top:32px;}
@media(max-width:940px){.hero-copy-col .hero-actions{justify-content:center;}}

/* hero v3 — one sentence, CNGF as the anchor */
.cngf-pre{font-family:'Archivo',sans-serif; font-size:clamp(1.05rem,1.9vw,1.45rem); font-weight:700;
  color:rgba(255,255,255,.6); letter-spacing:-.01em; line-height:1.2; margin-bottom:4px;}
.cngf-post{font-family:'Archivo',sans-serif; font-size:clamp(1.4rem,2.7vw,2.15rem); font-weight:800;
  color:#fff; line-height:1.24; letter-spacing:-.018em; margin-top:12px; max-width:22ch;}
.cngf-post em{color:var(--green-lt); font-style:normal;}
.cngf-name{margin-bottom:0;}
@media(max-width:940px){.cngf-pre,.cngf-post{text-align:center;} .cngf-post{margin-left:auto;margin-right:auto;}}

/* hero v3 fixes */
.cngf-pre{display:block; text-transform:uppercase; letter-spacing:.14em;
  font-size:12.5px !important; font-weight:800; color:rgba(255,255,255,.5); margin-bottom:14px;}
.cngf-post{display:block; text-transform:none;}
.hero .cngf-post em{color:var(--green-lt) !important; font-style:normal;}
.cngf-name{text-transform:none;}
.cngf-name .l2{text-transform:none;}

/* ── HERO MOBILE/TABLET ALIGNMENT — must outrank .hero-copy-col h1.cngf-name ── */
@media(max-width:940px){
  .hero-split{text-align:center;}
  .hero-copy-col h1.cngf-name,
  .hero-copy-col .cngf-name{text-align:center; margin-left:auto; margin-right:auto;}
  .hero-copy-col .cngf-pre,
  .hero-copy-col .cngf-post,
  .hero-copy-col .cngf-sub{text-align:center; margin-left:auto; margin-right:auto;}
  .hero-copy-col .cngf-post{max-width:26ch;}
  /* why block: keep the rule on the left but centre the block itself */
  .hero-copy-col .why{max-width:44ch; margin-left:auto; margin-right:auto; text-align:left;}
  .hero-copy-col .hero-tagline{text-align:center; margin-left:auto; margin-right:auto;}
  .hero-copy-col .hero-actions{justify-content:center;}
  .badgeshow{margin-left:auto; margin-right:auto;}
}
@media(max-width:560px){
  .hero-copy-col .why{padding-left:16px;}
  .cngf-name{font-size:clamp(2.1rem,10.5vw,3.2rem);}
  .cngf-post{font-size:clamp(1.15rem,5.2vw,1.5rem);}
}


/* ── FOUNDING 50 / STRIKE PRICING ── */
.wasprice{font-family:'Archivo',sans-serif; font-weight:800; color:var(--dim-text);
  text-decoration:line-through; text-decoration-thickness:2px; margin-right:10px; opacity:.85;}
.tier .amt .wasprice{font-size:.5em;}
.priceband .pb-amt .wasprice{color:rgba(255,255,255,.42); font-size:.42em;}
.pricestrip b .wasprice{font-size:.6em;}
.saveflag{display:inline-block; background:var(--green); color:#fff; font-family:'Archivo',sans-serif;
  font-size:11.5px; font-weight:900; letter-spacing:.04em; padding:4px 11px; border-radius:100px;
  vertical-align:middle; margin-left:9px; white-space:nowrap; text-transform:uppercase;}
.saveflag.lt{background:rgba(134,239,172,.22); border:1px solid rgba(134,239,172,.5); color:var(--green-lt);}

.founding{background:linear-gradient(135deg,#08172C,#12345C); border:1px solid rgba(134,239,172,.32);
  border-radius:16px; padding:28px 30px; color:#fff; margin:0 0 30px;}
.founding-h{display:flex; align-items:center; gap:13px; flex-wrap:wrap; margin-bottom:13px;}
.founding-h b{font-family:'Archivo',sans-serif; font-size:21px; font-weight:900; color:#fff;}
.founding-tag{background:var(--green); color:#fff; font-size:11.5px; font-weight:900;
  letter-spacing:.07em; padding:5px 12px; border-radius:100px; text-transform:uppercase;}
.founding p{font-size:15.5px; color:rgba(255,255,255,.74); line-height:1.7; margin-bottom:9px; max-width:78ch;}
.founding p:last-of-type{margin-bottom:0;}
.founding strong{color:var(--green-lt);}
.founding-row{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:22px;}
@media(max-width:760px){.founding-row{grid-template-columns:1fr;}}
.founding-i{background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12);
  border-radius:11px; padding:17px 17px;}
.founding-i b{display:block; font-family:'Archivo',sans-serif; font-size:15.5px; font-weight:900;
  color:var(--green-lt); margin-bottom:5px;}
.founding-i span{font-size:13px; color:rgba(255,255,255,.62); line-height:1.55;}

.tiers3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch;}
@media(max-width:980px){.tiers3{grid-template-columns:1fr;}}
.tiers3 .tier{display:flex; flex-direction:column;}
.tiers3 .tier ul{flex:1;}
.tier.exclusive{border:2px solid var(--blue); position:relative; overflow:hidden;}
.tier.exclusive::after{content:"ONE PER AREA"; position:absolute; top:18px; right:-38px;
  background:var(--blue); color:#fff; font-size:9.5px; font-weight:900; letter-spacing:.09em;
  padding:5px 44px; transform:rotate(38deg);}
.tier.exclusive .amt{color:var(--blue-deep);}
.tier .tier-note{font-size:12.5px; color:var(--steel); margin:-10px 0 16px; line-height:1.55;}
.tier li b{color:var(--navy);}

/* tier ribbon + price fixes */
.tiers3 .tier{padding-top:44px;}
.tier.exclusive::after,.tiers3 .tier.feature::after{
  top:auto; right:auto; left:0; transform:none; border-radius:0 0 10px 0;
  padding:6px 16px; font-size:10px; letter-spacing:.09em; top:0;}
.tiers3 .tier.feature::after{content:"MOST POPULAR"; background:var(--green);}
.tier.exclusive::after{content:"ONE PER AREA"; background:var(--blue);}
.tiers3 .tier .amt{font-size:2.5rem !important; line-height:1.05; white-space:nowrap;}
.tiers3 .tier .amt small{font-size:.36em; font-weight:800;}
.tiers3 .tier .amt .wasprice{font-size:.46em; display:inline-block;}
.tiers3 .tier li{font-size:14px; line-height:1.45;}
.tiers3 .tier li b{display:inline;}
.tiers3 .tier h3{font-size:18px;}
@media(max-width:1080px) and (min-width:981px){
  .tiers3 .tier .amt{font-size:2.05rem !important;}
}

/* plan picker */
.planpick{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media(max-width:700px){.planpick{grid-template-columns:1fr;}}
.planopt{cursor:pointer; display:block;}
.planopt input{position:absolute; opacity:0; pointer-events:none;}
.po-in{display:block; border:2px solid var(--line); border-radius:13px; padding:18px 18px; transition:border-color .15s, background .15s;}
.planopt:hover .po-in{border-color:var(--dim-border);}
.planopt input:checked + .po-in{border-color:var(--green); background:#F2FBF5;}
.po-in b{display:block; font-family:'Archivo',sans-serif; font-size:16px; font-weight:900; margin-bottom:6px;}
.po-in em{display:block; font-family:'Archivo',sans-serif; font-style:normal; font-size:1.7rem; font-weight:900; color:var(--navy); line-height:1; margin-bottom:9px;}
.po-in em small{font-size:.38em; font-weight:800;}
.po-in em .wasprice{font-size:.48em;}
.po-in > small{display:block; font-size:12.8px; color:var(--steel); line-height:1.5;}

/* get-verified: keep prose readable inside the wider wrap */
#apply, .prose > p, .prose > ol, .prose > ul, .prose > h2, .prose > .notice{max-width:78ch;}
.tiers3 + .prose{margin-top:34px;}

/* value card — plan-aware */
.vc-plan{font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:var(--green-lt); margin:-8px 0 18px;}
.valuecard.is-exclusive{border:2px solid var(--blue-lt);}
.valuecard.is-exclusive .vc-plan{color:var(--blue-lt);}
.vc-excl{margin-top:18px;}
.vc-excl-in{background:rgba(37,99,235,.16); border:1px solid rgba(96,165,250,.42);
  border-radius:12px; padding:18px 18px;}
.vc-excl-in b{display:flex; gap:9px; align-items:center; font-family:'Archivo',sans-serif;
  font-size:14.5px; font-weight:900; color:var(--blue-lt); margin-bottom:9px;}
.vc-excl-in b svg{width:16px;height:16px;stroke:var(--blue-lt);fill:none;stroke-width:2.8;flex-shrink:0;}
.vc-excl-in p{font-size:13.5px; color:rgba(255,255,255,.82); line-height:1.6; margin-bottom:12px;}
.vc-excl-in p b{display:inline; color:#fff; font-family:inherit; font-size:inherit; font-weight:700; margin:0;}
.vc-sub{list-style:none; border-top:1px solid rgba(96,165,250,.25); padding-top:11px;}
.vc-sub li{display:flex; gap:9px; align-items:flex-start; font-size:13px;
  color:rgba(255,255,255,.75); padding:4px 0; line-height:1.5;}
.vc-sub li svg{width:14px;height:14px;stroke:var(--blue-lt);fill:none;stroke-width:2.8;flex-shrink:0;margin-top:3px;}


/* ── VERIFICATION GUARANTEE ────────────────────────────────────────────
   The refund promise. Deliberately the loudest non-hero block on either
   page: green (the verification colour), a solid border rather than a
   tint, and the promise itself as an h3 rather than buried in a
   paragraph. It sits immediately above the payment step on both
   get-verified.html and start.html. */
.guarantee{display:flex; gap:20px; align-items:flex-start; background:#EAF7EF; border:2px solid var(--green); border-radius:16px; padding:26px 28px; margin:34px 0;}
.guarantee-tight{margin:26px 0 20px;}
.guarantee-i{width:46px; height:46px; flex-shrink:0; border-radius:12px; background:var(--green); display:flex; align-items:center; justify-content:center;}
.guarantee-i svg{width:26px; height:26px; stroke:#fff; fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;}
.guarantee-b{flex:1; min-width:0;}
.guarantee h3{font-family:'Archivo',sans-serif; font-size:21px; font-weight:900; color:var(--green-deep); line-height:1.2; margin-bottom:9px;}
.guarantee-lead{font-size:16px; font-weight:700; color:var(--navy); margin-bottom:11px;}
.guarantee p{font-size:14.5px; line-height:1.62; color:#2C4A38; margin-bottom:10px;}
.guarantee p:last-child{margin-bottom:0;}
.guarantee-fine{padding-top:11px; border-top:1px solid #BFE6CD; font-size:13.5px !important;}
@media(max-width:620px){
  .guarantee{flex-direction:column; gap:14px; padding:22px 20px;}
  .guarantee h3{font-size:19px;}
}

/* Claim banner on /start, shown only when arriving from "This is my business"
   on an unvetted card. Green because this is a welcome, not a warning. */
.claim-banner{background:#EAF7EF; border:1px solid #BFE6CD; border-radius:12px; padding:16px 20px; margin-bottom:22px; font-size:14.5px; line-height:1.6; color:#14532D;}
.claim-banner strong{color:#0B3A1E;}
.claim-banner a{color:var(--green-deep); font-weight:700; text-decoration:underline;}
/* A prefilled field is marked so it reads as "check this", not "we decided
   this for you". Still fully editable. */
.is-prefilled{background:#F3FBF6 !important; border-color:#BFE6CD !important;}

/* ── Contractor strip on the homepage hero ────────────────────────────────
   Deliberately quieter than the hero it sits under. The homepage's first job
   is still the homeowner - they are the one who cannot shop around - so this
   is a band, not a second hero, and it costs a family one screen-inch. */
.hero-contractor{display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:14px;
  padding:18px 22px; margin-top:26px; text-align:left;}
.hero-contractor .hc-b{flex:1; min-width:240px;}
.hero-contractor b{display:block; font-family:'Archivo',sans-serif; font-size:16px; font-weight:800; color:#fff; margin-bottom:4px;}
.hero-contractor span{display:block; font-size:14px; line-height:1.55; color:rgba(255,255,255,.72); max-width:58ch;}
.hero-contractor .hc-a{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}
.hero-contractor .hc-link{font-size:13.5px; color:var(--blue-lt); font-weight:600;}
.hero-contractor .hc-link:hover{text-decoration:underline;}
@media(max-width:640px){
  .hero-contractor{flex-direction:column; align-items:flex-start; padding:16px 18px;}
  .hero-contractor .hc-a{width:100%;}
  .hero-contractor .hc-a .btn{width:100%; justify-content:center;}
}

/* ── /claim ───────────────────────────────────────────────────────────── */
.cl-form{margin-bottom:26px;}
.cl-form label{display:block; font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--steel); margin-bottom:9px;}
.cl-row{display:flex; gap:10px; flex-wrap:wrap;}
.cl-row input{flex:1; min-width:210px; padding:14px 16px; border:2px solid var(--line); border-radius:10px; font-size:16px; font-family:inherit; color:var(--navy);}
.cl-row input:focus{outline:none; border-color:var(--blue);}
.cl-row .btn{min-height:52px;}
.cl-note{font-size:14.5px; color:var(--steel); margin:22px 0 12px;}
.cl-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
.cl-list li{display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 18px;}
.cl-list b{display:block; font-family:'Archivo',sans-serif; font-size:16px; font-weight:800; color:var(--navy);}
.cl-list span{display:block; font-size:13px; color:var(--steel); margin-top:2px;}
.cl-pick{background:var(--green); color:#fff; font-size:14px; font-weight:700; padding:11px 18px; border-radius:10px; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center;}
.cl-pick:hover{background:var(--green-deep);}
.cl-list-v li{background:var(--paper);}
.cl-done{font-size:12.5px; font-weight:700; color:var(--green-deep); white-space:nowrap;}
/* The escape hatch. As visible as the results, because "I'm not listed" has
   to be a normal answer rather than a dead end - most trades businesses in
   the country are not in our table. */
.cl-none{margin-top:26px; padding-top:24px; border-top:1px solid var(--line);}
.cl-none h3{font-size:1.1rem; font-weight:900; color:var(--navy); margin-bottom:8px;}
.cl-none p{font-size:14.5px; line-height:1.6; color:var(--steel); max-width:64ch; margin-bottom:16px;}

/* ── Authorisation checkbox on /start ─────────────────────────────────────
   This is the field the API requires and the one a contractor is most likely
   to skip, so it gets a real touch target rather than a 13px browser default.
   Two things were wrong before there was any CSS here at all:
     - `.field input { width:100% }` was stretching the checkbox full width
     - `.field label { display:block; font-size:13px; font-weight:700 }` was
       turning the sentence into a squashed bold caption
   Both are overridden below rather than loosened at source, because every
   other field on the form depends on those rules. */
.field-auth{margin-bottom:22px;}

/* The whole row is the label, so the entire block is tappable - not just the
   box. Comfortably past the 44px minimum at any width. */
.auth-row{
  display:flex !important; align-items:flex-start; gap:14px;
  padding:16px 18px; min-height:56px; cursor:pointer;
  background:#fff; border:2px solid var(--line); border-radius:12px;
  margin-bottom:0 !important;
  transition:border-color .15s ease, background .15s ease;
}
.auth-row:hover{border-color:var(--dim-border);}

.auth-row input[type="checkbox"]{
  width:26px !important; height:26px; flex:0 0 26px;
  margin:0; padding:0; border-radius:6px; cursor:pointer;
  accent-color:var(--green);      /* native tick, correct contrast, no custom SVG */
  /* Optically centres the 26px box on the first line of 15px/1.5 text
     instead of hanging below it. */
  margin-top:-1px;
}

/* Overrides .field label: this is a sentence to read, not a field caption. */
.auth-row span{
  display:block; font-size:15px; font-weight:500; line-height:1.5;
  color:var(--navy); margin:0;
}

/* Confirmed state, in the site's verification green so it reads as "done"
   rather than merely "changed". */
.auth-row:has(input:checked){border-color:var(--green); background:#F3FBF6;}
/* Keyboard focus has to be visible on the ROW, since the row is the target. */
.auth-row:has(input:focus-visible){outline:3px solid var(--blue); outline-offset:2px;}

.field-auth .hint{margin-top:9px;}

@media(max-width:480px){
  .auth-row{padding:15px 16px; gap:12px;}
  .auth-row span{font-size:14.5px;}
}

/* Lives in site.css, not directory.css: the calculator link appears on the
   directory cards AND on standalone pages (/get-verified,
   /digital-trust-index) that never load directory.css. site.css is the
   only stylesheet every page pulls in. */
/* ── REVENUE RECOVERY CALCULATOR LINK ─────────────────────────────────
   Two weights. The card version is an aside and must never compete with
   "See what we confirmed"; the panel version sits on pages a contractor
   reads about their own business. */

/* Card: one quiet line. ABOVE THE CLICK OVERLAY on z-index, the same as
   .tl-dti-learn — the whole card is clickable via an ::after overlay, and
   anything interactive inside it that sits below that overlay has its taps
   silently swallowed. */
.tl-calc{
  position:relative; z-index:2;
  display:flex; align-items:center; gap:7px;
  padding:9px 20px 14px; font-size:12px; font-weight:600;
  color:var(--steel); text-decoration:none; line-height:1.35;
}
.tl-calc svg{
  width:13px; height:13px; flex-shrink:0; fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linejoin:round;
}
.tl-calc:hover{color:var(--blue); text-decoration:underline;}
/* .card.dim carries its own padding, so the card version needs none. */
.card.dim .tl-calc{padding:11px 0 0;}

/* Panel: /b/<slug> and the contractor profile. */
.tl-calc-panel{
  /* flex-start, not center: the body wraps to three lines on a phone and a
     vertically centred icon then floats opposite the middle of the sentence
     instead of sitting with the heading it belongs to. */
  display:flex; align-items:flex-start; gap:14px; margin-top:16px;
  padding:15px 17px; border-radius:13px; text-decoration:none;
  background:var(--paper); border:1px solid var(--line);
  transition:border-color .16s ease, background .16s ease;
}
.tl-calc-panel:hover{border-color:var(--blue); background:rgba(37,99,235,.035);}
.tl-calc-ico{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:42px; height:42px; border-radius:11px;
  background:rgba(37,99,235,.1); border:1px solid rgba(37,99,235,.22);
}
.tl-calc-ico svg{width:20px; height:20px; fill:none; stroke:var(--blue);
  stroke-width:1.7; stroke-linejoin:round;}
.tl-calc-txt{flex:1; min-width:0;}
.tl-calc-txt b{display:block; font-size:14.5px; color:var(--navy); line-height:1.3;}
.tl-calc-txt span{display:block; font-size:13px; color:var(--steel); line-height:1.5; margin-top:4px;}
.tl-calc-go{flex-shrink:0; font-size:19px; color:var(--blue); font-weight:700; align-self:center;}
@media(max-width:480px){
  .tl-calc-panel{gap:12px; padding:13px 14px;}
  .tl-calc-ico{width:36px; height:36px;}
  .tl-calc-go{display:none;}
}

/* ── CAJUN NAVY GROUND FORCE SEAL ─────────────────────────────────────
   A tilted seal affixed under the header on every page, linking to the
   organisation's Facebook. TrustLight is one of Cajun Navy Ground Force's
   services, so it belongs on the contractor sales pages too, not only the
   family-facing ones.

   ── WHY IT IS A BACKGROUND IMAGE AND NOT AN <img> ──
   Below 640px the seal is not rendered at all, and `display:none` on an
   <img> still downloads the file in most browsers. A background-image on an
   element that is never laid out is never fetched, so a phone pays nothing
   for it. The link carries an aria-label, so the name is still announced
   where the seal IS shown.

   ── WHY IT TUCKS ──
   nav is position:sticky with z-index:100 and a backdrop-filter. The seal
   sits at z-index:99, so the header paints over its top edge AND blurs it
   through the backdrop — which is exactly what a seal half-under a ribbon
   looks like. --tl-nav-h is measured at runtime because the nav reflows to
   two rows between roughly 760px and 1080px; a hard-coded top collides there. */
.cngf-seal{
  position:fixed;
  /* AN EIGHTH BEHIND THE HEADER. overlap = (5 + X) / diameter, where the 5px
     is the flagline sitting above the nav — so an eighth of 96px means
     X = 12 - 5 = 7. At the previous 26px, two thirds of the seal was hidden
     and what showed was a sliver of gold and "GROUND FORCE" upside down. */
  top:calc(var(--tl-nav-h, 72px) - 7px);
  /* 651px, and the number is derived, not guessed. A ROTATED ELEMENT'S BOX IS
     WIDER THAN THE ELEMENT: 96px at 11 degrees measures 96*(cos11+sin11) =
     113px. The text column's right edge is at 50% + 538px (half of the 1140
     wrap, less its 32px padding), so the seal's LEFT edge clears it when
     right <= 50% - (538 + 113) = 50% - 651px. Offsetting for 96px instead put
     the seal 20px inside the text. */
  right:max(10px, calc(50% - 651px));
  z-index:99;
  width:96px; height:96px;
  /* webp first, png fallback. image-set() lets the browser choose; a browser
     that does not understand image-set falls back to the plain url() line. */
  background-image:url("/assets/cajun-navy-seal.png");
  background-image:image-set(url("/assets/cajun-navy-seal.webp") type("image/webp"),
                             url("/assets/cajun-navy-seal.png") type("image/png"));
  background-repeat:no-repeat;
  background-position:center;
  /* A 2px RIM, NOT A BACKING. The seal's own field is navy and so are most of
     this site's heroes — on /services, /search, the homepage and /b/<slug> the
     disc vanished into the background and what was left read as a floating
     gold ring. A white die-cut backing fixed that and looked like a sticker
     slapped on the page, so it is now a true border: the image fills the
     circle and --blue-lt rims it. Mid-blue rather than a pale tint because the
     seal also sits on white once you scroll past any hero, and the pale blues
     disappear there. */
  background-size:100%;
  background-color:#60A5FA;
  border:2px solid #60A5FA;
  border-radius:50%;
  transform:rotate(11deg);
  transform-origin:center;
  box-shadow:0 5px 16px rgba(11,29,58,.38), 0 0 0 1px rgba(11,29,58,.08);
  transition:transform .28s cubic-bezier(.34,1.3,.5,1), box-shadow .28s ease;
  /* Only the seal itself takes taps. Its bounding box must never sit between
     a finger and a link underneath it. */
  pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
}
.cngf-seal:hover, .cngf-seal:focus-visible{
  transform:rotate(11deg) scale(1.07);
  box-shadow:0 9px 26px rgba(11,29,58,.5), 0 0 0 1px rgba(11,29,58,.12);
  animation:cngf-pulse 1.5s ease-in-out infinite;
}
.cngf-seal:focus-visible{outline:3px solid var(--blue-lt); outline-offset:4px; border-radius:50%;}
@keyframes cngf-pulse{
  0%,100%{ transform:rotate(11deg) scale(1.07); }
  50%    { transform:rotate(11deg) scale(1.13); }
}

/* Between 640 and 1300 the content column runs to within 32px of the edge,
   so a seal in the corner overlaps the last of the text column. Shrunk, hugged
   to the edge, and — because pointer-events live on the circle alone — it
   never intercepts a tap meant for the text beneath it. */
@media(max-width:1329px){
  .cngf-seal{width:66px; height:66px; right:6px; top:calc(var(--tl-nav-h, 72px) - 3px);}
  .cngf-seal:hover, .cngf-seal:focus-visible{transform:rotate(11deg) scale(1.06);}
  @keyframes cngf-pulse{
    0%,100%{ transform:rotate(11deg) scale(1.06); }
    50%    { transform:rotate(11deg) scale(1.11); }
  }
}

/* DROPPED below 640px, deliberately. On a phone a fixed corner seal covers
   content and competes for taps on the one screen size where neither is
   affordable. Nothing is lost: the nav carries "with Cajun Navy Ground Force"
   under the brand on every page, and the footer links the partnership. */
@media(max-width:639px){ .cngf-seal{display:none;} }

@media(prefers-reduced-motion:reduce){
  .cngf-seal{transition:none;}
  .cngf-seal:hover, .cngf-seal:focus-visible{animation:none;}
}
