/* Classic Campus — shared styles (marketing site)
   Derived from your main page so all pages look uniform. */

:root{
  --bg:#070a14;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.10);
  --line:rgba(255,255,255,.12);
  --text:#eef2ff;
  --muted:rgba(238,242,255,.72);
  --muted2:rgba(238,242,255,.55);
  --shadow:0 30px 90px rgba(0,0,0,.55);
  --r:22px;

  --primary:#0b6fb5;
  --primary2:#1aa3ff;
  --blue3:#2b7fff;
  --blue4:#7dd3fc;
  --accent:#22c55e;
  --warn:#f59e0b;

  --wrap:1180px;
  --ease:cubic-bezier(.2,.9,.2,1);
  --ring:0 0 0 4px rgba(26,163,255,.14);

  --grid:linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
         linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  --gridSize:64px;

  --scroll-pad:86px;

  --heroGlowA:rgba(26,163,255,.20);
  --heroGlowB:rgba(43,127,255,.10);
  --heroGlowC:rgba(11,111,181,.10);

  --animUp:10px;
  --animDur:.55s;
}

html[data-theme="light"]{
  --bg:#f6f7fb;
  --panel:rgba(255,255,255,.70);
  --panel2:rgba(255,255,255,.92);
  --line:rgba(15,23,42,.10);
  --text:#0f172a;
  --muted:rgba(15,23,42,.68);
  --muted2:rgba(15,23,42,.55);
  --shadow:0 24px 70px rgba(15,23,42,.12);

  --grid:linear-gradient(to right, rgba(15,23,42,.045) 1px, transparent 1px),
         linear-gradient(to bottom, rgba(15,23,42,.045) 1px, transparent 1px);

  --heroGlowA:rgba(11,111,181,.09);
  --heroGlowB:rgba(43,127,255,.055);
  --heroGlowC:rgba(26,163,255,.045);
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-pad)}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding-top:var(--scroll-pad);
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--panel2);border:1px solid var(--line);padding:10px 12px;border-radius:12px;z-index:9999}
.skip:focus{left:12px;outline:none;box-shadow:var(--ring)}

.bgfx{
  position:fixed;inset:0;pointer-events:none;z-index:-2;
  background:
    radial-gradient(1050px 620px at 10% 8%, rgba(26,163,255,.12), transparent 64%),
    radial-gradient(920px 560px at 92% 18%, rgba(43,127,255,.06), transparent 62%),
    radial-gradient(980px 760px at 55% 110%, rgba(11,111,181,.06), transparent 60%),
    var(--grid);
  background-size:auto,auto,auto,var(--gridSize) var(--gridSize);
  transform:translateZ(0);
}
html[data-theme="light"] .bgfx{
  background:
    radial-gradient(1050px 620px at 10% 8%, rgba(11,111,181,.055), transparent 66%),
    radial-gradient(920px 560px at 92% 18%, rgba(43,127,255,.038), transparent 64%),
    radial-gradient(980px 760px at 55% 110%, rgba(26,163,255,.032), transparent 62%),
    var(--grid);
  background-size:auto,auto,auto,var(--gridSize) var(--gridSize);
}
.noise{
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  background-size:260px 260px;
}

/* reveal */
.reveal{opacity:0;transform:translateY(var(--animUp));transition:opacity var(--animDur) var(--ease),transform var(--animDur) var(--ease);will-change:opacity,transform}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal[data-delay="1"]{transition-delay:.06s}
.reveal[data-delay="2"]{transition-delay:.12s}
.reveal[data-delay="3"]{transition-delay:.18s}
.reveal[data-delay="4"]{transition-delay:.24s}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 14px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  color:var(--text);font-weight:950;font-size:13px;letter-spacing:.15px;
  box-shadow:0 18px 55px rgba(0,0,0,.10);
  transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease);
  cursor:pointer;user-select:none;white-space:nowrap;position:relative;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 22px 65px rgba(0,0,0,.14)}
.btn:active{transform:translateY(0px) scale(.99)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn.primary{
  border-color:rgba(26,163,255,.24);
  background:linear-gradient(180deg,rgba(26,163,255,.18),rgba(11,111,181,.10));
  box-shadow:0 22px 85px rgba(11,111,181,.12);
  overflow:hidden;
}
.btn.primary::after{
  content:"";position:absolute;inset:-40%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.20), transparent 60%);
  transform:translateX(-25%) translateY(10%) rotate(12deg);
  opacity:.45;pointer-events:none;
}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}
.btn.ghost:hover{color:var(--text);background:rgba(255,255,255,.06)}
html[data-theme="light"] .btn.ghost:hover{background:rgba(15,23,42,.05)}
.icon{width:18px;height:18px;display:inline-block}

