/* Snow Removal Seattle — refreshed design layer. Loaded after each page's base styles. */
:root{
  --ink:#071430;--navy:#0B1F47;--navy2:#132D63;--line:#DCE5F4;--ice:#F3F7FD;--frost:#E6EEFA;
  --text:#0B1733;--muted:#4A5873;--orange:#FF6A1F;--orange2:#FF8A3D;--cyan:#5EE1F5;--blue:#2457E6;
  --surface:#FFFFFF;--on-dark:#FFFFFF;--on-dark-muted:#D6E2F5;--action-border:#071430;--focus-light:#FFFFFF;
  --fd:'Archivo',system-ui,sans-serif;--fb:'Manrope',system-ui,sans-serif;
  --r:16px;--sh:0 1px 2px rgba(7,20,48,.04),0 8px 24px -12px rgba(7,20,48,.18);
  --sh2:0 2px 4px rgba(7,20,48,.05),0 24px 48px -20px rgba(7,20,48,.32);
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:var(--fb)!important;background:var(--ice)!important;color:var(--text)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--orange);color:var(--ink)}
a:hover{opacity:1!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange)!important;outline-offset:3px}
img{max-width:100%}
[style*="Sora"]{font-family:var(--fd)!important}

/* Headings */
.h1,.h2,.h3,h1,h2,h3{font-family:var(--fd)!important;text-transform:none!important;letter-spacing:-.025em!important}
.h1{font-size:clamp(38px,5.4vw,72px)!important;line-height:1.02!important;font-weight:800!important;text-wrap:balance}
.h2{font-size:clamp(28px,3.4vw,44px)!important;line-height:1.08!important;font-weight:800!important;text-wrap:balance}
.h3{font-size:20px!important;line-height:1.25!important;font-weight:700!important}
.p{color:var(--muted)!important;font-size:18px!important;line-height:1.75!important}
.dk .p,.dk .pd{color:#C9D6EE!important}
.pd{font-size:clamp(18px,1.6vw,21px)!important}
.ey{display:inline-flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;padding:7px 14px!important;border-radius:999px;background:rgba(94,225,245,.1);border:1px solid rgba(94,225,245,.28);color:var(--cyan)!important;font-size:12.5px!important;letter-spacing:.16em!important}
.ey::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(94,225,245,.18)}
.pn .ey,section:not(.dk):not(.ft) .ey{background:rgba(36,87,230,.07);border-color:rgba(36,87,230,.2);color:var(--blue)!important}
.pn .ey::before,section:not(.dk) .ey::before{background:var(--blue);box-shadow:0 0 0 4px rgba(36,87,230,.14)}
.dk .ey{background:rgba(94,225,245,.1)!important;border-color:rgba(94,225,245,.28)!important;color:var(--cyan)!important}
.dk .ey::before{background:var(--cyan)!important}
.wp>.h2::before{width:44px!important;height:4px!important;border-radius:4px;background:linear-gradient(90deg,var(--orange),var(--orange2))!important}

/* Header */
.sn-hd,.hd{position:sticky!important;top:0;z-index:50!important;background:rgba(255,255,255,.82)!important;backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(220,229,244,.8)!important;transition:box-shadow .25s}
.is-scrolled .sn-hd,.is-scrolled .hd{box-shadow:0 10px 30px -18px rgba(7,20,48,.35)}
.sn-in,.in{padding-top:12px!important;padding-bottom:12px!important}
.sn-lg>span,.lg>span{font-family:var(--fd)!important;font-weight:800!important;color:var(--ink)!important}
.sn-nl,.nl{position:relative;color:var(--text)!important;font-weight:600!important;font-size:15px!important}
.sn-nl::after,.nl::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.sn-nl:hover::after,.nl:hover::after,.sn-nl[aria-current]::after{transform:scaleX(1)}
.sn-nl[aria-current]{color:var(--blue)!important}

