/* Self-hosted Inter variable font (latin, latin-ext) — font-display:swap */
/* latin-ext */ @font-face {font-family: 'Inter'; font-style: normal; font-weight: 400 900; font-display: swap; src: url(../fonts/inter-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */ @font-face {font-family: 'Inter'; font-style: normal; font-weight: 400 900; font-display: swap; src: url(../fonts/inter-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* Layout: light-only brand theme (white / navy / orange), 1240px container, full-bleed photo bands using the supplied cutouts */
:root{
  --bg:#ffffff; --bg-soft:#f6f8fb; --fg:#0e1526; --muted:#5b6478; --line:#e6e9f0;
  --card:#ffffff; --shadow:0 10px 30px rgba(14,21,38,.06); --shadow-lg:0 30px 60px rgba(14,21,38,.14);
  --accent:#ff6a00; --accent-2:#ff8c2b; --accent-soft:#fff1e6;
  --navy:#0b1327; --navy-2:#121d3a; --on-navy:#ffffff; --on-navy-muted:#aeb7cb;
  --blue:#2f6bff; --green:#16b364; --purple:#8b5cf6; --pink:#ec4899; --amber:#f59e0b;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hand:"Caveat","Segoe Script","Bradley Hand",cursive;
  --r:18px; --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:only light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16.5px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;text-wrap:balance;letter-spacing:-.025em;line-height:1.1}
p{margin:0}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--accent)}
.center .eyebrow{justify-content:center}
.accent{color:var(--accent)}
.h2{font-size:clamp(30px,3.6vw,44px);font-weight:800;margin-top:16px}
.sub{color:var(--muted);margin-top:16px;font-size:17px;max-width:50ch;line-height:1.65}
.center{text-align:center}.center .sub{margin-inline:auto}
.section{padding-block:96px;position:relative}
@media (max-width:700px){.section{padding-block:64px}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:700;font-size:15.5px;border:1.5px solid transparent;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,background .3s,border-color .3s;will-change:transform}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 26px rgba(255,106,0,.35)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(255,106,0,.45);background:var(--accent-2)}
.btn-ghost{background:#fff;color:var(--fg);border-color:var(--line)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--fg);box-shadow:var(--shadow)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(11,19,39,.3)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.25)}
.play{width:26px;height:26px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;flex:none}
.play::after{content:"";border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}

/* ---------- NAV ---------- */
.progress{position:fixed;left:0;top:env(safe-area-inset-top,0px);height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),#ffb866);z-index:61}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.scrolled{border-color:var(--line);box-shadow:0 6px 30px rgba(14,21,38,.07)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.logo{color:var(--fg);display:inline-block;line-height:0}
.logo svg{height:46px;width:auto;display:block}
.menu{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.menu a{font-weight:600;font-size:15.5px;position:relative;padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2.5px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu a:hover::after,.menu a.active::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:14px}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:10px}
.burger span{display:block;height:2.5px;background:var(--fg);border-radius:2px;transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
@media (max-width:1020px){.menu{display:none}.burger{display:flex}.nav .cta-nav{display:none}}
.mobile-menu{position:fixed;inset:calc(78px + env(safe-area-inset-top,0px)) 0 0 0;background:#fff;z-index:49;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));display:none;flex-direction:column;gap:4px;overflow:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:22px;font-weight:700;padding:14px 6px;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:18px;align-self:flex-start}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:#fff}
.hero-img{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;display:block;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%);animation:heroIn 1.4s var(--ease) both}
@keyframes heroIn{from{opacity:0;transform:translateY(30px) scale(1.02)}to{opacity:1;transform:none}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0%,#fff 41%,rgba(255,255,255,.7) 46%,transparent 51%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#fff,transparent 10%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:28px 48px;position:relative;z-index:2;min-height:clamp(380px,26vw,470px)}
.hero-mobile{display:none}
.badge{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;box-shadow:var(--shadow)}
.badge i{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,106,0,.55)}100%{box-shadow:0 0 0 12px rgba(255,106,0,0)}}
.hero h1{font-size:clamp(34px,3.8vw,54px);font-weight:800;margin-top:16px}
.hero h1 .line{display:block}
.hero p.lead{font-size:clamp(15.5px,1.25vw,18px);color:var(--muted);max-width:50ch;margin-top:18px;line-height:1.6}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.hero-feats{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px}
.feat{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px;line-height:1.3}
.feat .ic{width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;flex:none}
.feat .ic svg{width:20px;height:20px}
.rise{animation:rise .9s var(--ease) both}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}.d5{animation-delay:.45s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.visual{position:relative}
.visual .hero-mobile{display:none}
@media (max-width:1020px){
  .hero-img,.hero::before,.hero::after{display:none}
  .hero-grid{grid-template-columns:1fr;gap:22px;padding-block:36px 44px;min-height:0}
  .visual{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
  .visual .hero-mobile{display:block;width:100%;height:auto;border-radius:18px;box-shadow:var(--shadow-lg);animation:rise .9s both .4s,floaty 7s ease-in-out infinite 1.3s}
  .visual .hero-mobile.benefits{width:150px;animation-delay:.6s,1.5s}
}
@media (max-width:560px){.visual{grid-template-columns:1fr}.visual .hero-mobile.benefits{width:58%;justify-self:end;margin-top:-40px;position:relative}}

/* ---------- TRUSTED ---------- */
.trusted{border-block:1px solid var(--line);background:#fff;overflow:hidden;position:relative}
.trusted .strip{display:block;width:100%;height:auto;min-width:900px}
.trusted::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.8) 50%,transparent 70%);transform:translateX(-120%);animation:shine 7s ease-in-out infinite 2s;pointer-events:none}
@keyframes shine{0%{transform:translateX(-120%)}40%,100%{transform:translateX(120%)}}
@media (max-width:1020px){.trusted{overflow-x:auto;-webkit-overflow-scrolling:touch}.trusted::after{display:none}}

/* ---------- SERVICES ---------- */
.split{display:grid;grid-template-columns:.9fr 1.6fr;gap:48px;align-items:center}
.services{background:linear-gradient(180deg,#fff,var(--bg-soft))}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.card{--c:var(--accent);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s,border-color .45s;box-shadow:var(--shadow);min-width:0}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(460px 240px at var(--mx,80%) var(--my,0%),color-mix(in srgb,var(--c) 16%,transparent),transparent 60%);opacity:0;transition:opacity .4s}
.card::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 30%,#fff));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:0 34px 70px color-mix(in srgb,var(--c) 18%,rgba(14,21,38,.1));border-color:color-mix(in srgb,var(--c) 40%,var(--line))}
.card:hover::before{opacity:1}
.card:hover::after{transform:scaleX(1)}
.card > *{position:relative}
.card-top{display:flex;justify-content:space-between;align-items:flex-start}
.card .ic{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;flex:none;transition:transform .45s var(--ease),box-shadow .45s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.card:hover .ic{transform:rotate(-6deg) scale(1.08);box-shadow:0 14px 28px color-mix(in srgb,var(--c) 30%,transparent)}
.card .ic svg{width:28px;height:28px}
.card .idx{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--line);transition:color .3s;font-variant-numeric:tabular-nums}
.card:hover .idx{color:var(--c)}
.card h3{font-size:19.5px;font-weight:800;letter-spacing:-.015em;margin-top:6px}
.card p{font-size:15px;color:var(--muted);line-height:1.6}
.card ul{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.card li{font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--bg-soft);color:var(--muted);transition:background .3s,color .3s}
.card:hover li{background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--fg)}
.card .more{margin-top:auto;padding-top:10px;font-weight:700;font-size:14.5px;color:var(--c);display:inline-flex;align-items:center;gap:8px}
.card .more .arr{transition:transform .3s var(--ease)}
.card:hover .more .arr{transform:translateX(6px)}
.bg-or{background:var(--accent-soft);color:var(--accent)}.bg-bl{background:#e8efff;color:var(--blue)}.bg-gr{background:#e4f8ee;color:var(--green)}.bg-pu{background:#efe9ff;color:var(--purple)}.bg-pk{background:#fde7f1;color:var(--pink)}.bg-am{background:#fff4dd;color:var(--amber)}
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1020px){.split{grid-template-columns:1fr;gap:32px}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}

/* ---------- RESULTS (globe + metric cards) ---------- */
.results{background:var(--navy);color:#fff;overflow:hidden}
.results .sub{color:var(--on-navy-muted)}
.results .glow{position:absolute;width:800px;height:800px;left:50%;top:-50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.22),transparent 60%);filter:blur(30px);pointer-events:none}
.res-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin-top:50px}
.globe-wrap{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.5);animation:floaty 8s ease-in-out infinite}
.globe-wrap img{display:block;width:100%;height:auto}
.globe-wrap::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);border-radius:24px}
.mcards{position:absolute;right:14px;bottom:14px;display:flex;gap:10px}
.mcards img{height:74px;width:auto;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.4);animation:floaty 6s ease-in-out infinite}
.mcards img:nth-child(2){animation-delay:-2s}.mcards img:nth-child(3){animation-delay:-4s}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:24px;backdrop-filter:blur(6px);transition:transform .35s var(--ease),border-color .35s,background .35s}
.stat:hover{transform:translateY(-5px);border-color:rgba(255,106,0,.5);background:rgba(255,106,0,.08)}
.stat b{display:block;font-size:clamp(32px,3vw,42px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1;color:#fff}
.stat > span{display:block;margin-top:10px;color:var(--on-navy-muted);font-weight:500;font-size:14.5px}
.stat .spark{margin-top:12px;height:30px;width:100%}
@media (max-width:1020px){.res-grid{grid-template-columns:1fr}}
@media (max-width:460px){.stats{grid-template-columns:1fr}.mcards img{height:56px}}

/* ---------- CASE STUDIES ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.case{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,var(--line),var(--line)) border-box;border:1px solid transparent;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s;display:flex;flex-direction:column}
.case:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#ff6a00,#ffb866) border-box}
.case .top{padding:22px 24px 0;display:flex;justify-content:space-between;align-items:center}
.tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.case .platform{font-size:12px;color:var(--muted);font-weight:600}
.case h3{font-size:20px;padding:14px 24px 0}
.case p{padding:10px 24px 0;color:var(--muted);font-size:15px}
.case .nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px 24px 24px;margin-top:auto}
.case .nums div{background:var(--bg-soft);border-radius:12px;padding:12px 10px}
.case .nums b{display:block;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.case .nums b.up{color:var(--green)}.case .nums b.dn{color:var(--accent)}
.case .nums small{color:var(--muted);font-size:11px;font-weight:600}
@media (max-width:1020px){.cases{grid-template-columns:1fr}}

/* ---------- PROCESS (dark band) ---------- */
.dark{background:var(--navy);color:var(--on-navy)}
.dark .sub{color:var(--on-navy-muted)}
.edge-band{position:relative;overflow:hidden}
.edge-band .wrap{position:relative;z-index:1}
.edge{position:absolute;top:0;height:100%;width:7.5%;object-fit:cover;pointer-events:none;opacity:.95}
.edge.l{left:0;-webkit-mask-image:linear-gradient(90deg,#000 30%,transparent);mask-image:linear-gradient(90deg,#000 30%,transparent)}
.edge.r{right:0;-webkit-mask-image:linear-gradient(270deg,#000 30%,transparent);mask-image:linear-gradient(270deg,#000 30%,transparent)}
.edge.wide{width:28%;-webkit-mask-image:linear-gradient(270deg,#000 20%,transparent 85%);mask-image:linear-gradient(270deg,#000 20%,transparent 85%)}
.dark .glow{position:absolute;width:700px;height:700px;right:-200px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.25),transparent 60%);filter:blur(30px);pointer-events:none;animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-40px,30px) scale(1.12)}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.steps::before{content:"";position:absolute;left:30px;right:30px;top:30px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 8px,transparent 8px 16px)}
.step{position:relative}
.step .num{display:flex;align-items:center;gap:14px}
.step .orb{width:60px;height:60px;border-radius:50%;background:var(--navy-2);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;position:relative;transition:transform .4s var(--ease),box-shadow .4s}
.step .orb::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(255,106,0,.5);opacity:0;transition:opacity .3s}
.step:hover .orb{transform:scale(1.1);box-shadow:0 0 0 8px rgba(255,106,0,.12),0 0 40px rgba(255,106,0,.35)}
.step:hover .orb::after{opacity:1}
.step .orb svg{width:24px;height:24px;color:var(--accent)}
.step .n{font-weight:700;color:var(--on-navy-muted);font-size:15px;background:var(--navy);padding:0 10px}
.step h3{font-size:21px;font-weight:700;margin-top:20px;display:flex;align-items:center;gap:14px}
.step h3 .arr{color:var(--on-navy-muted);transition:transform .3s}
.step:hover h3 .arr{transform:translateX(6px);color:var(--accent)}
.step p{color:var(--on-navy-muted);font-size:15px;margin-top:10px;max-width:26ch}
.video-card{display:block;margin:26px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4);position:relative;max-width:420px}
.video-card img{display:block;width:100%;height:auto;transition:transform .6s var(--ease)}
.video-card:hover img{transform:scale(1.05)}
@media (max-width:1020px){.steps{grid-template-columns:repeat(2,1fr)}.steps::before{display:none}.edge{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- INDUSTRIES ---------- */
.industries{background:var(--bg-soft);border-block:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:14.5px;box-shadow:var(--shadow);transition:transform .3s var(--ease),border-color .3s,color .3s}
.chip:hover{transform:translateY(-3px);border-color:var(--accent);color:var(--accent)}
.chip svg{width:18px;height:18px;color:var(--accent)}

/* ---------- WHY / ABOUT ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about-visual{position:relative}
.about-visual .main{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow-lg)}
.about-visual .campaign{position:absolute;left:-30px;bottom:-26px;width:150px;border-radius:16px;box-shadow:0 24px 50px rgba(14,21,38,.3);animation:floaty 6s ease-in-out infinite}
.about-visual .scrib{position:absolute;right:-20px;top:-30px;width:130px;border-radius:12px;animation:floaty 7s ease-in-out infinite -3s}
.why{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.why .item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.why .item .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.why .item svg{width:24px;height:24px}
.why h3{font-size:17.5px;font-weight:700}
.why p{color:var(--muted);font-size:14.5px;margin-top:5px}
.about-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center}
.counter-row{display:flex;gap:32px;flex-wrap:wrap;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.counter-row div b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.counter-row div > span{font-size:14px;color:var(--muted);font-weight:500}
@media (max-width:1020px){.about-grid{grid-template-columns:1fr}.about-visual{margin:20px 30px 30px}}
@media (max-width:520px){.why{grid-template-columns:1fr}.about-visual .campaign{left:-10px;width:110px}.about-visual .scrib{width:100px;right:-10px}}

/* ---------- TESTIMONIALS ---------- */
.testi{position:relative;overflow:hidden}
.tscroll{margin-top:48px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.ttrack,.ttrack .dup{display:flex;gap:18px}
.ttrack{width:max-content;animation:tscroll 60s linear infinite;will-change:transform}
.tscroll:hover .ttrack,.tscroll:focus-within .ttrack{animation-play-state:paused}
@keyframes tscroll{to{transform:translateX(calc(-50% - 9px))}}
.tcard{flex:0 0 360px;margin:0}
.tcard blockquote{margin:0}
@media (prefers-reduced-motion:reduce){.ttrack{animation:none;width:auto;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.ttrack .dup{display:none}.tcard{scroll-snap-align:start}.tscroll{-webkit-mask-image:none;mask-image:none;overflow:visible}}
@media (max-width:620px){.tcard{flex-basis:300px}}
.tcard{background:rgba(255,255,255,.06);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px;transition:transform .35s var(--ease),border-color .35s;position:relative}
.tcard::before{content:"\201C";position:absolute;right:22px;top:4px;font-size:80px;line-height:1;color:rgba(255,106,0,.35);font-family:Georgia,serif}
.tcard:hover{transform:translateY(-6px);border-color:rgba(255,106,0,.5)}
.stars{color:var(--amber);letter-spacing:2px;font-size:15px}
.tcard q{quotes:none;font-size:15.5px;line-height:1.65}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px;flex:none}
.tcard .who b{display:block;font-size:14.5px}
.tcard .who span{font-size:12.5px;color:var(--on-navy-muted)}
@media (max-width:1020px){}

/* ---------- CONTACT ---------- */
.contact{background:var(--bg-soft);border-top:1px solid var(--line)}
.contact .wrap{position:relative}
.contact .split{grid-template-columns:1fr 1.25fr}
.contact-info{display:grid;gap:14px;margin-top:28px}
.ci{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.ci .ic{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--accent)}
.ci .ic svg{width:18px;height:18px}
.ci b{display:block;font-size:13px;color:var(--muted);font-weight:600}
.ci .copy{margin-left:6px;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border:0;border-radius:6px;padding:3px 8px}
form.lead-form{background:#fff;border:1px solid transparent;border-radius:26px;padding:34px 30px 30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:1;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#ff6a00,#ffb866 40%,#2f6bff 100%) border-box;border:2px solid transparent;
  box-shadow:0 30px 70px rgba(255,106,0,.18),0 10px 30px rgba(14,21,38,.08);animation:formGlow 4s ease-in-out infinite}
@keyframes formGlow{0%,100%{box-shadow:0 30px 70px rgba(255,106,0,.16),0 10px 30px rgba(14,21,38,.08)}50%{box-shadow:0 34px 80px rgba(255,106,0,.3),0 10px 30px rgba(14,21,38,.08)}}
form.lead-form .form-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
form.lead-form .form-head h3{font-size:20px;font-weight:800}
form.lead-form .form-head p{color:var(--muted);font-size:14.5px;margin-top:4px}
form.lead-form .pill{flex:none;font-size:12px;font-weight:700;padding:7px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:inline-flex;gap:6px;align-items:center}
form.lead-form .pill i{width:8px;height:8px;border-radius:50%;background:var(--green);animation:ping 2s infinite}
.contact .wrap::before{content:"";position:absolute;right:-6%;top:-10%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.18),transparent 65%);filter:blur(30px);pointer-events:none;z-index:0}
.field{background:var(--bg-soft)}
.field{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;transition:border-color .25s,box-shadow .25s;min-width:0}
.field:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(255,106,0,.15)}
.field svg{width:18px;height:18px;color:var(--muted);flex:none}
.field input,.field textarea,.field select{border:0;background:transparent;color:var(--fg);font:inherit;font-size:15px;width:100%;min-width:0;padding:14px 0;outline:none}
.field textarea{resize:vertical;min-height:110px;padding-top:14px}
.field.ta{align-items:flex-start;grid-row:span 2}
.field.ta svg{margin-top:16px}
.field select{width:auto;flex:none;min-width:64px;padding-right:4px;font-weight:600}
.field .cc-flag{flex:none}
form .btn{grid-column:1/-1;justify-content:center;font-size:16px;padding:17px 28px}
.privacy{grid-column:1/-1;font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:center}
.privacy svg{width:14px;height:14px}
.toast{grid-column:1/-1;background:#e4f8ee;color:#0e6b3b;border-radius:12px;padding:14px 16px;font-weight:600;font-size:14px}
.form-error{grid-column:1/-1;background:#fdecef;color:#b3123a;border-radius:12px;padding:14px 16px;font-weight:600;font-size:14px}
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:1020px){.contact .split{grid-template-columns:1fr}}
@media (max-width:620px){form.lead-form{grid-template-columns:1fr}.field.ta{grid-row:auto}}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:40px auto 0;display:grid;gap:12px}
.qa{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.qa[open]{border-color:rgba(255,106,0,.45);box-shadow:var(--shadow)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;font-weight:700;font-size:16.5px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .plus{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none;transition:transform .35s var(--ease)}
.qa[open] summary .plus{transform:rotate(45deg)}
.qa .ans{padding:0 24px 20px;color:var(--muted);font-size:15px;line-height:1.7;animation:rise .4s both}

/* ---------- CTA BAND ---------- */
.cta-band{background:linear-gradient(135deg,#ff6a00,#ff9440);color:#fff;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:600px;height:600px;right:-200px;top:-300px;border-radius:50%;border:80px solid rgba(255,255,255,.08)}
.cta-band::after{content:"";position:absolute;width:400px;height:400px;left:-150px;bottom:-250px;border-radius:50%;border:60px solid rgba(255,255,255,.08)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;z-index:1}
.cta-band h2{font-size:clamp(26px,3vw,38px);font-weight:800}
.cta-band p{opacity:.9;margin-top:8px}

/* ---------- FOOTER ---------- */
footer{background:var(--navy);color:var(--on-navy-muted);padding-block:56px 28px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
footer .logo{color:#fff}
footer .logo svg{height:40px}
footer h3{color:#fff;margin:0 0 14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14.5px}
footer ul a{transition:color .2s}
footer ul a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;transition:background .3s,transform .3s}
.social a:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}
.social svg{width:16px;height:16px}
footer .copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media (max-width:860px){footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:460px){footer .wrap{grid-template-columns:1fr}}

/* ---------- reveal (visible by default; JS only adds motion) ---------- */
.js .rv:not(.in){opacity:0;transform:translateY(26px)}
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in[data-stagger] > *{animation:rise .8s var(--ease) both}
.rv.in[data-stagger] > *:nth-child(1){animation-delay:.05s}.rv.in[data-stagger] > *:nth-child(2){animation-delay:.15s}.rv.in[data-stagger] > *:nth-child(3){animation-delay:.25s}.rv.in[data-stagger] > *:nth-child(4){animation-delay:.35s}.rv.in[data-stagger] > *:nth-child(5){animation-delay:.45s}.rv.in[data-stagger] > *:nth-child(6){animation-delay:.55s}.rv.in[data-stagger] > *:nth-child(7){animation-delay:.65s}.rv.in[data-stagger] > *:nth-child(8){animation-delay:.75s}
.totop{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;border:0;box-shadow:0 12px 30px rgba(255,106,0,.4);display:grid;place-items:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .3s,transform .3s;z-index:40}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.wa{position:fixed;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:#25d366;color:#fff;font-weight:700;font-size:14px;box-shadow:0 12px 30px rgba(37,211,102,.4);z-index:40;transition:transform .3s var(--ease)}
.wa:hover{transform:translateY(-3px)}
.wa svg{width:26px;height:26px}
.cursor-glow{position:fixed;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.08),transparent 65%);pointer-events:none;transform:translate(-50%,-50%);left:-999px;top:-999px;z-index:0;transition:left .18s ease-out,top .18s ease-out}
@media (max-width:700px){.wa span{display:none}.wa{padding:10px}}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important}
  .js .rv:not(.in){opacity:1;transform:none}
  .cursor-glow{display:none}
}

/* ===== Anchor targets clear the sticky header ===== */
section[id],[id].section{scroll-margin-top:calc(78px + env(safe-area-inset-top,0px) + 10px)}

/* ===== Forced/auto dark mode opt-out (Chrome auto-dark, Samsung Internet dark mode) =====
   Samsung Internet applies its own "force dark" only when a site has no dark-scheme rules; declaring one
   that re-asserts the light palette keeps the page light there too. */
@media (prefers-color-scheme:dark){
  :root{color-scheme:only light;--bg:#ffffff;--bg-soft:#f6f8fb;--fg:#0e1526;--muted:#5b6478;--line:#e6e9f0;--card:#ffffff}
  html,body{background:#fff;color:var(--fg)}
}

/* ===== Mobile type scale & spacing ===== */
@media (max-width:620px){
  body{font-size:15.5px}
  .section{padding-block:64px}
  .h2{font-size:clamp(26px,7.4vw,32px);margin-top:12px}
  .sub{font-size:15.5px;margin-top:12px}
  .eyebrow{font-size:12px}
  .btn{padding:13px 22px;font-size:15px;gap:8px}
  .hero h1{font-size:clamp(31px,9vw,40px)}
  .hero p.lead{font-size:16px;margin-top:14px}
  .nav .wrap{height:68px}
  .logo svg{height:40px}
  .mobile-menu{inset:calc(68px + env(safe-area-inset-top,0px)) 0 0 0;padding-top:10px;gap:0}
  .mobile-menu a{font-size:17px;font-weight:600;padding:13px 4px}
  .mobile-menu .btn{margin-top:22px;align-self:stretch;justify-content:center;font-size:15.5px;padding:14px 20px}
  section[id],[id].section{scroll-margin-top:calc(68px + env(safe-area-inset-top,0px) + 10px)}
  .card{padding:22px;gap:10px;border-radius:20px}
  .card .ic{width:52px;height:52px;border-radius:14px}
  .card .ic svg{width:24px;height:24px}
  .card h3{font-size:18.5px}
  .stat{padding:18px}
  .chip{padding:10px 14px;font-size:13.5px}
  form.lead-form{padding:22px 16px 18px;gap:12px;border-radius:20px}
  form.lead-form .form-head{flex-wrap:wrap}
  form.lead-form .form-head h3{font-size:19px}
  form.lead-form .form-head p{font-size:14px}
  .field input,.field textarea,.field select{font-size:16px;padding:13px 0}
  form .btn{padding:15px 22px;font-size:15.5px}
  .cta-band h2{font-size:24px}
  .totop{width:44px;height:44px;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