/* pills */
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border-radius:999px;color:var(--muted);font-weight:800;font-size:13px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.dot{width:10px;height:10px;border-radius:99px;background:radial-gradient(circle at 30% 30%, var(--primary2), rgba(26,163,255,.20));
  box-shadow:0 0 0 3px rgba(26,163,255,.10);
}

/* header/nav */
header{position:fixed;top:0;left:0;right:0;z-index:80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);background:rgba(7,10,20,.52);}
html[data-theme="light"] header{background:rgba(246,247,251,.82);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.logo{
  width:38px;height:38px;border-radius:14px;
  background:radial-gradient(circle at 30% 20%, rgba(26,163,255,.78), rgba(11,111,181,.62) 55%, rgba(11,18,32,.45));
  box-shadow:0 14px 40px rgba(11,111,181,.14);
  border:1px solid rgba(255,255,255,.16);
  position:relative;overflow:hidden;flex:0 0 auto;
}
html[data-theme="light"] .logo{border-color:rgba(15,23,42,.10)}
.logo:after{content:"";position:absolute;inset:-40%;background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
  transform:rotate(20deg) translateX(-30%);animation:sheen 7.5s var(--ease) infinite;opacity:.6;}
@keyframes sheen{0%,66%{transform:rotate(20deg) translateX(-35%);opacity:.0}74%{opacity:.5}100%{transform:rotate(20deg) translateX(35%);opacity:.0}}
.brandText b{font-size:15px;letter-spacing:.1px;display:block}
.brandText small{display:block;color:var(--muted);font-weight:800;margin-top:2px}

.navlinks{display:flex;align-items:center;gap:4px;padding:6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04)}
html[data-theme="light"] .navlinks{background:rgba(15,23,42,.03)}
.navlinks a{
  padding:9px 12px;border-radius:999px;color:var(--muted);font-weight:900;font-size:13px;
  transition:background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease);
}
.navlinks a:hover{background:rgba(26,163,255,.08);color:var(--text);transform:translateY(-1px)}
.navlinks a.active{background:rgba(26,163,255,.12);color:var(--text);border:1px solid rgba(26,163,255,.18)}

.navcta{display:flex;align-items:center;gap:10px;justify-content:flex-end}

/* hamburger */
.hambtn{display:none;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);
  align-items:center;justify-content:center;cursor:pointer;transition:transform .15s var(--ease),background .15s var(--ease)}
html[data-theme="light"] .hambtn{background:rgba(15,23,42,.03)}
.hambtn:hover{transform:translateY(-1px);background:rgba(26,163,255,.07)}
.hambtn:focus-visible{outline:none;box-shadow:var(--ring)}
.ham{width:18px;height:14px;position:relative}
.ham span{position:absolute;left:0;right:0;height:2px;border-radius:10px;background:currentColor;opacity:.92;
  transition:transform .18s var(--ease),top .18s var(--ease),opacity .18s var(--ease)}
.ham span:nth-child(1){top:0}
.ham span:nth-child(2){top:6px}
.ham span:nth-child(3){top:12px}
.hambtn[aria-expanded="true"] .ham span:nth-child(1){top:6px;transform:rotate(45deg)}
.hambtn[aria-expanded="true"] .ham span:nth-child(2){opacity:0}
.hambtn[aria-expanded="true"] .ham span:nth-child(3){top:6px;transform:rotate(-45deg)}

/* mobile sheet */
.mobileSheet{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:120;padding:16px;overflow:auto;-webkit-overflow-scrolling:touch;}
.mobileSheet.open{display:block}
.sheet{max-width:560px;margin:8px auto 0;border-radius:22px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:var(--shadow);padding:14px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:pop .18s var(--ease) both;max-height:calc(100vh - 32px);overflow:auto;}
@keyframes pop{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.sheetHead{display:flex;align-items:center;justify-content:space-between;padding:6px}
.sheetNav{display:grid;gap:8px;padding:10px 6px}
.sheetNav a{padding:12px 12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);font-weight:950}
html[data-theme="light"] .sheetNav a{background:rgba(15,23,42,.04)}
.sheetCtas{display:grid;gap:10px;padding:0 6px 6px}

