/* Callsmith brand layer: first <link> after the inline <style>; feature CSS loads after it. Tokens, classes and rules: see the builder notes. */
:root{
 --navy:#1C3A5B;--navy-deep:#0E1F33;--navy-900:#0A1726;--navy-600:#234A72;
 --orange:#F26B1D;--orange-ink:#B8480A;--orange-lite:#F78D4C;
 --primer:#F5F7FA;--line:#DFE4EA;--line-strong:#C6CFD8;--field:#7A8794;--muted:#55606B;--ink-2:#3E4A56;
 --web:#B8480A;--web-bg:#FFF1E7;--web-dk:#F78D4C;
 --ai:#1C3A5B;--ai-bg:#E8EEF5;--ai-dk:#C9D7E8;
 --cloud:#1F6FB2;--cloud-bg:#E7F1FA;--cloud-dk:#7FB6E8;
 --ok:#1B6E35;--ok-bg:#E8F5EC;--warn:#8A5A00;--warn-bg:#FFF4DB;--bad:#B3261E;--bad-bg:#FDECEA;
 --r-sm:10px;--r:14px;--r-lg:16px;--r-xl:22px;--r-pill:999px;
 --shadow-xs:0 1px 2px #0e1f330f;
 --shadow-sm:0 1px 2px #0e1f330d,0 2px 8px -2px #0e1f3312;
 --shadow-md:0 1px 2px #0e1f330d,0 8px 24px -8px #0e1f3329;
 --shadow-lg:0 1px 2px #0e1f330d,0 12px 32px -10px #0e1f3333,0 32px 64px -28px #0e1f333d;
 --shadow-hover:0 2px 4px #0e1f330d,0 18px 40px -14px #0e1f333d;
 --shadow-float:0 2px 6px #030a142e,0 28px 56px -18px #030a1499,0 50px 110px -40px #f26b1d59;
 --btn-shadow-hover:0 10px 22px -10px #0e1f3373;
 --max:1120px;--gutter:20px;--section-y:clamp(64px,8.5vw,112px);--measure:66ch;--ease:cubic-bezier(.2,.7,.2,1);
 --grad-cone:linear-gradient(180deg,#C24D0C,#B0450A);--grad-cone-hover:linear-gradient(180deg,#B8480A,#A23F08);
 --grad-iron:linear-gradient(180deg,#234A72,#1C3A5B);
 --bg-navy:radial-gradient(60% 70% at 6% 0%,#3f8fd238,transparent 70%),radial-gradient(40% 50% at 100% 0%,#3f8fd21a,transparent 70%),linear-gradient(180deg,#0E1F33,#0F2239 55%,#0B1A2C);
 --bg-deep:radial-gradient(70% 55% at 100% 0%,#3f8fd224,transparent 65%),radial-gradient(50% 40% at 0% 100%,#3f8fd212,transparent 65%),linear-gradient(180deg,#0E1F33,#0A1726);
  --grid:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);
 --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
 --i-check-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8480A' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E");
 --i-check-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E");
}
@media(min-width:760px){:root{--gutter:32px}}

/* base */
html{scroll-padding-top:88px}
[id]{scroll-margin-top:0}
@media(max-width:759px){html{scroll-padding-bottom:80px}}
body{line-height:1.6;text-rendering:optimizeLegibility;background:#fff}
::selection{background:#f26b1d3d}
h1,h2,h3{text-wrap:balance}
h1{line-height:.98;letter-spacing:0}
h2{font-size:clamp(2rem,4.2vw,3.05rem);line-height:1.02;margin-bottom:.45em}
h3{font-size:1.38rem;line-height:1.08}
p,li{text-wrap:pretty}
.wrap{padding-inline:var(--gutter)}
section{padding-block:var(--section-y)}
.wrap>p:not([style]){max-width:var(--measure)}
.lede{font-size:clamp(1.1rem,1.5vw,1.24rem);line-height:1.55;color:var(--ink-2);max-width:60ch}
main a:not([class]){text-underline-offset:.2em;text-decoration-thickness:1px}
main a:not([class]):hover{text-decoration-thickness:2px}
.nowrap,a[href^="tel:"]{white-space:nowrap}
.prose{margin-left:max(0px,(100% - var(--max))/2)}
.prose h2{font-size:clamp(1.45rem,2.8vw,1.85rem);margin:1.9em 0 .45em}
.prose h2:first-child,.prose>p.fine+h2{margin-top:.8em}
.prose p{color:var(--ink-2)}
.icon,:where(svg:has(>use[href^="/media/icons.svg"]):not([width])){width:1.25em;height:1.25em;flex:none;vertical-align:-.2em;overflow:visible}
/* card titles: sentence-case Barlow */
:is(.svc,.card,.step,.cs-card) h3,.faq summary,.tile strong,:is(.chk,.proc,.rules) li strong,.ai li b{font-family:var(--body);font-weight:600;font-stretch:normal;text-transform:none;letter-spacing:-.005em;line-height:1.3}
:is(.svc,.card,.step,.cs-card) h3{font-size:1.2rem;margin:0 0 8px}

/* eyebrows: pills; plain labels inside cards */
.eyebrow{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:0 0 16px;padding:5px 12px 5px 10px;border-radius:var(--r-pill);font-family:var(--head);font-weight:700;font-size:.84rem;letter-spacing:.12em;line-height:1.25;text-transform:uppercase;color:var(--orange-ink);background:var(--web-bg);border:1px solid #b8480a2e}
.eyebrow::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #f26b1d33}
:is(.hero,.dark,.contact,.leak,.bc,footer,.cs-navy,.cs-dark) .eyebrow{color:var(--orange-lite);background:#f26b1d1a;border-color:#f78d4c4c}
:is(.promise,.guarantee) .eyebrow{color:#fff;opacity:1;background:#0000002e;border-color:#ffffff40}
:is(.promise,.guarantee) .eyebrow::before{box-shadow:0 0 0 3px #fff3}
:is(.svc,.card,.step,.cs-card) .eyebrow{padding:0;margin-bottom:8px;background:none;border:0;border-radius:0;font-size:.82rem}
:is(.svc,.card,.step,.cs-card) .eyebrow::before{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:var(--r-sm);font-family:var(--head);font-weight:700;font-size:1.08rem;letter-spacing:.05em;line-height:1.1;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s var(--ease)}
.btn-cone{--btn-shadow-hover:inset 0 1px 0 #fff3,0 2px 4px #50190040,0 14px 26px -10px #b8480abf;color:#fff;background:#B8480A var(--grad-cone);border-color:#A8420A;box-shadow:inset 0 1px 0 #fff3,0 1px 2px #50190047,0 8px 18px -8px #b8480ab2}
.btn-cone:hover,.menu a.cta:hover{background:#A8420A var(--grad-cone-hover);color:#fff}
.btn-iron{--btn-shadow-hover:inset 0 1px 0 #ffffff24,0 2px 4px #0e1f3340,0 14px 26px -12px #0e1f33b2;color:#fff;background:#1C3A5B var(--grad-iron);border-color:#16304B;box-shadow:inset 0 1px 0 #ffffff24,0 1px 2px #0e1f334c,0 8px 18px -10px #0e1f3399}
.btn-iron:hover{background:#16304B linear-gradient(#1C3A5B,#16304B);color:#fff}
.btn-ghost{--btn-shadow-hover:0 10px 24px -12px #00000080;color:#fff;background:#ffffff0f;border-color:#ffffff42;box-shadow:inset 0 1px 0 #ffffff0f}
.btn-ghost:hover{background:#ffffff1f;border-color:#ffffff80;color:#fff}
.btn-outline{color:var(--navy);background:#fff;border-color:var(--line-strong);box-shadow:var(--shadow-xs)}
.btn-outline:hover{border-color:var(--navy);color:var(--navy)}
:is(a.btn-cone,a.btn-iron,.btn-arrow):not(.no-arrow)::after,.menu a.cta::after{content:"";flex:none;width:1em;height:1em;margin-right:-.2em;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform .22s var(--ease)}
:is(a.btn-cone,a.btn-iron,.btn-arrow):hover::after,.menu a.cta:hover::after{transform:translateX(3px)}
.btn-sm{min-height:44px;padding:9px 16px;font-size:1rem}
.btn-lg{min-height:56px;padding:15px 28px;font-size:1.2rem}
div.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
@media(max-width:520px){.cta .btn{flex:1 1 100%}}

/* header: one lockup; .cs-compact (brand.js) only scales it. Nav -12px = margin +12px, so content never moves */
body>header{background:#0E1F33;border-bottom:1px solid #ffffff12;-webkit-backdrop-filter:saturate(170%) blur(16px);backdrop-filter:saturate(170%) blur(16px)}
html body>header{transition:background-color .3s,box-shadow .3s,margin-bottom .3s var(--ease)}
body>header.cs-compact{margin-bottom:12px;background:#0b1828e6;box-shadow:0 10px 30px -18px #0009}
.nav{height:76px;min-height:0;transition:height .3s var(--ease)}
.cs-compact .nav{height:64px}
.brand{min-height:50px;transform-origin:0 50%;transition:transform .3s var(--ease)}
.cs-compact .brand{transform:scale(.88)}
.brand svg{width:44px;height:44px;filter:drop-shadow(0 4px 10px #f26b1d40)}
.brand .wm{font-size:1.75rem}
.brand .tg{font-size:.86rem;margin-top:3px}
.brand .tg b{display:inline}
.menu{gap:26px}
.menu a{transition:color .15s}
.menu a:not(.cta){position:relative;padding:8px 0;color:#fffc;font-weight:500}
.menu a:not(.cta):hover{color:#fff}
.menu a.on{color:#fff;border-bottom:0}
@media(min-width:1001px){
 .menu a:not(.cta)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--orange-lite);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
 .menu a:not(.cta):hover::after,.menu a.on::after{transform:scaleX(1)}
}
@media(min-width:1001px) and (max-width:1179px){.menu{gap:15px}.menu a{font-size:.93rem}.brand .tg{font-size:.76rem;letter-spacing:.035em}.brand .wm{font-size:1.62rem}.brand svg{width:40px;height:40px}}
.menu a.cta{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 14px 9px 16px;border-radius:var(--r-sm);background:#B8480A var(--grad-cone);box-shadow:inset 0 1px 0 #fff3,0 6px 16px -8px #f26b1dcc;font-size:1rem;letter-spacing:.05em}
.burger{display:none;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid #ffffff38;border-radius:var(--r-sm);background:#ffffff0d;color:#fff;font:600 .98rem/1 var(--body);cursor:pointer}
.burger::before{content:"";width:16px;height:11px;border-block:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat}
.burger[aria-expanded="true"]{background:#ffffff1f}
@media(max-width:1000px){
 .burger{display:inline-flex}
 .menu{background:#0A1726;padding:8px var(--gutter) 20px;border-bottom:1px solid #ffffff14;box-shadow:0 24px 40px -20px #0009}
 .menu a:not(.cta),.menu a.on{display:flex;align-items:center;min-height:50px;padding:12px 0;font-size:1.06rem;border-bottom:1px solid #ffffff12}
 .menu a.on{color:var(--orange-lite)}
 .menu a.cta{justify-content:center;min-height:50px;margin-top:16px;font-size:1.1rem}
 .nav{height:72px;padding-block:0}
 .cs-compact .nav{height:60px}
 .cs-compact .brand{transform:scale(.9)}
 .brand svg{width:38px;height:38px}
 .brand .wm{font-size:1.5rem}
 .brand .tg{font-size:.72rem;letter-spacing:.03em;margin-top:2px}
 body:has(.menu.open)::after{content:"";position:fixed;inset:0;z-index:19;background:#050c16b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
}
@media(max-width:439px){.burger{width:46px;padding:0;justify-content:center;gap:0;font-size:0}}
@media(scripting:none) and (max-width:1000px){body>header{position:relative}.burger{display:none}.nav{height:auto;flex-wrap:wrap;padding-block:10px 6px}.menu{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:0 18px;width:100%;padding:0;background:none;border:0;box-shadow:none}.menu a:not(.cta),.menu a.on{min-height:44px;padding:8px 0;border:0}.menu a.cta{width:100%;margin:6px 0 4px}}

/* hero */
.hero,section.leak,section.bc{position:relative;isolation:isolate;overflow:hidden;overflow:clip;background-color:var(--navy-deep);background-image:var(--bg-navy)}
:is(.hero,.dark,.cs-navy,.leak,.bc,.promise,.guarantee)::before,.contact>.wrap::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grid);background-size:56px 56px;background-position:center top;mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 25%,transparent 75%)}
.hero{padding-block:clamp(64px,9vw,112px) clamp(72px,10vw,124px);border-bottom:1px solid #ffffff0f}
.hero.sm{padding-block:clamp(56px,7vw,88px) clamp(52px,6vw,72px);background-image:radial-gradient(40% 60% at 88% 50%,#3f8fd226,transparent 70%),var(--bg-navy)}
.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(760px,110vw);aspect-ratio:1;right:-10%;top:50%;transform:translateY(-50%);background:radial-gradient(closest-side,#f26b1d42,#f26b1d17 42%,transparent 72%)}
.hero.sm::after{top:auto;bottom:-1px;left:0;right:0;width:auto;height:1px;aspect-ratio:auto;transform:none;background:linear-gradient(90deg,transparent 5%,#f78d4c8c,transparent 95%)}
/* text-only heroes: faint white signal mark on the right (not on legal pages or 404) */
@media(min-width:1000px){
 .hero.sm>.wrap{position:relative;padding-right:calc(var(--gutter) + 330px)}
 .hero.sm>.wrap::after{content:"";position:absolute;right:var(--gutter);top:50%;width:300px;height:300px;margin-top:-150px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320' fill='none' stroke-linecap='round'%3E%3Cpath d='M156 109a62.5 62.5 0 1 0 0 102' stroke='%23fff' stroke-opacity='.07' stroke-width='30'/%3E%3Cpath d='M203 137a32.5 32.5 0 0 1 0 46' stroke='%23fff' stroke-opacity='.15' stroke-width='15'/%3E%3Cpath d='M222.4 117.5a60 60 0 0 1 0 85' stroke='%23fff' stroke-opacity='.11' stroke-width='13'/%3E%3Cpath d='M241.8 98a87.5 87.5 0 0 1 0 124' stroke='%23fff' stroke-opacity='.07' stroke-width='11'/%3E%3C/svg%3E") center/contain no-repeat}
 main:has(.prose,.nf-links) .hero.sm>.wrap{padding-right:var(--gutter)}
 main:has(.prose,.nf-links) .hero.sm>.wrap::after{content:none}
}
.hero h1{color:#fff;max-width:none}
.hero:not(.sm) h1{font-size:clamp(2.6rem,5.8vw,4.5rem)}
.hero.sm h1{max-width:22ch;font-size:clamp(2.4rem,5.2vw,3.9rem)}
.hero h1 em{display:block;width:fit-content}
@supports (-webkit-background-clip:text) or (background-clip:text){.hero h1 em{background:linear-gradient(95deg,#F99358,#F26B1D 70%);-webkit-background-clip:text;background-clip:text;color:transparent}}
.hero .lede{color:#fffc;max-width:58ch}
.hero .cta{gap:12px;margin-top:30px}
.hero .alt{color:#ffffffb8;margin-top:20px}
.hero .alt a{color:#fff;text-decoration-color:#fff6;text-underline-offset:.2em}
.hero .alt a:hover{text-decoration-color:#fff}
.hero .tag{color:#ffffff9e;letter-spacing:.1em;font-size:.92rem}
.hero .cs-meta{font:500 1rem/1.5 var(--body);text-transform:none;letter-spacing:0;color:#ffffffb8;max-width:58ch}
@media(min-width:900px){.hero:not(.sm) .wrap{grid-template-columns:1.08fr .92fr;gap:56px}}
@media(max-width:899px){.hero .audit{max-width:560px}}
/* example card (.audit): product panel with a status timeline */
.audit{border-radius:var(--r-lg);padding:56px 22px 20px;border:1px solid #ffffffb2;box-shadow:var(--shadow-float);overflow:hidden}
.audit::before{content:"";position:absolute;left:0;right:0;top:0;height:38px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 20px 19px,#D3D9E0 4px,transparent 4.6px),radial-gradient(circle at 35px 19px,#D3D9E0 4px,transparent 4.6px),radial-gradient(circle at 50px 19px,#D3D9E0 4px,transparent 4.6px),linear-gradient(#FAFBFC,#F2F5F8)}
.audit .hd{flex-wrap:wrap;gap:8px;margin-bottom:10px}
.audit .hd b{flex:1 1 12ch;font-size:1.2rem;letter-spacing:.02em;text-wrap:balance}
.audit .hd span{background:var(--web-bg);color:var(--orange-ink);border:1px solid #b8480a33;border-radius:var(--r-pill);padding:3px 10px;letter-spacing:.12em}
.audit ul{gap:0}
.audit li{position:relative;background:none;border:0;border-radius:0;padding:9px 0;grid-template-columns:26px 1fr;gap:14px;line-height:1.45}
.audit li:not(:last-child)::after{content:"";position:absolute;left:12px;top:39px;bottom:-5px;width:2px;border-radius:2px;background:var(--line)}
.audit li i{width:26px;height:26px;font-size:0;color:transparent;background:#B3261E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6.5v7M12 18v.01'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 0 4px #b3261e1f}
.audit li i.ok{background:#1E7B3C var(--i-check-white) center/16px no-repeat;box-shadow:0 0 0 4px #1e7b3c1f}
.audit li i.q{background:var(--cloud) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M9.3 9.2a2.8 2.8 0 1 1 3.9 2.6c-.8.4-1.2 1-1.2 1.9v.3M12 18v.01'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 0 4px #1f6fb224}
.audit li b{color:var(--navy);letter-spacing:.02em}
.audit .path{padding-top:14px;margin-top:8px}
@media(prefers-reduced-motion:no-preference) and (min-width:900px){.hero .audit{animation:cs-float 9s ease-in-out infinite}}
@keyframes cs-float{50%{transform:translateY(-8px)}}
.strip{background:#fff;border-bottom:1px solid var(--line);padding-block:22px}
.strip li{align-items:center;font-weight:500;color:var(--ink-2)}
.strip li::before{flex:0 0 24px;height:24px;margin:0;border-radius:50%;background:var(--i-check-ink) center/14px no-repeat,var(--web-bg);box-shadow:inset 0 0 0 1px #b8480a2e}
@media(min-width:700px){.strip ul{display:flex;justify-content:space-between;gap:16px 40px}.strip li{flex:0 1 auto;max-width:31ch;text-wrap:balance}}
@media(min-width:1000px){.strip ul{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:16px 32px}.strip li{max-width:none;text-wrap:pretty}}

/* cards */
.grid{gap:20px}
@media(min-width:760px){.grid{gap:22px}}
.card,.svc,.cs-card{display:flex;flex-direction:column;background-color:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm)}
:is(.card,.svc,.step,.cs-card)>:is(a,.btn,.cs-ic){align-self:flex-start}
:where(:not(.cs-rows))>:is(.card,.svc,.step,.cs-card)>:is(a,.btn,.fine,.cs-321):last-child:not(.price+*){margin-top:auto}
.svc .cat{font-size:.82rem;letter-spacing:.12em;margin-bottom:8px}
.svc p,.card p,.card ul{color:var(--ink-2)}
.svc .price{margin:auto 0 12px;padding-top:16px;border-top:1px solid var(--line);font-size:2rem}
.svc>a:not(.btn),.card>a:not(.btn){display:inline-flex;align-items:center;min-height:44px;gap:4px;color:var(--link);font-weight:600;text-decoration:none}
.svc>a:not(.btn):hover,.card>a:not(.btn):hover{text-decoration:underline;text-underline-offset:.2em}
.card ul{padding-left:20px}
.card li{margin-bottom:4px}
.card li::marker{color:var(--orange)}
@media(hover:hover){.card:hover,.svc:hover,.tile:hover{border-color:var(--line-strong)}}
.step{border:1px solid #ffffff1a;border-radius:var(--r-lg);padding:26px;background-color:#ffffff06;background-image:linear-gradient(#ffffff0e,transparent 55%);box-shadow:inset 0 1px 0 #ffffff12,0 20px 40px -24px #00000080;transition:border-color .2s}
.step:hover{border-color:#fff3}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.step{transition:border-color .2s,transform .22s var(--ease)}.step:hover{transform:translateY(-3px)}}
.step .num.lbl{font-size:.84rem;letter-spacing:.14em;color:var(--orange-lite);margin-bottom:8px}
.step h3{margin:6px 0 8px}
.step ul{list-style:none;padding-left:0;margin:4px 0 14px;display:grid;gap:7px}
.step li{position:relative;padding-left:20px}
.step li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.step .price{font-size:2.3rem;color:#fff;line-height:1;margin:2px 0 12px}
.step .price small{font-family:var(--body);font-weight:500;font-size:.9rem;color:#ffffffa8}
.step .fine{color:#ffffffa3;border-top:1px solid #ffffff14;padding-top:12px}
/* labels follow the card's service line (icon class) */
:is(.svc,.card,.cs-card):has(.cs-ic--ai) :is(.cat,.lbl,.eyebrow){color:var(--ai)}
:is(.svc,.card,.cs-card):has(.cs-ic--cloud) :is(.cat,.lbl,.eyebrow){color:var(--cloud)}
:is(.step,.cs-dark,.ai):has(.cs-ic--ai) :is(.lbl,.cat,.quoted){color:var(--ai-dk)}
:is(.step,.cs-dark,.ai):has(.cs-ic--cloud) :is(.lbl,.cat,.quoted){color:var(--cloud-dk)}
/* .cs-rows: card rows line up across a one-row grid */
@supports (grid-template-rows:subgrid){@media(min-width:760px){
 .cs-rows{row-gap:0}
 .cs-rows>*{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;align-content:start}
 .cs-rows:has(>*>:nth-child(6))>*{grid-row:span 6}
 .cs-rows:has(>*>:nth-child(7))>*{grid-row:span 7}
 .cs-rows:has(>*>:nth-child(8))>*{grid-row:span 8}
 .cs-rows>*>*{align-self:start}
 .cs-rows>*>:last-child{grid-row:-2/-1;margin-top:0}
 .proc.dk{row-gap:0}
 .proc.dk>li{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;align-content:start}
}}
.tile{border-radius:var(--r-lg);border-color:var(--line);box-shadow:var(--shadow-sm);overflow:hidden}
.tile .thumb{border-radius:0}
.tile strong{font-size:1.18rem;color:var(--ink);margin:6px 0 4px}
.tile .lay{color:var(--muted);font-weight:600}
/* icon tiles */
.cs-ic{display:inline-grid;place-items:center;flex:none;width:46px;height:46px;margin-bottom:16px;border-radius:12px;color:var(--orange-ink);background:linear-gradient(#FFF7F1,#FFE9DA);border:1px solid #b8480a29;box-shadow:inset 0 1px 0 #fff,0 1px 2px #b8480a1a}
.cs-ic .icon{width:23px;height:23px}
.cs-ic--ai,.paths .cs-ic.cs-ic--ai,.gc .gc-card .cs-ic.cs-ic--ai{color:var(--ai);background:linear-gradient(#F4F7FB,#E3EAF3);border-color:#1c3a5b29;box-shadow:inset 0 1px 0 #fff,0 1px 2px #1c3a5b1a}
.cs-ic--cloud{color:var(--cloud);background:linear-gradient(#F2F8FD,#E1EEFA);border-color:#1f6fb22b}
:is(.dark,.step,.cs-dark,.cs-navy,.ai) .cs-ic,.cs-ic--dark{color:var(--orange-lite);background:linear-gradient(#ffffff1c,#ffffff09);border-color:#ffffff24;box-shadow:inset 0 1px 0 #ffffff1a}
:is(.dark,.step,.cs-dark,.cs-navy,.ai) .cs-ic--cloud{color:var(--cloud-dk)}
:is(.dark,.step,.cs-dark,.cs-navy,.ai) .cs-ic--ai{color:var(--ai-dk)}
/* selected card: the tile fills with its line colour */
:is([aria-expanded="true"],[aria-current="true"]) .cs-ic{color:#fff;background:var(--grad-cone);border-color:#A8420A;box-shadow:inset 0 1px 0 #fff3}
:is([aria-expanded="true"],[aria-current="true"]) .cs-ic--ai{background:var(--grad-iron);border-color:#16304B}
:is([aria-expanded="true"],[aria-current="true"]) .cs-ic--cloud{background:linear-gradient(#2479C0,#1F6FB2);border-color:#1A609B}
.cs-ic-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.cs-ic-row>*{margin:0;text-wrap:balance}
/* spotlight: brand.js sets --mx/--my */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .card,.svc,.tile,.cs-card,[data-spot]{background-image:radial-gradient(380px circle at var(--mx,-999px) var(--my,-999px),#f26b1d13,transparent 45%)}
 .step,.cs-dark{background-image:radial-gradient(380px circle at var(--mx,-999px) var(--my,-999px),#ffffff12,transparent 45%),linear-gradient(#ffffff0e,transparent 55%)}
}
/* 3-2-1 tokens; dashed closing card */
.cs-321{list-style:none;margin:0;padding:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cs-321 li{padding:14px 12px;border-radius:var(--r-sm);background:var(--cloud-bg);color:var(--ink-2);font-size:.9rem;line-height:1.3}
.cs-321 b{display:block;font:800 2.4rem/1 var(--head);color:var(--cloud)}
.cs-ask{background:var(--primer);border:1px dashed var(--line-strong);box-shadow:none}

/* surfaces */
.dark,.cs-navy{position:relative;isolation:isolate;color:#fff;background-color:var(--navy-900);background-image:var(--bg-deep);border-top:1px solid #ffffff0a}
:is(.dark,.cs-navy)::before{background-image:radial-gradient(#ffffff14 1px,transparent 1.3px);background-size:26px 26px;mask-image:linear-gradient(#000,transparent 55%)}
.dark p,.cs-navy p{color:#ffffffc7}
.cs-navy h2,.cs-navy h3{color:#fff}
/* closing CTA: navy panel on a light band */
.contact{background:transparent;padding-block:clamp(40px,6vw,80px)}
section:not(.cs-soft,.dark,.cs-navy,.promise,.guarantee,.hero,.leak,.bc,.gc,[style*=background])+section.contact{padding-top:0}
.contact>.wrap{position:relative;isolation:isolate;overflow:hidden;width:calc(100% - 2*var(--gutter));max-width:calc(var(--max) - 2*var(--gutter));padding:clamp(52px,7vw,88px) clamp(20px,5vw,56px);border-radius:var(--r-xl);background-color:var(--navy-deep);background-image:var(--bg-navy);box-shadow:var(--shadow-lg)}
.contact>.wrap::before{mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 10%,transparent 70%)}
.contact>.wrap::after{content:"";position:absolute;z-index:-1;left:20%;right:20%;bottom:-120px;height:240px;border-radius:50%;background:radial-gradient(closest-side,#f26b1d38,transparent);pointer-events:none}
.contact p{color:#fffc}
.contact .cta{gap:12px;margin-top:28px}
.promise,.guarantee{position:relative;isolation:isolate;background:#A3400A linear-gradient(135deg,#B04509,#A3400A 50%,#8E3707)}
:is(.promise,.guarantee)::before{mask-image:linear-gradient(90deg,#000,transparent 70%)}
.promise p,.guarantee p{color:#fff}
.promise .fine,.guarantee .fine{color:#ffffffeb}
.cs-soft{background:var(--primer);border-block:1px solid var(--line)}
/* quiz and backup check */
section.leak .leak-card,section.bc .bc-card{border-radius:var(--r-lg);border:1px solid #ffffffb2;box-shadow:var(--shadow-float)}
section :is(.leak-pts,.bc-pts) li{padding-left:30px}
section :is(.leak-pts,.bc-pts) li::before{top:.2em;width:20px;height:20px;border-radius:50%;background:var(--i-check-white) center/13px no-repeat,#f26b1d4d}
section.bc h2{font-size:clamp(2rem,3.4vw,2.6rem)}

/* lists */
.proc{gap:22px}
.proc li,.proc.dk li{position:relative;border-top:1px solid var(--line-strong);padding-top:20px}
.proc li::before{content:"";position:absolute;left:0;top:-1px;width:48px;height:2px;border-radius:2px;background:var(--orange)}
.proc li span,.proc.dk li span{color:var(--orange-ink);letter-spacing:.12em;font-size:.84rem}
.proc li strong{font-size:1.16rem;margin-bottom:6px}
.proc li p{color:var(--ink-2)}
.dark .proc.dk li{border-top-color:#ffffff24}
.dark .proc li p{color:#ffffffbd}
.dark .proc li span{color:var(--orange-lite)!important}
.chk li{background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--r-lg);padding:20px 20px 20px 56px;box-shadow:inset 0 1px 0 #ffffff14}
.chk li::before,.ai li::before{content:"";left:18px;top:19px;width:26px;height:26px;border-radius:50%;background:var(--i-check-white) center/15px no-repeat,#ffffff29}
.chk li strong{font-size:1.12rem;margin-bottom:6px}
.rules li{border-left:0;position:relative;padding:2px 0 2px 38px;color:var(--ink-2)}
.rules li::before{content:"";position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;background:var(--i-check-ink) center/15px no-repeat,var(--web-bg);box-shadow:inset 0 0 0 1px #b8480a33}
.rules li strong{font-size:1.08rem;color:var(--ink)}
.rules ul{gap:20px 32px}
.ai{border-radius:var(--r-lg);border-color:#ffffff1f;background-color:var(--navy-deep);background-image:var(--bg-deep);box-shadow:inset 0 1px 0 #ffffff12,var(--shadow-lg);padding:clamp(22px,3.4vw,36px)}
.ai .quoted{font-size:1.05rem;letter-spacing:.1em}
.ai li{padding-left:30px}
.ai li b{font-size:1.04rem;margin-bottom:2px}
.ai li::before{left:0;top:1px;width:19px;height:19px;background-size:12px,auto;background-color:#f26b1d66}
.ai .wont{margin-top:16px;padding-top:16px;border-top-color:#ffffff1f}

/* FAQ */
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{position:relative;align-items:center;min-height:64px;padding:16px 52px 16px 0;font-size:1.12rem;transition:color .15s}
.faq summary:hover,.faq details[open] summary{color:var(--navy)}
.faq summary::after,.faq details[open] summary::after{content:"";position:absolute;right:2px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;border:1px solid var(--line-strong);color:var(--orange-ink);background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 12px no-repeat;transition:transform .3s var(--ease),background-color .2s,border-color .2s}
.faq summary:hover::after{border-color:var(--orange-ink)}
.faq details[open] summary::after{transform:rotate(135deg);background-color:var(--web-bg);border-color:#b8480a59}
.faq details p{margin:0 0 20px;max-width:68ch;color:var(--ink-2)}

/* forms */
.form{border-radius:var(--r-lg);padding:clamp(22px,3.5vw,32px);border:1px solid var(--line);box-shadow:var(--shadow-lg)}
:where(.form,.calc) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){min-height:48px;padding:11px 14px;border:1px solid var(--field);border-radius:var(--r-sm);background-color:#fff;color:var(--ink);transition:border-color .15s}
:where(.form,.calc) :is(input,select,textarea):hover{border-color:var(--navy-600)}
:where(.form,.calc) :is(input:not([type=range]):not([type=checkbox]),select,textarea):focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 1px var(--navy),0 0 0 5px #3f8fd240}
.form textarea{min-height:110px}
.calc input[type=range]{min-height:44px}
input[type=range]:focus-visible{outline:3px solid var(--navy);outline-offset:4px;border-radius:4px}
.calc{background:#fff;border-radius:var(--r-lg);padding:clamp(20px,3vw,28px);box-shadow:var(--shadow-md)}

/* tables, chips, media */
.paths table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.paths th{background:#F8FAFC;border-bottom:1px solid var(--line);padding:14px 20px;font-size:.86rem;letter-spacing:.12em}
.paths td{padding:18px 20px}
.paths td a{padding-block:11px}
.paths tr:last-child td,.paths tr:last-child{border-bottom:0}
@media(max-width:700px){.paths tr{padding:16px 18px}.paths td{padding:3px 0}}
.areas .chips span{background:#fff;border-color:var(--line);box-shadow:var(--shadow-xs);padding:8px 15px}
.fphoto img,.meet .fphoto img{border-radius:var(--r-lg);border-color:var(--line);box-shadow:var(--shadow-lg)}
.founder .fq{border-left:3px solid var(--orange);font-size:1.4rem}
.vid{max-width:none;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border-color:var(--line)}
.vid:focus-within{outline:3px solid var(--navy);outline-offset:3px}

/* footer */
footer{background:linear-gradient(#0B1A2C,#081321);border-top:1px solid #ffffff14;color:#ffffffa3;font-size:.94rem;padding-block:clamp(56px,7vw,80px) 108px}
footer .wrap.fcols{gap:36px 28px;grid-template-columns:1fr 1fr}
footer .fb,footer .fl{grid-column:1/-1}
@media(min-width:760px){footer{padding-bottom:36px}footer .wrap.fcols{grid-template-columns:1.5fr 1fr 1fr .8fr}footer .fb{grid-column:auto}}
footer .fb{align-items:flex-start;flex-direction:column;gap:16px}
footer .fcols a.fb-brand{display:flex;gap:12px;align-items:center;padding:0}
footer .fb svg{width:42px;height:42px}
footer .fb span b{display:inline;font:inherit;color:#ffffffeb}
footer .fb p span{display:inline;margin:0;font:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
footer .fb p{margin:0;max-width:34ch}
footer .fcols>div>b{font-size:.84rem;letter-spacing:.14em;color:#ffffff8c;margin-bottom:12px}
footer .fcols a{color:#fffc;padding:11px 0;width:fit-content;transition:color .15s}
@media(min-width:760px){footer .fcols a{padding:5px 0}}
footer .fcols a:hover{color:#fff;text-decoration:underline;text-underline-offset:.22em;text-decoration-color:var(--orange-lite)}
footer .fl{border-top:1px solid #ffffff14;padding-top:22px;margin-top:8px;color:#fff9;gap:8px 16px}
footer .usa{display:none}

/* phone call bar */
.callbar{gap:0;background:var(--navy-900);box-shadow:0 -1px 0 #ffffff14,0 -10px 28px #050c1647;padding-bottom:env(safe-area-inset-bottom)}
.callbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:8px 4px;font-size:1rem;letter-spacing:.06em;line-height:1.1}
.callbar a+a{box-shadow:inset 1px 0 0 #ffffff1a}
.callbar .icon{width:20px;height:20px}
.callbar .r{background:#B8480A var(--grad-cone)}
.callbar .a{background:#1C3A5B var(--grad-iron)}
.callbar .b{background:var(--navy-deep)}

/* scroll progress + page transitions */
.cs-progress{position:fixed;left:0;right:0;top:0;z-index:60;height:3px;pointer-events:none;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#F26B1D,#F78D4C 70%,#FFB07D);box-shadow:0 0 10px #f26b1d8c}
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:cs-vt-out .18s ease both}
 ::view-transition-new(root){animation:cs-vt-in .28s ease both}
 body>header{view-transition-name:cs-header}
 .callbar{view-transition-name:cs-callbar}
}
@keyframes cs-vt-out{to{opacity:0}}
@keyframes cs-vt-in{from{opacity:0;transform:translateY(6px)}}

/* builder components */
.cs-card{position:relative}
.cs-card--hover{transition:transform .22s var(--ease),box-shadow .22s,border-color .22s}
@media(hover:hover){.cs-card--hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}}
.cs-dark{color:#fff;background-color:var(--navy-deep);background-image:linear-gradient(#ffffff0e,transparent 55%);border-color:#ffffff1a;box-shadow:inset 0 1px 0 #ffffff12,var(--shadow-lg)}
.cs-dark h3,.cs-dark h4{color:#fff}
.cs-dark p{color:#ffffffc7}
.cs-pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 11px;border-radius:var(--r-pill);font-family:var(--head);font-weight:700;font-size:.82rem;letter-spacing:.1em;line-height:1.3;text-transform:uppercase;color:var(--ai);background:var(--ai-bg);border:1px solid #1c3a5b29}
.cs-pill .icon{width:14px;height:14px}
.cs-pill--web{color:var(--web);background:var(--web-bg);border-color:#b8480a33}
.cs-pill--cloud{color:var(--cloud);background:var(--cloud-bg);border-color:#1f6fb233}
.cs-pill--solid{color:var(--ok);background:var(--ok-bg);border-color:#1b6e3538}
.cs-pill--look{color:var(--warn);background:var(--warn-bg);border-color:#8a5a0038}
.cs-pill--back{color:var(--bad);background:var(--bad-bg);border-color:#b3261e38}
:is(.cs-dark,.dark,.cs-navy,.ai) .cs-pill{color:#fff;background:#ffffff14;border-color:#ffffff2e}
:is(.cs-dark,.dark,.cs-navy,.ai) .cs-pill--web{color:var(--web-dk)}
:is(.cs-dark,.dark,.cs-navy,.ai) .cs-pill--ai{color:var(--ai-dk)}
:is(.cs-dark,.dark,.cs-navy,.ai) .cs-pill--cloud{color:var(--cloud-dk)}
.cs-more{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:600;text-decoration:none}
.cs-more:hover{text-decoration:underline;text-underline-offset:.2em}
.cs-head{max-width:760px;margin-bottom:clamp(28px,4vw,44px)}
.cs-head>.cs-pill{margin-bottom:14px}
.cs-head .lede,.cs-head p{margin-bottom:0}
.cs-head--center{margin-inline:auto;text-align:center}
.cs-head--center :is(.eyebrow,.cs-pill,p){margin-inline:auto}
*+.cs-head{margin-top:clamp(48px,6vw,72px)}
.cs-sub{font-size:clamp(1.6rem,2.6vw,2rem);margin:clamp(40px,5vw,56px) 0 20px}

/* live check (.lc): the free Google and website check, always linked out; .lc--dark on navy */
.lc{margin:0;min-width:0}
.lc-l{display:block;margin:0 0 8px;font:700 .82rem/1.3 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.lc-row{display:flex;flex-wrap:wrap;gap:10px}
.lc input{flex:1 1 210px;min-width:0;min-height:52px;margin:0;padding:12px 16px;font:500 1.02rem/1.3 var(--body);color:var(--ink);background:#fff;border:1px solid var(--field);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}
.lc input::placeholder{color:#6B7682;opacity:1}
.lc input:hover{border-color:var(--navy-600)}
.lc input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 1px var(--navy),0 0 0 5px #3f8fd240}
.lc input[aria-invalid=true]{border-color:var(--bad)}
.lc .btn{flex:1 0 auto;min-height:52px;margin:0}
@media(min-width:521px){.lc .btn{flex-grow:0}}
.lc-go .icon{width:1.05em;height:1.05em;margin-right:-.15em;transition:transform .22s var(--ease)}
@media(hover:hover){.lc-go:hover .icon{transform:translate(2px,-2px)}}
.lc .lc-msg{margin:10px 0 0;font-size:.95rem;font-weight:600;color:var(--bad)}
.lc .lc-msg:empty{display:none}
.lc .lc-note{margin:10px 0 0;font-size:.88rem;line-height:1.45;color:var(--muted)}
.lc--dark .lc-l{color:#ffffffe0}
.lc--dark input{border-color:#ffffff59;box-shadow:0 8px 20px -12px #000}
.lc--dark input:focus{border-color:#fff;box-shadow:0 0 0 3px var(--orange-lite)}
.lc--dark .lc-msg{color:#FFB4A9}
.lc--dark .lc-note{color:#ffffffb8}
.cs-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* AI demo */
section.aidemo .cdemo-tag{border-radius:var(--r-pill);background:var(--web-bg);color:var(--orange-ink);border:1px solid #b8480a33}
section.aidemo .cdemo-note{border-radius:var(--r-sm)}
section.aidemo .cdemo-main{max-width:400px}
@media(min-width:860px){section.aidemo .cdemo-grid{grid-template-columns:minmax(0,400px) minmax(0,1fr)}}
section.aidemo .cdemo-phone{padding:7px;border-radius:34px;background:linear-gradient(#2E5884,#14304D);box-shadow:inset 0 1px 0 #ffffff2e,var(--shadow-lg)}
section.aidemo .cdemo-screen{border-radius:28px;background:linear-gradient(#F1F4F8,#E5EBF1)}

/* focus: navy on light, orange on navy (out-ranks motion.css) */
:is(.btn,.menu a,.burger):focus-visible{outline-offset:3px}
footer .fb-brand:focus-visible{outline:3px solid var(--orange-lite);outline-offset:4px;border-radius:6px}
:is(.cs-navy,.cs-dark,.bc,.leak,.ai,.dark) :is(a,button,summary):focus-visible{outline-color:var(--orange-lite)}
:is(.cs-card:not(.cs-dark),.card:not([style]),.bc-card,.leak-card,.form,.calc) :is(a,button,summary):focus-visible{outline-color:var(--navy)}
.lc button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.lc--dark button:focus-visible{outline-color:var(--orange-lite)}
/* forced colours, reduced motion */
@media(forced-colors:active){.hero h1 em{color:inherit;background:none}}
@media(prefers-reduced-motion:reduce){
 .hero .audit{animation:none}
 .btn,.btn::after,.menu a,.menu a::after,.nav,.brand,body>header,.faq summary::after,.step,.cs-card--hover,.lc input,.lc-go .icon{transition:none!important}
 .cs-progress{display:none}
}
