:root{
  --navy:#0b1c33;
  --navy-2:#122a4a;
  --ink:#1b2b42;
  --body:#4b5a70;
  --bg:#ffffff;
  --bg-soft:#f5f8fc;
  --line:#e3eaf3;
  --orange:#0a96dd;
  --orange-dark:#0b6fa8;
  --blue:#1769ff;
  --green:#0fa968;
  --red:#e2554f;
  --gold:#ffb400;
  --radius:16px;
  --shadow:0 20px 50px -20px rgba(11,28,51,.18);
  --font-d:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--body);background:var(--bg);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-d);color:var(--navy);line-height:1.15;letter-spacing:-.02em}
img{max-width:100%}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
.center{text-align:center}
.kicker{display:inline-block;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dark);background:#e9f5fd;border:1px solid #bfe3f8;padding:7px 16px;border-radius:99px;margin-bottom:18px}
.h2{font-size:clamp(30px,4vw,44px);font-weight:800;margin-bottom:16px}
.sub{font-size:18px;max-width:64ch;margin:0 auto 56px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-d);font-weight:700;font-size:16px;padding:16px 30px;border-radius:12px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px -8px rgba(10,150,221,.55)}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--navy)}
.stars{color:var(--gold);letter-spacing:2px;font-size:15px}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--navy);color:#cdd9ea;font-size:13.5px;text-align:center;padding:9px 16px;font-weight:500}
.topbar b{color:var(--orange)}