/* hero */
.hero{padding:18px 0 18px}
.heroWrap{
  position:relative;border-radius:30px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  box-shadow:var(--shadow);overflow:hidden;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateZ(0);
}
.heroAura{position:absolute;inset:-140px;pointer-events:none;filter:blur(28px);opacity:.62;animation:auraPulse 12s ease-in-out infinite}
@keyframes auraPulse{0%,100%{opacity:.58;transform:scale(1)}50%{opacity:.70;transform:scale(1.015)}}
.heroAura::before,.heroAura::after{content:"";position:absolute;width:560px;height:560px;border-radius:999px;background:radial-gradient(circle at 30% 30%, var(--heroGlowA), transparent 62%)}
.heroAura::before{left:6%;top:10%}
.heroAura::after{width:680px;height:680px;right:0;top:0;background:radial-gradient(circle at 30% 30%, var(--heroGlowB), transparent 62%)}
.heroAura i{position:absolute;left:28%;bottom:-120px;width:820px;height:820px;border-radius:999px;background:radial-gradient(circle at 30% 30%, var(--heroGlowC), transparent 60%);opacity:.65}

.heroBackdrop{
  position:absolute;inset:-2px;
  background:
    radial-gradient(1100px 700px at 12% 18%, rgba(26,163,255,.06), transparent 60%),
    radial-gradient(900px 600px at 80% 20%, rgba(43,127,255,.045), transparent 62%),
    radial-gradient(900px 700px at 55% 115%, rgba(11,111,181,.045), transparent 62%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);
  pointer-events:none;animation:sweep 12s var(--ease) infinite;
  background-size:auto,auto,auto,200% 100%;
  background-position:center,center,center,-120% 0;
  opacity:.85;
}
@keyframes sweep{0%,74%{background-position:center,center,center,-120% 0;opacity:.70}100%{background-position:center,center,center,120% 0;opacity:.70}}

.heroGrid{position:relative;z-index:2;padding:22px;display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:stretch}
.heroLeft{padding:10px 8px 6px}
.kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.kTag{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);color:var(--muted);font-weight:950;font-size:12px;letter-spacing:.12px;
  transition:transform .15s var(--ease),background .15s var(--ease)}
html[data-theme="light"] .kTag{background:rgba(15,23,42,.04)}
.kTag:hover{transform:translateY(-1px);background:rgba(26,163,255,.07)}
.kTag i{width:8px;height:8px;border-radius:99px;background:radial-gradient(circle at 30% 30%, var(--blue4), var(--primary2));box-shadow:0 0 0 3px rgba(26,163,255,.10)}
h1{margin:14px 0 10px;font-size:clamp(30px,4.6vw,48px);line-height:1.05;letter-spacing:0.02em}
.gradText{background:linear-gradient(90deg, var(--text), rgba(255,255,255,.95) 35%, rgba(125,211,252,.86));
  -webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="light"] .gradText{background:linear-gradient(90deg,#0f172a,#0b6fb5 38%,#2b7fff);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin:0;color:var(--muted);font-size:15px;line-height:1.7;max-width:62ch;font-weight:650}
.heroCtas{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
.trustRow{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted2);font-weight:850;font-size:12px;align-items:center}
.trustRow span{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);transition:transform .15s var(--ease),background .15s var(--ease)}
html[data-theme="light"] .trustRow span{background:rgba(15,23,42,.04)}
.trustRow span:hover{transform:translateY(-1px);background:rgba(26,163,255,.06)}
.check{width:18px;height:18px;border-radius:8px;border:1px solid rgba(26,163,255,.20);background:rgba(26,163,255,.07);
  display:grid;place-items:center;flex:0 0 auto;margin-top:1px}

/* right mock */
.heroRight{position:relative;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.06);
  overflow:hidden;min-height:460px;box-shadow:0 18px 70px rgba(0,0,0,.10);transform:translateZ(0)}
html[data-theme="light"] .heroRight{background:rgba(255,255,255,.65)}
.heroRight::before{content:"";position:absolute;inset:-2px;background:
  radial-gradient(700px 420px at 30% 20%, rgba(26,163,255,.10), transparent 62%),
  radial-gradient(600px 420px at 80% 70%, rgba(43,127,255,.06), transparent 64%);
  pointer-events:none;opacity:.9}
