
:root{--slate:#354159;--slate-d:#2A3347;
  --green:#9FCF27;--green-d:#6BA636;--green-m:#5A8F2E;--green-l:#E9F4D8;--green-xl:#F5FAEC;
  --navy:#041E42;--navy-d:#001A85;--navy-l:#EFF6FF;--navy-xl:#F8FAFF;
  --orange:#FA4616;--orange-d:#D93A0F;
  --white:#fff;--off:#F8FAFC;--border:#E2E8F0;--dark:#0F1B4D;--gray:#64748B;--gray-l:#94A3B8;
  --font:'Outfit',system-ui,sans-serif;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow:0 4px 16px rgba(0,0,0,.08);
  --shadow-lg:0 20px 60px rgba(0,0,0,.12);
  --shadow-navy:0 8px 32px rgba(12,58,110,.22);--shadow-green:0 8px 32px rgba(159,207,39,.25);
  --radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;
  --tr:all .12s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--dark);background:#fff;font-size:16px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none;transition:var(--tr)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--orange);color:#fff;padding:10px 18px;z-index:2000;border-radius:0 0 8px 0;font-weight:700}
.skip-link:focus{left:0}

/* ── NAV ── */
.site-nav{position:sticky;top:0;z-index:1000;background:rgba(4,30,66,.985);box-shadow:0 1px 0 rgba(255,255,255,.07);overflow:visible}
.nav-inner{max-width:1440px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:6px;height:86px;overflow:visible}
.nav-logo{height:50px;margin-right:8px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
.nav-links{display:flex;gap:2px;flex:1;justify-content:center;align-items:center;min-width:0;overflow:visible}
.nav-links>a,.nav-drop>a{white-space:nowrap;font-size:18px;font-weight:500;color:#fff;padding:8px 11px;border-radius:6px;transition:var(--tr)}
.nav-links>a:hover,.nav-links>a.active,.nav-drop>a:hover,.nav-drop>a.active{color:#fff;background:rgba(255,255,255,.14)}
.nav-drop{position:relative;display:flex;align-items:center}
/* trigger chevron: lime accent, rotates on open */
.nav-drop>a::before{content:"";display:inline-block;width:7px;height:7px;margin-right:0;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg) translateY(-1px);position:relative;top:-2px;float:right;margin-left:7px;margin-top:9px;transition:transform .26s cubic-bezier(.22,1,.36,1)}
.nav-drop.open>a::before{transform:rotate(225deg) translateY(-1px);top:2px}
.nav-drop-menu{position:absolute;top:calc(100% + 10px);left:50%;background:#fff;border:1px solid rgba(2,20,90,.09);border-radius:18px;box-shadow:0 2px 6px rgba(10,20,60,.08),0 22px 54px rgba(10,20,60,.20);padding:8px;min-width:238px;display:flex;flex-direction:column;gap:2px;z-index:5000;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-8px) scale(.985);transform-origin:top center;transition:opacity .18s ease-in,transform .18s ease-in,visibility 0s linear .18s;will-change:opacity,transform}
/* hover bridge: invisible strip spanning the 10px gap above the panel */
.nav-drop-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-drop.open .nav-drop-menu,html:not(.jsnav) .nav-drop:hover .nav-drop-menu,html:not(.jsnav) .nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1);transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1),visibility 0s}
/* viewport edge flip (set by JS when the centered panel would overflow) */
.nav-drop.align-right .nav-drop-menu{left:auto;right:0;transform:translateY(-8px) scale(.985);transform-origin:top right}
.nav-drop.align-right.open .nav-drop-menu{transform:translateY(0) scale(1)}
.nav-drop-menu a{color:var(--navy);font-size:15px;font-weight:600;padding:10px 14px;border-radius:10px;position:relative;transition:background .16s ease,color .16s ease}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:var(--green-xl)}
.nav-drop-menu a:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.nav-drop-menu a.active{color:var(--navy)}
.nav-drop-menu a.active::after{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:2px;background:var(--green)}
.nav-drop>a::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
@media (prefers-reduced-motion: reduce){
  .nav-drop-menu{transform:translateX(-50%);transition:opacity .12s linear,visibility 0s linear .12s}
  .nav-drop.open .nav-drop-menu,html:not(.jsnav) .nav-drop:hover .nav-drop-menu,html:not(.jsnav) .nav-drop:focus-within .nav-drop-menu{transform:translateX(-50%);transition:opacity .12s linear,visibility 0s}
  .nav-drop.align-right .nav-drop-menu,.nav-drop.align-right.open .nav-drop-menu{transform:none}
  .nav-drop>a::before{transition:none}
}

.nav-phone{color:#fff;font-size:18px;font-weight:600;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;margin-right:10px}
.nav-phone svg{width:19px;height:19px;fill:#fff;flex-shrink:0}
.nav-sched{background:var(--green);color:#0B2144;border:none;font-family:var(--font);font-weight:800;font-size:14px;padding:10px 20px;border-radius:22px;cursor:pointer;transition:var(--tr);box-shadow:0 4px 14px rgba(159,207,39,.4)}
.nav-sched:hover{background:#86B31F;transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:6px;margin-left:auto;background:none;border:none;cursor:pointer}
.hamburger span{width:22px;height:2px;background:#fff;border-radius:2px;display:block}
.mobile-nav{display:none;position:fixed;top:86px;left:0;right:0;background:var(--navy);z-index:999;padding:16px 24px 28px;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.1);max-height:calc(100vh - 86px);overflow-y:auto}
.mobile-nav.open{display:flex}
.mobile-nav a{display:block;color:rgba(255,255,255,.82);font-size:15px;padding:10px 12px;border-radius:6px;font-weight:500}
.mobile-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.mobile-nav .mnav-group{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green);padding:14px 12px 4px}

/* ── BUTTONS (orange primary, TurFresh style) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none;white-space:nowrap;text-decoration:none;font-family:var(--font);transition:var(--tr);cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--green);color:#0B2144;box-shadow:0 2px 12px rgba(159,207,39,.35)}
.btn-primary:hover{background:#86B31F;color:#0B2144}
.btn-navy{background:var(--navy);color:#fff;box-shadow:var(--shadow-navy)}
.btn-navy:hover{background:var(--navy-d);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.38)}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn-outline-navy{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn-outline-navy:hover{background:var(--navy);color:#fff}
.btn-lg{font-size:16px;padding:14px 34px;border-radius:var(--radius-lg)}

/* ── SECTIONS / TYPE ── */
.section{overflow-x:clip;padding:56px 24px}
.section-inner{max-width:1280px;margin:0 auto}
.section-alt{background:#fff}
.section-navy{background:var(--navy)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-m);margin-bottom:10px;display:block}
.eyebrow-white{color:var(--green)!important}
.section-title{font-size:clamp(25px,3vw,39px);font-weight:800;color:var(--dark);line-height:1.15;margin-bottom:14px;letter-spacing:-.3px}
.section-title-white{color:#fff!important}
.page-sub{font-size:17px;color:var(--gray);line-height:1.72;max-width:680px;margin-bottom:34px}
.page-sub-white{color:rgba(255,255,255,.78)!important}
.center{text-align:center}.center .page-sub{margin-left:auto;margin-right:auto}

/* ── HERO ── */
.hero{position:relative;min-height:auto;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-grid-layer{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px;opacity:.55;animation:gridDrift 40s linear infinite}
@keyframes gridDrift{from{background-position:0 0,0 0}to{background-position:0 -360px,-360px 0}}
.hero-gradient{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(0,20,100,.55) 0%,rgba(12,58,110,.25) 55%,rgba(0,26,133,.45) 100%)}
.hero-particles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero-particle{position:absolute;border-radius:50%;background:rgba(159,207,39,.14);animation:float linear infinite}
@keyframes float{0%{transform:translateY(100vh) scale(0)}20%{opacity:1}100%{transform:translateY(-20vh) scale(1);opacity:0}}
.hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:40px 24px 44px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(159,207,39,.1);border:1px solid rgba(159,207,39,.28);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:700;color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}
.hero-title{font-size:clamp(31px,4.6vw,61px);font-weight:900;color:#fff;line-height:1.04;letter-spacing:-.7px;margin-bottom:13px}
.hero-title em{color:var(--green);font-style:normal}
.hero-sub{font-size:17px;color:rgba(255,255,255,.78);line-height:1.6;margin-bottom:18px;max-width:540px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.hero-trust-line{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.66)}
.hero-trust-line span{display:inline-flex;align-items:center;gap:6px}
.hero-trust-line span::before{content:'✓';color:var(--green);font-weight:900}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-card-caption{margin-top:10px;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}

/* Service page hero (compact) */
.service-hero{position:relative;background:var(--navy);padding:64px 24px 56px;overflow:hidden}
.service-hero .hero-grid-layer{opacity:.4}
.service-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto}
.crumbs{font-size:12.5px;color:rgba(255,255,255,.55);margin-bottom:18px}
.crumbs a{color:rgba(255,255,255,.75)}
.crumbs a:hover{color:var(--green)}

/* ── TRUST BAR ── */
.trust-bar{background:var(--navy);border-top:1px solid rgba(255,255,255,.14);padding:20px 24px}
.trust-bar-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:14px}
.trust-stat{text-align:center;color:#fff}
.trust-stat .n{font-size:28px;font-weight:900;color:#fff;line-height:1}
.trust-stat .n em{color:var(--green);font-style:normal}
.trust-stat .l{font-size:11px;opacity:.62;margin-top:3px;letter-spacing:.04em;text-transform:uppercase}

/* ── LOGO STRIP ── */
.logo-strip{display:flex;justify-content:center;align-items:center;gap:clamp(30px,7.5vw,90px);flex-wrap:wrap}
.logo-strip img{height:52px;width:auto;transition:transform .2s}
.logo-strip a:hover img{transform:translateY(-6px)}
.logo-strip .tall{height:84px}

/* Since 1997 text badge */
.badge-1997{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}
.badge-1997 .b1{font-family:'Bree Serif',Georgia,serif;font-style:italic;font-weight:700;font-size:30px;color:var(--navy)}
.badge-1997 .b2{font-family:'Bree Serif',Georgia,serif;font-style:italic;font-weight:700;font-size:44px;color:var(--green-m)}

/* ── SERVICE PACKAGE CARDS ── */
.service-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pkg-card{border-radius:var(--radius-xl);border:2px solid var(--border);background:#fff;padding:38px 28px 28px;transition:var(--tr);position:relative;overflow:hidden;display:flex;flex-direction:column}
.pkg-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--navy)}
.pkg-card.featured::before{background:var(--green)}
.pkg-card.featured{border-color:var(--green);box-shadow:var(--shadow-green)}
.pkg-card::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),#B9E48D);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.pkg-card:hover{transform:translateY(-8px) scale(1.015);border-color:var(--green);box-shadow:0 18px 40px rgba(12,58,110,.18),0 6px 16px rgba(159,207,39,.28)}
.pkg-card:hover::after{transform:scaleX(1)}
.pkg-popular{position:absolute;top:10px;left:50%;transform:translateX(-50%);right:auto;background:var(--orange);color:#fff;font-size:10px;font-weight:800;padding:3px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.06em}
.pkg-logo{height:56px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}
.pkg-logo img{max-height:56px;width:auto}
.pkg-name{font-family:'Bree Serif',Georgia,serif;font-style:normal;font-size:24px;font-weight:700;color:var(--navy);margin-bottom:8px;text-align:center;letter-spacing:.01em}
.wordmark{font-family:'Bree Serif',Georgia,serif;font-style:italic;font-weight:700;letter-spacing:.01em}
.pkg-tagline{font-size:13.5px;color:var(--gray);margin-bottom:18px;text-align:center;line-height:1.6}
.pkg-features{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.pkg-feat{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--dark);line-height:1.5}
.pkg-feat::before{content:'✓';color:var(--green);font-weight:900;font-size:14px;flex-shrink:0}
.pkg-card .btn{margin-top:auto}

/* ── PROP CARDS (navy) ── */
.prop-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.prop-card{border-radius:var(--radius-lg);padding:28px 26px;text-align:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s,box-shadow .3s;border:2px solid transparent;display:block;position:relative;overflow:hidden;background:var(--navy)}
.prop-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),#B9E48D);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.prop-card:hover::before{transform:scaleX(1)}
.prop-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 12px 36px rgba(159,207,39,.30),0 4px 14px rgba(12,58,110,.25);border-color:var(--green)}
.prop-num{font-size:13px;font-weight:900;color:var(--green);letter-spacing:.14em;margin-bottom:10px}
.prop-card h3{font-size:17px;font-weight:800;color:#fff;margin-bottom:7px}
.prop-card p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.72)}

