/* Boost Services site styles — brand tokens per master plan */
:root{--navy:#122a48;--navy-d:#0d1f35;--navy-l:#1d4275;--sky:#e9f1fa;--black:#122a48;--rule:#d9e7f7;--orange:#ff9046;--orange-t:#b4501a;--orange-h:#d95d14;--bone:#fdfbf7;--cream:#f6f2ea;--grey:#e8e3da;--ink:#122a48;--muted:#122a48;--body:"Work Sans",system-ui,sans-serif}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:18px;line-height:1.6;color:var(--navy);background:#fff;text-wrap:pretty;-webkit-font-smoothing:antialiased}
a{color:var(--navy)}a:hover{color:var(--orange-t)}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
/* type: one family, calm weights */
.h1{font:600 clamp(36px,4vw,54px)/1.1 var(--body);letter-spacing:-.025em;margin:0;color:var(--black)}
.h2{font:600 clamp(26px,2.8vw,38px)/1.15 var(--body);letter-spacing:-.02em;margin:0;color:var(--black)}
.h3{font:600 20px/1.3 var(--body);letter-spacing:-.01em;margin:0;color:var(--black)}
.kicker{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);opacity:.75;margin-bottom:10px}
.lead{font-size:18px;color:var(--navy);opacity:.85;margin:0}
.p{margin:0}.small{font-size:15px;color:var(--navy);opacity:.8}
.num{font:600 30px/1 var(--body);letter-spacing:-.02em;color:var(--black);font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;font:600 15px var(--body);border-radius:6px;text-decoration:none;border:1px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;cursor:pointer}
.b-o{background:var(--orange);color:var(--black);border-color:var(--orange)}.b-o:hover{background:var(--orange-h);border-color:var(--orange-h);color:#fff}
.b-n{background:var(--black);color:#fff;border-color:var(--black)}.b-n:hover{background:#2a2d35;color:#fff}
.b-l{background:transparent;color:var(--navy);border-color:rgba(30,74,128,.4)}.b-l:hover{background:rgba(30,74,128,.06);color:var(--navy)}
.b-g{background:transparent;color:var(--navy);border-color:var(--grey)}.b-g:hover{background:#fff;color:var(--navy)}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sec{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.pic{background:var(--grey);position:relative;overflow:hidden}
.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) sepia(.1);display:block;}
.tag{position:absolute;right:10px;top:10px;padding:2px 8px;background:rgba(253,251,247,.92);color:var(--orange-t);border:1px dashed var(--orange-t);border-radius:2px;font:600 10px var(--body);letter-spacing:.08em;text-transform:uppercase;z-index:2}
.tex{color:var(--ink);background:radial-gradient(900px 600px at 15% 0%,#ffffff,transparent 70%),radial-gradient(700px 500px at 100% 100%,#d9e7f7,transparent 70%),linear-gradient(180deg,#e9f1fa,#f6f9fd 60%,#ffffff)}
.card{background:#fff;border:1px solid var(--grey);border-radius:8px;box-shadow:0 1px 2px rgba(17,19,24,.04)}
.svc{border-radius:8px;text-decoration:none;color:var(--navy);background:#fff;border:1px solid var(--grey);overflow:hidden;display:flex;flex-direction:column;}

.svc .pic{aspect-ratio:16/10;border-bottom:1px solid var(--grey)}
.svc .t{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
.svc .t b{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--black)}
.svc .t span{font-size:15px;color:var(--muted)}
/* scroll reveal: re-triggers every time */

.faq-q{width:100%;text-align:left;background:none;border:0;border-top:1px solid #d9e7f7;padding:16px 0;font:500 17px/1.4 var(--body);color:var(--black);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px}
.faq-q:hover{color:var(--orange-t)}
@keyframes drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,-18px,0)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes sheen{0%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(230%) skewX(-18deg)}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
.crumbs{display:flex;gap:10px;font-size:14px;list-style:none;padding:0;margin:0 0 20px;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--grey)}
.field label{color:var(--navy);font-weight:500;font-size:15px}
.input,select.input{min-height:46px;border-radius:6px;font-family:var(--body);font-size:16px}
.mobile-bar{display:none}
@media (max-width:1120px){.lnk{display:none!important}}
@media (min-width:1121px){.call-m{display:none!important}}
@media (max-width:900px){.two{grid-template-columns:1fr!important}.topbar{display:none!important}.mobile-bar{display:grid}.g12>*{grid-column:1/-1!important}.hide-m{display:none!important}body{padding-bottom:64px}.hero-card{position:relative!important;left:auto!important;top:auto!important;width:auto!important;margin:-60px 16px 0!important}.hero-wrap{height:auto!important;padding-bottom:24px}.hero-pic{position:relative!important;height:340px;clip-path:none!important;left:0!important}}

/* detail */
.card .kicker{margin-bottom:8px}
hr.rule{border:0;height:1px;background:var(--grey);margin:0}
.stat{padding:20px 22px;background:#fff;border:1px solid var(--grey);border-radius:8px;display:flex;flex-direction:column;gap:4px}
.stat .small{font-size:14px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--sky);color:var(--navy);font-size:13px;font-weight:600}
.dot{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block}

/* light theme overrides for former dark bands */
.tex,.tex .h1,.tex .h2,.tex b{color:var(--black)}
.tex .kicker{color:var(--navy)!important}
.tex p,.tex .small{color:var(--muted)!important}
.tex a[href^="tel"]{color:var(--navy)!important}
.tex .fade{display:none}
.hero-wrap{background:linear-gradient(180deg,#e9f1fa,#f6f9fd)!important}
.hero-wrap .hero-pic{clip-path:ellipse(75% 100% at 80% 50%)}
.hero-card{background:rgba(255,255,255,.92)!important;border:1px solid rgba(30,74,128,.12)!important;box-shadow:0 30px 60px -40px rgba(30,74,128,.35)!important}
.hero-wrap svg path{fill:#ffffff}

/* ---- Motion vocabulary (the whole of it) ----
   entrance: fade 0→1 + 24px rise, 450ms, cubic-bezier(.16,1,.3,1), once, ~15% visible
   grid children stagger 70ms, capped at 6
   images settle 1.06→1.0 over 900ms with the section
   hover: card lifts 2px / 150ms; buttons darken to #d95d14
   nothing continuous; hero CTA and phone numbers never animate */
.rv{opacity:0;transform:translateY(24px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
.rv-grid>*{opacity:0;transform:translateY(24px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.rv-grid.in>*{opacity:1;transform:none}
.rv-grid.in>*:nth-child(2){transition-delay:.07s}.rv-grid.in>*:nth-child(3){transition-delay:.14s}.rv-grid.in>*:nth-child(4){transition-delay:.21s}.rv-grid.in>*:nth-child(5){transition-delay:.28s}.rv-grid.in>*:nth-child(n+6){transition-delay:.35s}
.rv .pic img,.rv-grid .pic img{transform:scale(1.06);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in .pic img,.rv-grid.in .pic img{transform:scale(1)}
.card,.svc,.stat{transition:transform .15s ease,box-shadow .15s ease}
.card:hover,.svc:hover,.stat:hover{transform:translateY(-2px);box-shadow:0 10px 24px -18px rgba(17,19,24,.35)}
.b-o:hover{background:#d95d14;border-color:#d95d14;color:#fff}
.no-anim.rv,.no-anim .rv,.no-anim .rv-grid>*,.no-anim .h1,.no-anim .lead,.no-anim .kicker,.no-anim>p{opacity:1!important;transform:none!important;transition:none!important}
.planned{display:inline-block;padding:3px 9px;border-radius:4px;background:#fff3ea;color:var(--orange-t);border:1px dashed var(--orange-t);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
@media (prefers-reduced-motion:reduce){.rv,.rv-grid>*,.rv .pic img,.rv-grid .pic img,.card,.svc,.stat{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

/* tap targets */
.svc .t span a,.pill,footer a,.crumbs a{min-height:44px;display:inline-flex;align-items:center}
.svc .t span{gap:0 18px}
.pill{padding:10px 14px}

.nav-a{min-height:44px}

/* light grounds only: separation by hairline + tone step + spacing, no shadows */
main > section{border-top:0}
.card,.svc,.stat,.plate{box-shadow:none!important}
.card:hover,.svc:hover,.stat:hover{box-shadow:none!important;border-color:#b3c7e0}
.tex{background:linear-gradient(180deg,#f6f9fd,#e9f1fa)!important}
.hero-card{box-shadow:none!important}
.lead-form,.card form{box-shadow:none!important}
.tag{color:var(--navy)!important;border-color:#b3c7e0!important}
.planned{color:var(--navy)!important;border-color:#b3c7e0!important;background:#e9f1fa!important}
.dot{background:var(--orange)}
.b-n{background:var(--navy);border-color:var(--navy);color:#fff}.b-n:hover{background:var(--navy-l);color:#fff}
.b-g{color:var(--navy);border-color:#b3c7e0}
.b-l{color:var(--navy);border-color:#b3c7e0}
.svc .t span a{min-height:44px;display:inline-flex;align-items:center;padding:0 2px}
footer a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0}
footer [style*="display:grid;gap:8px"]{gap:0!important}
.pill{min-height:44px}
.crumbs{min-height:44px;align-items:center}.crumbs a{display:inline-flex;align-items:center;min-height:44px;margin:0}

.svc .t b a,a[href$=".dc.html"][style*="font-weight:600;text-decoration:none"],.card form a,form a{display:inline-flex;align-items:center;min-height:44px}
#request a[href^="tel"]{min-height:44px;display:inline-flex;align-items:center}

.tl{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}

.slot{background:linear-gradient(160deg,#f6f2ea,#e9f1fa)!important;color:var(--navy)!important;font-size:11px!important;letter-spacing:.1em!important}

/* signature light blue: alternating bands, soft cross-fades, no rules */
body{background:linear-gradient(180deg,#e9f1fa 0,#f6f9fd 40%,#ffffff 100%) fixed}
main > section:nth-of-type(odd):not(.hero-wrap){background:linear-gradient(180deg,#ffffff 0%,#eef4fb 60%,#e9f1fa 100%)}
main > section:nth-of-type(even):not(.hero-wrap){background:linear-gradient(180deg,#e9f1fa 0%,#f6f9fd 55%,#ffffff 100%)}
main > section.tex{background:linear-gradient(180deg,#e9f1fa,#dfe9f7 50%,#e9f1fa)!important}
#reviews,#areas,#financing{background:linear-gradient(180deg,#f6f9fd,#dfe9f7 50%,#f6f9fd)!important}
.card,.svc,.stat{background:rgba(255,255,255,.85)}
.card:hover,.svc:hover,.stat:hover{border-color:#9dbbe0}
.hero-card{background:rgba(255,255,255,.9)!important}
footer{background:linear-gradient(180deg,#e9f1fa,#dfe9f7)!important;border-top:0!important}
.topbar{background:#dfe9f7!important;border-bottom:0!important}
header{border-bottom:0!important;background:rgba(233,241,250,.9)!important}
/* text entrance: headings and lead copy rise word by word, one pass, same curve */
.rv .h1,.rv .h2,.rv .lead,.rv .kicker,.rv > p{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.rv.in .kicker{opacity:1;transform:none;transition-delay:0s}
.rv.in .h1,.rv.in .h2{opacity:1;transform:none;transition-delay:.08s}
.rv.in .lead,.rv.in > p{opacity:1;transform:none;transition-delay:.16s}
@media (prefers-reduced-motion:reduce){.rv .h1,.rv .h2,.rv .lead,.rv .kicker,.rv > p{opacity:1!important;transform:none!important;transition:none!important}}

footer .wrap[style*="border-top"]{border-top:0!important}

/* darker light blue */
body{background:linear-gradient(180deg,#d6e4f5 0,#e6eff9 40%,#f4f8fd 100%) fixed}
main > section:nth-of-type(odd):not(.hero-wrap){background:linear-gradient(180deg,#f4f8fd 0%,#e0ebf7 60%,#d6e4f5 100%)}
main > section:nth-of-type(even):not(.hero-wrap){background:linear-gradient(180deg,#d6e4f5 0%,#e6eff9 55%,#f4f8fd 100%)}
main > section.tex{background:linear-gradient(180deg,#d6e4f5,#c9dbf1 50%,#d6e4f5)!important}
#reviews,#areas,#financing{background:linear-gradient(180deg,#e6eff9,#c9dbf1 50%,#e6eff9)!important}
.hero-wrap{background:linear-gradient(180deg,#d6e4f5,#e6eff9)!important}
.hero-wrap svg path{fill:#f4f8fd}
footer{background:linear-gradient(180deg,#d6e4f5,#c9dbf1)!important}
.topbar{background:#c9dbf1!important}
header{background:rgba(214,228,245,.92)!important}
.card,.svc,.stat{background:rgba(255,255,255,.88);border-color:#c9dbf1}
.faq-q{border-top-color:#c9dbf1}
.slot{background:linear-gradient(160deg,#eef4fb,#d6e4f5)!important}

/* trust row */
.trust .tr{display:flex;align-items:center;gap:10px;min-height:44px}
.trust .tr b{color:var(--navy);font-weight:600;white-space:nowrap}
.trust .tr .small{white-space:nowrap}
.trust .ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;font-size:18px;line-height:1;color:var(--navy)}
/* service cards */
.tex-card{position:relative;background:rgba(255,255,255,.88) repeating-linear-gradient(135deg,rgba(18,42,72,.035) 0 1px,transparent 1px 11px)}
.tex-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,144,70,.18),transparent 70%);pointer-events:none}
.svc-ic{display:block;margin-bottom:12px}
.svc-ic svg{display:block}
/* timeline */
.timeline{position:relative;padding-top:22px}
.tl-track{position:absolute;left:10%;right:10%;top:44px;height:2px;background:#c9dbf1;border-radius:2px;overflow:hidden}
.tl-fill{height:100%;width:100%;background:var(--navy);transform-origin:left;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.16,1,.3,1) .2s}
.timeline.in .tl-fill{transform:scaleX(1)}
.tl-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.tl-steps li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.timeline.in .tl-steps li{opacity:1;transform:none}
.timeline.in .tl-steps li:nth-child(1){transition-delay:.25s}.timeline.in .tl-steps li:nth-child(2){transition-delay:.45s}.timeline.in .tl-steps li:nth-child(3){transition-delay:.65s}.timeline.in .tl-steps li:nth-child(4){transition-delay:.85s}.timeline.in .tl-steps li:nth-child(5){transition-delay:1.05s}
.tl-dot{width:44px;height:44px;border-radius:50%;background:var(--orange);color:var(--navy);font-weight:700;display:grid;place-items:center;border:4px solid #f4f8fd;position:relative;z-index:1}
.tl-dot.active::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);opacity:0;animation:ring 2.8s ease-out infinite}
@keyframes ring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.tl-steps b{color:var(--navy);font-weight:600;font-size:17px}
@media (max-width:900px){.tl-steps{grid-template-columns:1fr;gap:20px}.tl-steps li{flex-direction:row;text-align:left;align-items:flex-start}.tl-track{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto}.tl-fill{transform-origin:top;transform:scaleY(0);width:100%;height:100%}.timeline.in .tl-fill{transform:scaleY(1)}.tl-steps li b,.tl-steps li .small{display:block}.tl-steps li > b{margin-top:10px}}
/* why grid */
.why{display:flex;gap:12px;align-items:flex-start}
.why-ic{flex:none;width:36px;height:36px}
.why b{display:block;color:var(--navy);font-weight:600}
/* projects */
.proj-ic{flex:none;width:44px;height:44px;display:grid;place-items:center;background:#e9f1fa;border-radius:8px}
.proj-ic svg{width:30px;height:30px}
.proj:hover .proj-ic{background:#dfe9f7}
/* subtle idle on orange accents (picked: draw-in + subtle idle) */
.in .svc-ic svg [fill="#ff9046"],.in .proj-ic svg [fill="#ff9046"],.in .why-ic svg [fill="#ff9046"]{animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.55}}
/* reviews toggle */
.seg-tog{display:inline-flex;border:1px solid #c9dbf1;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.85)}
.tog{min-height:44px;padding:0 18px;border:0;background:transparent;font:600 15px var(--body);color:var(--navy);cursor:pointer}
.tog.on{background:var(--navy);color:#fff}
@media (prefers-reduced-motion:reduce){.tl-fill,.tl-steps li{transition:none!important;transform:none!important;opacity:1!important}.tl-dot.active::after,.in svg [fill="#ff9046"]{animation:none!important}}

/* trust row v2 */
.trust-row{display:grid;grid-template-columns:1.1fr 1fr .9fr 240px;gap:24px 32px;align-items:center;padding:8px 0}
.trust-col{display:flex;flex-direction:column;gap:6px}
.trust-h{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--navy);opacity:.6;margin-bottom:2px}
.trust-row .tr{display:flex;align-items:center;gap:10px;min-height:32px}
.trust-row .tr b{color:var(--navy);font-weight:600;white-space:nowrap}
.trust-row .ic{display:inline-flex;align-items:center;justify-content:center;width:22px;flex:none;font-size:18px;line-height:1;color:var(--navy)}
.trust-dia{justify-self:end}
.trust-dia svg path,.trust-dia svg rect,.trust-dia svg circle.d-fan{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1)}
.in .trust-dia svg path,.in .trust-dia svg rect,.in .trust-dia svg circle.d-fan{stroke-dashoffset:0}
.in .trust-dia .d-air{animation:airflow 3s ease-in-out infinite;stroke:#ff9046}
@keyframes airflow{0%,100%{opacity:.25;transform:translateX(0)}50%{opacity:1;transform:translateX(6px)}}
@media (max-width:900px){.trust-row{grid-template-columns:1fr 1fr}.trust-dia{display:none}}
/* no separating lines anywhere: blend by tone only */
.faq-q{border-top:0!important;padding:14px 0}
.faq-q+*{padding-top:0}
#reviews .card [style*="border-top:1px solid #c9dbf1"]{border-top:0!important}
.row{border-top:0!important}
.crumbs li+li::before{color:#b3c7e0}
/* why grid spacing */
.why{align-items:center;min-height:56px}
.why-ic{display:grid;place-items:center;width:44px;height:44px;background:rgba(255,255,255,.7);border-radius:10px}
.why b{line-height:1.25;margin-bottom:2px}
.why .small{display:block;line-height:1.3}
/* projects */
.proj .proj-ic{width:44px;height:44px}
/* subtler toggle */
.seg-tog{border-color:#d6e4f5;background:#f4f8fd;border-radius:999px}
.tog{min-height:36px;padding:0 14px;font-size:13px;font-weight:600;color:var(--navy);opacity:.7;border-radius:999px}
.tog.on{background:#fff;color:var(--navy);opacity:1;box-shadow:none;border:1px solid #c9dbf1}
@media (prefers-reduced-motion:reduce){.trust-dia svg *{transition:none!important;stroke-dashoffset:0!important;animation:none!important}}

.proj{grid-template-columns:1fr auto!important}
.proj > b,.proj > .small{grid-column:1}
.proj .proj-ic{grid-column:2;grid-row:1/3}
.why{align-items:flex-start!important;min-height:0}
.why b{white-space:nowrap}
@media (max-width:600px){.why b{white-space:normal}}

/* 7a path */
.path7a .p-draw{stroke-dashoffset:1400;stroke-dasharray:1400;transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1) .1s}
.path7a.in .p-draw{stroke-dasharray:6 8;stroke-dashoffset:0;transition:none}
.path7a .p-dots circle,.path7a .p-nums text{opacity:0;transform:translateY(8px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}
.path7a.in .p-dots circle,.path7a.in .p-nums text{opacity:1;transform:none}
.path7a.in .p-dots circle:nth-child(1),.path7a.in .p-nums text:nth-child(1){transition-delay:.2s}.path7a.in .p-dots circle:nth-child(2),.path7a.in .p-nums text:nth-child(2){transition-delay:.45s}.path7a.in .p-dots circle:nth-child(3),.path7a.in .p-nums text:nth-child(3){transition-delay:.7s}.path7a.in .p-dots circle:nth-child(4),.path7a.in .p-nums text:nth-child(4){transition-delay:.95s}.path7a.in .p-dots circle:nth-child(5),.path7a.in .p-nums text:nth-child(5){transition-delay:1.2s}
.path7a.in .p-last{animation:ringpulse 2.8s ease-out 1.6s infinite}
@keyframes ringpulse{0%,100%{stroke-width:5}50%{stroke-width:12;stroke:#ffd9c2}}
.p-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.p-steps li{text-align:center;display:flex;flex-direction:column;gap:4px}
.p-steps b{color:var(--navy);font-weight:600;font-size:17px}
@media (max-width:900px){.path7a svg{display:none}.p-steps{grid-template-columns:1fr;gap:14px;counter-reset:s}.p-steps li{text-align:left;padding-left:52px;position:relative;min-height:40px}.p-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--orange);color:var(--navy);font-weight:700;display:grid;place-items:center}}
/* trust: no box */
.trust-sec .trust-row{background:transparent!important;border:0!important;padding:16px 0}
/* brands row in hero */
.brands{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:22px;font-size:13px;font-weight:600;color:var(--navy);opacity:.8}
.brands span+span{position:relative}
/* hero: no fixed height, no absolute card = no overlap at any width */
.hero-wrap{height:auto!important;min-height:0!important;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:center;gap:0;padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px) clamp(56px,7vw,96px)}
.hero-wrap .hero-card{position:relative!important;left:auto!important;top:auto!important;width:auto!important;max-width:560px;grid-column:1;z-index:2}
.hero-wrap .hero-pic{position:absolute!important;left:42%!important;top:0!important;right:0!important;bottom:0!important}
.hero-wrap > svg{position:absolute;left:0;right:0;bottom:-2px}
@media (max-width:900px){.hero-wrap{grid-template-columns:1fr;padding-top:0}.hero-wrap .hero-pic{position:relative!important;left:0!important;height:300px;clip-path:none!important;margin:0 -20px 16px}.hero-wrap .hero-card{margin:0!important}}
@media (prefers-reduced-motion:reduce){.path7a .p-draw{stroke-dashoffset:0!important;stroke-dasharray:6 8!important}.path7a .p-dots circle,.path7a .p-nums text{opacity:1!important;transform:none!important}.path7a .p-last{animation:none!important}}

.trust-row{grid-template-columns:1.1fr 1fr .9fr minmax(0,240px)!important}
@media (max-width:1100px){.trust-row{grid-template-columns:1fr 1fr 1fr!important}.trust-dia{display:none}}
@media (max-width:900px){.trust-row{grid-template-columns:1fr 1fr!important}}
.why b{white-space:normal!important}
@media (min-width:1200px){.why b{white-space:nowrap!important}}

/* hero brand line: words rise in once, orange rule draws, sub-line fades */
.brandline{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.brandline .bl-word{font:700 15px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);opacity:0;transform:translateY(8px);animation:blw .5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.08s + var(--i) * .1s)}
.brandline .bl-sep{width:0;height:2px;background:var(--orange);border-radius:1px;animation:bls .5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.3s}
.brandline .bl-sub{font:600 13px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--navy);opacity:0;animation:blf .5s ease forwards;animation-delay:.45s}
.brandline .bl-amp{color:var(--orange-t)}
@keyframes blw{to{opacity:1;transform:none}}
@keyframes bls{to{width:28px}}
@keyframes blf{to{opacity:.85}}
@media (prefers-reduced-motion:reduce){.brandline .bl-word,.brandline .bl-sub{opacity:1!important;transform:none!important;animation:none!important}.brandline .bl-sep{width:28px!important;animation:none!important}}

.hero-pic .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.hero-pic .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){.hero-pic .slide{transition:none}}

/* 8d buttons site-wide: pills, underline draws on hover; phone rings, calendar flips */
.btn.b-o,.btn.b-n,.btn.b-g,.btn.b-l{border-radius:999px;padding-left:26px;padding-right:26px;position:relative;overflow:visible}
.btn .lbl{position:relative}
.btn .lbl::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.btn.b-n .lbl::after,.btn.b-g .lbl::after{background:var(--orange)}
.btn:hover .lbl::after{transform:scaleX(1)}
.btn .ico{width:18px;height:18px;flex:none}
.btn.b-o:hover .ico-ph{animation:ringph .7s ease-in-out;transform-origin:50% 60%}
@keyframes ringph{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(6deg)}}
.btn:hover .ico-cal{animation:calflip .6s cubic-bezier(.16,1,.3,1)}
.btn:hover .ico-cal .cal-check{opacity:1;transition:opacity .25s .3s}
.ico-cal .cal-check{opacity:0}
@keyframes calflip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}100%{transform:rotateX(0)}}
@media (prefers-reduced-motion:reduce){.btn .lbl::after{transition:none}.btn:hover .ico-ph,.btn:hover .ico-cal{animation:none}}