.mockTop{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2;overflow:hidden}
html[data-theme="light"] .mockTop{background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75))}
.mockTop::after{content:"";position:absolute;inset:-80%;background:radial-gradient(circle at 30% 30%, rgba(26,163,255,.10), transparent 60%);
  transform:rotate(10deg);opacity:.65;pointer-events:none}
.mockTitle{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;max-width:58%;position:relative;z-index:2}
.mockTitle b{font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mockTitle small{font-size:12px;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){
  .mockTitle{max-width:52%}
  .mockTitle b{font-size:12.5px}
  .mockTitle small{font-size:11.5px}
  .brandText{display:none}
}
.seg{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:2}
.chip{font-size:12px;font-weight:950;color:var(--muted);border:1px solid var(--line);background:rgba(255,255,255,.06);
  padding:8px 10px;border-radius:999px;cursor:pointer;user-select:none;
  transition:transform .12s var(--ease),background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}
html[data-theme="light"] .chip{background:rgba(15,23,42,.04)}
.chip.active{color:var(--text);background:rgba(26,163,255,.10);border-color:rgba(26,163,255,.20);box-shadow:0 14px 40px rgba(11,111,181,.06)}
.chip:hover{transform:translateY(-1px)}
.mockBody{position:absolute;inset:76px 14px 14px 14px;display:grid;grid-template-rows:auto 1fr;gap:12px;z-index:1}
.miniStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{border:1px solid var(--line);border-radius:18px;padding:12px;background:rgba(255,255,255,.06);position:relative;overflow:hidden;
  transform:translateZ(0);transition:transform .15s var(--ease),background .15s var(--ease)}
html[data-theme="light"] .stat{background:rgba(15,23,42,.04)}
.stat:hover{transform:translateY(-1px);background:rgba(26,163,255,.05)}
.stat::before{content:"";position:absolute;inset:-60%;background:radial-gradient(circle at 30% 30%, rgba(26,163,255,.10), transparent 60%);
  transform:rotate(12deg);opacity:.45}
.stat b{display:block;position:relative;z-index:2;font-size:15px;letter-spacing:-.01em}
.stat small{display:block;position:relative;z-index:2;margin-top:3px;color:var(--muted);font-weight:800;font-size:12px}
.cardsArea{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.miniCard{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:20px;padding:12px;position:relative;overflow:hidden;
  transform:translateZ(0);transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);will-change:transform,opacity}
html[data-theme="light"] .miniCard{background:rgba(15,23,42,.04)}
.miniCard:hover{transform:translateY(-1px);background:rgba(26,163,255,.05);box-shadow:0 16px 50px rgba(0,0,0,.08)}
.miniCard::before{content:"";position:absolute;inset:-55%;background:radial-gradient(circle at 30% 30%, rgba(43,127,255,.08), transparent 62%);
  transform:rotate(14deg);opacity:.4}
.miniCard h3{margin:0 0 6px;font-size:13px;letter-spacing:-.01em;position:relative;z-index:2}
.miniCard p{margin:0;color:var(--muted);font-weight:700;font-size:12.5px;line-height:1.6;position:relative;z-index:2}
.miniBadges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;position:relative;z-index:2}
.badge{font-size:11px;font-weight:950;color:var(--text);border:1px solid var(--line);background:rgba(255,255,255,.06);
  padding:7px 9px;border-radius:999px;letter-spacing:.12px;transition:transform .15s var(--ease),background .15s var(--ease)}
html[data-theme="light"] .badge{background:rgba(15,23,42,.04)}
.badge:hover{transform:translateY(-1px);background:rgba(26,163,255,.07)}
.badge.blue{border-color:rgba(26,163,255,.22);background:rgba(26,163,255,.08)}
.badge.ok{border-color:rgba(34,197,94,.18);background:rgba(34,197,94,.07)}
.badge.warn{border-color:rgba(245,158,11,.20);background:rgba(245,158,11,.07)}

/* sections/cards */
section{padding:10px 0}
.sectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:26px 0 14px}
.sectionHead h2{margin:0;font-size:22px;letter-spacing:-.02em}
.sectionHead p{margin:0;color:var(--muted);font-weight:650;max-width:62ch;line-height:1.7;font-size:14px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card{border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel));
  box-shadow:0 18px 60px rgba(0,0,0,.10);padding:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);will-change:transform}
.card:hover{transform:translateY(-2px);box-shadow:0 22px 80px rgba(0,0,0,.10);background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05))}
html[data-theme="light"] .card:hover{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.78))}
.card h3{margin:0 0 8px;font-size:15px;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);font-weight:650;line-height:1.65;font-size:13px}

