/* ============================================================
   EdgeCare.ai — Corporate site styles
   Brand: green #4A7C59 / blue #3B7DD8 · Inter · Apple-inspired
   ============================================================ */

:root{
  --green:#4A7C59; --green-light:#6BAF5B; --green-pale:#E8F5E3; --green-deep:#3A6248;
  --blue:#3B7DD8; --blue-light:#5BA0D9; --blue-pale:#E3F0FC; --blue-deep:#2A5DA8;
  --amber:#C77F2A; --red:#E53E3E; --purple:#805AD5;
  --ink:#15202B; --slate:#46566A; --muted:#7C8AA0; --faint:#A9B4C4;
  --bg:#FAFBFC; --bg-2:#F4F7F9; --white:#FFFFFF; --border:#E6EBF0; --border-soft:#EEF2F6;
  --night:#0E1622; --night-2:#16202E; --night-card:rgba(22,33,47,.7);
  --shadow-sm:0 1px 3px rgba(20,30,45,.06);
  --shadow-md:0 8px 24px rgba(20,30,45,.08);
  --shadow-lg:0 22px 54px rgba(20,30,45,.13);
  --shadow-xl:0 32px 80px rgba(20,30,45,.16);
  --r:14px; --r-sm:10px; --r-lg:22px; --r-xl:30px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:var(--green-pale);}

/* ---------- shared atoms ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;padding:7px 15px;border-radius:30px;}
.eyebrow.green{color:var(--green);background:var(--green-pale);}
.eyebrow.blue{color:var(--blue);background:var(--blue-pale);}
.eyebrow.light{color:#9ce0ad;background:rgba(107,175,91,.14);}
.eyebrow.dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}

.h-sec{font-size:clamp(32px,4vw,50px);font-weight:800;letter-spacing:-1.6px;line-height:1.08;color:var(--ink);}
.lede{font-size:19px;line-height:1.6;color:var(--slate);}
.section{padding:108px 0;position:relative;}
.section.tight{padding:84px 0;}
.section.alt{background:var(--bg);}
.center{text-align:center;}
.center .lede{max-width:660px;margin-left:auto;margin-right:auto;}

.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;border-radius:12px;cursor:pointer;border:none;transition:transform .18s,box-shadow .18s,background .18s;font-family:var(--font);}
.btn svg{width:17px;height:17px;transition:transform .2s;}
.btn:hover svg.arr{transform:translateX(3px);}
.btn-sm{padding:10px 18px;font-size:14px;}
.btn-md{padding:13px 24px;font-size:15px;}
.btn-lg{padding:16px 30px;font-size:16px;}
.btn-green{background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(74,124,89,.26);}
.btn-green:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 12px 30px rgba(74,124,89,.34);}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(59,125,216,.26);}
.btn-blue:hover{background:var(--blue-light);transform:translateY(-2px);box-shadow:0 12px 30px rgba(59,125,216,.34);}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--border);}
.btn-ghost:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px);}
.btn-dark{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16);}
.btn-dark:hover{background:rgba(255,255,255,.14);transform:translateY(-2px);}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--border-soft);box-shadow:0 1px 16px rgba(20,30,45,.05);}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 32px;height:78px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:55px;width:auto;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-links a.nl{padding:9px 15px;font-size:14.5px;font-weight:500;color:var(--slate);border-radius:9px;transition:.18s;}
.nav-links a.nl:hover{color:var(--ink);background:var(--bg-2);}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:8px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle svg{width:26px;height:26px;color:var(--ink);}

/* ---------- HERO (Direction A) ---------- */
.hero{position:relative;padding:150px 0 96px;overflow:hidden;background:radial-gradient(1200px 720px at 50% -160px,#e9f4ec 0%,#f4f9f5 36%,#ffffff 72%);}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:
   radial-gradient(560px 520px at 86% 18%,rgba(91,160,217,.10),transparent 70%),
   radial-gradient(520px 480px at 10% 86%,rgba(107,175,91,.13),transparent 70%);}
.hero-in{position:relative;z-index:3;max-width:1000px;margin:0 auto;padding:0 32px;text-align:center;}
.hero h1{font-size:clamp(40px,6vw,76px);line-height:1.03;letter-spacing:-2.6px;font-weight:800;color:var(--ink);margin-top:26px;}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--green),var(--green-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero .sub{font-size:21px;line-height:1.55;color:var(--slate);max-width:660px;margin:24px auto 0;}
.hero-cta{display:flex;gap:15px;justify-content:center;margin-top:38px;flex-wrap:wrap;}
.hero-spark{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:38px 80px;margin-top:50px;}
.hero-spark .sp b{display:block;font-size:51px;font-weight:800;letter-spacing:-1.5px;line-height:1;}
.hero-spark .sp b.g{color:var(--green);} .hero-spark .sp b.b{color:var(--blue);}
.hero-spark .sp span{font-size:20px;color:var(--muted);font-weight:500;margin-top:8px;display:block;}
/* floating status card */
.hero-card{position:absolute;right:max(40px,calc(50% - 660px));bottom:60px;width:296px;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:var(--shadow-lg);padding:20px;z-index:5;text-align:left;}
.hero-card .row{display:flex;align-items:center;gap:12px;}
.hc-ava{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#cfe6d3,#bcd8f0);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--green);font-size:16px;flex-shrink:0;}
.hc-dot{width:9px;height:9px;border-radius:50%;background:var(--green-light);box-shadow:0 0 0 4px rgba(107,175,91,.18);animation:pulseDot 2.2s infinite;}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 4px rgba(107,175,91,.18);}50%{box-shadow:0 0 0 9px rgba(107,175,91,.04);}}
.hc-metrics{display:flex;gap:8px;margin-top:15px;}
.hc-m{flex:1;background:#f6faf6;border-radius:11px;padding:10px 6px;text-align:center;}
.hc-m b{display:block;font-size:17px;color:var(--ink);font-weight:700;}
.hc-m span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}