/* Buttons */
.bt,.sn-bt,.cta a.bt{background:linear-gradient(180deg,var(--orange2),var(--orange))!important;color:var(--ink)!important;border-radius:999px!important;font-weight:700!important;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 10px 24px -10px rgba(255,106,31,.7);transition:transform .2s,box-shadow .2s!important}
.bt:hover,.sn-bt:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 16px 32px -12px rgba(255,106,31,.85)}
.bt::after{content:"→";margin-left:10px;transition:transform .2s}
.bt:hover::after{transform:translateX(3px)}
.cta .bt{background:var(--ink)!important;color:#fff!important;box-shadow:0 14px 30px -14px rgba(7,20,48,.8)}
.lk{display:inline-flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:48px;padding:0 22px!important;background:var(--ink);color:#fff!important;border-radius:999px;font-weight:700!important;font-size:16px!important;text-decoration:none!important;box-shadow:0 10px 24px -12px rgba(7,20,48,.55);transition:transform .2s,box-shadow .2s,background .2s!important}
.lk::after{content:"→";color:var(--orange2);transition:transform .2s}
.lk:hover{transform:translateY(-2px);background:var(--navy2);box-shadow:0 16px 32px -14px rgba(7,20,48,.7)}
.lk:hover::after{transform:translateX(4px)}
p .lk{min-height:44px;padding:0 18px!important;font-size:15px!important}

/* Dark hero sections */
.dk{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% -10%,rgba(36,87,230,.45),transparent 60%),radial-gradient(800px 500px at -10% 110%,rgba(94,225,245,.14),transparent 60%),linear-gradient(180deg,var(--navy) 0,var(--ink) 100%)!important}
.dk::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(1.5px 1.5px at 20px 30px,rgba(255,255,255,.55),transparent 60%),radial-gradient(1px 1px at 90px 120px,rgba(255,255,255,.45),transparent 60%),radial-gradient(2px 2px at 160px 60px,rgba(255,255,255,.35),transparent 60%),radial-gradient(1px 1px at 230px 190px,rgba(255,255,255,.5),transparent 60%);background-size:260px 240px;animation:snow 22s linear infinite}
@keyframes snow{to{background-position:60px 480px}}
.dk>*{position:relative}
.hg{padding-top:clamp(56px,8vw,112px)!important;padding-bottom:clamp(64px,9vw,120px)!important;gap:clamp(32px,5vw,64px)!important}
.ph{border-radius:24px!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);min-height:min(520px,90vw)!important}
.pi{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ph:hover .pi{transform:scale(1.04)}
.ic{background:rgba(7,20,48,.55)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14)!important;border-radius:12px!important}
section[style*="#11285A"]{background:var(--navy2)!important;border-color:rgba(255,255,255,.08)!important}
.si{font-size:15px}
.si svg,.ic svg{filter:drop-shadow(0 0 8px rgba(255,106,31,.35))}
section[style*="background:#0A1B3D"]:has(.toc){position:sticky;top:74px;z-index:40;background:rgba(7,20,48,.92)!important;backdrop-filter:blur(10px)}
.toc{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
.toc::-webkit-scrollbar{display:none}
.toc a{white-space:nowrap;padding:0 4px;color:#C9D6EE!important;font-size:14.5px!important;font-weight:600;transition:color .2s}
.toc a:hover{color:#fff!important}

/* Light sections */
.pn{background:linear-gradient(180deg,var(--frost),var(--ice))!important}
.wp{padding-top:clamp(64px,8vw,112px)!important;padding-bottom:clamp(64px,8vw,112px)!important}
.wp.svc{padding-top:clamp(44px,5.5vw,72px)!important;padding-bottom:clamp(44px,5.5vw,72px)!important;gap:24px!important}
.wp.svc .sh{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px 22px;max-width:none}
.wp.svc .sh .h2{flex:1 1 420px}
.wp.svc .sh .p{flex:1 1 100%;max-width:760px;font-size:17px!important;line-height:1.65!important}
.wp.svc .ci{width:48px!important;height:48px!important;border-radius:14px!important}
.wp img,section img[style*="border-radius"]{border-radius:20px!important;box-shadow:var(--sh2)}
.ci{width:56px!important;height:56px!important;border-radius:16px!important;background:linear-gradient(145deg,var(--navy2),var(--ink))!important;box-shadow:0 12px 24px -12px rgba(7,20,48,.6)}

/* Cards */
.cd,[style*="border:1px solid #CBD9F2;border-radius:6px"]{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh);transition:transform .25s,box-shadow .25s,border-color .25s!important}
.cd{padding:30px!important;position:relative;overflow:hidden}
.cd::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue));opacity:0;transition:opacity .25s}
.cd:hover{transform:translateY(-4px)!important;box-shadow:var(--sh2);border-color:#C3D3EE!important}
.cd:hover::before{opacity:1}
.cd p{color:var(--muted)}
.cl,[style*="border:1px solid #CBD9F2;border-radius:4px"]{background:#fff!important;border:1px solid var(--line)!important;border-radius:999px!important;font-weight:600!important;padding:0 18px!important;transition:all .2s!important}
.cl:hover,a[style*="border:1px solid #CBD9F2;border-radius:4px"]:hover{border-color:var(--blue)!important;color:var(--blue)!important;transform:translateY(-1px);box-shadow:var(--sh)}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 22px;box-shadow:var(--sh);transition:box-shadow .2s}
details[open]{box-shadow:var(--sh2)}
summary{cursor:pointer;font-weight:700;min-height:56px;display:flex;align-items:center;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";margin-left:auto;font-size:24px;color:var(--orange);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
table{border-collapse:separate!important;border-spacing:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--sh)}
th{background:var(--navy)!important;color:#fff!important;font-family:var(--fd)}
td,th{padding:14px 18px!important;border-color:var(--line)!important}
tr:nth-child(even) td{background:var(--ice)}

/* CTA band */
.cta{position:relative;overflow:hidden;background:radial-gradient(700px 300px at 90% 0,rgba(255,255,255,.35),transparent 60%),linear-gradient(120deg,var(--orange),var(--orange2))!important;color:var(--ink)!important}

/* Forms */
input,select,textarea{font-family:var(--fb)!important;border-radius:12px!important;border:1px solid var(--line)!important;background:#fff!important;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(36,87,230,.15);outline:none}
button[type=submit]{border-radius:999px!important;font-weight:700!important;cursor:pointer}

/* Footer */
.ft{background:linear-gradient(180deg,var(--navy),var(--ink))!important;color:#AFC0DE!important;border-top:4px solid var(--orange)}
.fl,.ft a{color:#C9D6EE!important;transition:color .2s}
.fl:hover,.ft a:hover{color:#fff!important}

/* Reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in-view{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

@media(max-width:860px){
  .sn-in,.in{padding-left:20px!important;padding-right:20px!important}
  .wp,.hg,.sg,.toc,.fi{padding-left:20px!important;padding-right:20px!important}
  section[style*="background:#0A1B3D"]:has(.toc){position:static}
  .ey{width:auto!important;font-size:11px!important;letter-spacing:.12em!important}
  .sn-nv{background:transparent}
  .sn-nl::after{display:none}
  .sn-hb{border-radius:12px!important;border-color:var(--line)!important}
  .cd{padding:24px!important}
}

/* Overall polish v3 */
.lk{min-height:42px!important;padding:0 18px!important;font-size:14.5px!important}
.wp{position:relative}
.pn{position:relative;border-top:1px solid var(--line)}
.pn::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(36,87,230,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
.pn>*{position:relative}
section:not(.dk):not(.pn):not(.cta):not(.ft){background:#fff}
section:not(.dk):not(.pn):not(.cta):not(.ft)+section:not(.dk):not(.pn):not(.cta):not(.ft){background:var(--ice)}
.h2{position:relative}
.wp>.h2::before,.sh>.h2::before{content:"";display:block;width:44px;height:4px;margin-bottom:18px;border-radius:4px;background:linear-gradient(90deg,var(--orange),var(--orange2))}
.cd{border-left:4px solid transparent!important}
.cd:hover{border-left-color:var(--orange)!important}
.cd .h3{color:var(--ink)}
.ci{position:relative}
.ci::after{content:"";position:absolute;inset:-4px;border-radius:20px;border:1px solid rgba(255,106,31,.35)}
ul li::marker,ol li::marker{color:var(--orange);font-weight:700}
.cta{box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.cta .h2{color:var(--ink)!important}
details summary{font-family:var(--fd)}
.ft{position:relative}
.ft::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 240px at 10% 0,rgba(36,87,230,.25),transparent 60%)}
.ft>*{position:relative}

/* Sticky bid bar */
.sbar{position:fixed;left:50%;bottom:16px;z-index:60;display:flex;align-items:center;gap:14px;width:min(720px,calc(100% - 24px));padding:10px 10px 10px 22px;box-sizing:border-box;background:rgba(7,20,48,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#E6EEFA;border:1px solid rgba(255,255,255,.12);border-radius:999px;box-shadow:0 20px 40px -16px rgba(7,20,48,.7);transform:translate(-50%,140%);opacity:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s;font-family:var(--fb)}
.sbar.on{transform:translate(-50%,0);opacity:1}
.sbar-t{flex:1;font-size:15px;line-height:1.3}.sbar-t strong{color:#fff}
.sbar-b{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:999px;background:linear-gradient(180deg,var(--orange2),var(--orange));color:var(--ink)!important;font-weight:700;text-decoration:none;white-space:nowrap}
.sbar-x{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:22px;cursor:pointer}
@media(max-width:600px){.sbar{border-radius:18px;padding:10px;gap:10px}.sbar-t{display:none}.sbar-b{flex:1;justify-content:center}}

/* Shared contrast treatment, including legacy sections without theme classes. */
section[style*="background:#0A1B3D"],section[style*="background:#11285A"]{
  background:var(--navy)!important;color:var(--on-dark)!important;
}
:is(.dk,section[style*="background:#0A1B3D"],section[style*="background:#11285A"]){
  color:var(--on-dark)!important;
}
:is(.dk,section[style*="background:#0A1B3D"],section[style*="background:#11285A"]) :is(.p,.pd,p,li){
  color:var(--on-dark-muted)!important;
}
:is(.dk,section[style*="background:#0A1B3D"],section[style*="background:#11285A"]) a:not(.bt):not(.lk):not(.cl){
  color:var(--cyan)!important;
}
:is(.cd,details){background:var(--surface)!important;color:var(--text)!important;}
:is(.cd,details) :is(p,.p,.pd,li){color:var(--muted)!important;}
:is(.cd,details) :is(h2,h3,summary){color:var(--ink)!important;}
.cl{color:var(--ink)!important;}
.cta,section[style*="background:#FF6B1A"]{
  background:var(--orange)!important;color:var(--ink)!important;
}
:is(.cta,section[style*="background:#FF6B1A"]) :is(h2,p,.p,.pd){color:var(--ink)!important;}
.cta a.bt,.cta .bt,section[style*="background:#FF6B1A"] a.bt{
  background:var(--ink)!important;color:var(--on-dark)!important;
  border:2px solid var(--action-border)!important;box-sizing:border-box;
}
.cta a.bt:hover,.cta .bt:hover,section[style*="background:#FF6B1A"] a.bt:hover{
  background:var(--navy2)!important;
}
:is(.cta,section[style*="background:#FF6B1A"]) :is(.bt,.lk):focus-visible{
  outline-color:var(--focus-light)!important;box-shadow:0 0 0 6px var(--ink)!important;
}
.ft :is(.lg,.sn-lg)>span{color:var(--on-dark)!important;}
.ft{color:var(--on-dark-muted)!important;}
footer[style*="background:#0A1B3D"]{background:var(--navy)!important;color:var(--on-dark-muted)!important;}
footer[style*="background:#0A1B3D"] a{color:var(--on-dark-muted)!important;}
footer[style*="background:#0A1B3D"] a:hover{color:var(--on-dark)!important;}
figcaption{background:var(--ink)!important;color:var(--on-dark)!important;}
input,select,textarea{color:var(--text)!important;}
input::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:1;}

/* Home hero: badge removed, content pulled up */
.hg.hgt{padding-top:clamp(36px,4.5vw,64px)!important;padding-bottom:clamp(48px,6vw,88px)!important}
.hg.hgt .ht{gap:20px!important}