.cardIcon{width:38px;height:38px;border-radius:16px;border:1px solid rgba(255,255,255,.16);
  background:radial-gradient(circle at 30% 20%, rgba(26,163,255,.22), rgba(11,111,181,.10));
  display:grid;place-items:center;margin-bottom:10px;box-shadow:0 16px 50px rgba(11,111,181,.10)}
html[data-theme="light"] .cardIcon{border-color:rgba(15,23,42,.10)}

.modules{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.moduleCard{border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.06);padding:14px;
  transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);will-change:transform}
html[data-theme="light"] .moduleCard{background:rgba(15,23,42,.04)}
.moduleCard:hover{transform:translateY(-1px);background:rgba(26,163,255,.045);box-shadow:0 16px 50px rgba(0,0,0,.06)}
.moduleHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.moduleHead b{font-size:14px;letter-spacing:-.01em}
.miniTag{font-size:11px;font-weight:950;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 8px;background:rgba(255,255,255,.06)}
html[data-theme="light"] .miniTag{background:rgba(15,23,42,.04)}
.moduleList{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}
.moduleList li{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-weight:750;font-size:13px;line-height:1.5}

.ctaBand{margin:26px 0 14px;border-radius:calc(var(--r) + 6px);border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(26,163,255,.07), rgba(255,255,255,.05));
  box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative}
.ctaBand::before{content:"";position:absolute;inset:-60%;background:radial-gradient(circle at 30% 30%, rgba(26,163,255,.10), transparent 62%);
  transform:rotate(12deg);opacity:.55;pointer-events:none}
html[data-theme="light"] .ctaBand{background:linear-gradient(180deg, rgba(11,111,181,.05), rgba(255,255,255,.70))}
.ctaBand .inner{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;position:relative;z-index:2}
.ctaBand h3{margin:0;font-size:18px;letter-spacing:-.02em}
.ctaBand p{margin:4px 0 0;color:var(--muted);font-weight:650;line-height:1.6;max-width:70ch;font-size:13px}

/* footer */
footer{margin-top:26px;border-top:1px solid var(--line);background:rgba(255,255,255,.04);position:relative;overflow:hidden}
html[data-theme="light"] footer{background:rgba(15,23,42,.02)}
.footerGlow{position:absolute;inset:-2px;background:
  radial-gradient(900px 520px at 15% 0%, rgba(26,163,255,.10), transparent 62%),
  radial-gradient(760px 520px at 85% 10%, rgba(43,127,255,.07), transparent 62%),
  linear-gradient(180deg, rgba(255,255,255,.02), transparent 60%);
  pointer-events:none;opacity:.9}
html[data-theme="light"] .footerGlow{background:
  radial-gradient(900px 520px at 15% 0%, rgba(11,111,181,.06), transparent 64%),
  radial-gradient(760px 520px at 85% 10%, rgba(43,127,255,.05), transparent 64%),
  linear-gradient(180deg, rgba(255,255,255,.06), transparent 60%)}
.footTop{padding:18px 0 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;position:relative;z-index:2}
.footBrand{display:flex;align-items:flex-start;gap:12px;max-width:520px}
.footBrand .logo{width:42px;height:42px;border-radius:16px}
.footBrand h4{margin:0 0 6px;font-size:14px;letter-spacing:.02em}
.footBrand p{margin:0;color:var(--muted);font-weight:750;font-size:13px;line-height:1.65}
.footCtas{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto}
.footGrid{padding:12px 0 18px;display:grid;grid-template-columns:1.2fr .8fr .8fr .9fr;gap:12px;position:relative;z-index:2}
.footCol{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.05);padding:14px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .18s var(--ease),background .18s var(--ease)}
html[data-theme="light"] .footCol{background:rgba(15,23,42,.03)}
.footCol:hover{transform:translateY(-1px);background:rgba(26,163,255,.045)}
.footCol h5{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.footCol a,.footCol p{color:var(--muted);font-weight:800;font-size:13px;line-height:2.0;margin:0;display:inline-flex;align-items:center;gap:8px}
.footCol a:hover{color:var(--text)}
.linkDot{width:8px;height:8px;border-radius:99px;background:radial-gradient(circle at 30% 30%, var(--primary2), rgba(26,163,255,.16));
  box-shadow:0 0 0 3px rgba(26,163,255,.10);flex:0 0 auto}
.social{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.social a{width:40px;height:40px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);
  display:grid;place-items:center;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease);
  position:relative;overflow:hidden}