/* ---------- logo cloud / trust strip ---------- */
.trust{padding:44px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
.trust-in{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;}
.trust .ti{display:flex;align-items:baseline;gap:11px;color:var(--slate);font-size:19px;font-weight:500;}
.trust .ti b{font-size:30px;font-weight:800;color:var(--ink);letter-spacing:-.6px;}
.trust .sep{width:1px;height:34px;background:var(--border);}

/* ---------- generic card grids ---------- */
.grid{display:grid;gap:22px;}
.g-2{grid-template-columns:repeat(2,1fr);}
.g-3{grid-template-columns:repeat(3,1fr);}
.g-4{grid-template-columns:repeat(4,1fr);}

/* problem cards */
.prob{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--border-strong,#D4DCE5);border-radius:var(--r);padding:24px 26px;transition:.25s;}
.prob:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#C4CEDA;}
.prob .prob-num{flex-shrink:0;font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--green);min-width:96px;}
.prob h3{font-size:17px;font-weight:700;margin-bottom:4px;}
.prob p{font-size:14px;color:var(--slate);line-height:1.5;}

/* feature cards (solution) */
.feat{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px;transition:.28s;position:relative;overflow:hidden;}
.feat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--green),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.feat:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.feat:hover::after{transform:scaleX(1);}
.feat .ico{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.feat .ico svg{width:25px;height:25px;}
.feat .ico.green{background:var(--green-pale);color:var(--green);}
.feat .ico.blue{background:var(--blue-pale);color:var(--blue);}
.feat .ico.red{background:#FDECEC;color:var(--red);}
.feat .ico.purple{background:#F1EAFB;color:var(--purple);}
.feat .ico.amber{background:#FBF1E4;color:var(--amber);}
.feat .ico.teal{background:#E3F6F2;color:#2C9E8B;}
.feat h3{font-size:18px;font-weight:700;margin-bottom:8px;}
.feat p{font-size:14.5px;color:var(--slate);line-height:1.6;}
.feat .more{margin-top:14px;font-size:13px;font-weight:600;color:var(--green);max-height:0;opacity:0;overflow:hidden;transition:.32s;}
.feat:hover .more{max-height:80px;opacity:1;}

/* ---------- HOW IT WORKS (Direction B — dark) ---------- */
.dark{background:var(--night);color:#fff;position:relative;overflow:hidden;}
.dark::before{content:"";position:absolute;inset:0;background:
   radial-gradient(760px 520px at 80% 4%,rgba(59,125,216,.16),transparent 64%),
   radial-gradient(640px 540px at 4% 98%,rgba(74,124,89,.20),transparent 60%);}
.dark::after{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;}
.dark .wrap{position:relative;z-index:3;}
.dark .h-sec{color:#fff;}
.dark .lede{color:#9fb0c4;}
.how-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;margin-top:24px;}
.how-points{display:grid;gap:14px;margin-top:30px;}
.how-pt{display:flex;gap:15px;align-items:flex-start;padding:18px;border-radius:var(--r);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.25s;}
.how-pt:hover{background:rgba(255,255,255,.06);border-color:rgba(107,175,91,.35);}
.how-pt .n{width:30px;height:30px;border-radius:9px;background:rgba(107,175,91,.16);color:var(--green-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;}
.how-pt h4{font-size:16px;font-weight:700;color:#fff;margin-bottom:3px;}
.how-pt p{font-size:14px;color:#9fb0c4;line-height:1.55;}
/* skeleton stage */
.skel-stage{position:relative;width:100%;height:560px;border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(30,44,64,.55),rgba(16,24,38,.4));border:1px solid rgba(120,150,190,.16);overflow:hidden;}
.skel-stage .gridf{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(120,160,210,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,210,.08) 1px,transparent 1px);background-size:36px 36px;}
.skel-svg{position:absolute;inset:0;width:100%;height:100%;}
.skel-walk{animation:walkBob 1.7s ease-in-out infinite;}
@keyframes walkBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.bone{stroke:url(#boneg);stroke-width:3.4;stroke-linecap:round;fill:none;}
.joint{fill:#6BAF5B;} .joint.b{fill:#5BA0D9;}
.legL{transform-origin:226px 300px;animation:swA 1.7s ease-in-out infinite;}
.legR{transform-origin:298px 300px;animation:swB 1.7s ease-in-out infinite;}
.armL{transform-origin:210px 232px;animation:swB 1.7s ease-in-out infinite;}
.armR{transform-origin:314px 232px;animation:swA 1.7s ease-in-out infinite;}
@keyframes swA{0%,100%{transform:rotate(11deg);}50%{transform:rotate(-11deg);}}
@keyframes swB{0%,100%{transform:rotate(-11deg);}50%{transform:rotate(11deg);}}
.scanline{animation:scan 3.2s linear infinite;}
@keyframes scan{0%{transform:translateY(60px);opacity:0;}12%{opacity:.6;}88%{opacity:.6;}100%{transform:translateY(500px);opacity:0;}}
.read{position:absolute;background:rgba(18,28,42,.86);backdrop-filter:blur(8px);border:1px solid rgba(120,150,190,.22);border-radius:12px;padding:10px 14px;min-width:122px;}
.read span{font-size:10.5px;color:#8295ab;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px;}
.read b{display:block;font-size:21px;color:#fff;font-weight:700;letter-spacing:-.5px;margin-top:3px;}
.read b i{font-style:normal;font-size:12px;color:#6BAF5B;font-weight:600;}
.read .bk{width:7px;height:7px;border-radius:50%;background:#6BAF5B;animation:bk 1.4s infinite;}
@keyframes bk{0%,100%{opacity:1;}50%{opacity:.25;}}
.r-1{right:18px;top:60px;} .r-2{left:18px;top:248px;} .r-3{right:30px;bottom:60px;}

/* ---------- PRIVACY (Direction C — sensor home) ---------- */
.priv-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;margin-top:24px;}
.priv-points{display:grid;gap:16px;margin-top:28px;}
.priv-pt{display:flex;gap:14px;align-items:flex-start;}
.priv-pt .ico{width:38px;height:38px;border-radius:10px;background:var(--green-pale);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.priv-pt .ico svg{width:19px;height:19px;}
.priv-pt h4{font-size:16px;font-weight:700;margin-bottom:2px;}
.priv-pt p{font-size:14.5px;color:var(--slate);line-height:1.55;}
.home-stage{position:relative;height:480px;border-radius:var(--r-lg);background:linear-gradient(160deg,#eef5f0 0%,#e7f0fa 100%);overflow:hidden;border:1px solid var(--border);}
.home-stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(74,124,89,.10) 1.4px,transparent 1.4px);background-size:26px 26px;}
.house{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:430px;height:380px;}
.node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;}
.node .ring{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 10px 26px rgba(31,45,61,.13);position:relative;}
.node .ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;opacity:.4;animation:ripple 2.6s ease-out infinite;}
@keyframes ripple{0%{transform:scale(.85);opacity:.5;}100%{transform:scale(1.55);opacity:0;}}
.node label{font-size:11.5px;font-weight:600;color:var(--ink);background:rgba(255,255,255,.82);padding:3px 9px;border-radius:7px;white-space:nowrap;}
.node.green{color:var(--green);} .node.blue{color:var(--blue);} .node.amber{color:var(--amber);}
.node svg{width:23px;height:23px;}
.priv-shield{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-radius:13px;padding:11px 18px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow-md);z-index:6;}
.priv-shield svg{width:21px;height:21px;color:var(--green);flex-shrink:0;}
.priv-shield b{display:block;font-size:13.5px;color:var(--ink);line-height:1.25;}
.priv-shield span{display:block;font-size:11.5px;color:var(--muted);}
.priv-bench{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;}
.bench{padding:18px;border-radius:var(--r);background:#fff;border:1px solid var(--border);}
.bench.us{background:linear-gradient(160deg,var(--green-pale),#fff);border-color:var(--green-light);}
.bench h5{font-size:14px;font-weight:700;margin-bottom:4px;}
.bench p{font-size:12.5px;color:var(--slate);}
.bench .chk{color:var(--green);font-weight:700;}

/* ---------- METRICS ---------- */
.metric-hi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px;max-width:920px;margin-left:auto;margin-right:auto;}
.mhi{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:18px;transition:.25s;cursor:default;position:relative;}
.mhi:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--green-light);}
.mhi .mh-ico{width:38px;height:38px;border-radius:10px;background:var(--bg-2);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.mhi .mh-ico svg{width:20px;height:20px;}
.mhi h4{font-size:14.5px;font-weight:700;line-height:1.2;margin-bottom:6px;}
.mhi .mh-val{font-size:22px;font-weight:800;letter-spacing:-.6px;color:var(--ink);}
.mhi .mh-val small{font-size:12px;font-weight:600;color:var(--muted);}
.mhi .mh-why{font-size:13.5px;color:var(--slate);line-height:1.5;margin-top:8px;}
.mhi .mh-bar{height:5px;border-radius:4px;background:var(--border-soft);margin-top:11px;overflow:hidden;}
.mhi .mh-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--green-light),var(--green));}

.demo-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:46px;}
.demo-card{position:relative;border-radius:var(--r-lg);padding:34px;overflow:hidden;border:1px solid var(--border);transition:.28s;}
.demo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.demo-card.consumer{background:linear-gradient(155deg,#f0f8f1,#fff);}
.demo-card.pro{background:linear-gradient(155deg,#0E1622,#1a2940);color:#fff;}
.demo-card .tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;}
.demo-card.consumer .tag{color:var(--green);}
.demo-card.pro .tag{color:var(--blue-light);}
.demo-card h3{font-size:24px;font-weight:800;letter-spacing:-.8px;margin:10px 0 8px;}
.demo-card p{font-size:14.5px;line-height:1.55;max-width:380px;}
.demo-card.consumer p{color:var(--slate);}
.demo-card.pro p{color:#9fb0c4;}
.demo-card .feats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px;}
.demo-card .ft{font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;}
.demo-card.consumer .ft{background:#fff;color:var(--green-deep);border:1px solid var(--green-pale);}
.demo-card.pro .ft{background:rgba(255,255,255,.08);color:#cdd9e8;border:1px solid rgba(255,255,255,.12);}

/* explorer */
.exp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;justify-content:center;}
.chip{font-size:13px;font-weight:600;padding:8px 16px;border-radius:30px;border:1px solid var(--border);background:#fff;color:var(--slate);cursor:pointer;transition:.18s;}
.chip:hover{border-color:var(--green-light);color:var(--green);}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;}
.cat{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px;cursor:pointer;transition:.22s;display:flex;flex-direction:column;}
.cat:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--green-light);}
.cat .cat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.cat .cat-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);background:var(--blue-pale);padding:3px 9px;border-radius:6px;}
.cat .cat-count{font-size:12px;font-weight:700;color:var(--muted);}
.cat h4{font-size:16.5px;font-weight:700;line-height:1.2;margin-bottom:8px;}
.cat .cat-blurb{font-size:13.5px;color:var(--slate);line-height:1.55;}
.cat .cat-metrics{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .3s;margin-top:0;}
.cat.open .cat-metrics{max-height:300px;opacity:1;margin-top:14px;}
.cat .cat-metrics .mtag{display:inline-block;font-size:11.5px;color:var(--slate);background:var(--bg-2);padding:4px 9px;border-radius:7px;margin:0 5px 5px 0;}
.cat .cat-toggle{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:5px;}
.cat .cat-toggle svg{width:14px;height:14px;transition:transform .3s;}
.cat.open .cat-toggle svg{transform:rotate(180deg);}

/* ---------- IMPACT ---------- */
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;max-width:920px;margin-left:auto;margin-right:auto;}
.impact{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:30px 24px;text-align:center;transition:.25s;}
.impact:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.impact .v{font-size:44px;font-weight:800;letter-spacing:-2px;line-height:1;background:linear-gradient(120deg,var(--green),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.impact .l{font-size:15px;font-weight:700;margin:10px 0 6px;}
.impact .d{font-size:13px;color:var(--slate);line-height:1.5;}

/* ---------- TEAM ---------- */
.team-lead{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;}
.team-lead.two-up{grid-template-columns:repeat(2,1fr);max-width:780px;margin-left:auto;margin-right:auto;}
.person{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:.26s;display:flex;flex-direction:column;}
.person:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.person .photo{aspect-ratio:1/1;background:linear-gradient(150deg,#e7f0e9,#dce9f6);position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.person .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.person .photo .ph-init{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:54px;font-weight:800;color:rgba(74,124,89,.30);letter-spacing:-1px;}
.person .photo .ph-tag{position:absolute;top:14px;left:14px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#fff;padding:4px 10px;border-radius:20px;background:rgba(21,32,43,.5);backdrop-filter:blur(6px);}
.person .photo svg.ph-silho{width:62%;height:auto;opacity:.4;}
.person .body{padding:22px;display:flex;flex-direction:column;flex:1;}
.person .nm{font-size:19px;font-weight:800;letter-spacing:-.4px;}
.person .ro{font-size:13.5px;font-weight:600;color:var(--green);margin-top:2px;}
.person .bio{font-size:13.5px;color:var(--slate);line-height:1.6;margin-top:12px;}
.person .bio-full{font-size:13.5px;color:var(--slate);line-height:1.6;margin-top:10px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .3s;}
.person.open .bio-full{max-height:520px;opacity:1;}
.person .person-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.person .exp{font-size:12.5px;font-weight:700;color:var(--green);cursor:pointer;display:inline-flex;align-items:center;gap:5px;align-self:flex-start;background:none;border:none;font-family:var(--font);padding:0;}
.person .exp svg{width:14px;height:14px;transition:transform .3s;}
.person.open .exp svg{transform:rotate(180deg);}
.person .li-link{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#0A66C2;transition:.18s;}
.person .li-link:hover{background:#08538f;transform:translateY(-1px);}
.person .li-link svg{width:16px;height:16px;}

.team-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;}
.adv{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--r);padding:20px;display:flex;gap:15px;align-items:flex-start;transition:.24s;}
.adv:hover{background:#fff;box-shadow:var(--shadow-sm);border-color:var(--border);}
.adv .av{width:54px;height:54px;border-radius:14px;background:linear-gradient(150deg,#e7f0e9,#dce9f6);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:rgba(74,124,89,.55);flex-shrink:0;}
.adv .adv-photo{width:64px;height:64px;border-radius:14px;overflow:hidden;flex-shrink:0;background:linear-gradient(150deg,#e7f0e9,#dce9f6);}
.adv .adv-photo image-slot{display:block;}
.adv .nm{font-size:15.5px;font-weight:700;}
.adv .ro{font-size:12px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.4px;margin-top:1px;}
.adv .bio{font-size:13px;color:var(--slate);line-height:1.55;margin-top:7px;}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;padding:104px 0;background:linear-gradient(135deg,var(--green) 0%,#356046 48%,var(--blue) 100%);color:#fff;text-align:center;}
.cta::before{content:"";position:absolute;top:-50%;left:-30%;width:160%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.10),transparent 50%);pointer-events:none;}
.cta-in{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:0 32px;}
.cta h2{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-1.4px;line-height:1.1;}
.cta p{font-size:19px;opacity:.92;margin:18px auto 34px;max-width:560px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta .btn-white{background:#fff;color:var(--green-deep);}
.cta .btn-white:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.22);}
.cta .btn-outline{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);}
.cta .btn-outline:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);}

/* ---------- FOOTER ---------- */
.footer{background:var(--night);color:#9fb0c4;padding:64px 0 36px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer .brand img{height:42px;}
.footer-blurb{font-size:14px;line-height:1.6;color:#8295ab;margin-top:16px;max-width:280px;}
.footer h6{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;margin-bottom:14px;}
.footer ul{list-style:none;display:grid;gap:9px;}
.footer ul a{font-size:14px;color:#9fb0c4;transition:.18s;}
.footer ul a:hover{color:#fff;}
.footer-bot{display:flex;align-items:center;justify-content:space-between;margin-top:46px;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#7d8da0;flex-wrap:wrap;gap:12px;}
.footer-bot a{color:#9fb0c4;}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s;}
.stagger.in>*{opacity:1;transform:none;}
.stagger.in>*:nth-child(1){transition-delay:.04s;}
.stagger.in>*:nth-child(2){transition-delay:.10s;}
.stagger.in>*:nth-child(3){transition-delay:.16s;}
.stagger.in>*:nth-child(4){transition-delay:.22s;}
.stagger.in>*:nth-child(5){transition-delay:.28s;}
.stagger.in>*:nth-child(6){transition-delay:.34s;}

@media (prefers-reduced-motion:reduce){
  .reveal,.stagger>*{opacity:1!important;transform:none!important;}
  .skel-walk,.legL,.legR,.armL,.armR,.scanline,.hero-card .hc-dot,.node .ring::after,.read .bk{animation:none!important;}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .metric-hi{grid-template-columns:repeat(3,1fr);}
  .how-grid,.priv-grid{grid-template-columns:1fr;gap:40px;}
  .skel-stage{height:480px;}
  .priv-bench{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .hero-card{display:none;}
}
@media (max-width:880px){
  .nav-links,.nav-cta .btn-ghost{display:none;}
  .nav-toggle{display:block;}
  .nav.open .nav-links{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--border);padding:14px;gap:4px;box-shadow:var(--shadow-md);}
  .g-3,.g-4,.exp-grid,.team-lead,.impact-grid,.team-adv{grid-template-columns:1fr 1fr;}
  .team-lead.two-up{grid-template-columns:1fr 1fr;max-width:560px;}
  .demo-split,.g-2{grid-template-columns:1fr;}
  .metric-hi{grid-template-columns:repeat(2,1fr);}
  .section{padding:72px 0;}
}
@media (max-width:560px){
  .wrap,.nav-in,.hero-in{padding-left:20px;padding-right:20px;}
  .g-3,.g-4,.exp-grid,.team-lead,.impact-grid,.team-adv,.metric-hi,.priv-bench{grid-template-columns:1fr;}
  .team-lead.two-up{grid-template-columns:1fr;}
  .hero-spark{gap:26px 40px;}
  .prob{flex-direction:row;text-align:left;}
  .prob .prob-num{min-width:80px;}
}