/* ---------- NAV ---------- */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-d);font-weight:800;font-size:21px;color:var(--navy);flex-shrink:0}
.logo-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--orange),#4fb8ea);display:grid;place-items:center;color:#fff;font-size:17px;font-weight:800}
.logo small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--body);line-height:1}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none}
.nav-links>li{position:relative}
.nav-links a,.nav-top{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink);padding:10px 14px;border-radius:10px;display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-family:var(--font-b)}
.nav-links a:hover,.nav-top:hover{color:var(--orange-dark);background:var(--bg-soft)}
.nav-top .caret{font-size:10px;transition:transform .18s;color:#8b99ab}
li.dd.open>.nav-top{color:var(--orange-dark);background:var(--bg-soft)}
li.dd.open>.nav-top .caret{transform:rotate(180deg)}
.dd-panel::before{content:"";position:absolute;top:-16px;left:-10px;right:-10px;height:16px}
.dd-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 70px -22px rgba(11,28,51,.35);padding:12px;min-width:330px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
li.dd.open>.dd-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dd-panel.wide{min-width:480px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
li.dd.open>.dd-panel.wide{display:grid}
.dd-item{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:11px;text-decoration:none;color:var(--ink)}
.dd-item:hover{background:var(--bg-soft)}
.dd-item .di{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:#e9f5fd;display:grid;place-items:center;font-size:17px}
.dd-item b{display:block;font-family:var(--font-d);font-size:14px;color:var(--navy);line-height:1.3}
.dd-item span{font-size:12.5px;color:var(--body);line-height:1.45;display:block;margin-top:2px}
.dd-item .metric{font-family:var(--font-d);font-weight:800;color:var(--green);font-size:15px}
.dd-foot{grid-column:1/-1;margin-top:6px;padding:11px 12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.dd-foot a{font-size:13px;font-weight:700;color:var(--orange-dark);text-decoration:none;padding:0}
.nav-cta{background:var(--orange);color:#fff!important;padding:11px 22px;border-radius:10px;font-weight:700;flex-shrink:0}
.nav-cta:hover{background:var(--orange-dark);color:#fff!important}
.nav-burger{display:none;background:none;border:1.5px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.nav-burger i{display:block;width:20px;height:2.5px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-burger.open i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-burger.open i:nth-child(2){opacity:0}
.nav-burger.open i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* mobile drawer */
.m-drawer{display:none;position:fixed;top:76px;left:0;right:0;bottom:0;z-index:99;background:#fff;overflow-y:auto;padding:14px 20px 40px}
.m-drawer.open{display:block}
.m-group{border-bottom:1px solid var(--line)}
.m-group>button{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;padding:17px 4px;font-family:var(--font-d);font-weight:700;font-size:17px;color:var(--navy);cursor:pointer}
.m-group>button .caret{font-size:12px;color:#8b99ab;transition:transform .18s}
.m-group.open>button .caret{transform:rotate(180deg)}
.m-sub{display:none;padding:0 4px 12px}
.m-group.open .m-sub{display:block}
.m-sub a{display:flex;gap:11px;align-items:center;padding:11px 8px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
.m-sub a:hover{background:var(--bg-soft)}
.m-sub .di{width:32px;height:32px;border-radius:9px;background:#e9f5fd;display:grid;place-items:center;font-size:15px;flex-shrink:0}
.m-link{display:block;padding:17px 4px;font-family:var(--font-d);font-weight:700;font-size:17px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line)}
.m-drawer .btn{width:100%;margin-top:20px}

/* ---------- HERO ---------- */
.hero{padding:84px 0 40px;background:
  radial-gradient(900px 480px at 85% -10%, #fff1de 0%, transparent 60%),
  radial-gradient(700px 420px at -10% 30%, #e9f1ff 0%, transparent 55%),
  var(--bg)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.rating-row{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.rating-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 16px;font-size:13.5px;font-weight:600;color:var(--ink);box-shadow:0 4px 14px -8px rgba(11,28,51,.25)}
.hero h1{font-size:clamp(38px,4.8vw,62px);font-weight:800;margin-bottom:20px}
.hero h1 span{color:var(--orange-dark);position:relative}
.hero p.lede{font-size:19px;margin-bottom:32px;max-width:56ch}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-checks{display:flex;gap:22px;flex-wrap:wrap;font-size:14.5px;font-weight:600;color:var(--ink)}
.hero-checks span::before{content:"✓";color:var(--green);font-weight:800;margin-right:7px}

/* hero visual */
.hero-visual{position:relative}
.dash{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px;position:relative}
.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.dash-head .t{font-family:var(--font-d);font-weight:700;color:var(--navy);font-size:15px}
.dash-head .p{font-size:12px;background:#eafaf2;color:var(--green);font-weight:700;padding:5px 12px;border-radius:99px}
.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.dk{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:14px}
.dk .l{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--body)}
.dk .v{font-family:var(--font-d);font-weight:800;font-size:22px;color:var(--navy);margin-top:3px}
.dk .d{font-size:12px;font-weight:700;margin-top:2px}
.d-up{color:var(--green)}.d-down{color:var(--red)}
.chart{position:relative}
.chart svg{width:100%;height:190px;display:block}
.chart-legend{display:flex;gap:18px;font-size:12.5px;font-weight:600;color:var(--body);margin-top:10px}
.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.float-chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 18px;font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;animation:float 5s ease-in-out infinite}
.float-chip .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;color:#fff}
.chip-1{top:-22px;left:-30px}
.chip-1 .ic{background:var(--green)}
.chip-2{bottom:-20px;right:-24px;animation-delay:2.5s}
.chip-2 .ic{background:var(--blue)}
.float-chip b{display:block;font-family:var(--font-d);font-size:16px;color:var(--navy)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---------- LOGO STRIP ---------- */
.logostrip{padding:44px 0 52px}
.logostrip p{text-align:center;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8b99ab;margin-bottom:26px}
.logos{display:flex;justify-content:center;align-items:center;gap:12px 54px;flex-wrap:wrap;font-family:var(--font-d);font-weight:800;font-size:19px;color:#b6c2d1}
.logos span{display:flex;align-items:center;gap:8px}

/* ---------- STATS BAND ---------- */
.stats{background:var(--navy);color:#fff;padding:72px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.stat .n{font-family:var(--font-d);font-weight:800;font-size:clamp(34px,3.6vw,52px);color:#fff}
.stat .n em{font-style:normal;color:var(--orange)}
.stat .l{font-size:15px;color:#a9bcd4;margin-top:6px}

/* ---------- WHY / PROBLEM ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.why h2{font-size:clamp(30px,3.8vw,42px);font-weight:800;margin-bottom:18px}
.why p{margin-bottom:16px}
.check-list{list-style:none;margin-top:26px;display:grid;gap:16px}
.check-list li{display:flex;gap:14px;align-items:flex-start;font-weight:500;color:var(--ink)}
.check-list .ci{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:#eafaf2;color:var(--green);display:grid;place-items:center;font-weight:800;font-size:14px;margin-top:2px}
.compare-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.compare-card table{width:100%;border-collapse:collapse;font-size:14.5px}
.compare-card th{font-family:var(--font-d);font-size:14px;padding:16px;text-align:left;background:#fff;border-bottom:2px solid var(--line);color:var(--navy)}
.compare-card th:nth-child(2){color:var(--orange-dark)}
.compare-card td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--ink)}
.compare-card tr:last-child td{border-bottom:none}
.yes{color:var(--green);font-weight:800}
.no{color:#c3cdd9;font-weight:800}

/* ---------- SERVICES ---------- */
.services{background:var(--bg-soft)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:transform .2s,box-shadow .2s;position:relative}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.svc .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:24px;margin-bottom:20px;background:#e9f5fd}
.svc h3{font-size:20px;font-weight:700;margin-bottom:10px}
.svc p{font-size:15px;margin-bottom:14px}
.svc a{font-weight:700;font-size:14.5px;color:var(--orange-dark);text-decoration:none}
.svc a:hover{text-decoration:underline}

.walmart-card{margin-top:26px;background:linear-gradient(135deg,#0a2e57,#1769ff);border-radius:var(--radius);padding:40px 38px;display:grid;grid-template-columns:1fr 1.1fr;gap:36px;color:#fff;text-align:left;box-shadow:0 24px 60px -24px rgba(23,105,255,.5)}
.walmart-card .wm-badge{display:inline-block;background:#ffc220;color:#0a2e57;font-family:var(--font-d);font-weight:800;font-size:12px;letter-spacing:.08em;padding:7px 14px;border-radius:99px;margin-bottom:16px}
.walmart-card h3{color:#fff;font-size:clamp(22px,2.6vw,30px);margin-bottom:12px}
.walmart-card .wm-left p{color:#c9dcff;font-size:15.5px}
.wm-right{display:grid;gap:12px}
.wm-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 16px}
.wm-item b{display:block;font-family:var(--font-d);font-size:15px;margin-bottom:3px}
.wm-item span{font-size:13.5px;color:#c9dcff;line-height:1.5}
@media(max-width:1020px){.walmart-card{grid-template-columns:1fr}}

/* ---------- CASE STUDIES ---------- */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 10px 30px -20px rgba(11,28,51,.15);display:flex;flex-direction:column}
.case-top{padding:26px 26px 20px;color:#fff}
.case-top.c1{background:linear-gradient(135deg,#0b1c33,#1c3d68)}
.case-top.c2{background:linear-gradient(135deg,#7a3c00,#0b6fa8)}
.case-top.c3{background:linear-gradient(135deg,#0a4a33,#0fa968)}
.case-top .cat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.case-top .big{font-family:var(--font-d);font-weight:800;font-size:42px;margin-top:6px}
.case-top .bl{font-size:14px;opacity:.9}
.case-body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.case-body p{font-size:15px}
.mini-metrics{display:flex;gap:10px;margin-top:auto}
.mm{flex:1;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center}
.mm b{display:block;font-family:var(--font-d);font-size:17px;color:var(--navy)}
.mm span{font-size:11.5px;font-weight:600;color:var(--body)}

/* ---------- PROCESS ---------- */
.process{background:var(--navy)}
.process .kicker{background:rgba(10,150,221,.12);border-color:rgba(10,150,221,.3);color:var(--orange)}
.process .h2{color:#fff}
.process .sub{color:#a9bcd4}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.proc{background:var(--navy-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:30px 26px;position:relative}
.proc .n{font-family:var(--font-d);font-weight:800;font-size:15px;color:var(--orange);background:rgba(10,150,221,.12);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:18px}
.proc h3{color:#fff;font-size:19px;margin-bottom:10px}
.proc p{color:#a9bcd4;font-size:14.5px}
.proc .wk{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;color:#7fd6ac;background:rgba(15,169,104,.14);padding:4px 12px;border-radius:99px}

/* ---------- TESTIMONIALS ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 10px 30px -22px rgba(11,28,51,.2);display:flex;flex-direction:column;gap:16px}
.testi p{font-size:15.5px;color:var(--ink)}
.testi-who{display:flex;align-items:center;gap:13px;margin-top:auto}
.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-d);font-weight:800;color:#fff;font-size:16px}
.a1{background:#1769ff}.a2{background:#0fa968}.a3{background:#0b6fa8}
.testi-who b{display:block;font-family:var(--font-d);font-size:15px;color:var(--navy)}
.testi-who span{font-size:13px}

/* ---------- REVIEWS ---------- */
.rev-summary{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-bottom:44px}
.rev-score{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 26px;box-shadow:0 12px 32px -20px rgba(11,28,51,.25)}
.rev-score .big{font-family:var(--font-d);font-weight:800;font-size:44px;color:var(--navy);line-height:1}
.rev-score .rs-r{text-align:left}
.rev-score .stars{font-size:18px}
.rev-score span{display:block;font-size:13px;color:var(--body)}
.rev-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.rev-badge{background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 18px;font-size:13px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px}
.t-marquee{overflow:hidden;position:relative;padding:6px 0 10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.t-track{display:flex;gap:20px;width:max-content;animation:tscroll 55s linear infinite}
.t-marquee:hover .t-track{animation-play-state:paused}
.t-track .testi{width:360px;flex-shrink:0}
@keyframes tscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-row2 .t-track{animation-direction:reverse;animation-duration:65s}
.testi .rev-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8b99ab}
.testi .rev-tag{background:var(--bg-soft);border:1px solid var(--line);border-radius:99px;padding:4px 11px;font-weight:700;font-size:11.5px;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.t-track{animation:none!important;flex-wrap:wrap;width:auto}.t-track .testi{width:100%;max-width:360px}}
@media(max-width:640px){.t-track .testi{width:300px}}

/* ---------- FAQ ---------- */
.faq{background:var(--bg-soft)}
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden}
summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:var(--font-d);font-weight:700;font-size:16.5px;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:24px;color:var(--orange);font-weight:600;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details .a{padding:0 24px 22px;font-size:15.5px}

/* ---------- FINAL CTA ---------- */
.final{padding:110px 0}
.final-card{background:linear-gradient(135deg,var(--navy) 0%,#16355e 60%,#1c3d68 100%);border-radius:24px;padding:70px 60px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;overflow:hidden}
.final-card::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(10,150,221,.22),transparent 65%);top:-160px;right:-120px}
.final-card>*{position:relative}
.final h2{color:#fff;font-size:clamp(28px,3.6vw,42px);font-weight:800;margin-bottom:16px}
.final p{color:#b9c9de;margin-bottom:24px;max-width:50ch}
.final ul{list-style:none;display:grid;gap:12px;color:#dbe6f3;font-weight:500;font-size:15.5px}
.final ul li::before{content:"✓";color:var(--orange);font-weight:800;margin-right:10px}
.audit-form{background:#fff;border-radius:18px;padding:34px 30px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.audit-form h3{font-size:21px;margin-bottom:6px}
.audit-form .fp{font-size:14px;margin-bottom:22px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}
.field input,.field select{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font-b);font-size:15px;color:var(--ink);background:#fff}
.field input:focus,.field select:focus{outline:none;border-color:var(--orange)}
.audit-form .btn{width:100%;margin-top:6px}
.form-note{font-size:12.5px;text-align:center;margin-top:12px;color:#8b99ab}

/* ---------- FOOTER ---------- */
footer{background:var(--navy);color:#a9bcd4;padding:64px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px}
footer .logo{color:#fff}
footer .logo small{color:#7f93ad}
.foot-grid p{font-size:14.5px;margin-top:14px;max-width:34ch}
.foot-grid h4{color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.foot-grid ul{list-style:none;display:grid;gap:10px;font-size:14.5px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:var(--orange)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#7f93ad}

/* ---------- CALCULATOR ---------- */
.calc{background:var(--bg-soft)}
.calc-card{max-width:960px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.calc-left{padding:40px 38px}
.calc-left h3{font-size:22px;margin-bottom:8px}
.calc-left .cp{font-size:14.5px;margin-bottom:28px}
.range-field{margin-bottom:26px}
.range-field .rf-top{display:flex;justify-content:space-between;font-weight:700;font-size:14px;color:var(--navy);margin-bottom:10px}
.range-field .rf-top output{color:var(--orange-dark);font-family:var(--font-d);font-size:16px}
input[type=range]{width:100%;accent-color:var(--orange);height:6px;cursor:pointer}
.calc-right{background:linear-gradient(160deg,var(--navy),#16355e);color:#fff;padding:40px 38px;display:flex;flex-direction:column;justify-content:center;gap:22px}
.calc-out .co-l{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#9fb4cf}
.calc-out .co-v{font-family:var(--font-d);font-weight:800;font-size:clamp(30px,3.4vw,42px);color:var(--orange)}
.calc-out .co-v.small{font-size:26px;color:#7fd6ac}
.calc-note{font-size:12px;color:#8aa1bf;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}

/* ---------- BOOKING ---------- */
.booking-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:340px 1fr;overflow:hidden}
.bk-info{background:linear-gradient(165deg,var(--navy),#16355e);color:#fff;padding:36px 32px;display:flex;flex-direction:column;gap:18px}
.bk-info .bi-avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#4fb8ea);display:grid;place-items:center;font-family:var(--font-d);font-weight:800;font-size:22px;color:#fff}
.bk-info h3{color:#fff;font-size:21px}
.bk-info p{color:#b9c9de;font-size:14.5px}
.bk-info ul{list-style:none;display:grid;gap:11px;font-size:14px;color:#dbe6f3}
.bk-info ul li::before{content:"✓";color:var(--orange);font-weight:800;margin-right:9px}
.bk-meta{margin-top:auto;font-size:13px;color:#8aa1bf;display:grid;gap:6px}
.bk-body{padding:32px 34px}
.bk-body h4{font-size:17px;margin-bottom:16px}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cal-head b{font-family:var(--font-d);color:var(--navy);font-size:15.5px}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-size:15px;color:var(--navy);font-weight:700}
.cal-nav button:hover{border-color:var(--orange)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px}
.cal-grid .dow{font-size:11.5px;font-weight:700;text-transform:uppercase;color:#8b99ab;text-align:center;padding:6px 0}
.cal-day{aspect-ratio:1.15;border:1.5px solid transparent;border-radius:10px;display:grid;place-items:center;font-weight:600;font-size:14.5px;color:var(--ink);cursor:pointer;background:none;font-family:var(--font-b)}
.cal-day:hover:not(:disabled){background:#e9f5fd}
.cal-day:disabled{color:#c9d3df;cursor:default}
.cal-day.sel{background:var(--orange);color:#fff;font-weight:800}
.cal-day.today{border-color:var(--orange)}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:20px}
.slot{padding:11px 6px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-family:var(--font-b);font-weight:600;font-size:13.5px;color:var(--navy);cursor:pointer;text-align:center}
.slot:hover{border-color:var(--orange)}
.slot.sel{background:var(--navy);border-color:var(--navy);color:#fff}
.bk-confirm{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bk-confirm .btn{flex-shrink:0}
.bk-sel-label{font-size:14px;font-weight:600;color:var(--body)}
.bk-sel-label b{color:var(--navy)}
.bk-done{text-align:center;padding:30px 10px}
.bk-done .big-check{width:64px;height:64px;border-radius:50%;background:#eafaf2;color:var(--green);display:grid;place-items:center;font-size:30px;margin:0 auto 16px}

/* ---------- AI CHAT WIDGET ---------- */
.chat-fab{position:fixed;bottom:24px;right:24px;z-index:300;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#2ba7e5);color:#fff;border:none;cursor:pointer;font-size:26px;box-shadow:0 14px 34px -8px rgba(10,150,221,.6);display:grid;place-items:center;transition:transform .2s}
.chat-fab:hover{transform:scale(1.07)}
.chat-fab .badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--green);border:2.5px solid #fff}
.chat-panel{position:fixed;bottom:100px;right:24px;z-index:300;width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 130px);background:#fff;border-radius:20px;box-shadow:0 30px 80px -20px rgba(11,28,51,.45);display:none;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.chat-panel.open{display:flex;animation:chatin .25s ease}
@keyframes chatin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.chat-head{background:linear-gradient(135deg,var(--navy),#16355e);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.chat-head .ch-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#4fb8ea);display:grid;place-items:center;font-size:19px}
.chat-head b{font-family:var(--font-d);font-size:15.5px;display:block}
.chat-head .st{font-size:12px;color:#9fd8b8}
.chat-head .st::before{content:"●";margin-right:5px;font-size:9px}
.chat-close{margin-left:auto;background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:15px}
.chat-msgs{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-soft)}
.msg{max-width:82%;padding:11px 15px;border-radius:15px;font-size:14px;line-height:1.55;white-space:pre-wrap}
.msg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:5px;align-self:flex-start}
.msg.user{background:var(--orange);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg.typing{color:#8b99ab;font-style:italic;background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}
.chat-quick{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 10px;background:var(--bg-soft)}
.chip-q{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--navy);cursor:pointer;font-family:var(--font-b)}
.chip-q:hover{border-color:var(--orange);color:var(--orange-dark)}
.chat-input{display:flex;gap:10px;padding:13px 14px;border-top:1px solid var(--line);background:#fff}
.chat-input input{flex:1;border:1.5px solid var(--line);border-radius:11px;padding:11px 14px;font-family:var(--font-b);font-size:14px}
.chat-input input:focus{outline:none;border-color:var(--orange)}
.chat-input button{background:var(--orange);color:#fff;border:none;border-radius:11px;width:46px;font-size:17px;cursor:pointer}
.chat-input button:hover{background:var(--orange-dark)}
.chat-foot{font-size:10.5px;text-align:center;color:#a5b2c2;padding:0 10px 9px;background:#fff}
.chat-quick.hidden{display:none}
.chips-toggle{background:var(--bg-soft);border:1.5px solid var(--line);border-radius:11px;width:42px;font-size:16px;cursor:pointer;flex-shrink:0}
.chips-toggle:hover{border-color:var(--orange)}
.msg-actions.used{opacity:.4;pointer-events:none;filter:grayscale(.6)}

/* proof tab hover preview */
.proof-peek{position:fixed;left:56px;top:50%;transform:translateY(-50%) translateX(-8px);z-index:281;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -18px rgba(11,28,51,.45);padding:10px;width:300px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
.proof-peek.show{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}
.proof-peek::before{content:"";position:absolute;left:-30px;top:0;bottom:0;width:30px}
.proof-peek img{width:100%;border-radius:9px;display:block;border:1px solid var(--line)}
.proof-peek span{display:block;font-size:12px;font-weight:700;color:var(--navy);padding:8px 2px 2px;font-family:var(--font-d)}

/* scroll progress */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--orange),#4fb8ea);z-index:200;width:0;transition:width .1s linear}

/* preloader */
.preloader{position:fixed;inset:0;z-index:999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .45s ease}
.preloader.done{opacity:0;pointer-events:none}
.preloader .pl-mark{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--orange),#4fb8ea);display:grid;place-items:center;color:#fff;font-family:var(--font-d);font-weight:800;font-size:28px;animation:plpulse 1s ease-in-out infinite}
.preloader .pl-t{font-family:var(--font-d);font-weight:700;color:var(--navy);font-size:15px;letter-spacing:.04em}
@keyframes plpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}

/* social proof toasts */
.toast{position:fixed;bottom:24px;left:24px;z-index:260;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px -18px rgba(11,28,51,.35);padding:13px 40px 13px 14px;display:flex;gap:12px;align-items:center;max-width:330px;transform:translateY(20px);opacity:0;transition:transform .3s,opacity .3s}
.toast.show{transform:none;opacity:1}
.toast .t-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:#eafaf2;flex-shrink:0}
.toast b{display:block;font-family:var(--font-d);font-size:13.5px;color:var(--navy);line-height:1.35}
.toast span{font-size:12px;color:var(--body)}
.toast .t-x{position:absolute;top:8px;right:10px;background:none;border:none;color:#a5b2c2;cursor:pointer;font-size:13px}
@media(max-width:640px){.toast{display:none}.proof-peek{display:none}}

/* chat upgrades */
.chat-teaser{position:fixed;bottom:100px;right:24px;z-index:299;background:#fff;border:1px solid var(--line);border-radius:16px 16px 4px 16px;box-shadow:0 18px 44px -14px rgba(11,28,51,.35);padding:14px 16px;max-width:270px;font-size:13.5px;color:var(--ink);display:none;animation:chatin .3s ease}
.chat-teaser.show{display:block}
.chat-teaser b{font-family:var(--font-d);display:block;margin-bottom:3px;color:var(--navy)}
.chat-teaser .tx{position:absolute;top:6px;right:9px;background:none;border:none;color:#a5b2c2;cursor:pointer;font-size:13px}
.fab-count{position:absolute;top:-5px;left:-5px;min-width:20px;height:20px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;font-weight:800;display:none;place-items:center;padding:0 5px;border:2px solid #fff}
.fab-count.show{display:grid}
.chat-tools{display:flex;gap:6px;margin-left:auto}
.chat-tools button{background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px}
.chat-tools button:hover{background:rgba(255,255,255,.22)}
.msg .m-time{display:block;font-size:10px;opacity:.55;margin-top:5px}
.msg-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.msg-btn{border:1.5px solid var(--orange);background:#fff;color:var(--orange-dark);border-radius:9px;padding:7px 12px;font-family:var(--font-b);font-weight:700;font-size:12.5px;cursor:pointer}
.msg-btn:hover{background:var(--orange);color:#fff}
.msg-btn.dark{border-color:var(--navy);color:var(--navy)}
.msg-btn.dark:hover{background:var(--navy);color:#fff}
.chat-form{display:grid;gap:8px;margin-top:10px}
.chat-form input,.chat-form select{padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;font-family:var(--font-b);font-size:13px;width:100%}
.chat-form input:focus{outline:none;border-color:var(--orange)}
.chat-form .cf-btn{background:var(--orange);border:none;color:#fff;font-weight:700;font-family:var(--font-b);font-size:13px;padding:10px;border-radius:9px;cursor:pointer}
.chat-form .cf-btn:hover{background:var(--orange-dark)}

/* ---------- BACK TO TOP ---------- */
.to-top{position:fixed;bottom:24px;right:100px;z-index:290;width:46px;height:46px;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--navy);font-size:18px;cursor:pointer;box-shadow:0 8px 24px -10px rgba(11,28,51,.3);opacity:0;pointer-events:none;transition:opacity .25s}
.to-top.show{opacity:1;pointer-events:auto}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- PROOF MODAL ---------- */
.proof-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:280;background:var(--navy);color:#fff;border:none;border-radius:0 12px 12px 0;padding:16px 10px;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-d);font-weight:700;font-size:13px;letter-spacing:.06em;box-shadow:6px 0 22px -8px rgba(11,28,51,.4);transition:padding .15s,background .15s}
.proof-tab:hover{background:var(--orange);padding-left:16px}
.proof-modal{position:fixed;inset:0;z-index:400;background:rgba(8,16,29,.86);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:24px}
.proof-modal.open{display:flex;animation:chatin .25s ease}
.proof-box{background:#fff;border-radius:20px;max-width:1020px;width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 100px -20px rgba(0,0,0,.6)}
.proof-head{display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line)}
.proof-head .ph-ic{width:42px;height:42px;border-radius:12px;background:#e9f5fd;display:grid;place-items:center;font-size:20px}
.proof-head b{font-family:var(--font-d);font-size:17px;color:var(--navy);display:block}
.proof-head span{font-size:13px;color:var(--body)}
.proof-close{margin-left:auto;background:var(--bg-soft);border:1px solid var(--line);width:38px;height:38px;border-radius:10px;font-size:16px;cursor:pointer;color:var(--navy)}
.proof-close:hover{background:#fdecec;border-color:var(--red);color:var(--red)}
.proof-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.proof-stage{position:relative;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.proof-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:62vh;margin:0 auto}
.proof-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(11,28,51,.85);color:#fff;font-size:19px;cursor:pointer;display:grid;place-items:center}
.proof-arrow:hover{background:var(--orange)}
.proof-arrow.prev{left:12px}.proof-arrow.next{right:12px}
.proof-cap{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.proof-cap h4{font-size:17px;margin-bottom:4px}
.proof-cap p{font-size:14px;max-width:60ch}
.proof-src{flex-shrink:0;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:#eafaf2;border:1px solid #c9efdd;border-radius:99px;padding:6px 13px;white-space:nowrap}
.proof-dots{display:flex;gap:8px;justify-content:center;padding-bottom:4px}
.proof-dots button{width:34px;height:6px;border-radius:99px;border:none;background:var(--line);cursor:pointer;transition:background .15s}
.proof-dots button.on{background:var(--orange)}
.proof-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bg-soft)}
.proof-foot span{font-size:13px;color:var(--body)}
.case-proof-btn{margin-top:12px;background:none;border:1.5px solid var(--line);border-radius:10px;padding:9px 14px;font-family:var(--font-b);font-weight:700;font-size:13.5px;color:var(--navy);cursor:pointer;width:100%}
.case-proof-btn:hover{border-color:var(--orange);color:var(--orange-dark)}

/* ---------- STICKY MOBILE CTA ---------- */
.m-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:250;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -14px rgba(11,28,51,.25);gap:10px}
.m-cta .btn{flex:1;padding:13px 10px;font-size:14.5px}

/* ---------- EXIT POPUP ---------- */
.exit-pop{position:fixed;inset:0;z-index:500;background:rgba(8,16,29,.8);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:24px}
.exit-pop.open{display:flex;animation:chatin .25s ease}
.exit-card{background:#fff;border-radius:22px;max-width:520px;width:100%;padding:44px 40px;text-align:center;position:relative;box-shadow:0 40px 100px -20px rgba(0,0,0,.55)}
.exit-card .ex{position:absolute;top:14px;right:14px;background:var(--bg-soft);border:1px solid var(--line);width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:14px}
.exit-card .big-emoji{font-size:44px;margin-bottom:12px}
.exit-card h3{font-size:26px;margin-bottom:12px}
.exit-card p{font-size:15.5px;margin-bottom:22px}
.exit-card p b{color:var(--orange-dark)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1020px){
  .calc-card,.booking-card{grid-template-columns:1fr}
  .slots{grid-template-columns:repeat(3,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .why-grid{grid-template-columns:1fr;gap:44px}
  .svc-grid,.case-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr;gap:40px}
  .final-card{grid-template-columns:1fr;padding:52px 36px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .nav-burger{display:flex}
}
@media(max-width:640px){
  .m-cta{display:flex}
  footer{padding-bottom:120px}
  .proof-arrow{width:36px;height:36px}
  .exit-card{padding:34px 24px}
  .chat-panel{right:16px;bottom:92px}
  .chat-fab{right:16px;bottom:18px}
  .to-top{right:88px;bottom:18px}
  .slots{grid-template-columns:1fr 1fr}
  section{padding:68px 0}
  .svc-grid,.case-grid,.testi-grid,.proc-grid{grid-template-columns:1fr}
  .chip-1{left:-8px}.chip-2{right:-8px}
  .final-card{padding:44px 24px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- added: chat textarea + inline booking form ---------- */
.chat-form textarea{padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;font-family:var(--font-b);font-size:13px;width:100%;resize:vertical}
.chat-form textarea:focus{outline:none;border-color:var(--orange)}
.bk-detail{display:block}
.bk-back{background:none;border:none;color:var(--body);font-family:var(--font-b);font-size:13px;cursor:pointer;padding:0 0 4px;opacity:.8}
.bk-back:hover{opacity:1;color:var(--orange-dark)}
.bk-form{display:grid;gap:10px;margin-top:6px}
.bk-form input,.bk-form textarea{padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font-b);font-size:14px;width:100%;resize:vertical}
.bk-form input:focus,.bk-form textarea:focus{outline:none;border-color:var(--orange)}

/* ---------- added: active nav item ---------- */
.nav-links a.nav-active,.nav-links .nav-active{color:var(--orange-dark)}
.nav-links a.nav-active{font-weight:700}

/* ============================================================
   FREE-AUDIT POPUP MODAL (global, multi-step + review)
   ============================================================ */
.audit-modal{position:fixed;inset:0;z-index:1000;background:rgba(11,28,51,.55);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}
.audit-modal.open{display:flex;animation:amfade .2s ease}
@keyframes amfade{from{opacity:0}to{opacity:1}}
.am-box{position:relative;width:min(460px,96vw);background:#fff;border-radius:20px;box-shadow:0 40px 90px -20px rgba(11,28,51,.5);overflow:hidden;animation:amup .3s cubic-bezier(.2,.7,.2,1)}
@keyframes amup{from{transform:translateY(34px);opacity:.5}to{transform:none;opacity:1}}
.am-x{position:absolute;top:12px;right:12px;z-index:2;background:rgba(255,255,255,.16);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px}
.am-x:hover{background:rgba(255,255,255,.3)}
.am-head{background:linear-gradient(135deg,var(--navy),#16355e);color:#fff;padding:22px 24px 18px}
.am-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);background:rgba(10,150,221,.14);border:1px solid rgba(10,150,221,.35);padding:4px 12px;border-radius:99px}
.am-head h3{color:#fff;font-size:22px;margin:12px 0 4px}
.am-sub{font-size:13.5px;color:#b9c6d8;margin:0}
.am-steps{display:flex;gap:6px;margin-top:16px}
.am-steps span{height:4px;flex:1;border-radius:99px;background:rgba(255,255,255,.2);transition:background .2s}
.am-steps span.on{background:var(--orange)}
#am-form{padding:22px 24px 24px}
.am-field{margin-bottom:14px}
.am-field>label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px}
.am-field>label b{color:var(--orange-dark)}
.am-field .opt{font-weight:500;color:#9aa7b8}
.am-field input,.am-field select,.am-field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font-b);font-size:14.5px;background:#fff;resize:vertical}
.am-field input:focus,.am-field select:focus,.am-field textarea:focus{outline:none;border-color:var(--orange)}
.am-seg{display:flex;gap:8px}
.am-seg button{flex:1;padding:10px 6px;border:1.5px solid var(--line);background:#fff;border-radius:10px;font-family:var(--font-b);font-size:14px;font-weight:600;color:var(--body);cursor:pointer}
.am-seg button.on{border-color:var(--orange);background:#fff6ec;color:var(--orange-dark)}
.am-review-intro{font-size:14px;color:var(--body);margin:0 0 12px}
.am-review{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.am-review .row{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--line)}
.am-review .row:last-child{border-bottom:none}
.am-review .k{color:#8b99ab;white-space:nowrap}
.am-review .v{color:var(--ink);font-weight:600;text-align:right;word-break:break-word}
.am-review .v.empty{color:#b7c0cc;font-weight:500;font-style:italic}
.am-editrow{display:flex;gap:14px;margin-top:10px}
.am-editrow button{background:none;border:none;color:var(--orange-dark);font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;padding:0}
.am-editrow button:hover{text-decoration:underline}
.am-consent{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--body);margin-top:14px;cursor:pointer}
.am-consent input{margin-top:2px;width:auto}
.am-err{color:#e2554f;font-size:13px;margin:10px 0 0}
.am-nav{display:flex;gap:10px;margin-top:18px}
.am-nav .btn{flex:1;justify-content:center}
.am-done{padding:44px 28px;text-align:center}
.am-done .big-check{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;display:grid;place-items:center;margin:0 auto 16px}
.am-done h3{font-size:22px;margin-bottom:8px}
.am-done p{font-size:14.5px;color:var(--body)}
@media(max-width:560px){.audit-modal{padding:0}.am-box{width:100%;min-height:100%;border-radius:0}.am-head h3{font-size:20px}}

/* ============================================================
   CHAT: draggable (desktop) + bottom-sheet (mobile)
   ============================================================ */
@media(pointer:fine){
  .chat-panel .chat-head{cursor:grab}
  .chat-panel.dragging{transition:none;animation:none}
  .chat-panel.dragging .chat-head{cursor:grabbing}
}
@media(max-width:640px){
  /* full-width sheet that rises from the bottom; drag disabled */
  .chat-panel,.chat-panel.dragged{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:100%!important;height:84vh!important;max-height:84vh!important;border-radius:20px 20px 0 0!important}
  .chat-panel.open{animation:sheetup .3s cubic-bezier(.2,.7,.2,1)}
  .chat-panel .chat-head{cursor:default}
}
@keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}

/* ============================================================
   RESPONSIVE HARDENING — proof modal + mobile fixes
   ============================================================ */
/* never let a stray wide element cause horizontal scroll (keeps sticky nav working) */
html,body{overflow-x:clip;max-width:100%}

/* proof modal: full-screen sheet on phones; image always fully visible */
@media(max-width:640px){
  .proof-modal{padding:0}
  .proof-box{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}
  .proof-head{padding:13px 14px}
  .proof-head .ph-ic{width:34px;height:34px;font-size:16px}
  .proof-head b{font-size:14.5px}
  .proof-head span{font-size:11.5px}
  .proof-body{padding:12px 12px}
  .proof-stage img{max-height:52vh}
  .proof-cap{flex-direction:column;gap:8px}
  .proof-cap h4{font-size:15.5px}
  .proof-cap p{font-size:13px}
  .proof-arrow{width:34px;height:34px;font-size:16px}
  .proof-arrow.prev{left:6px}.proof-arrow.next{right:6px}
  .proof-foot{flex-direction:column;align-items:stretch;padding:12px 14px}
  .proof-foot .btn{width:100%;justify-content:center}
  .proof-foot span{text-align:center}
}

/* hero floating chips: keep them inside the screen on small devices */
@media(max-width:900px){.float-chip{font-size:12px;padding:9px 12px}.float-chip b{font-size:14px}}
@media(max-width:560px){
  .chip-1{top:-12px;left:6px}
  .chip-2{bottom:-12px;right:6px}
  .float-chip{max-width:66%}
}

/* comparison table: scroll inside its card instead of stretching the page */
@media(max-width:560px){
  .compare-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .compare-card table{min-width:440px}
  .compare-card th,.compare-card td{padding:11px 12px;font-size:13.5px}
}

/* tighter phone spacing */
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:24px}
  .wrap{padding:0 18px}
  .topbar{font-size:12px;padding:8px 14px;line-height:1.4}
}

/* ---------- book-a-call modal specifics ---------- */
.am-box-book{width:min(500px,96vw)}
.bm-slots-title{font-family:var(--font-d);font-weight:700;color:var(--navy);font-size:16px;margin:4px 0 12px}
.bm-tz{font-size:13px;color:#8b99ab;margin-top:8px}
.bm-tz b{color:var(--ink)}
.bm-sel{font-size:13.5px;color:var(--body);margin-top:6px;text-align:center}

/* ============================================================
   MODAL FIXES — respect [hidden] (Back/Continue/Confirm), and
   full responsiveness for BOTH the audit & book-a-call popups
   ============================================================ */
/* .btn sets display:inline-flex which was overriding the hidden attribute,
   so hidden nav buttons still showed. This restores correct hide behaviour. */
[hidden]{display:none!important}

@media(max-width:600px){
  .audit-modal{padding:0;align-items:stretch}
  .am-box,.am-box-book{width:100%!important;max-width:100%!important;min-height:100vh;border-radius:0}
  .am-head{padding:18px 18px 14px}
  .am-head h3{font-size:20px}
  .am-sub{font-size:12.5px}
  #am-form,#bm-form{padding:18px 18px 20px}
  .am-field>label{font-size:12.5px}
  .am-seg button{padding:12px 4px;font-size:13.5px}
  .slots{grid-template-columns:repeat(3,1fr)}
  .cal-grid{gap:4px}
  .cal-day{font-size:14px}
  /* keep the Back/Continue/Confirm bar reachable while the calendar scrolls */
  .am-nav{position:sticky;bottom:0;background:#fff;padding:12px 18px;margin:16px -18px -20px;border-top:1px solid var(--line);z-index:3}
  .am-nav .btn{font-size:15px;padding:14px 16px}
}

/* ============================================================
   POPUP FIT — desktop + mobile. Header fixed, content scrolls,
   buttons pinned; consistent padding for BOTH forms.
   ============================================================ */
.audit-modal{align-items:center}
.am-box,.am-box-book{max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.am-head{flex-shrink:0}
#am-form,#bm-form{padding:22px 24px 24px;flex:1 1 auto;min-height:0;overflow-y:auto}
.am-nav{position:sticky;bottom:0;background:#fff;margin:16px -24px -24px;padding:14px 24px 16px;border-top:1px solid var(--line);z-index:3}

@media(max-width:600px){
  .audit-modal{align-items:stretch;padding:0}
  .am-box,.am-box-book{max-height:100vh;min-height:100vh;width:100%!important;max-width:100%!important;border-radius:0}
  #am-form,#bm-form{padding:18px 18px 20px}
  .am-nav{margin:16px -18px -20px;padding:12px 18px 16px}
}

/* ================= FINAL POPUP + MOBILE POLISH ================= */
/* fix: the floating "REAL RESULTS — VIEW PROOF" tab overlapped the hero
   dashboard on phones — hide it on small screens (proof still reachable
   via the case-study buttons and the nav). */
@media(max-width:640px){.proof-tab{display:none}}

/* desktop: compact book-a-call calendar so the popup fits without scrolling */
.am-box-book{width:min(520px,96vw)}
#bm-grid .cal-day{aspect-ratio:1.55}
.bm-cal .cal-grid{margin-bottom:10px}
.bm-slots-title{margin:2px 0 8px}
.bm-tz{margin-top:6px}
.bm-sel{margin-top:4px}

/* mobile: audit + book popups rise from the bottom as a sheet, like the AI chat */
@media(max-width:600px){
  .audit-modal{align-items:flex-end!important;padding:0!important}
  .am-box,.am-box-book{width:100%!important;max-width:100%!important;max-height:90vh!important;min-height:0!important;border-radius:22px 22px 0 0!important;animation:sheetup .32s cubic-bezier(.2,.7,.2,1)!important}
  #am-form,#bm-form{padding:18px 18px 20px}
  .am-nav{margin:16px -18px -20px;padding:12px 18px 16px}
}

/* ================= POPUP LAYOUT — FINAL (authoritative; overrides earlier modal rules) ================= */
/* Focus backdrop: darker + real blur (Safari prefix included) */
.audit-modal{background:rgba(6,12,22,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* Box = flex column: fixed header, scrolling step body, pinned footer (buttons ALWAYS visible) */
.am-box,.am-box-book{display:flex;flex-direction:column;max-height:92vh;overflow:hidden}
.am-head{flex-shrink:0;padding:20px 24px 16px}
#am-form,#bm-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}
.am-step{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px 8px}
.am-err{flex-shrink:0;margin:0;padding:4px 24px 0}
.am-nav{flex-shrink:0;position:static;margin:0;padding:14px 24px 16px;border-top:1px solid var(--line);background:#fff}
.am-done{flex:1 1 auto;overflow-y:auto}

/* Compact book-a-call calendar so the whole popup fits the frame on desktop (no scrollbar) */
.am-box-book{width:min(500px,96vw)}
#bm-grid{gap:4px}
#bm-grid .cal-day{aspect-ratio:1.7}
.bm-cal .cal-grid{margin-bottom:8px}
.bm-slots-title{margin:2px 0 8px}

/* Mobile: both popups become a bottom sheet that rises from the bottom, like the chat */
@media(max-width:600px){
  .audit-modal{align-items:flex-end!important;padding:0!important}
  .am-box,.am-box-book{width:100%!important;max-width:100%!important;max-height:92vh!important;border-radius:22px 22px 0 0!important;animation:sheetup .32s cubic-bezier(.2,.7,.2,1)!important}
  .am-step{padding:16px 18px 8px}
  .am-nav{padding:12px 18px 16px}
}

/* ================= MOBILE VIEWPORT FIX =================
   On phones, `vh` includes the browser address bar, so the pinned submit
   button was pushed below the visible screen. `dvh` (dynamic viewport height)
   sizes the sheet to the ACTUAL visible area. vh line = fallback for old browsers. */
@media(max-width:600px){
  .am-box,.am-box-book{max-height:92vh!important;max-height:88dvh!important}
}

/* ================= MOBILE FIXES (client feedback) ================= */
/* mobile menu: always-visible close bar so it can be dismissed after scrolling */
.m-close-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#fff;margin:-14px -20px 8px;padding:12px 20px;border-bottom:1px solid var(--line)}
.m-close-bar span{font-family:var(--font-d);font-weight:800;color:var(--navy);font-size:16px}
.m-close{width:40px;height:40px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:16px;color:var(--navy);cursor:pointer;line-height:1;display:grid;place-items:center}
.m-close:active{background:var(--bg-soft)}

@media(max-width:640px){
  /* hero dashboard now fits the screen; decorative floating chips removed */
  .hero-visual{max-width:100%}
  .dash{padding:16px;max-width:100%;overflow:hidden}
  .dash-kpis{gap:7px}
  .dk{padding:9px 8px}
  .dk .v{font-size:17px}
  .dk .l{font-size:10px}
  .dk .d{font-size:9.5px}
  .float-chip{display:none}
  .chart svg{height:150px}
  /* keep the chat bubble ABOVE the sticky CTA bar; drop the redundant back-to-top */
  .chat-fab{right:16px;bottom:80px}
  .to-top{display:none}
  .m-cta .btn{white-space:nowrap}
}

/* ================= REAL BRAND LOGO ================= */
.logo-img{height:42px;width:auto;display:block}
.foot-grid .logo .logo-img{filter:brightness(0) invert(1)}   /* white version on the navy footer */
@media(max-width:640px){.logo-img{height:34px}}

/* ============================================================
   AI CHAT — "Kodee-style" clean redesign (light, modern)
   ============================================================ */
.chat-panel{width:392px;height:566px;max-height:calc(100vh - 120px);border-radius:22px;border:1px solid #e8edf3;box-shadow:0 32px 80px -24px rgba(2,20,56,.42)}

/* light header with identity */
.chat-head{background:#fff;color:var(--navy);padding:15px 16px;border-bottom:1px solid #eef2f7;align-items:center;gap:11px}
.chat-head .ch-av{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#0EA5E9,#021438);color:#fff;font-size:18px}
.chat-head b{font-family:var(--font-d);font-size:15px;color:var(--navy)}
.chat-head .st{font-size:11.5px;color:#16a34a;font-weight:600}
.chat-head .st::before{content:"●";margin-right:5px;font-size:8px}
.chat-tools button{background:#f1f5f9;border:none;color:#64748b;width:32px;height:32px;border-radius:9px}
.chat-tools button:hover{background:#e2e8f0;color:var(--navy)}

/* messages on clean white */
.chat-msgs{background:#fff;padding:16px 14px;gap:10px}
.msg{max-width:86%;font-size:14px;line-height:1.55;border-radius:16px;padding:11px 14px}
.msg.bot,.msg.typing{background:#f4f7fb;border:none;color:#1e293b;border-bottom-left-radius:6px}
.msg.user{background:linear-gradient(135deg,#0EA5E9,#0b6fa8);border:none;color:#fff;border-bottom-right-radius:6px}
.msg .m-time{opacity:.5}

/* action buttons under bot messages -> soft chips */
.msg-btn{border:1.5px solid #e2e8f0;background:#f6f9fc;color:#0b6fa8;border-radius:11px;font-weight:600;padding:8px 13px}
.msg-btn:hover{border-color:#0EA5E9;background:#eaf4fc;color:var(--navy)}
.msg-btn.dark{border-color:#0EA5E9;background:linear-gradient(135deg,#0EA5E9,#0b6fa8);color:#fff}
.msg-btn.dark:hover{filter:brightness(1.05);color:#fff}

/* suggestions as a vertical list with arrows (Kodee) */
.chat-quick{flex-direction:column;gap:6px;padding:6px 14px 12px;background:#fff}
.chat-quick::before{content:"\2728  Suggestions";display:block;font:700 11.5px var(--font-d);color:#94a3b8;letter-spacing:.03em;margin:2px 2px 4px}
.chip-q{width:100%;text-align:left;border:none;background:#f6f9fc;border-radius:12px;padding:11px 14px;font-size:13px;font-weight:500;color:#334155;display:flex;align-items:center;justify-content:space-between;gap:10px}
.chip-q::after{content:"\2197";color:#0EA5E9;font-weight:700;font-size:14px}
.chip-q:hover{background:#eaf4fc;color:var(--navy)}
.chip-q:nth-child(n+6){display:none}   /* keep the list short & clean */

/* modern input row */
.chat-input{padding:12px 14px 8px;border-top:1px solid #eef2f7;background:#fff;gap:8px;align-items:center}
.chat-input input{flex:1;border:1.5px solid #e2e8f0;border-radius:14px;padding:12px 14px;font-size:14px;background:#f8fafc}
.chat-input input:focus{outline:none;border-color:#0EA5E9;background:#fff}
.chips-toggle{background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:12px;width:44px;height:46px;color:#64748b;flex-shrink:0}
.chips-toggle:hover{border-color:#0EA5E9;color:#0EA5E9;background:#eaf4fc}
.chat-input #chat-send{background:linear-gradient(135deg,#0EA5E9,#0b6fa8);color:#fff;border:none;border-radius:12px;width:46px;height:46px;font-size:17px}
.chat-input #chat-send:hover{filter:brightness(1.06)}

/* footer */
.chat-foot{font-size:10.5px;text-align:center;color:#94a3b8;padding:2px 12px 10px;background:#fff}

/* launcher + teaser */
.chat-fab{background:linear-gradient(135deg,#0EA5E9,#0b6fa8);box-shadow:0 16px 36px -10px rgba(14,165,233,.6)}
.chat-teaser b{color:var(--navy)}

/* ============================================================
   AI CHAT — faithful Kodee layout (overrides earlier chat CSS)
   ============================================================ */
.chat-panel{width:404px;height:calc(100vh - 100px);max-height:648px;border-radius:22px;border:1px solid #e6ebf2;box-shadow:0 34px 90px -26px rgba(2,20,56,.5);background:#fff;display:none;flex-direction:column;overflow:hidden}
.chat-panel.open{display:flex;animation:chatin .22s ease}

/* header: Chat/History pill tabs + tools */
.chat-head{background:#fff;border-bottom:1px solid #f0f3f8;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ch-tabs{display:inline-flex;background:#f1f5f9;border-radius:12px;padding:4px}
.ch-tab{border:none;background:transparent;font-family:var(--font-d);font-weight:600;font-size:13.5px;color:#64748b;padding:7px 16px;border-radius:9px;cursor:pointer}
.ch-tab.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px -3px rgba(2,20,56,.2)}
.chat-tools{display:flex;gap:6px}
.chat-tools button{background:#f1f5f9;border:none;color:#64748b;width:34px;height:34px;border-radius:10px;cursor:pointer;display:grid;place-items:center}
.chat-tools button:hover{background:#e2e8f0;color:var(--navy)}

/* body views */
.ch-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.ch-view[hidden]{display:none}
.chat-msgs{flex:1;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:11px;background:#fff}
.msg{max-width:86%;font-size:14px;line-height:1.55;border-radius:16px;padding:11px 14px;white-space:pre-wrap}
.msg.bot,.msg.typing{background:#f4f7fb;border:none;color:#1e293b;border-bottom-left-radius:5px;align-self:flex-start}
.msg.user{background:linear-gradient(135deg,#0ea5e9,#0b6fa8);border:none;color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg .m-time{display:block;font-size:10px;opacity:.5;margin-top:5px}

/* suggestions: sparkle label + rows with a left arrow */
.chat-quick{display:flex;flex-direction:column;gap:2px;padding:2px 12px 12px;background:#fff}
.chat-quick.hidden{display:none}
.chat-quick::before{content:"\2728  Suggestions";font:700 11.5px var(--font-d);color:#94a3b8;padding:4px 6px}
.chip-q{width:100%;text-align:left;border:none;background:transparent;border-radius:11px;padding:11px 12px;font-size:13.5px;font-weight:500;color:#334155;cursor:pointer;display:flex;align-items:center;gap:11px;font-family:var(--font-b)}
.chip-q::before{content:"\2197";color:#0ea5e9;font-weight:800;font-size:15px;flex-shrink:0}
.chip-q::after{content:none}
.chip-q:hover{background:#f1f7fd;color:var(--navy)}
.chip-q:nth-child(n+6){display:flex}

/* message action buttons -> soft chips */
.msg-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.msg-btn{border:1.5px solid #e2e8f0;background:#f6f9fc;color:#0b6fa8;border-radius:11px;padding:8px 13px;font-family:var(--font-b);font-weight:600;font-size:12.5px;cursor:pointer}
.msg-btn:hover{border-color:#0ea5e9;background:#eaf4fc;color:var(--navy)}
.msg-btn.dark{border:none;background:linear-gradient(135deg,#0ea5e9,#0b6fa8);color:#fff}
.msg-actions.used{opacity:.4;pointer-events:none}

/* history empty state */
.ch-history{align-items:center;justify-content:center}
.ch-empty{text-align:center;color:#94a3b8;padding:30px}
.ch-empty-ic{font-size:34px;margin-bottom:10px;opacity:.55}
.ch-empty b{display:block;font-family:var(--font-d);color:var(--navy);font-size:15px;margin-bottom:4px}
.ch-empty span{font-size:13px}

/* composer: big rounded box with + and send */
.chat-comp{padding:10px 14px 12px;background:#fff;border-top:1px solid #f0f3f8}
.ci-box{border:1.5px solid #e2e8f0;border-radius:18px;padding:12px 12px 8px;transition:border-color .15s,box-shadow .15s}
.ci-box:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.ci-box textarea{width:100%;border:none;outline:none;resize:none;font-family:var(--font-b);font-size:14px;color:var(--ink);background:transparent;max-height:96px;line-height:1.5}
.ci-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.chips-toggle{width:34px;height:34px;border-radius:50%;border:none;background:#f1f5f9;color:#64748b;cursor:pointer;display:grid;place-items:center}
.chips-toggle:hover{background:#e2e8f0;color:var(--navy)}
.ci-send{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(135deg,#0ea5e9,#0b6fa8);color:#fff;cursor:pointer;display:grid;place-items:center}
.ci-send:hover{filter:brightness(1.07)}
.chat-foot{font-size:10.5px;text-align:center;color:#a3aec0;padding:8px 10px 2px;background:#fff}

/* ================= EXPANDED CASE STUDIES ================= */
.case-top.c2{background:linear-gradient(135deg,#0b3d66,#0ea5e9)}
.case-top.c4{background:linear-gradient(135deg,#1a2450,#3b5bdb);color:#fff}
.case-top.c5{background:linear-gradient(135deg,#0a3f4a,#0891b2);color:#fff}
.case-top.c6{background:linear-gradient(135deg,#0b1c33,#0ea5e9);color:#fff}
.case-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 6px}
.case-tag{font-size:11px;font-weight:600;color:#0b6fa8;background:#eaf4fc;border:1px solid #cfe7fa;border-radius:99px;padding:4px 10px;font-family:var(--font-b)}