html[data-theme="light"] .social a{background:rgba(15,23,42,.04)}
.social a::after{content:"";position:absolute;inset:-60%;background:radial-gradient(circle at 30% 30%, rgba(26,163,255,.14), transparent 62%);
  transform:rotate(10deg);opacity:.0;transition:opacity .15s var(--ease);pointer-events:none}
.social a:hover{transform:translateY(-1px);background:rgba(26,163,255,.09);box-shadow:0 18px 60px rgba(0,0,0,.10)}
.social a:hover::after{opacity:.65}
.footBottom{padding:12px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted2);
  font-weight:800;font-size:12px;position:relative;z-index:2}
.footBottom .legal{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.footBottom .legal a{color:var(--muted2)}
.footBottom .legal a:hover{color:var(--text)}

/* generic content helpers */
.prose{color:var(--muted);font-weight:650;line-height:1.75;font-size:14px;max-width:80ch}
.kpiRow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.06)}
html[data-theme="light"] .kpi{background:rgba(15,23,42,.04)}
.kpi b{display:block;font-size:18px;letter-spacing:-.01em}
.kpi small{display:block;margin-top:4px;color:var(--muted);font-weight:800}

/* responsive */
@media (max-width:980px){
  .heroGrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .modules{grid-template-columns:1fr}
  .miniStats{grid-template-columns:1fr}
  .cardsArea{grid-template-columns:1fr}
  .heroRight{min-height:560px}
  .navlinks{display:none}
  .hambtn{display:flex}
  .footGrid{grid-template-columns:1fr 1fr}
  .footCtas{width:100%;justify-content:flex-start;margin-left:0}
  .kpiRow{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--scroll-pad:82px;--animUp:8px}
  body{padding-top:var(--scroll-pad)}
  .wrap{padding:0 14px}
  .moduleList{grid-template-columns:1fr}
  .brand{min-width:0}
  .heroGrid{padding:14px}
  .heroWrap{border-radius:24px}
  .footGrid{grid-template-columns:1fr}
  .footTop{gap:12px}
  .kpiRow{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important}
}

/* ===== extra layout helpers ===== */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:980px){.grid2{grid-template-columns:1fr}}

.listCheck{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.listCheck li{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-weight:750;font-size:13px;line-height:1.6}

.callout{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(26,163,255,.07), rgba(255,255,255,.04));
  padding:14px;
  box-shadow:0 18px 55px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}
.callout::before{
  content:"";
  position:absolute;
  inset:-65%;
  background:radial-gradient(circle at 30% 30%, rgba(26,163,255,.12), transparent 62%);
  transform:rotate(12deg);
  opacity:.55;
  pointer-events:none;
}
.callout b{color:var(--text)}
.callout p{margin:8px 0 0;color:var(--muted);font-weight:650;line-height:1.7;font-size:13px;position:relative;z-index:2}

.tableWrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.04);
  box-shadow:0 18px 55px rgba(0,0,0,.06);
}
html[data-theme="light"] .tableWrap{background:rgba(255,255,255,.70)}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:950;
  background:rgba(255,255,255,.04);
  position:sticky;
  top:0;
}
html[data-theme="light"] .table th{background:rgba(15,23,42,.03)}
.table td{font-size:13px;color:var(--muted);font-weight:650}
.table td b{color:var(--text);font-weight:950}

.toc{
  display:grid;
  gap:10px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.05);
  padding:14px;
}
html[data-theme="light"] .toc{background:rgba(15,23,42,.03)}
.toc a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-weight:900;
  transition:transform .15s var(--ease), background .15s var(--ease), color .15s var(--ease);
}
html[data-theme="light"] .toc a{background:rgba(255,255,255,.65)}
.toc a:hover{transform:translateY(-1px);background:rgba(26,163,255,.08);color:var(--text)}

.steps{display:grid;gap:10px}
.step{
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.06);
  padding:14px;
}
html[data-theme="light"] .step{background:rgba(15,23,42,.04)}
.step .stepTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.step .stepTop b{font-size:14px;letter-spacing:-.01em}
.step p{margin:0;color:var(--muted);font-weight:650;line-height:1.7;font-size:13px}

.embedCard{
  border-radius:var(--r);
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.embedCard iframe{
  width:100%;
  height:min(1120px, calc(100vh - 210px));
  min-height:860px;
  border:0;
  display:block;
  background:transparent;
}