/* ── PHOTO SPLIT ── */
.photo-split{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:440px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.photo-split-img{overflow:hidden;position:relative;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:28px}
.photo-split-img svg{width:100%;height:auto;max-height:420px;object-fit:contain}
.photo-split-img img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;display:block}
.photo-split-content{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.stat-block{display:block;padding:16px;background:var(--navy);border-radius:var(--radius);border-left:3px solid var(--green);box-shadow:0 4px 14px rgba(12,58,110,.18);margin-bottom:12px}
.stat-block strong{color:#fff;font-size:14px}
.stat-block span{font-size:13px;color:rgba(255,255,255,.75);display:block}

/* ── COUNTER ── */
.counter-section{background:var(--navy);padding:48px 24px;position:relative;overflow:hidden}
.counter-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px;position:relative;z-index:2}
.counter-number{font-size:clamp(64px,10vw,132px);font-weight:900;color:#fff;letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:1;animation:countGlow 3.2s ease-in-out infinite}
@keyframes countGlow{0%,100%{text-shadow:0 0 0 rgba(159,207,39,0)}50%{text-shadow:0 0 28px rgba(159,207,39,.55)}}
.counter-live-badge{display:flex;align-items:center;gap:8px;background:rgba(159,207,39,.1);border:1px solid rgba(159,207,39,.22);border-radius:20px;padding:6px 14px;width:fit-content;margin-top:14px;color:rgba(255,255,255,.8);font-size:13px}
.live-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:livePulse 2s infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}

/* ── CARDS ── */
.card-grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:var(--radius-lg);padding:26px;border:1px solid var(--border);transition:var(--tr)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:transparent}
.card-icon{width:56px;height:56px;background:linear-gradient(145deg,#f2f8e8 0%,var(--green-l) 45%,#d8ecc0 100%);border:1.5px solid rgba(159,207,39,.35);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;position:relative;box-shadow:0 8px 18px rgba(20,60,10,.14),inset 0 2px 3px rgba(255,255,255,.9),inset 0 -3px 6px rgba(90,140,40,.18);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease}.card:hover .card-icon{transform:translateY(-4px) rotateX(8deg) scale(1.06);box-shadow:0 14px 26px rgba(20,60,10,.2),inset 0 2px 3px rgba(255,255,255,.95),inset 0 -3px 6px rgba(90,140,40,.2)}.card{perspective:600px}.card:hover .card-icon img{filter:drop-shadow(0 10px 20px rgba(0,10,60,.28))}.card-icon img{transition:filter .28s ease}.card-icon:has(> img){background:none;border:0;box-shadow:none;width:auto;height:auto;border-radius:0}.card:hover .card-icon:has(> img){box-shadow:none}
.card h3{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:8px}
.card p{font-size:14px;color:var(--gray);line-height:1.65;margin-bottom:10px}
.card a.more{font-size:12px;font-weight:700;color:var(--green-m);text-transform:uppercase;letter-spacing:.05em}

/* ── PROCESS STEPS ── */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step-c{background:#fff;border-radius:var(--radius-xl);padding:28px 18px 20px;border:2px solid var(--border);text-align:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s,box-shadow .3s;position:relative;box-shadow:var(--shadow-sm)}
.step-c:hover{border-color:var(--navy);transform:translateY(-8px) scale(1.03);box-shadow:0 12px 36px rgba(12,58,110,.22)}
.step-num{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;background:linear-gradient(160deg,#9bd45e 0%,var(--green) 55%,#66a52e 100%);color:#fff;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 6px 14px rgba(159,207,39,.5),inset 0 2px 2px rgba(255,255,255,.55),inset 0 -3px 4px rgba(60,110,20,.35);transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.step-c:hover .step-num{transform:translateX(-50%) translateY(-3px) scale(1.12)}
.step-c h4,.step-c h3{font-size:14px;font-weight:800;color:var(--navy);margin:6px 0}
.step-c p{font-size:12.5px;color:var(--gray);line-height:1.55}

/* ── US MAP ── */
.usmap-wrap{perspective:1400px;max-width:1000px;margin:0 auto}
.usmap-tilt{transform-style:preserve-3d;--rx:16deg;--ry:0deg;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s ease-out;will-change:transform}
.usmap path{transform-box:fill-box;transform-origin:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1),fill .18s,stroke .18s,filter .22s}
.usmap a:hover path{transform:translateY(-7px) scale(1.05);filter:drop-shadow(0 14px 14px rgba(0,0,0,.45))}
.usmap{width:100%;height:auto;filter:drop-shadow(0 44px 64px rgba(0,0,0,.5))}
.usmap .state{fill:#B3C4F0;stroke:#8FA3DC;stroke-width:1;transition:fill .18s,stroke .18s}
.usmap a{cursor:pointer}
.usmap a:hover .state{fill:#D7DFF8;stroke:#fff;stroke-width:1.5}
.usmap .state.silo{fill:#8AA4E8}
.usmap a:hover .state.silo{fill:#C1D0F5;stroke:#fff}
.usmap a .state.hub{fill:var(--green);stroke:var(--green-d);stroke-width:1.3}
.usmap a:hover .state.hub{fill:#B9E48D;stroke:#fff;stroke-width:1.6}
.map-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:rgba(255,255,255,.75)}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.map-key{width:14px;height:14px;border-radius:4px;display:inline-block}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.hub-card{display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--green);border-radius:var(--radius);padding:16px 18px;color:#fff;transition:var(--tr)}
.hub-card:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.hub-card b{font-size:16px;font-weight:800}
.hub-card span{font-size:12.5px;color:rgba(255,255,255,.6);letter-spacing:.03em}

/* ── FAQ ── */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;margin-bottom:12px;overflow:hidden}
.faq-item summary{padding:18px 22px;font-weight:700;font-size:15.5px;color:var(--dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;font-weight:400;color:var(--green-m);flex-shrink:0;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item[open]{border-color:var(--green)}
.faq-body{padding:0 22px 20px;font-size:14.5px;color:var(--gray);line-height:1.72}

/* ── CTA BAND ── */
.cta-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);border-radius:var(--radius-xl);padding:52px 40px;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{font-size:clamp(26px,3.4vw,40px);font-weight:900;color:#fff;margin-bottom:12px;letter-spacing:-.4px}
.cta-band h2 em{color:var(--green);font-style:normal}
.cta-band p{color:rgba(255,255,255,.75);max-width:560px;margin:0 auto 26px;font-size:16px}

/* ── FOOTER ── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.72);padding:56px 24px 0}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}
.footer-inner h4,.footer-inner h3{color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.footer-inner a{display:block;color:rgba(255,255,255,.66);font-size:14px;padding:4px 0}
.footer-inner a:hover{color:var(--green)}
.footer-brand img{height:46px;width:auto;margin-bottom:14px}
.footer-brand p{font-size:13.5px;line-height:1.7;max-width:320px;margin-bottom:14px}
.footer-contact a{display:inline-flex;color:#fff;font-weight:700;font-size:15px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.5px}
.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.footer-bottom a{color:rgba(255,255,255,.6)}
.footer-bottom a:hover{color:var(--green)}

/* ── QUOTE MODAL ── */
.q-overlay{position:fixed;inset:0;z-index:1300;background:rgba(15,23,42,.6);display:none;align-items:center;justify-content:center;padding:20px}
.q-overlay.open{display:flex}
.q-modal{background:#fff;border-radius:var(--radius-xl);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.q-head{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--border);background:var(--navy);border-radius:var(--radius-xl) var(--radius-xl) 0 0}
.q-head h3{font-size:18px;color:#fff;font-weight:800}
.q-close{background:none;border:none;font-size:24px;cursor:pointer;color:rgba(255,255,255,.7);line-height:1}
.q-close:hover{color:#fff}
.q-body{padding:22px 26px 26px}
.q-body p.intro{font-size:13.5px;color:var(--gray);margin-bottom:16px;line-height:1.6}
.q-field{margin-bottom:13px}
.q-field label{display:block;font-size:12px;font-weight:700;color:var(--dark);margin-bottom:5px;letter-spacing:.03em}
.q-field input,.q-field select,.q-field textarea{width:100%;border:2px solid var(--border);border-radius:10px;padding:11px 13px;font-size:14px;font-family:var(--font);outline:none;transition:var(--tr);background:#fff;color:var(--dark)}
.q-field input:focus,.q-field select:focus,.q-field textarea:focus{border-color:var(--green)}
.q-note{font-size:11.5px;color:var(--gray-l);margin-top:10px;line-height:1.55}
.q-success{display:none;text-align:center;padding:34px 20px}
.q-success .big{font-size:44px;margin-bottom:10px}
.q-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── FLOATING CTA ── */
.fab-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#0B2144;font-size:14px;font-weight:800;padding:13px 22px;border-radius:28px;border:none;cursor:pointer;font-family:var(--font);box-shadow:0 8px 24px rgba(159,207,39,.5);transition:var(--tr)}
.fab-btn:hover{background:#86B31F;transform:scale(1.07);box-shadow:0 14px 40px rgba(159,207,39,.65)}

/* ── SEO text block ── */
.seo-block{max-width:880px;margin:0 auto}
.seo-block h2{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--dark);margin-bottom:14px;letter-spacing:-.3px}
.seo-block h3{font-size:19px;font-weight:800;color:var(--navy);margin:26px 0 8px}
.seo-block p{font-size:15.5px;color:var(--gray);line-height:1.8;margin-bottom:12px}
.seo-block a{font-weight:700;color:var(--green-m)}
.seo-block a:hover{text-decoration:underline}

/* CAD detail */
.cad-dim{fill:#7f8aa3;font-family:var(--font);font-size:13px;letter-spacing:.14em}
.cad-scan{stroke:var(--green);stroke-width:2;opacity:.5;animation:cadscan 4.5s linear infinite}
@keyframes cadscan{from{transform:translateX(0)}to{transform:translateX(640px)}}

/* Sticky mobile call bar */
.mobile-callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:980;background:var(--navy);box-shadow:0 -6px 20px rgba(0,0,0,.25);padding:10px 14px;gap:10px}
.mobile-callbar a{flex:1;text-align:center;font-size:14px;font-weight:800;padding:12px;border-radius:10px}
.mobile-callbar .call{background:rgba(255,255,255,.12);color:#fff}
.mobile-callbar .req{background:var(--green);color:#0B2144!important;color:#fff}


/* ── CURVED SECTIONS ── */
.curve-b{border-radius:0}
.curve-t{border-radius:clamp(34px,5.5vw,70px) clamp(34px,5.5vw,70px) 0 0;margin-top:24px}
.service-hero.curve-b,.trust-bar.curve-b,.counter-section.curve-b,.section-navy.curve-b{overflow:hidden}

/* ── CLIENT MARQUEE ── */
.client-marquee{overflow:hidden;position:relative;padding:8px 0}
.client-track{display:flex;gap:64px;width:max-content;animation:clientScroll 120s linear infinite;align-items:center}
.client-marquee:hover .client-track{animation-play-state:paused}
@keyframes clientScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.client-name{font-family:'Bree Serif',Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(22px,2.6vw,32px);color:#B9C7E8;white-space:nowrap;letter-spacing:.01em;transition:color .2s}
.client-name:hover{color:#fff}
.client-marquee::before,.client-marquee::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.client-marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.client-marquee::after{right:0;background:linear-gradient(270deg,#fff,transparent)}

/* ── PHOTO PLACEHOLDERS ── */
.photo-ph{border:2.5px dashed #B9C7E8;border-radius:var(--radius-lg);background:repeating-linear-gradient(45deg,#F4F7FC,#F4F7FC 14px,#EDF2FA 14px,#EDF2FA 28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:34px 22px;text-align:center;min-height:240px}
.photo-ph .cam{font-size:34px;opacity:.55}
.photo-ph b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);opacity:.75}
.photo-ph span{font-size:13.5px;color:var(--gray);line-height:1.6;max-width:340px}
.photo-ph.on-navy{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4)}
.photo-ph.on-navy b{color:var(--green)}
.photo-ph.on-navy span{color:rgba(255,255,255,.7)}

/* ── SERVICE HERO BRAND CHIP ── */
.brand-chip{display:inline-flex;align-items:center;background:#fff;border-radius:16px;padding:12px 22px;box-shadow:0 10px 30px rgba(0,10,60,.35);margin-bottom:18px}
.brand-chip img{height:52px;width:auto;display:block}

/* ── RELATED LINKS ── */
.rel-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.rel-links a{display:inline-flex;align-items:center;gap:7px;border:2px solid var(--border);border-radius:99px;padding:9px 18px;font-size:13.5px;font-weight:700;color:var(--navy);transition:var(--tr);background:#fff}
.rel-links a:hover{border-color:var(--green);background:var(--green-xl)}

/* ── CAREERS APP ── */
.app-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:34px;box-shadow:var(--shadow-lg);max-width:840px;margin:0 auto}
.q-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:640px){.q-3col{grid-template-columns:1fr}}


/* ── SAFETY DOC LIBRARY ── */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.doc-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;transition:var(--tr)}
.doc-card:hover{border-color:var(--green);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.doc-ic{font-size:22px;flex-shrink:0;margin-top:2px}
.doc-card h3{font-size:15px;margin-bottom:4px;color:var(--navy)}
.doc-card p{font-size:13px;color:var(--gray);line-height:1.55;margin:0}

/* ── STATE FACT CHIPS ── */
.state-facts{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.state-facts span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:7px 15px;font-size:12.5px;font-weight:700;color:#fff}
.state-facts b{color:var(--green)}


/* ── HERO PHOTO GHOST LAYER ── */
.hero-photo-ghost{position:absolute;inset:0;background:url('plant-hero.jpg') center 62%/cover no-repeat;opacity:.25;pointer-events:none}


/* ── FAQ REDESIGN ── */
.faq-hero-q{position:absolute;font-family:'Bree Serif',Georgia,serif;font-style:italic;font-weight:700;color:rgba(255,255,255,.06);user-select:none;pointer-events:none;line-height:1}
.faq-search{max-width:640px;margin:22px auto 0;position:relative}
.faq-search input{width:100%;border:none;border-radius:99px;padding:16px 54px 16px 24px;font-size:16px;font-weight:600;font-family:inherit;outline:none;color:var(--navy);box-shadow:0 16px 40px rgba(0,10,60,.35)}
.faq-search .ic{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px}
.faq-count{font-size:12px;color:rgba(255,255,255,.65);font-weight:700;letter-spacing:.08em;margin-top:12px}
.faq-grid{display:flex;flex-direction:column;gap:12px;max-width:860px;margin:0 auto}
.faq-card{background:#fff;border:1.5px solid var(--border);border-left:5px solid var(--green);border-radius:16px;padding:0;overflow:hidden;transition:box-shadow .3s,transform .3s,border-color .3s;opacity:0;transform:translateY(24px)}
.faq-card.reveal{opacity:1;transform:translateY(0);transition:opacity .7s ease-out,transform .7s ease-out,box-shadow .3s,border-color .3s}
.faq-card:hover,.faq-card.open{box-shadow:var(--shadow-lg);border-color:var(--green)}
.faq-card:hover{transform:translateY(-2px)}
.faq-qrow{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit}
.faq-num{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--green-xl);color:var(--green-d,#4e8a1e);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.faq-qtext{flex:1;font-size:16px;font-weight:800;color:var(--navy);line-height:1.4}
.faq-cat{flex-shrink:0;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border:1.5px solid var(--border);border-radius:99px;padding:4px 10px;white-space:nowrap}
.faq-chev{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:12px;transition:transform .35s,background .3s,color .3s,border-color .3s}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 20px 20px 68px;margin:0;color:var(--gray);font-size:14.5px;line-height:1.75}
@media(hover:hover){
  .faq-card:hover .faq-a{grid-template-rows:1fr}
  .faq-card:hover .faq-chev{transform:rotate(180deg);background:var(--green);border-color:var(--green);color:#fff}
}
.faq-card.open .faq-a{grid-template-rows:1fr}
.faq-card.open .faq-chev{transform:rotate(180deg);background:var(--green);border-color:var(--green);color:#fff}
.faq-card:focus-within .faq-a{grid-template-rows:1fr}
@media(max-width:640px){.faq-cat{display:none}.faq-a p{padding-left:20px}}

/* ── SAFETY RED KIT (safety page only) ── */
.hazard-stripe{height:10px;background:repeating-linear-gradient(-45deg,#E11900 0 16px,#fff 16px 32px);border-radius:99px;opacity:.92}
.safety-alert{display:inline-flex;align-items:center;gap:10px;background:rgba(225,25,0,.12);border:1.5px solid rgba(225,25,0,.55);color:#FFD6D0;border-radius:99px;padding:8px 18px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.safety-alert i{width:9px;height:9px;border-radius:50%;background:#FF3B22;animation:redPulse 1.3s ease-in-out infinite}
@keyframes redPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,59,34,.5)}50%{opacity:.6;box-shadow:0 0 0 7px rgba(255,59,34,0)}}
.doc-card{position:relative}
.doc-card::before{content:"";position:absolute;top:0;left:18px;right:auto;width:44px;height:3px;border-radius:0 0 4px 4px;background:#E11900;opacity:0;transition:opacity .25s}
.doc-card:hover::before{opacity:1}
.doc-card:hover{border-color:#E11900}
.doc-ic-svg{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,10,60,.25)}
.doc-ic-svg svg{width:26px;height:26px}
.safety-stat-red{background:linear-gradient(135deg,#E11900,#B01400);color:#fff;border-radius:var(--radius-lg);padding:22px;text-align:center}
.safety-stat-red .n{font-size:clamp(26px,3vw,36px);font-weight:800}
.safety-stat-red .l{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:6px}

/* ── CLIENT LOGO TICKER ── */
.client-tile{background:#fff;border-radius:14px;width:196px;height:78px;display:flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #e6e9f2;box-shadow:0 4px 14px rgba(10,20,60,.08);flex-shrink:0}
.client-tile img{max-width:160px;max-height:52px;width:auto;height:auto;object-fit:contain;display:block}

/* ── BLOG CARDS ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.blog-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:12px;transition:var(--tr)}
.blog-card:hover{border-color:var(--green);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.blog-date{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d,#4e8a1e)}
.blog-card h3{font-size:17.5px;line-height:1.4;color:var(--navy)}
.blog-card p{font-size:13.5px;color:var(--gray);line-height:1.7;flex:1}


/* ── RESTORAFLEET DESCALING MENU ── */
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:stretch}
.tier-card{position:relative;background:#fff;border:1.5px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:var(--tr)}
.tier-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.tier-top{height:7px}
.tier-card.platinum .tier-top{background:linear-gradient(90deg,#8E9BAE,#DDE4EE,#8E9BAE)}
.tier-card.gold .tier-top{background:linear-gradient(90deg,#B8860B,#F1C40F,#B8860B)}
.tier-card.silver .tier-top{background:linear-gradient(90deg,#7F8C9B,#C8D1DC,#7F8C9B)}
.tier-card.bronze .tier-top{background:linear-gradient(90deg,#8A5A2B,#C98A4B,#8A5A2B)}
.tier-head{padding:20px 22px 14px}
.tier-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:99px;padding:5px 13px;color:#fff}
.platinum .tier-badge{background:#5D6B7E}.gold .tier-badge{background:#B8860B}.silver .tier-badge{background:#7F8C9B}.bronze .tier-badge{background:#8A5A2B}
.tier-head h3{font-size:21px;color:var(--navy);margin:10px 0 3px}
.tier-head .tier-sub{font-size:12px;font-weight:700;color:var(--gray);letter-spacing:.03em}
.tier-body{padding:0 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.tier-scope{border-top:1px solid var(--border);padding-top:12px}
.tier-scope h4,.tier-scope h3{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.tier-scope h4 i{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.tier-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;list-style:none;margin:0;padding:0}
.tier-list li{font-size:12px;color:var(--gray);font-weight:600;padding-left:17px;position:relative;line-height:1.5}
.tier-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.tier-flag{position:absolute;top:16px;right:-34px;transform:rotate(45deg);background:var(--orange);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.1em;padding:5px 40px;text-transform:uppercase}
.tier-note{font-size:12.5px;color:var(--gray);text-align:center;margin-top:18px;line-height:1.7}


/* ── VALUE RING CARDS (Transparency/Honesty/Integrity/Budget) ── */
.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.value-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:30px 24px;text-align:center;transition:var(--tr)}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--green)}
.ring-icon{width:86px;height:86px;margin:0 auto 16px;position:relative}
.ring-icon svg{width:100%;height:100%}
.value-card h3{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:.04em;text-transform:uppercase}
.value-card .vsep{width:44px;height:3px;background:var(--green);border-radius:99px;margin:10px auto 12px}
.value-card p{font-size:14px;color:var(--gray);line-height:1.7;margin:0}

/* ── SATISFACTION BADGE ── */

/* ── FLEETCARE KIT ── */
.shield-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.shield-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;transition:var(--tr)}
.shield-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--green)}
.shield-card .si{width:52px;height:52px;margin:0 auto 10px}
.shield-card .si svg{width:100%;height:100%}
.shield-card h4,.shield-card h3{font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);margin-bottom:5px}
.shield-card p{font-size:11.5px;color:var(--gray);line-height:1.55;margin:0}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare-col{border-radius:var(--radius-lg);padding:26px;border:1.5px solid var(--border)}
.compare-col.inhouse{background:#fff}
.compare-col.fc{background:linear-gradient(160deg,var(--navy),var(--navy-d));border-color:var(--green)}
.compare-col h3{font-size:16px;font-weight:800;margin-bottom:14px}
.compare-col.inhouse h3{color:var(--navy)}
.compare-col.fc h3{color:#fff}
.compare-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.compare-col li{font-size:13px;line-height:1.55;padding-left:22px;position:relative;font-weight:600}
.compare-col.inhouse li{color:var(--gray)}
.compare-col.inhouse li::before{content:"✕";position:absolute;left:0;color:#C0392B;font-weight:800}
.compare-col.fc li{color:rgba(255,255,255,.88)}
.compare-col.fc li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.fc-bold{background:var(--green-xl);border-left:5px solid var(--green);border-radius:12px;padding:18px 22px;font-size:15.5px;font-weight:800;color:var(--navy);line-height:1.6}
@media(max-width:860px){.compare-grid{grid-template-columns:1fr}}

/* ── RESPONSIVE ── */
@media (max-width:1240px){
  .nav-links,.nav-phone{display:none}
  .hamburger{display:flex}
  .hero-inner{grid-template-columns:1fr;padding:44px 24px}
  .service-packages,.prop-grid,.g3{grid-template-columns:1fr 1fr}
  .steps-grid,.g4,.hub-grid{grid-template-columns:1fr 1fr}
  .photo-split{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .service-packages,.prop-grid,.g3,.g2,.steps-grid,.g4{grid-template-columns:1fr}
  .hub-grid{grid-template-columns:1fr}
  .photo-split-content{padding:34px 24px}
  .footer-inner{grid-template-columns:1fr}
  .q-2col{grid-template-columns:1fr}
  /* v52: callbar owns the mobile CTA; floating buttons hidden to stop overlap/duplication */
  .fab-wrap{display:none}
  .fa-float-pill{display:none}
  .mobile-callbar{display:flex}
  body{padding-bottom:64px}
  .counter-inner{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .pkg-card:hover,.prop-card:hover,.step-c:hover,.card:hover{transform:none}
}

/* == FleetCare Program mega menu v2 == */
@keyframes megaIn{from{opacity:0;transform:translateX(-50%) translateY(-14px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes mmDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
.mega-lead{background:linear-gradient(160deg,var(--navy) 0%,#001670 100%);color:#fff}
.mega-lead h4,.mega-lead h3{color:#fff}
.mega-lead h4::after{background:linear-gradient(90deg,var(--green),rgba(159,207,39,.4))}
.mega-lead p{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.82);margin:0 0 16px}
.mega-lead .mm-more{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--orange);padding:10px 16px;border-radius:8px;transition:transform .18s ease,box-shadow .18s ease}
.mega-lead .mm-more:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(250,70,22,.4);color:#fff;background:var(--orange)}
.mega-lead .mm-more::after{content:"\2192";transition:transform .18s ease}
.mega-lead .mm-more:hover::after{transform:translateX(4px)}
@media(max-width:1100px){}

/* == nav fit with FleetCare Program item == */
.nav-phone{margin-left:8px}
@media(max-width:1620px){
  .nav-links>a,.nav-drop>a{font-size:16px;padding:8px 8px}
  .nav-phone{font-size:16px}
}
@media(max-width:1380px){
  .nav-links>a,.nav-drop>a{font-size:14.5px;padding:8px 6px}
  .nav-logo{height:42px}
  .nav-phone{font-size:14.5px}
}

.site-footer .foot-heading{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 14px}

/* fc-hero photo left blend */
.fc-hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1a47 0%,rgba(11,26,71,.4) 18%,transparent 42%)}

/* == fc-hero (shared) == */
.fc-hero{overflow-x:clip;position:relative;background:#0b1a47;overflow:hidden}
.fc-hero-photo{position:absolute;top:0;right:0;bottom:0;width:62%;background-size:cover;background-repeat:no-repeat;background-position:right center}
.fc-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:64px 24px 78px}
.fc-hero-copy{max-width:600px;margin-top:18px}
.fc-hero-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.fc-hero-title{font-family:var(--font);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.6vw,46px);line-height:1.07;color:#fff;letter-spacing:.01em;margin:0 0 20px}
.fc-hero-title em,.fc-hero-title .fc-g{color:var(--green);font-style:normal}
.fc-hero-sub{font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.86);margin-bottom:28px;max-width:500px}
.fc-hero .crumbs{position:relative;z-index:2}
@media(max-width:1080px){.fc-hero-photo{width:100%;opacity:.26}}
/* == fc benefit chips == */
.fc-chips{overflow-x:clip;border-bottom:1px solid #e6e9f2;background:#fff}
.fc-chips-inner{max-width:1280px;margin:0 auto;padding:30px 24px;display:grid;grid-template-columns:repeat(6,1fr)}
.fc-chip{display:flex;gap:12px;padding:6px 16px;border-left:1px solid #e6e9f2}
.fc-chip:first-child{border-left:none;padding-left:0}
.fc-chip svg{width:42px;height:42px;flex:none;stroke:var(--green);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fc-chip h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.25;margin:0 0 4px;color:#0f1b3d}
.fc-chip p{font-size:12.5px;line-height:1.5;color:#5a6485;margin:0}
@media(max-width:1080px){.fc-chips-inner{grid-template-columns:repeat(3,1fr);row-gap:20px}.fc-chip:nth-child(4){border-left:none;padding-left:0}}
@media(max-width:640px){.fc-chips-inner{grid-template-columns:1fr}.fc-chip{border-left:none;padding-left:0}}
/* == commitment badges == */
.fc-badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1080px){.fc-badge-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fc-badge-grid{grid-template-columns:1fr}}
.ec-badge-card{background:#fff;border:1px solid #e6e9f2;border-radius:16px;padding:28px 22px 24px;text-align:center;transition:transform .22s ease,box-shadow .22s ease}
.ec-badge-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(10,20,60,.14)}
.ec-badge-card .ec-shield{width:132px;height:auto;margin:0 auto 16px;display:block;filter:drop-shadow(0 8px 16px rgba(13,26,69,.25));transition:transform .25s ease}
.ec-badge-card:hover .ec-shield{transform:scale(1.05) rotate(-1.5deg)}
.ec-badge-card h3{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);margin:0 0 8px}
.ec-badge-card p{font-size:13.5px;line-height:1.6;color:#5a6485;margin:0}

/* == scroll reveal system (v28: uniform fade-up, 700ms ease-out, 28px rise, 120ms stagger) == */
.rv{opacity:0;transform:translate3d(0,28px,0);transition:transform .7s ease-out,opacity .7s ease-out;transition-delay:var(--rv-d,0s);will-change:transform,opacity}
.rv-in{opacity:1;transform:none;will-change:auto}
/* == parallax layers == */
[data-plx]{will-change:transform}
.fc-hero-photo[data-plx]{transform:scale(1.16)}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  [data-plx]{transform:none!important}
}

/* == uniform service hero height (v25) == */
.fc-hero-inner{min-height:540px;display:flex;flex-direction:column}
.fc-hero-copy{margin-top:auto;margin-bottom:auto;padding:26px 0 8px}

/* == program coverage badges (v25) == */
.svc-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:980px;margin:0 auto}
@media(min-width:900px){.svc-badges{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.svc-badges{grid-template-columns:1fr}}
.svc-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px 18px;font-weight:800;font-size:15px;color:var(--dark);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(0,10,60,.05)}
.svc-badge:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,10,60,.12)}
.svc-badge .sb-ic{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--green-l);display:flex;align-items:center;justify-content:center;color:var(--green-m)}
.svc-badge .sb-ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.svc-badge .sb-arrow{margin-left:auto;color:var(--green);font-size:17px}

/* == cookie consent (v25) == */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:#0b1a47;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 18px 50px rgba(0,10,60,.5);max-width:920px;margin:0 auto}
.cookie-bar p{margin:0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.85);max-width:600px}
.cookie-bar a{color:var(--green);font-weight:700}
.cookie-actions{display:flex;gap:10px}
.cookie-btn{border:0;border-radius:99px;padding:10px 22px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:inherit;transition:.2s}
.cookie-accept{background:var(--green);color:#fff}
.cookie-accept:hover{background:var(--green-d)}
.cookie-decline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.cookie-decline:hover{border-color:#fff}
@media(max-width:560px){.cookie-bar{flex-direction:column;align-items:stretch}.cookie-actions{justify-content:stretch}.cookie-btn{flex:1}}

/* == safety doc request buttons + branded badging (v27) == */
button.doc-card{width:100%;text-align:left;font-family:inherit;cursor:pointer;border:1.5px solid var(--border);border-left:5px solid var(--green)}
button.doc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
button.doc-card h3{font-size:15.5px;color:var(--dark);margin:0 0 4px}
button.doc-card p{font-size:13px;color:var(--gray);line-height:1.6;margin:0}
.doc-req{position:absolute;right:14px;bottom:12px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green-m);background:var(--green-xl);border-radius:99px;padding:5px 12px;opacity:.85;transition:.2s}
button.doc-card:hover .doc-req{opacity:1;background:var(--green);color:#fff}

/* == SiloMD quote wizard (v28) == */
.smd-quote{background:#0b1a47;position:relative;overflow:hidden}
.smd-quote .section-inner{position:relative;z-index:2}
.smd-plate{display:inline-block;background:#fff;border-radius:16px;padding:10px 24px;box-shadow:0 10px 30px rgba(0,10,60,.35)}
.smd-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 30px}
@media(max-width:900px){.smd-pillars{grid-template-columns:1fr}}
.smd-pillar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px 22px}
.smd-pillar h3{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;display:flex;align-items:center;gap:10px}
.smd-pillar h3 svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.smd-pillar p{color:rgba(255,255,255,.78);font-size:13.5px;line-height:1.65;margin:0}
.smd-card{background:#fff;border-radius:22px;padding:30px 30px 26px;max-width:860px;margin:0 auto;box-shadow:0 24px 70px rgba(0,5,40,.5)}
.smd-progress{display:flex;gap:8px;margin-bottom:26px}
.smd-progress .p{flex:1;text-align:center}
.smd-progress .bar{height:6px;border-radius:99px;background:var(--border);margin-bottom:8px;overflow:hidden;position:relative}
.smd-progress .bar i{position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.smd-progress .p.done .bar i,.smd-progress .p.now .bar i{transform:scaleX(1)}
.smd-progress .p.now .bar i{background:linear-gradient(90deg,var(--green),var(--green-d))}
.smd-progress label{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-l)}
.smd-progress .p.now label,.smd-progress .p.done label{color:var(--green-m)}
.smd-step{display:none;animation:smdIn .4s cubic-bezier(.22,1,.36,1)}
.smd-step.on{display:block}
@keyframes smdIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
.smd-step h3{font-size:20px;color:var(--dark);margin:0 0 4px}
.smd-step .hint{font-size:13px;color:var(--gray);margin:0 0 18px}
.smd-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.smd-opt{position:relative}
.smd-opt input{position:absolute;opacity:0;pointer-events:none}
.smd-opt span{display:flex;flex-direction:column;align-items:center;gap:8px;border:1.5px solid var(--border);border-radius:14px;padding:16px 10px;font-weight:800;font-size:13.5px;color:var(--dark);cursor:pointer;transition:.2s;text-align:center;background:#fff}
.smd-opt svg{width:26px;height:26px;stroke:var(--navy);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.smd-opt input:checked+span{border-color:var(--green);background:var(--green-xl);box-shadow:0 6px 18px rgba(159,207,39,.25)}
.smd-opt input:checked+span svg{stroke:var(--green-m)}
.smd-opt input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.smd-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.smd-chip{position:relative}
.smd-chip input{position:absolute;opacity:0;pointer-events:none}
.smd-chip span{display:inline-block;border:1.5px solid var(--border);border-radius:99px;padding:9px 16px;font-weight:700;font-size:13px;color:var(--dark);cursor:pointer;transition:.2s;background:#fff}
.smd-chip input:checked+span{border-color:var(--green);background:var(--green);color:#fff}
.smd-stepper{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:18px}
.smd-stepper button{width:44px;height:44px;border:0;background:var(--navy-xl);color:var(--navy);font-size:20px;font-weight:800;cursor:pointer}
.smd-stepper input{width:64px;height:44px;border:0;text-align:center;font-weight:800;font-size:16px;font-family:inherit;color:var(--dark)}
.smd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.smd-back{background:none;border:1.5px solid var(--border);border-radius:99px;padding:12px 24px;font-weight:800;font-family:inherit;cursor:pointer;color:var(--gray)}
.smd-back:hover{border-color:var(--navy);color:var(--navy)}
.smd-err{display:none;color:#D93A0F;font-size:13px;font-weight:700;margin:0 0 12px}
.smd-err.show{display:block}
.smd-captcha{display:flex;align-items:center;gap:14px;border:1.5px solid var(--border);border-radius:14px;padding:16px 18px;background:var(--off);max-width:340px;margin-bottom:18px;cursor:pointer;user-select:none}
.smd-captcha .box{width:26px;height:26px;border:2px solid var(--gray-l);border-radius:6px;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;position:relative}
.smd-captcha.checking .box{border-color:var(--green)}
.smd-captcha.checking .box::after{content:"";width:14px;height:14px;border:2.5px solid var(--green);border-top-color:transparent;border-radius:50%;animation:smdSpin .7s linear infinite}
@keyframes smdSpin{to{transform:rotate(360deg)}}
.smd-captcha.ok .box{border-color:var(--green);background:var(--green)}
.smd-captcha.ok .box::after{content:"";width:6px;height:11px;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(45deg);margin-top:-3px}
.smd-captcha b{font-size:14px;color:var(--dark)}
.smd-captcha small{display:block;font-size:10.5px;color:var(--gray-l);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.smd-success{text-align:center;padding:30px 10px;display:none}
.smd-success.on{display:block}
.smd-success .ok-ring{width:74px;height:74px;border-radius:50%;background:var(--green-xl);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.smd-success .ok-ring svg{width:36px;height:36px;stroke:var(--green-m);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* == safety doc shield check + dedicated request modal (v35) == */
button.doc-card.has-shield{padding-right:64px}
.doc-shield{position:absolute;top:14px;right:14px;width:40px;height:auto;filter:drop-shadow(0 4px 10px rgba(0,120,40,.25));animation:shieldFloat 3.2s ease-in-out infinite;transition:transform .25s}
button.doc-card:hover .doc-shield{animation:shieldPop .45s cubic-bezier(.34,1.56,.64,1) both}
@keyframes shieldFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes shieldPop{0%{transform:scale(1)}55%{transform:scale(1.22) rotate(-6deg)}100%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.doc-shield{animation:none}button.doc-card:hover .doc-shield{animation:none;transform:scale(1.06)}}
.sd-doc-pill{display:inline-flex;align-items:center;gap:10px;background:var(--green-xl);border:1.5px solid var(--green);border-radius:12px;padding:10px 16px;font-weight:800;color:var(--dark);font-size:14px;margin-bottom:16px;max-width:100%}
.sd-doc-pill img{width:26px;height:auto}
.sd-red-rule{height:4px;border-radius:99px;background:linear-gradient(90deg,#E11900,#FF3B22);margin:0 0 18px}

/* image copy deterrence */
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

/* ===== Division system: each service is a division of Express Chipping ===== */
.division-band{background:#fff;border-bottom:1.5px solid var(--border);padding:10px 24px;position:relative}
.division-band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--div-accent,var(--green))}
.division-band-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.division-band img{height:34px;width:auto;display:block}
.division-band .division-word{font-family:'Bree Serif',serif;font-style:italic;font-size:22px;font-weight:700;color:var(--slate)}
.division-band .division-word em{color:var(--orange);font-style:italic}
.division-band span.division-of{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#5a6485;font-weight:700;margin-left:auto}
@media (max-width:640px){.division-band span.division-of{margin-left:0}}
/* Gator blue -> logo slate hero blend */
.service-hero,.page-hero,.fc-hero{
background:
 radial-gradient(1000px 460px at 78% 6%,rgba(12,58,110,.48),transparent 62%),
 radial-gradient(640px 380px at 10% 96%,rgba(159,207,39,.13),transparent 65%),
 repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 56px),
 repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 56px),
 linear-gradient(150deg,#252D3F 0%,#354159 52%,#1C2333 100%);
clip-path:polygon(0 0,100% 0,100% calc(100% - clamp(22px,4.5vw,72px)),0 100%);
padding-bottom:clamp(58px,8vw,118px)}
.fc-hero{padding-bottom:clamp(64px,8.5vw,124px)}
:is(.service-hero,.page-hero,.fc-hero)+.section,:is(.service-hero,.page-hero,.fc-hero)+section{padding-top:clamp(26px,3.5vw,48px)}
@media (prefers-reduced-motion: reduce){.service-hero,.page-hero,.fc-hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%)}}
.cta-band{background:linear-gradient(135deg,#041E42 0%,#354159 100%)}
.division-card{position:relative;border-top:5px solid var(--div-accent,var(--green))}

/* ===== SiloMD Bid Request Wizard ===== */
.bidwiz{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}
.bidwiz-head{background:linear-gradient(135deg,#041E42 0%,#0C2A52 55%,#354159 100%);color:#fff;padding:22px 26px}
.bidwiz-head h3{margin:0 0 6px;font-size:22px}
.bidwiz-head p{margin:0;opacity:.85;font-size:14px}
.bidwiz-progress{height:8px;background:rgba(255,255,255,.18);border-radius:99px;margin-top:14px;overflow:hidden}
.bidwiz-bar{height:100%;width:8%;background:var(--green);border-radius:99px;transition:width .45s cubic-bezier(.22,1,.36,1)}
.bidwiz-steps{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.bidwiz-steps span{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;opacity:.5;padding:3px 9px;border-radius:99px;border:1px solid rgba(255,255,255,.25)}
.bidwiz-steps span.on{opacity:1;background:var(--green);border-color:var(--green);color:#0f1b4d}
.bidwiz-body{display:grid;grid-template-columns:1fr 240px;gap:0}
.bidwiz-main{padding:26px}
.bidwiz-side{background:var(--navy-l);border-left:1.5px solid var(--border);padding:20px 18px}
.bidwiz-side h4{margin:0 0 4px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.bidwiz-side .tease{font-size:12.5px;color:#5a6485;margin:0 0 12px;line-height:1.5}
.bidwiz-side ul{list-style:none;margin:0;padding:0}
.bidwiz-side li{font-size:13px;color:var(--dark);padding:7px 0 7px 22px;border-bottom:1px dashed var(--border);position:relative}
.bidwiz-side li::before{content:"";position:absolute;left:2px;top:11px;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:inset 0 -2px 3px rgba(60,110,20,.4)}
.bidwiz-panel{display:none}
.bidwiz-panel.on{display:block;animation:wizin .35s cubic-bezier(.22,1,.36,1)}
@keyframes wizin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bidwiz-panel h4{margin:0 0 4px;font-size:19px;color:var(--dark)}
.bidwiz-panel .step-tease{color:var(--green-m,#668A16);font-weight:700;font-size:13.5px;margin:0 0 16px}
.wiz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;margin:14px 0}
.wiz-card{border:2px solid var(--border);border-radius:14px;padding:12px 8px 10px;text-align:center;cursor:pointer;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.wiz-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(10,20,60,.12)}
.wiz-card.sel{border-color:var(--green);background:var(--green-xl);box-shadow:0 8px 20px rgba(159,207,39,.25)}
.wiz-card svg{width:100%;height:84px;display:block;margin-bottom:6px}
.wiz-card b{font-size:12.5px;color:var(--dark);display:block;line-height:1.3}
.wiz-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.wiz-chip{border:1.5px solid var(--border);border-radius:99px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--slate);cursor:pointer;background:#fff;transition:all .18s ease}
.wiz-chip.sel{background:var(--green);border-color:var(--green);color:#0f1b4d}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px}
.wiz-nav .wiz-count{font-size:12.5px;color:#5a6485;font-weight:700}
.bidwiz .q-field label{font-size:13px}
.bidwiz-recap{background:var(--green-xl);border:1.5px solid rgba(159,207,39,.5);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.7;color:var(--dark);margin:0 0 16px}
@media (max-width:860px){.bidwiz-body{grid-template-columns:1fr}.bidwiz-side{border-left:0;border-top:1.5px solid var(--border)}}

/* ===== Structure step: sectioned expert intake ===== */
.wiz-sec{border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;margin:0 0 12px;background:#fff}
.wiz-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.wiz-sec-h .ic{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#f2f8e8,#d8ecc0);border:1px solid rgba(159,207,39,.4);display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:inset 0 1px 2px rgba(255,255,255,.9),0 3px 8px rgba(20,60,10,.12)}
.wiz-sec-h b{font-size:14.5px;color:var(--dark)}
.wiz-sec-h span.hint{font-size:11.5px;color:#5a6485;font-weight:600;margin-left:auto}
.wiz-cond{display:none;margin-top:10px;padding:12px;border-left:3px solid var(--green);background:var(--green-xl);border-radius:0 10px 10px 0;animation:wizin .3s ease}
.wiz-cond.on{display:block}
.wiz-cond label{font-size:12.5px;font-weight:800;color:var(--slate);display:block;margin:0 0 6px}
.wiz-meter{position:sticky;bottom:0;background:#fff;border-top:1.5px solid var(--border);margin:14px -16px -14px;padding:10px 16px;border-radius:0 0 12px 12px}
.wiz-meter .row{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--slate);margin-bottom:5px}
.wiz-meter .track{height:6px;background:var(--navy-l);border-radius:99px;overflow:hidden}
.wiz-meter .fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#668A16);border-radius:99px;transition:width .4s cubic-bezier(.22,1,.36,1)}
@media (max-width:640px){.wiz-chip{padding:11px 16px;font-size:14px}.wiz-sec{padding:12px}}

/* ===== Homepage hero: industrial slate + sharp diagonal slant ===== */
.hero.hero-slant{background:linear-gradient(150deg,#252D3F 0%,#354159 52%,#1C2333 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - clamp(24px,5vw,76px)),0 100%);padding-bottom:clamp(52px,7.4vw,106px)}
.hero.hero-slant .hero-gradient{background:radial-gradient(1100px 500px at 78% 8%,rgba(12,58,110,.5),transparent 60%),radial-gradient(700px 420px at 12% 90%,rgba(159,207,39,.14),transparent 65%)}
/* careers hero carries the same photo and opacity as the homepage hero */
.careers-hero .hero-photo-ghost{background:url('central-mixer.jpg') center 38%/cover no-repeat;opacity:.3}
.hero.hero-slant .hero-badge{border-color:rgba(159,207,39,.55)}
.hero-slant + .section{padding-top:clamp(30px,4vw,54px)}
@media (prefers-reduced-motion: reduce){.hero.hero-slant{clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),0 100%)}}

/* What We Do: white on deep navy so it never buries; navy hue keeps the hero slant sharp */
section[aria-labelledby="wwd"]{background:linear-gradient(155deg,#0b1a47 0%,#122559 55%,#0b1a47 100%)}
section[aria-labelledby="wwd"] .section-title{color:#fff}
section[aria-labelledby="wwd"] .center p,section[aria-labelledby="wwd"] .page-sub{color:rgba(255,255,255,.78)}
section[aria-labelledby="wwd"] .eyebrow{color:var(--green)}
section[aria-labelledby="wwd"] .card{box-shadow:0 16px 44px rgba(0,8,40,.45)}
section[aria-labelledby="wwd"] .card h3{color:#0F1B4D}
/* Tablet: two-column card rhythm between phone and desktop */
@media (min-width:641px) and (max-width:1024px){
 .card-grid.g3,.card-grid.g4{grid-template-columns:repeat(2,1fr)}
 .service-packages{grid-template-columns:repeat(2,1fr)}
 .wiz-cards{grid-template-columns:repeat(3,1fr)}
}

/* ===== Full-bleed fleet analysis band ===== */
.fa-fullbleed{padding-left:0;padding-right:0}
.fa-fullbleed .section-inner{max-width:none;padding:0}
.fa-fullbleed .fa-home-band{border-radius:0;box-shadow:none}
.fa-fullbleed .fa-home-copy{padding-left:clamp(24px,7vw,110px)}
.fa-fullbleed .fa-home-demo{padding-right:clamp(24px,6vw,90px)}
/* ===== Floating Service Request: impossible to miss ===== */
.fab-btn{font-size:15px;padding:15px 26px;box-shadow:0 10px 30px rgba(159,207,39,.55);animation:fabpulse 3.2s ease-in-out infinite}
@keyframes fabpulse{0%,100%{transform:scale(1);box-shadow:0 10px 30px rgba(159,207,39,.55)}50%{transform:scale(1.045);box-shadow:0 14px 38px rgba(159,207,39,.7)}}
@media (prefers-reduced-motion: reduce){.fab-btn{animation:none}}
.wave-slate-b{position:relative}
.wave-slate-b::after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:27px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 28" preserveAspectRatio="none"><path d="M0 14 Q15 0 30 14 T60 14 T90 14 T120 14 V28 H0 Z" fill="%23354159"/></svg>') repeat-x;background-size:130px 100%;z-index:4;pointer-events:none}

/* ===== Fleet Analysis: page-wide ambient motion ===== */
.fa-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fa-ambient::before{content:"";position:absolute;inset:-60px;opacity:.05;
 background-image:linear-gradient(rgba(4,30,66,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(4,30,66,.8) 1px,transparent 1px);
 background-size:52px 52px;animation:fagrid 46s linear infinite}
@keyframes fagrid{from{transform:translate(0,0)}to{transform:translate(52px,52px)}}
.fa-orb{position:absolute;border-radius:50%;opacity:.13;animation:float linear infinite;bottom:-40px}
.fa-orb.g{background:radial-gradient(circle at 32% 30%,#C7E56A,#9FCF27 55%,#6E8F14)}
.fa-orb.n{background:radial-gradient(circle at 32% 30%,#2B5FA8,#0C3A6E 60%,#041E42)}
.fa-page section,.fa-page main,.fa-page footer{position:relative;z-index:1}
/* v36: .site-nav removed from the rule above. Including it flattened the nav to z-index 1 on the
   analyzer page, so the sticky nav and its dropdown panels rendered beneath page content. */
@media (prefers-reduced-motion: reduce){.fa-ambient{display:none}}

/* ===== Design tokens: spacing + type scale (1.25 modular) ===== */
:root{--s1:8px;--s2:14px;--s3:24px;--s4:38px;--s5:56px;--s6:88px;
 --t-sm:13px;--t-base:16px;--t-lg:20px;--t-xl:25px;--t-2xl:31px;--t-3xl:39px;--t-4xl:49px;--t-5xl:61px}
.section-pad-sm{padding-top:var(--s4);padding-bottom:var(--s4)}
.section-pad-xs{padding-top:var(--s3);padding-bottom:var(--s3)}
/* Button system: four sanctioned variants only:
   .btn-primary (green/navy)  .btn-outline-white  .btn-outline-navy  .btn-navy */

/* ===== Unified photography treatment ===== */
figure.crew-banner{position:relative}
figure.crew-banner img,figure.crew-banner video,.section-inner figure img{border-radius:18px;box-shadow:0 14px 40px rgba(4,20,60,.22)}
figure.crew-banner::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
 background:linear-gradient(160deg,rgba(4,30,66,.16),rgba(159,207,39,.08) 70%,transparent)}
figure.crew-banner figcaption{position:relative}

/* ===== One icon language: inline brand SVG (replaces emoji) ===== */
.eic{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.17em;color:#0C2A52}
.card-icon .eic{width:30px;height:30px;color:#041E42}

/* ===== Utilities: replace top repeated inline styles ===== */
.u-iconreset{background:none;box-shadow:none;width:auto;height:auto;border-radius:0}
.u-plain{background:none;box-shadow:none}
.u-ic26{width:26px;height:26px;display:block}
.u-h3sub{font-size:17px;margin:18px 0 8px}
.u-graysm{color:var(--gray);font-size:14px}
.u-footnote{font-weight:500;color:rgba(255,255,255,.72);font-size:13.5px}
.u-statehero{font-size:clamp(31px,4.4vw,49px)}
.u-brand150{width:150px;height:auto;max-width:100%}

/* ===== Adaptive quote modal ===== */
.q-div-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:6px}
.q-div-btn{padding:16px 14px;border:1.5px solid #d5dbea;border-radius:14px;background:#fff;font-family:var(--font);font-weight:700;font-size:14.5px;color:#0C2A52;cursor:pointer;transition:var(--tr);text-align:center}
.q-div-btn:hover{border-color:var(--green);background:#f6fbee;transform:translateY(-1px)}
.q-div-btn.wide{grid-column:1/-1}
.q-extra{display:none}
.q-extra.on{display:block}
.q-back{background:none;border:none;color:#5a6485;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;padding:0 0 8px;display:inline-block}
.q-back:hover{color:#041E42}
.q-svc-tag{display:inline-block;background:var(--green);color:#0B2144;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:5px 14px;margin:0 0 12px 10px}
@media(max-width:480px){.q-div-grid{grid-template-columns:1fr}}

/* ===== Motion refinement pass (v29): progress bar, video fade, testimonials, form focus ===== */
/* scroll progress: 3px, Recovery Green, above nav, below modals */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:8000;pointer-events:none;background:transparent}
.scroll-progress b{display:block;height:100%;background:var(--green);transform-origin:0 50%;transform:scaleX(0)}

/* background video: lazy loaded by motion.js, fades in when playable, pauses off screen */
video[data-lazy-video]{opacity:0;transition:opacity .9s ease-out}
video[data-lazy-video].video-ready{opacity:1}

/* testimonials: individual fade-up via reveal system, restrained hover lift */
.testimonial-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:26px 24px;
 transition:transform .3s ease-out,box-shadow .3s ease-out}
.testimonial-card:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 14px 40px rgba(4,20,60,.14)}
.testimonial-card .t-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:14px}
.testimonial-card .t-quote{font-size:15.5px;line-height:1.7;color:var(--dark);margin:0 0 16px}
.testimonial-card .t-name{font-weight:800;font-size:14px;color:var(--navy);margin:0}
.testimonial-card .t-company{font-size:13px;color:#5a6485;margin:2px 0 0}

/* form focus: label lifts, ring eases in, buttons answer the press */
.q-field label{transition:color .25s ease-out,transform .25s ease-out}
.q-field:focus-within label{color:var(--green-m);transform:translateY(-2px)}
.q-field input:focus,.q-field select:focus,.q-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-xl)}
.q-field input:user-invalid,.q-field select:user-invalid,.q-field textarea:user-invalid{border-color:var(--orange-d)}
.btn-primary:active,.btn-navy:active,.btn-outline-white:active,.btn-outline-navy:active{transform:translateY(1px);transition-duration:.08s}

@media (prefers-reduced-motion: reduce){
  .testimonial-card:hover{transform:none}
  video[data-lazy-video]{opacity:1;transition:none}
  .q-field:focus-within label{transform:none}
}

/* == heading order repair (v30): promoted h2s keep their former h3 look == */
.h3s{font-size:19px;font-weight:800;color:var(--navy);margin:26px 0 8px;letter-spacing:0}
.blog-card .h3s{font-size:17.5px;line-height:1.4;color:var(--navy);margin:0 0 8px}
.card .h3s,.h3s.card-h{font-size:16px;font-weight:700;color:var(--dark);margin:0 0 8px}
.fc-chip-t{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.25;margin:0 0 4px;color:#0f1b3d}

/* == mobile pass (v30) == */
/* 16px inputs stop iOS Safari from zooming the viewport on focus */
@media (max-width:820px){
  .q-field input,.q-field select,.q-field textarea{font-size:16px}
}
/* any data table scrolls inside its section instead of widening the page */
@media (max-width:640px){
  .section-inner table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* == html sitemap (v30) == */
.sitemap-cols{columns:3 220px;gap:28px;list-style:none;padding:0;margin:10px 0 26px}
.sitemap-cols li{margin:0 0 8px;break-inside:avoid}
.sitemap-cols a{color:var(--navy);font-weight:600;font-size:14.5px}
.sitemap-cols a:hover{color:var(--green-m)}

/* == process cards pop (v23) == */
.step-c:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 18px 40px rgba(4,20,60,.12)}
/* number badge springs in just after its card lands */
.step-c.rv:not(.rv-in) .step-num{transform:translateX(-50%) scale(0)}

/* == FleetCare plans, finder, enrollment (v23) == */
.fc-hero-trio{display:grid;grid-template-columns:1fr 1fr 1fr}
.fc-hero-trio>div{background-size:cover;background-position:center}
.fc-hero-trio>div:nth-child(2){border-left:3px solid rgba(159,207,39,.5);border-right:3px solid rgba(159,207,39,.5)}
.plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:stretch}
@media(max-width:1180px){.plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.plan-grid{grid-template-columns:1fr}}
.plan-card{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--border);border-radius:16px;padding:22px 18px;transition:transform .3s ease-out,border-color .25s,box-shadow .3s}
.plan-card:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 18px 40px rgba(4,20,60,.12)}
.plan-popular{border-color:var(--green);box-shadow:0 10px 30px rgba(159,207,39,.18)}
.plan-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--green);color:#0B2144;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:4px 12px;white-space:nowrap}
.plan-name{font-size:19px;font-weight:800;color:var(--navy)}
.plan-visits{font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--green-m);margin:2px 0 10px}
.plan-best{font-size:13.5px;line-height:1.55;color:#5a6485;margin:0 0 12px;min-height:63px}
.plan-card ul{list-style:none;padding:0;margin:0 0 16px;flex:1}
.plan-card li{font-size:13px;color:var(--dark);padding:4px 0 4px 20px;position:relative}
.plan-card li::before{content:"";position:absolute;left:2px;top:10px;width:10px;height:6px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.plan-btn{width:100%;justify-content:center}
.pf-wrap{max-width:760px;margin:0 auto}
.pf-checks{display:flex;flex-direction:column;gap:6px;padding-top:4px}
.pf-checks label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--dark)}
.pf-checks input{width:16px;height:16px;accent-color:var(--green-m)}
.pf-result{margin-top:26px;background:var(--navy);border-radius:18px;padding:30px 28px;color:#fff;text-align:center}
.pf-plan{font-size:34px;font-weight:800;color:var(--green);margin:4px 0 2px}
.pf-result .plan-visits{color:rgba(255,255,255,.75)}
.pf-result ul{list-style:none;padding:0;margin:16px auto;max-width:560px;text-align:left}
.pf-result li{font-size:14px;line-height:1.6;color:rgba(255,255,255,.85);padding:5px 0 5px 22px;position:relative}
.pf-result li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:6px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.pf-note{font-size:12.5px;color:rgba(255,255,255,.6);margin:8px 0 16px}
.pf-pop{animation:pfPop .5s ease-out}
@keyframes pfPop{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.enroll-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:28px 26px}
.enroll-card label{color:rgba(255,255,255,.85)}
.enroll-card input,.enroll-card select,.enroll-card textarea{background:rgba(255,255,255,.97)}
@media (prefers-reduced-motion: reduce){.pf-pop{animation:none}}

/* == v24: trio fades in at 30 percent, plan cards focus-expand == */
.fc-hero-trio>div{opacity:.3;animation:trioFade 1.4s ease-out both}
.fc-hero-trio>div:nth-child(2){animation-delay:.2s}
.fc-hero-trio>div:nth-child(3){animation-delay:.4s}
@keyframes trioFade{from{opacity:0}to{opacity:.3}}
.plan-card{transition:transform .35s ease-out,border-color .25s,box-shadow .35s ease-out,opacity .35s ease-out}
@media(hover:hover){
  .plan-grid:has(.plan-card:hover) .plan-card:not(:hover){opacity:.15;transform:scale(.96)}
  .plan-card:hover{transform:translateY(-6px) scale(1.06);z-index:2;box-shadow:0 24px 54px rgba(4,20,60,.18)}
}
@media (prefers-reduced-motion: reduce){
  .fc-hero-trio>div{animation:none;opacity:.3}
  .plan-grid:has(.plan-card:hover) .plan-card:not(:hover){opacity:1;transform:none}
  .plan-card:hover{transform:none}
}

/* == v25: seamless SiloMD guide video == */
.vguide{background:#F7F7F7;padding:44px 24px 34px}
.vguide-video{width:100%;height:auto;display:block;margin:8px auto 0}
.vguide-cap{font-size:13px;color:#5a6485;margin:14px auto 0;text-align:center;max-width:720px}
.vguide-cap a{color:var(--green-m);font-weight:700}

/* == v25: Fleet Analyzer live tool affordances == */
.live-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(159,207,39,.14);border:1.5px solid rgba(159,207,39,.55);color:var(--green);font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:99px;padding:7px 16px;margin-bottom:14px}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(159,207,39,.6);animation:livePulse 1.8s ease-out infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(159,207,39,.6)}70%{box-shadow:0 0 0 9px rgba(159,207,39,0)}100%{box-shadow:0 0 0 0 rgba(159,207,39,0)}}
.fa-float-pill{position:fixed;right:18px;bottom:18px;z-index:900;display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:13.5px;font-weight:800;border-radius:99px;padding:12px 20px;box-shadow:0 12px 34px rgba(4,20,60,.35);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .35s ease-out,transform .35s ease-out;text-decoration:none}
.fa-float-pill.show{opacity:1;transform:translateY(0);pointer-events:auto}
.fa-float-pill.hide{opacity:0;transform:translateY(14px);pointer-events:none}
.fa-float-pill:hover{background:#0C2A52}
.hero-btns .spy-on{border-color:var(--green);color:var(--green);box-shadow:0 0 0 3px rgba(159,207,39,.18)}
@media (prefers-reduced-motion: reduce){.live-dot{animation:none}.fa-float-pill{transition:none}}
@media (max-width:640px){.fa-float-pill{bottom:74px}}

/* == v30: services divisions page == */
.scroll-cue{width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px;margin:26px auto 0;position:relative}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--green);animation:cueDrop 1.8s ease-in-out infinite}
@keyframes cueDrop{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}}
.div-chips{position:sticky;top:86px;z-index:500;display:flex;justify-content:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,.92);backdrop-filter:none;border-bottom:1px solid var(--border)}
.div-chips a{font-size:13px;font-weight:800;letter-spacing:.04em;color:#5a6485;padding:8px 16px;border-radius:99px;border:1.5px solid transparent;transition:color .25s,border-color .25s,background .25s;white-space:nowrap}
.div-chips a:hover{color:var(--navy)}
.div-chips a.on{color:var(--navy);border-color:var(--green);background:var(--green-xl)}
@media(max-width:640px){.div-chips{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch}}
.div-stats{padding-top:34px;padding-bottom:6px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:900px;margin:0 auto;text-align:center}
@media(max-width:640px){.stat-row{grid-template-columns:1fr 1fr}}
.stat-n{font-size:clamp(34px,4.6vw,52px);font-weight:800;color:var(--navy);line-height:1}
.stat-n span{color:var(--green-m)}
.stat-l{font-size:13px;color:#5a6485;font-weight:600;margin-top:4px}
.div-panel{position:relative;overflow:hidden;padding-top:64px;padding-bottom:64px}
.div-alt{background:var(--off)}
.div-num{position:absolute;top:8px;right:-6px;font-size:clamp(140px,22vw,300px);font-weight:900;line-height:1;color:var(--navy);opacity:.05;pointer-events:none;user-select:none;will-change:transform}
.div-alt .div-num{left:-6px;right:auto}
.div-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;position:relative;z-index:2}
@media(max-width:900px){.div-grid{grid-template-columns:1fr}.div-grid.flip .div-photo{order:2}}
.div-copy h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;color:var(--navy);margin:6px 0 12px}
.div-copy h2 em{font-style:normal;color:var(--green-m)}
.div-copy p{font-size:15.5px;line-height:1.75;color:#3d465e}
.div-brand{width:min(220px,50vw);height:auto;display:block;margin:2px 0 4px}
.div-points{list-style:none;padding:0;margin:16px 0 22px}
.div-points li{font-size:14.5px;color:var(--dark);padding:6px 0 6px 26px;position:relative}
.div-points li::before{content:"";position:absolute;left:2px;top:14px;width:12px;height:7px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.div-ctas{display:flex;gap:12px;flex-wrap:wrap}
.div-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(4,20,60,.16);aspect-ratio:4/3}
.div-photo-img{position:absolute;inset:-6% 0;background-size:cover;background-position:center;will-change:transform}
.div-fcband{text-align:center}
@media (prefers-reduced-motion: reduce){.scroll-cue span{animation:none}.div-num{transform:none!important}}

/* == v31: services page fold, logo mesh, scroll-linked photo fade == */
.hero-logo-mesh{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-logo-mesh img{position:absolute;height:auto;opacity:.09;filter:brightness(0) invert(1);animation:meshDrift ease-in-out infinite alternate}
@keyframes meshDrift{from{transform:translateY(-10px) rotate(-1.2deg)}to{transform:translateY(12px) rotate(1.2deg)}}
/* panels fold over each other while scrolling (desktop; mobile keeps normal flow) */
@media(min-width:900px){
  .div-stack .div-panel{position:sticky;top:118px;min-height:520px;box-shadow:0 -18px 44px rgba(4,20,60,.14)}
  .div-stack #div-chipping{z-index:1}
  .div-stack #div-silomd{z-index:2}
  .div-stack #div-restorafleet{z-index:3}
  .div-stack #div-restorafleet{background:#fff}
}
/* photos fade up under scroll control (inline styles driven by JS) */
.div-photo{opacity:0;transform:translateY(34px)}
@media (prefers-reduced-motion: reduce){
  .hero-logo-mesh img{animation:none}
  .div-stack .div-panel{position:static;box-shadow:none}
  .div-photo{opacity:1!important;transform:none!important}
}

/* == v32: homepage hero blueprint video, slow motion baked in, 30 percent opacity == */
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
video.hero-bg-video[data-lazy-video]{opacity:0;transition:opacity 1.4s ease-out}
video.hero-bg-video[data-lazy-video].video-ready{opacity:.3}
@media (prefers-reduced-motion: reduce){.hero-bg-video{display:none}}

/* == v33: What We Do cards as little windows on the blueprint blue == */
.wwd-blue{position:relative;overflow:hidden}
.wwd-blue .hero-grid-layer{opacity:.35}
.wwd-blue .section-inner{position:relative;z-index:2}
.wwd-blue .pkg-card{background:rgba(9,26,66,.78);border:1px solid rgba(255,255,255,.16);padding-top:62px;box-shadow:0 18px 44px rgba(0,8,30,.4)}
/* window chrome bar with three dots (green, steel, fog) */
.wwd-blue .pkg-card::before{content:"";position:absolute;top:0;left:0;right:0;height:34px;background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.12)}
.wwd-blue .pkg-card::after{content:"";position:absolute;top:14px;left:18px;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:14px 0 0 #5A79B8,28px 0 0 rgba(255,255,255,.35)}
.wwd-blue .pkg-card:hover{border-color:rgba(159,207,39,.55);transform:translateY(-4px)}
.wwd-blue .pkg-card.featured{border-color:var(--green)}
.wwd-blue .pkg-logo{background:#fff;border-radius:10px;padding:8px 16px;height:auto;min-height:56px}
.wwd-blue .pkg-name{color:#fff}
.wwd-blue .pkg-tagline{color:rgba(255,255,255,.72)}
.wwd-blue .pkg-feat{color:rgba(255,255,255,.88)}
.wwd-blue .pkg-popular{background:var(--green);color:#0B2144;top:44px}
.wwd-blue .btn-navy{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.38);color:#fff}
.wwd-blue .btn-navy:hover{background:rgba(255,255,255,.16);color:#fff}

/* == v34: fleetwash tier windows on blueprint blue == */
.blue-windows{position:relative;overflow:hidden}
.blue-windows .hero-grid-layer{opacity:.35}
.blue-windows .section-inner{position:relative;z-index:2}
.blue-windows .page-sub{color:rgba(255,255,255,.72)}
.blue-windows .tier-card{background:rgba(9,26,66,.78);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 44px rgba(0,8,30,.4)}
.blue-windows .tier-card:hover{border-color:rgba(159,207,39,.55);transform:translateY(-4px)}
.blue-windows .tier-head h3{color:#fff}
.blue-windows .tier-head .tier-sub{color:rgba(255,255,255,.65)}
.blue-windows .tier-scope h3,.blue-windows .tier-scope h4{color:var(--green)}
.blue-windows .tier-list li{color:rgba(255,255,255,.82)}
.blue-windows .tier-flag{background:var(--green);color:#0B2144}
.blue-windows .tier-scope{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}

/* == v34: fleetcare hero trio full-bleed, photos blended into the navy == */
.fc-hero-photo.fc-hero-full{width:100%;left:0}
.fc-hero-full>div{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
.fc-hero-full>div:nth-child(2){border-left:none;border-right:none}
.fc-hero-photo.fc-hero-full::before{background:linear-gradient(90deg,rgba(11,26,71,.96) 0%,rgba(11,26,71,.72) 34%,rgba(11,26,71,.3) 62%,rgba(11,26,71,.55) 100%)}
@media(max-width:1080px){.fc-hero-photo.fc-hero-full{width:100%}}

/* == v35: fleetcare plan windows + silo hero solo blend == */
.blue-windows .plan-card{background:rgba(9,26,66,.78);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 44px rgba(0,8,30,.4)}
.blue-windows .plan-card:hover{border-color:rgba(159,207,39,.55)}
.blue-windows .plan-popular{border-color:var(--green)}
.blue-windows .plan-name{color:#fff}
.blue-windows .plan-visits{color:var(--green)}
.blue-windows .plan-best{color:rgba(255,255,255,.7)}
.blue-windows .plan-card li{color:rgba(255,255,255,.85)}
.fc-hero-photo.fc-hero-solo{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 84%,transparent 100%)}

/* == v37: P1-P3 review fixes == */
/* hero blueprint video stays desktop-only; phones keep the clean navy and save 3.7MB */
@media (max-width:700px){.hero-bg-video{display:none}}
/* scroll cue variant for fc-hero pages */
.fc-hero .scroll-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:3}
/* state page nearby band on the blueprint blue */
.nearby-blue{position:relative;overflow:hidden}
.nearby-blue .hero-grid-layer{opacity:.35}
.nearby-blue .section-inner{position:relative;z-index:2}
.nearby-blue .section-title{color:#fff}

/* == v38: FleetCare membership program == */
.fc-band{position:relative;overflow:hidden}
.fc-band .hero-grid-layer{opacity:.3;z-index:1}
.band-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
video.band-video[data-lazy-video]{opacity:0;transition:opacity 1.4s ease-out}
video.band-video[data-lazy-video].video-ready{opacity:.22}
@media(max-width:700px){.band-video{display:none}}
.fc-band-points{display:flex;gap:8px 22px;justify-content:center;flex-wrap:wrap;margin:10px auto 0}
.fc-band-points span{font-size:14px;font-weight:700;color:var(--green);position:relative;padding-left:20px}
.fc-band-points span::before{content:"";position:absolute;left:2px;top:7px;width:10px;height:6px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.fab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1080px){.fab-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.fab-grid{grid-template-columns:1fr}}
.fab-card{background:rgba(9,26,66,.78);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:22px 20px;box-shadow:0 18px 44px rgba(0,8,30,.4);transition:transform .3s ease-out,border-color .25s,box-shadow .3s}
.fab-card:hover{transform:translateY(-4px);border-color:rgba(159,207,39,.55);box-shadow:0 24px 54px rgba(0,8,30,.5)}
.fab-icon{width:42px;height:42px;border-radius:11px;background:rgba(159,207,39,.14);border:1px solid rgba(159,207,39,.4);display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:transform .3s ease-out}
.fab-card:hover .fab-icon{transform:translateY(-2px) scale(1.06)}
.fab-icon svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fab-card h3{font-size:16.5px;font-weight:800;color:#fff;margin:0 0 12px}
.fab-row{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.09)}
.fab-tag{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-top:3px}
.fab-row p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.82);margin:0}
.fab-benefit .fab-tag{color:var(--green)}
.fab-benefit p{color:#fff;font-weight:600}
/* fold stack for the mid-page marketing sections */
@media(min-width:900px){
  .fc-stack>section{position:sticky;top:118px;box-shadow:0 -18px 44px rgba(4,20,60,.12)}
  .fc-stack>section:nth-child(1){z-index:1}
  .fc-stack>section:nth-child(2){z-index:2;background:#fff}
  .fc-stack>section:nth-child(3){z-index:3;background:var(--off)}
  .fc-stack>section:nth-child(4){z-index:4;background:#fff}
}

/* == v38.2: safety document modal margins == */
.sd-modal{padding:28px 30px 26px;position:relative}
.sd-modal .q-close{position:absolute;top:14px;right:16px;color:#8a93ab;font-size:26px;padding:4px}
.sd-modal .q-close:hover{color:var(--navy)}
.sd-modal h3{margin:0 34px 10px 0}
.sd-modal .sd-red-rule{margin:0 0 16px}
.sd-modal .sd-doc-pill{margin-bottom:18px}
.sd-modal .q-field{margin-bottom:15px}
.sd-modal #sdSubmit{margin-top:6px}
.sd-modal .q-note{margin-top:12px;margin-bottom:0;text-align:center}
@media(max-width:480px){.sd-modal{padding:22px 18px 20px}}

/* == v41: trust band layout + light-context colors (thank-you page) == */
.trust-band{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:760px;margin:0 auto;text-align:center}
@media(max-width:560px){.trust-band{grid-template-columns:1fr 1fr}}
.section .trust-stat{color:var(--navy)}
.section .trust-stat .n{color:var(--navy);font-size:clamp(30px,4vw,44px)}
.section .trust-stat .l{opacity:1;color:#5a6485}

/* == v42: analyzer fold + state page teardrop CTA + centered hero buttons == */
@media(min-width:900px){
  .fa-page #main{position:sticky;top:0;z-index:1}
  .fa-page #bench{position:relative;z-index:2;box-shadow:0 -18px 44px rgba(0,8,30,.45)}
}
.service-hero .hero-btns{justify-content:center}
.btn-teardrop{background:linear-gradient(160deg,#B5E04E 0%,#9FCF27 55%,#6BA636 100%);color:#0B2144!important;border-radius:34px 34px 34px 8px;font-weight:800;padding:15px 32px;box-shadow:0 12px 28px rgba(159,207,39,.45),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 6px rgba(60,110,20,.3);transition:transform .25s ease-out,box-shadow .25s ease-out}
.btn-teardrop:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(159,207,39,.55),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 6px rgba(60,110,20,.3);color:#0B2144}

/* == v44: magazine callout system == */
.callout{display:grid;grid-template-columns:52px 1fr;gap:16px;max-width:820px;margin:30px auto;padding:20px 24px;border-radius:16px;border:1.5px solid var(--border);background:#fff;box-shadow:0 8px 26px rgba(4,20,60,.07);border-left-width:5px}
.callout .co-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.callout .co-ic svg{width:22px;height:22px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.callout .co-tag{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:4px}
.callout p{font-size:14.5px;line-height:1.65;color:var(--dark);margin:0}
.callout p strong{color:var(--navy)}
.co-takeaway{border-left-color:var(--green)} .co-takeaway .co-ic{background:var(--green-xl)} .co-takeaway .co-ic svg{stroke:var(--green-m)} .co-takeaway .co-tag{color:var(--green-m)}
.co-roi{border-left-color:#4A6FB8} .co-roi .co-ic{background:#EAF0FB} .co-roi .co-ic svg{stroke:#4A6FB8} .co-roi .co-tag{color:#4A6FB8}
.co-safety{border-left-color:var(--navy)} .co-safety .co-ic{background:var(--navy-l)} .co-safety .co-ic svg{stroke:var(--navy)} .co-safety .co-tag{color:var(--navy)}
.co-mistake{border-left-color:#8A5A2B} .co-mistake .co-ic{background:#F7EFE4} .co-mistake .co-ic svg{stroke:#8A5A2B} .co-mistake .co-tag{color:#8A5A2B}
.co-fact{border-left-color:#5A79B8} .co-fact .co-ic{background:#EDF1F9} .co-fact .co-ic svg{stroke:#5A79B8} .co-fact .co-tag{color:#5A79B8}
.co-fleetcare{border-left-color:var(--green-d)} .co-fleetcare .co-ic{background:var(--green-l)} .co-fleetcare .co-ic svg{stroke:var(--green-d)} .co-fleetcare .co-tag{color:var(--green-d)}
@media(max-width:560px){.callout{grid-template-columns:1fr}.callout .co-ic{display:none}}
/* authority pulse strip */
.authority-strip{display:flex;gap:10px 30px;flex-wrap:wrap;justify-content:center;align-items:center;max-width:900px;margin:34px auto;padding:16px 24px;border-radius:99px;background:var(--navy);color:#fff}
.authority-strip span{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.9)}
.authority-strip span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
@media(max-width:640px){.authority-strip{border-radius:18px}}
