.home-v2{
  --blue:#2f6bff;--blue-dark:#1f4fd6;--indigo:#4f46e5;--green:#0e8aa8;--amber:#3b82f6;
  --coral:#7c3aed;--teal:#0e8aa8;--ink:#1b2342;--slate:#4a5578;--muted:#7c84a3;
  --line:#e1e6f4;
  /* cool blue-purple-teal palette (client gradient set) */
  --sand:#d9e0fc;--sand-soft:#e7ebfd;--sand-deep:#5b6ef0;
  --cream:#eef1fc;--paper:#eaeefb;--offwhite:#fbfcff;
  --red:#6d28d9;--red-soft:#c3b2ef;--sky:#2f7fc4;--sky-soft:#dcebfc;--ink-warm:#101c3f;
  --bg:#fbfcff;--bg-soft:#eef1fc;--bg-tint:#e7eafc;
  --radius:18px;--shadow-sm:0 2px 8px rgba(20,30,70,.06);--shadow:0 14px 34px rgba(20,30,70,.12);
  --shadow-lg:0 26px 60px rgba(20,30,70,.18);--maxw:1180px;
}
/* box-sizing only: a universal margin/padding:0 here would override Tailwind
   spacing utilities (same specificity, later import order). Tailwind preflight
   already zeroes headings/paragraphs/lists globally. */
.home-v2, .home-v2 *{box-sizing:border-box}
html:has(.home-v2){scroll-behavior:smooth}
.home-v2{font-family:var(--font-jakarta),system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}

/* ===== section background colors + decorative shapes (FollowUp Boss style) ===== */
.home-v2 section{position:relative;overflow:hidden}
.home-v2 section>.wrap{position:relative;z-index:2}
.home-v2 .bg-sand{background:var(--sand)}
.home-v2 .bg-sand-soft{background:var(--sand-soft)}
.home-v2 .bg-cream{background:var(--cream)}
.home-v2 .bg-paper{background:var(--paper)}
.home-v2 .bg-white{background:var(--offwhite)}
.home-v2 .bg-sky{background:var(--sky-soft)}
.home-v2 .bg-red{background:var(--red)}
.home-v2 .bg-dark{background:var(--ink-warm)}
.home-v2 .shapes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.home-v2 .shapes>span{position:absolute;display:block}
.home-v2 .sh-dot{border-radius:50%}
.home-v2 .sh-ring{border-radius:50%;background:transparent!important;border-style:solid}
.home-v2 .sh-half{border-radius:1000px 1000px 0 0}
.home-v2 .sh-halfb{border-radius:0 0 1000px 1000px}
.home-v2 .sh-quarter{border-radius:0 100% 0 0}
.home-v2 .sh-pill{border-radius:1000px}
.home-v2 .c-sand{background:#3f6ff5}.home-v2 .c-sand-deep{background:var(--sand-deep)}
.home-v2 .c-red{background:var(--red)}.home-v2 .c-redsoft{background:var(--red-soft)}
.home-v2 .c-sky{background:var(--sky)}.home-v2 .c-skysoft{background:var(--sky-soft)}
.home-v2 .c-cream{background:var(--cream)}.home-v2 .c-ink{background:var(--ink-warm)}.home-v2 .c-green{background:var(--green)}
.home-v2 .b-red{border-color:var(--red)}.home-v2 .b-sky{border-color:var(--sky)}.home-v2 .b-ink{border-color:var(--ink-warm)}.home-v2 .b-sand{border-color:var(--sand-deep)}

/* house skyline divider (FUB signature) */
.home-v2 .skyline{position:relative;z-index:1;line-height:0;margin-bottom:-1px}
.home-v2 .skyline svg{width:100%;height:auto;display:block}
.home-v2 h1,.home-v2 h2,.home-v2 h3,.home-v2 h4{font-family:var(--font-sora),var(--font-jakarta),sans-serif;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.home-v2 a{text-decoration:none;color:inherit}
.home-v2 img{max-width:100%;display:block}
.home-v2 .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.home-v2 .grad{background:linear-gradient(90deg,var(--blue),var(--indigo));-webkit-background-clip:text;background-clip:text;color:transparent}
.home-v2 svg{display:block}
.home-v2 .eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red);background:none;padding:0;border:0}
.home-v2 .eyebrow svg{display:none}
.home-v2 .section{padding:84px 0}
.home-v2 .section-head{max-width:680px;margin:0 auto 50px;text-align:center}
.home-v2 .section-head h2{font-size:clamp(28px,4vw,42px);margin:16px 0 12px}
.home-v2 .section-head p{color:var(--muted);font-size:17px}

/* icon defaults (line icons) */
.home-v2 .ic svg,.home-v2 .float .ic svg,.home-v2 .cinfo .ic svg,.home-v2 .tool .ic svg,.home-v2 .fcard .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* buttons */
.home-v2 .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:13px 24px;border-radius:12px;cursor:pointer;border:0;transition:transform .15s ease,box-shadow .2s ease;white-space:nowrap}
.home-v2 .btn:hover{transform:translateY(-2px)}
.home-v2 .btn-primary{background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.35)}
.home-v2 .btn-ghost{background:#fff;color:var(--ink);-webkit-text-fill-color:currentColor;border:1.5px solid var(--line)}
.home-v2 .btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.home-v2 .btn-gold{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 10px 24px rgba(234,88,12,.32)}
.home-v2 .btn-gold:hover{box-shadow:0 16px 32px rgba(234,88,12,.42)}

/* ===== TWO-TIER HEADER ===== */
.home-v2 .site-header{display:contents}
/* top bar */
.home-v2 .topbar{background:var(--ink-warm);color:#cdd6ef;font-size:13.5px}
.home-v2 .topbar-inner{display:flex;align-items:center;gap:20px;height:46px}
.home-v2 .tb-left{display:flex;align-items:center;gap:22px}
.home-v2 .tb-left a{display:inline-flex;align-items:center;gap:8px;color:#cdd6ef;font-weight:500}
.home-v2 .tb-left a:hover{color:#fff}
.home-v2 .tb-left svg{width:15px;height:15px;stroke:#7aa2f0;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .tb-search{flex:1;max-width:420px;margin:0 auto;display:flex;align-items:center;background:#fff;border-radius:9px;overflow:hidden;height:34px}
.home-v2 .tb-search input{flex:1;border:0;outline:0;padding:0 14px;font-family:inherit;font-size:13.5px;color:var(--ink);background:transparent}
.home-v2 .tb-search button{border:0;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--indigo));width:40px;height:34px;display:grid;place-items:center}
.home-v2 .tb-search button svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .tb-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.home-v2 .tb-right .tlinks a{color:#dfe6f7;font-weight:600}
.home-v2 .tb-right .tlinks a:hover{color:#fff}
.home-v2 .tb-right .sep{color:#41507a;margin:0 9px}
.home-v2 .tb-right .socials{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid #2a3559}
.home-v2 .tb-right .socials a{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:.2s}
.home-v2 .tb-right .socials a:hover{background:linear-gradient(135deg,var(--blue),var(--indigo))}
.home-v2 .tb-right .socials svg{width:14px;height:14px;fill:#cdd6ef}
.home-v2 .tb-right .socials a:hover svg{fill:#fff}
/* main bar (sticky) */
.home-v2 .mainbar{position:sticky;top:0;z-index:55;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.home-v2 .mainbar-inner{display:flex;align-items:center;gap:20px;height:74px}
.home-v2 .logo{display:flex;align-items:center;gap:10px;font-family:var(--font-sora);font-weight:800;font-size:20px}
.home-v2 .logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--indigo));display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px rgba(47,107,255,.4)}
.home-v2 .logo .mark svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-v2 nav.menu{display:flex;align-items:center;justify-content:center;gap:34px;flex:1}
.home-v2 nav.menu a{font-weight:600;font-size:15.5px;color:var(--slate)}
.home-v2 nav.menu a:hover,.home-v2 nav.menu a.on{color:var(--blue)}
.home-v2 .mainbar .btn{padding:11px 22px}
.home-v2 .burger{display:none;background:none;border:0;cursor:pointer;color:var(--ink);margin-left:auto}
.home-v2 .burger svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* HERO */
.home-v2 .hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sand) 0%,var(--sand-soft) 100%)}
.home-v2 .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:70px 0 100px}
.home-v2 .hero h1{font-size:clamp(34px,5vw,56px);margin:18px 0 18px}
.home-v2 .hero p.lead{font-size:18px;color:var(--slate);max-width:520px;margin-bottom:28px}
.home-v2 .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.home-v2 .hero-trust{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.home-v2 .hero-trust .stat b{font-family:var(--font-sora);font-size:24px;display:block;color:var(--ink)}
.home-v2 .hero-trust .stat span{font-size:13px;color:var(--muted)}
.home-v2 .hero-trust .divider{width:1px;height:34px;background:var(--line)}
.home-v2 .hero-visual{position:relative}
.home-v2 .hero-photo{width:100%;height:440px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-lg)}
.home-v2 .hero-card{position:absolute;bottom:-34px;left:-30px;width:290px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:20px}
.home-v2 .hero-card .hc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.home-v2 .hc-top b{font-size:14px}
.home-v2 .hc-top .pill{font-size:11px;font-weight:700;color:var(--green);background:#e1f1f7;padding:4px 9px;border-radius:999px}
.home-v2 .rank-box{background:var(--bg-soft);border:1px dashed #c9d8fb;border-radius:12px;padding:12px;margin-bottom:12px}
.home-v2 .rank-box label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.home-v2 .rank-box .rval{font-family:var(--font-sora);font-size:26px;font-weight:800;color:var(--blue)}
.home-v2 .match-row{display:flex;align-items:center;gap:10px;padding:9px;border-radius:10px;border:1px solid var(--line);margin-bottom:8px}
.home-v2 .match-row .dot{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px;flex-shrink:0}
.home-v2 .match-row .nm{font-weight:700;font-size:12.5px}
.home-v2 .match-row .sub{font-size:11px;color:var(--muted)}
.home-v2 .tag{margin-left:auto;font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px}
.home-v2 .tag.safe{background:#e1f1f7;color:#0e7d97}.home-v2 .tag.mod{background:#e6eefe;color:#2552d6}.home-v2 .tag.reach{background:#efe9fc;color:#6d28d9}
.home-v2 .float{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:11px 14px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px}
.home-v2 .float .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.home-v2 .float .ic svg{width:17px;height:17px}
.home-v2 .float.f1{top:-22px;right:24px}
.home-v2 .float.f2{bottom:50px;right:-30px}

/* logos */
.home-v2 .logos{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 1px 1px,#d4dcf5 1px,transparent 0) 0 0/22px 22px,linear-gradient(180deg,#eef2fd,#f7f9fe)}
.home-v2 .logos .row span{transition:color .2s}
.home-v2 .logos .row span:hover{color:var(--blue)}
.home-v2 .logos p{text-align:center;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.home-v2 .logos .row{display:flex;flex-wrap:wrap;justify-content:center;gap:36px;align-items:center;opacity:.85}
.home-v2 .logos .row span{font-family:var(--font-sora);font-weight:700;color:#94a3b8;font-size:18px}

/* trust band (home logos replacement) */
.home-v2 .trustband{padding:56px 0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 1px 1px,#d4dcf5 1px,transparent 0) 0 0/22px 22px,linear-gradient(180deg,#eef4ff 0%,#f7f9fe 55%,#fff 100%);text-align:center}
.home-v2 .trust-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #dbe6ff;
  color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-sm)}
.home-v2 .trust-chip svg{width:16px;height:16px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .trustband h2{font-size:clamp(28px,4vw,44px);margin:18px auto 10px;max-width:760px}
.home-v2 .trust-lead{max-width:640px;margin:0 auto 34px;color:var(--muted);font-size:16px;line-height:1.6}
.home-v2 .trust-stage{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;text-align:left}
.home-v2 .trust-map{position:relative;height:260px;filter:drop-shadow(0 10px 18px rgba(47,107,255,.12))}
.home-v2 .tm-silhouette{position:absolute;inset:8px 18px 8px 28px;background:
  radial-gradient(circle at 1px 1px,#93c5fd 1.4px,transparent 0) 0 0/14px 14px;
  clip-path:polygon(52% 4%,68% 8%,78% 18%,74% 30%,86% 40%,80% 54%,72% 60%,76% 74%,62% 90%,50% 84%,42% 96%,30% 80%,16% 74%,20% 56%,8% 48%,16% 34%,28% 30%,36% 18%,48% 12%);
  opacity:.85}
.home-v2 .tm-face{position:absolute;width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 16px rgba(20,30,70,.18);background:#e2e8f0}
.home-v2 .tm-f1{top:18%;left:38%}
.home-v2 .tm-f2{top:8%;left:58%}
.home-v2 .tm-f3{top:42%;left:22%}
.home-v2 .tm-f4{top:36%;left:62%}
.home-v2 .tm-f5{top:62%;left:48%}
.home-v2 .tm-f6{top:70%;left:26%}
.home-v2 .trust-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.home-v2 .tm-card{background:#fff;border:1px solid #e4ecff;border-radius:18px;padding:18px 12px 16px;text-align:center;box-shadow:var(--shadow-sm)}
.home-v2 .tm-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;margin:0 auto 12px;color:#fff}
.home-v2 .tm-ic svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .tm-card b{display:block;font-family:var(--font-sora);font-size:22px;color:var(--ink);margin-bottom:4px}
.home-v2 .tm-card span{font-size:12px;font-weight:700;color:var(--muted)}
.home-v2 .trust-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px;margin-top:28px;padding-top:22px;border-top:1px solid #e4ecff}
.home-v2 .tf-people,.home-v2 .tf-rate{display:flex;align-items:center;gap:12px;text-align:left}
.home-v2 .tf-people b,.home-v2 .tf-rate b{display:block;font-size:15px;color:var(--ink)}
.home-v2 .tf-people span,.home-v2 .tf-rate span{font-size:12px;color:var(--muted);font-weight:600}
.home-v2 .tf-stack{display:flex}
.home-v2 .tf-stack img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px;box-shadow:0 2px 8px rgba(20,30,70,.12)}
.home-v2 .tf-stack img:first-child{margin-left:0}
.home-v2 .tf-stars{display:flex;gap:3px}
.home-v2 .tf-stars svg{width:18px;height:18px;fill:#f5b400;stroke:none}
@media(max-width:900px){
  .home-v2 .trust-stage{grid-template-columns:1fr}
  .home-v2 .trust-map{height:200px;max-width:280px;margin:0 auto}
  .home-v2 .trust-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .home-v2 .trust-metrics{grid-template-columns:repeat(2,1fr)}
  .home-v2 .trust-map{display:none}
}

/* feature cards */
.home-v2 .cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.home-v2 .fcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:0 0 28px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;overflow:hidden}
.home-v2 .fcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .fcard .thumb{height:150px;width:100%;object-fit:cover}
.home-v2 .fcard .body{padding:0 26px}
.home-v2 .fcard .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#fff;margin:-30px 0 16px;position:relative;box-shadow:var(--shadow)}
.home-v2 .fcard h3{font-size:20px;margin-bottom:9px}
.home-v2 .fcard p{color:var(--muted);font-size:15px}

/* parent trust */
.home-v2 .parent{background:var(--sky-soft)}
.home-v2 .cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.home-v2 .ncard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);transition:.2s}
.home-v2 .ncard:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6e2ff}
.home-v2 .ncard .num{font-family:var(--font-sora);font-size:40px;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--blue),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.home-v2 .ncard h3{font-size:18px;margin-bottom:8px}
.home-v2 .ncard p{font-size:14px;color:var(--muted)}

/* split banner */
.home-v2 .banner{padding:84px 0}
.home-v2 .banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.home-v2 .banner-grid.rev .b-media{order:2}
.home-v2 .b-media{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg)}
.home-v2 .b-media img{width:100%;height:420px;object-fit:cover}
.home-v2 .b-media .badge-card{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}
.home-v2 .b-media .badge-card .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff}
.home-v2 .b-media .badge-card .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .b-media .badge-card b{font-size:15px;display:block}
.home-v2 .b-media .badge-card span{font-size:12px;color:var(--muted)}
.home-v2 .b-copy h2{font-size:clamp(26px,3.6vw,38px);margin:16px 0 16px}
.home-v2 .b-copy p{color:var(--slate);font-size:16px;margin-bottom:22px}
.home-v2 .b-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.home-v2 .b-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--slate)}
.home-v2 .b-list li .chk{width:24px;height:24px;border-radius:7px;background:#e1f1f7;color:var(--green);display:grid;place-items:center;flex-shrink:0}
.home-v2 .b-list li .chk svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* roadmap */
.home-v2 .roadmap{background:var(--ink-warm);color:#fff}
.home-v2 .roadmap .section-head h2{color:#fff}.home-v2 .roadmap .section-head p{color:#aab6cf}
.home-v2 .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-v2 .step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(6px);transition:.2s}
.home-v2 .step:hover{transform:translateY(-5px);background:rgba(255,255,255,.1)}
.home-v2 .step .simg{position:relative;height:140px}
.home-v2 .step .simg img{width:100%;height:100%;object-fit:cover}
.home-v2 .step .simg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.05),rgba(15,23,42,.55))}
.home-v2 .step .sn{position:absolute;bottom:-20px;left:20px;z-index:2;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-family:var(--font-sora);font-weight:800;font-size:18px;background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.5)}
.home-v2 .step h3{color:#fff;font-size:18px;margin:30px 20px 8px}.home-v2 .step p{color:#aab6cf;font-size:14px;margin:0 20px 22px}
.home-v2 .roadmap .cta-center{text-align:center;margin-top:48px}

/* tools */
.home-v2 .tools{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-v2 .tool{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);transition:.2s;overflow:hidden}
.home-v2 .tool:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .tool .timg{position:relative;height:118px}
.home-v2 .tool .timg img{width:100%;height:100%;object-fit:cover}
.home-v2 .tool .ic{position:absolute;bottom:-22px;left:18px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:var(--shadow)}
.home-v2 .tool .tbody{padding:30px 18px 22px}
.home-v2 .tool h4{font-size:16px;margin-bottom:6px}.home-v2 .tool p{font-size:13px;color:var(--muted)}

/* pricing */
.home-v2 .pricing{background:
  radial-gradient(540px 220px at 8% 0%, rgba(124,58,237,.14), transparent 62%),
  radial-gradient(480px 200px at 94% 8%, rgba(245,158,11,.12), transparent 58%),
  linear-gradient(180deg,#f4efff 0%,#eef1fc 55%,#f7f3ff 100%)}
.home-v2 .pricing .section-head{position:relative}
.home-v2 .plan-deco{position:absolute;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  box-shadow:0 10px 22px rgba(47,107,255,.16);pointer-events:none}
.home-v2 .plan-deco svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .plan-deco-cap{left:0;top:8px;color:#fff;background:linear-gradient(135deg,#2f6bff,#7c3aed)}
.home-v2 .plan-deco-trophy{right:0;top:8px;color:#fff;background:linear-gradient(135deg,#f59e0b,#ea580c)}
@media(max-width:720px){.home-v2 .plan-deco{display:none}}
.home-v2 .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.home-v2 .plan{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 28px 26px;box-shadow:0 8px 28px rgba(20,30,70,.07);
  display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.home-v2 .plan:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,30,70,.12)}
.home-v2 .plan-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:14px;color:#fff}
.home-v2 .plan-ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .plan-ic-free{background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 10px 18px rgba(124,58,237,.28)}
.home-v2 .plan-ic-prem{background:linear-gradient(135deg,#2f6bff,#7c3aed);box-shadow:0 10px 18px rgba(47,107,255,.3)}
.home-v2 .plan-ic-gold{background:linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:0 10px 18px rgba(245,158,11,.32)}
.home-v2 .plan.featured{border:2px solid #7c3aed;box-shadow:0 22px 48px rgba(124,58,237,.22);transform:scale(1.04);z-index:1;
  background:linear-gradient(180deg,#faf7ff,#fff 42%)}
.home-v2 .plan.featured:hover{transform:scale(1.04) translateY(-4px)}
.home-v2 .plan.gold{border-color:#fcd34d;background:linear-gradient(180deg,#fffbeb,#fff 48%)}
.home-v2 .plan .badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;font-size:12px;font-weight:800;padding:6px 16px;border-radius:999px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.home-v2 .plan .badge svg{width:13px;height:13px;fill:#fff}
.home-v2 .plan h3{font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--indigo);margin-bottom:2px}
.home-v2 .plan.gold h3{color:#b45309}
.home-v2 .plan.featured h3{color:#6d28d9}
.home-v2 .plan .price{font-family:var(--font-sora);font-size:38px;font-weight:800;margin:4px 0 6px;color:var(--ink)}
.home-v2 .plan .price small{font-size:14px;font-weight:600;color:var(--muted)}
.home-v2 .plan.featured .price{color:#5b21b6}
.home-v2 .plan.gold .price{color:#b45309}
.home-v2 .plan .gst{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.45}
.home-v2 .plan ul{list-style:none;margin:10px 0 22px;display:flex;flex-direction:column;gap:11px}
.home-v2 .plan ul li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--slate)}
.home-v2 .plan ul li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:#7c3aed;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .plan.gold ul li svg{color:#ea580c}
.home-v2 .plan .btn{width:100%;justify-content:center;margin-top:auto}
.home-v2 .plan .btn-ghost{border-color:#c4b5fd;color:#6d28d9}
.home-v2 .plan .btn-ghost:hover{background:#f5f3ff;border-color:#7c3aed}

/* programs */
.home-v2 .progs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.home-v2 .prog{border-radius:22px;padding:34px;position:relative;overflow:hidden;color:#fff;min-height:340px;display:flex;flex-direction:column}
.home-v2 .prog .pbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home-v2 .prog .pov{position:absolute;inset:0;z-index:1}
.home-v2 .prog.lakshya .pov{background:linear-gradient(135deg,rgba(14,165,233,.92),rgba(37,99,235,.92))}
.home-v2 .prog.brahma .pov{background:linear-gradient(135deg,rgba(124,58,237,.92),rgba(79,70,229,.92))}
.home-v2 .prog>*{position:relative;z-index:2}
.home-v2 .prog .ribbon{align-self:flex-start;background:rgba(255,255,255,.22);padding:5px 14px;font-size:12px;font-weight:800;letter-spacing:.05em;border-radius:999px;margin-bottom:14px}
.home-v2 .prog h3{color:#fff;font-size:26px;margin-bottom:6px}
.home-v2 .prog .pr-price{font-family:var(--font-sora);font-weight:800;font-size:17px;margin-bottom:16px;opacity:.95}
.home-v2 .prog ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.home-v2 .prog ul li{display:flex;gap:9px;font-size:14px;opacity:.96;align-items:flex-start}
.home-v2 .prog ul li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .prog .btn{background:#fff;color:var(--ink);margin-top:auto;align-self:flex-start}

/* animated background section */
.home-v2 .fx{position:relative;overflow:hidden;background:var(--cream)}
.home-v2 .fx .orbs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.home-v2 .fx .orb{position:absolute;border-radius:50%;filter:blur(48px);opacity:.5;animation:hv2-drift 18s ease-in-out infinite}
.home-v2 .fx .orb.o1{width:360px;height:360px;background:radial-gradient(circle,var(--sand),transparent 70%);top:-80px;left:-60px}
.home-v2 .fx .orb.o2{width:300px;height:300px;background:radial-gradient(circle,var(--red-soft),transparent 70%);bottom:-60px;right:8%;animation-delay:-4s;animation-duration:22s}
.home-v2 .fx .orb.o3{width:260px;height:260px;background:radial-gradient(circle,var(--sky),transparent 70%);top:30%;right:-50px;animation-delay:-9s;animation-duration:26s}
.home-v2 .fx .orb.o4{width:220px;height:220px;background:radial-gradient(circle,var(--sand-deep),transparent 70%);bottom:10%;left:12%;animation-delay:-13s;animation-duration:20s}
.home-v2 .fx .grid-lines{position:absolute;inset:0;z-index:0;opacity:.4;background-image:linear-gradient(#cdd8f2 1px,transparent 1px),linear-gradient(90deg,#cdd8f2 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%)}
.home-v2 .fx .wrap{position:relative;z-index:2}
@keyframes hv2-drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.12)}66%{transform:translate(-30px,25px) scale(.92)}}
@media(prefers-reduced-motion:reduce){.home-v2 .fx .orb{animation:none}}

/* comparison — 3-column board (Features | Padhai Mentor | Others) */
.home-v2 .cmp-board{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;align-items:stretch;max-width:1080px;margin:0 auto}
@media(max-width:860px){.home-v2 .cmp-board{grid-template-columns:1fr}}
.home-v2 .cmp-col{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 20px 18px;
  box-shadow:0 10px 28px rgba(20,30,70,.07);display:flex;flex-direction:column}
.home-v2 .cmp-pill{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);padding:6px 12px;border-radius:999px;margin-bottom:14px}
.home-v2 .cmp-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:42px}
.home-v2 .cmp-head .lg{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.home-v2 .cmp-head .lg svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .cmp-head b{font-family:var(--font-sora);font-size:16px}
.home-v2 .cmp-us{background:linear-gradient(165deg,#4f46e5,#7c3aed 55%,#2f6bff);border:0;color:#fff;
  box-shadow:0 20px 44px rgba(79,70,229,.28)}
.home-v2 .cmp-us .cmp-head .lg{background:rgba(255,255,255,.18)}
.home-v2 .cmp-them .cmp-head .lg{background:#cbd5e1}
.home-v2 .cmp-row{display:flex;align-items:flex-start;gap:10px;min-height:68px;padding:10px 0;border-top:1px solid rgba(20,30,70,.08)}
.home-v2 .cmp-col > .cmp-row:first-of-type{border-top:0}
.home-v2 .cmp-us .cmp-row{border-top-color:rgba(255,255,255,.16)}
.home-v2 .cmp-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;
  color:#fff;background:linear-gradient(135deg,#2f6bff,#7c3aed);box-shadow:0 8px 14px rgba(47,107,255,.25)}
.home-v2 .cmp-ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .cmp-feat .cmp-row b{display:block;font-size:14px;color:var(--ink);line-height:1.25}
.home-v2 .cmp-feat .cmp-row span{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}
.home-v2 .cmp-us .cmp-row span,.home-v2 .cmp-them .cmp-row span{font-size:13px;line-height:1.4}
.home-v2 .cmp-us .yes{background:rgba(255,255,255,.2);color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.1);flex-shrink:0}
.home-v2 .cmp-them .no{background:#fee2e2;color:#dc2626;flex-shrink:0}
.home-v2 .yes,.home-v2 .no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%}
.home-v2 .yes{background:#e1f1f7;color:var(--green);box-shadow:0 0 0 4px rgba(14,138,168,.12)}
.home-v2 .no{background:#f1f5f9;color:#cbd5e1}
.home-v2 .yes svg,.home-v2 .no svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* testimonials */
.home-v2 .testi{background:var(--sand)}
.home-v2 .tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:920px;margin:0 auto}
.home-v2 .tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow-sm)}
.home-v2 .tcard .stars{display:flex;gap:2px;margin-bottom:12px}
.home-v2 .tcard .stars svg{width:16px;height:16px;fill:#7c3aed}
.home-v2 .tcard p{font-size:15px;color:var(--slate);margin-bottom:18px}
.home-v2 .tcard .who{display:flex;align-items:center;gap:12px}
.home-v2 .tcard .who img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.home-v2 .tcard .who b{font-size:15px;display:block}
.home-v2 .tcard .who span{font-size:13px;color:var(--muted)}

/* faq */
.home-v2 .faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.home-v2 .faq{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:.2s}
.home-v2 .faq.open{border-color:var(--blue);box-shadow:var(--shadow-sm)}
.home-v2 .faq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;background:none;border:0;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;color:var(--ink);text-align:left}
.home-v2 .faq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted);font-size:15px}
.home-v2 .faq .ans p{padding:0 22px 20px}
.home-v2 .faq .chev{transition:transform .25s;color:var(--blue);flex-shrink:0}
.home-v2 .faq .chev svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.home-v2 .faq.open .chev{transform:rotate(45deg)}

/* CTA band */
.home-v2 .ctaband{padding:70px 0}
.home-v2 .ctaband .box{position:relative;border-radius:28px;padding:64px;text-align:center;color:#fff;overflow:hidden;box-shadow:var(--shadow-lg)}
.home-v2 .ctaband .box img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home-v2 .ctaband .box .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(79,70,229,.93),rgba(109,40,217,.92))}
.home-v2 .ctaband .box>*{position:relative;z-index:2}
.home-v2 .ctaband h2{color:#fff;font-size:clamp(26px,4vw,38px);margin-bottom:14px}
.home-v2 .ctaband p{color:#dbe4ff;font-size:17px;margin-bottom:26px}

/* contact + footer */
.home-v2 .contact{background:var(--bg-soft)}
.home-v2 .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:46px;align-items:start}
.home-v2 .contact h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:14px}
.home-v2 .contact p.sub{color:var(--muted);margin-bottom:26px}
.home-v2 .cinfo{display:flex;flex-direction:column;gap:16px}
.home-v2 .cinfo .item{display:flex;gap:14px;align-items:flex-start}
.home-v2 .cinfo .item .ic{width:44px;height:44px;border-radius:12px;background:var(--bg-tint);display:grid;place-items:center;color:var(--blue);flex-shrink:0}
.home-v2 .cinfo .item b{display:block;font-size:14px}.home-v2 .cinfo .item span{font-size:14px;color:var(--muted)}
.home-v2 form.cform{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}
.home-v2 form.cform input,.home-v2 form.cform textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:15px;color:var(--ink);background:#fbfdff}
.home-v2 form.cform input:focus,.home-v2 form.cform textarea:focus{outline:none;border-color:var(--blue);background:#fff}
.home-v2 form.cform textarea{min-height:110px;resize:vertical}
.home-v2 form.cform .btn{justify-content:center}
.home-v2 footer.ft{background:linear-gradient(rgba(16,24,55,.93),rgba(11,18,44,.97)),url('https://images.unsplash.com/photo-1777654770487-b49bb24f61ec?auto=format&fit=crop&w=900&q=42') center/cover no-repeat;color:#aeb8d6;padding:60px 0 26px;position:relative;overflow:hidden}
.home-v2 footer.ft>.wrap{position:relative;z-index:2}
.home-v2 .ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.home-v2 .ft .logo{color:#fff;margin-bottom:14px}
.home-v2 .ft .about{font-size:14px;color:#94a3b8;max-width:300px}
.home-v2 .ft h4{color:#fff;font-size:15px;margin-bottom:16px}
.home-v2 .ft ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.home-v2 .ft ul li a{font-size:14px;color:#94a3b8}.home-v2 .ft ul li a:hover{color:#fff}
.home-v2 .ft-bottom{border-top:1px solid #1e293b;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#64748b}
.home-v2 .ft-bottom a{color:#94a3b8}

/* responsive */
@media(max-width:980px){
  .home-v2 .hero-grid,.home-v2 .banner-grid,.home-v2 .banner-grid.rev{grid-template-columns:1fr;gap:40px}
  .home-v2 .banner-grid.rev .b-media{order:0}
  .home-v2 .hero-card{position:static;width:auto;margin-top:22px;left:auto;bottom:auto}
  .home-v2 .hero-photo{height:340px}
  .home-v2 .cards-3,.home-v2 .cards-4,.home-v2 .steps,.home-v2 .tools,.home-v2 .plans,.home-v2 .progs,.home-v2 .tgrid{grid-template-columns:1fr 1fr}
  .home-v2 .contact-grid,.home-v2 .ft-grid{grid-template-columns:1fr}.home-v2 .ft-grid{gap:28px}
}
@media(max-width:900px){
  .home-v2 .tb-search{display:none}
  .home-v2 .tb-left .tb-email{display:none}
}
@media(max-width:680px){
  .home-v2 .section,.home-v2 .banner{padding:60px 0}
  .home-v2 nav.menu,.home-v2 .mainbar .btn{display:none}
  .home-v2 .burger{display:block}
  .home-v2 .tb-right .tlinks{display:none}
  .home-v2 .topbar-inner{height:42px}
  .home-v2 .cards-3,.home-v2 .cards-4,.home-v2 .steps,.home-v2 .tools,.home-v2 .plans,.home-v2 .progs,.home-v2 .tgrid{grid-template-columns:1fr}
  .home-v2 .plan.featured{transform:none}
  .home-v2 .ctaband .box{padding:40px 24px}
  .home-v2 .float{display:none}
  .home-v2 .hero-trust{gap:14px}
  .home-v2 nav.menu.show{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;justify-content:flex-start;padding:18px 22px;gap:16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex:none}
}

/* ===== additions for the Next.js port ===== */
.home-v2 .logo img{height:44px;width:auto}
.home-v2 .ft .logo img{height:52px}
.home-v2 .tcard .who .avi{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--indigo));flex-shrink:0}
.home-v2 form.cform .note{font-size:14px;font-weight:600}
.home-v2 form.cform .note.ok{color:var(--green)}
.home-v2 form.cform .note.err{color:#dc2626}

/* fix over the reference: hero-grid's padding override dropped .wrap's 22px
   side padding, leaving text flush to the screen edge on mobile */
@media(max-width:980px){
  .home-v2 .hero-grid{padding:70px 22px 100px}
}

/* light variant for the legal pages' bullet lists (global .pm-bullets is cyan+glow) */
.home-v2 .pm-bullets > li::before{background-color:#2f6bff;box-shadow:none}

/* ===== PM Hub flagship panel (homepage) ===== */
.home-v2 .hub-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f6f8ff 100%);
  border:1px solid var(--line);border-radius:26px;
  padding:20px;box-shadow:var(--shadow);position:relative;z-index:2
}
.home-v2 .hub-bar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;padding:8px 8px 22px
}
.home-v2 .hub-brand{display:flex;align-items:center;gap:14px}
.home-v2 .hub-mark{
  width:48px;height:48px;border-radius:15px;flex-shrink:0;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--indigo));box-shadow:0 8px 20px rgba(47,107,255,.38)
}
.home-v2 .hub-mark svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .hub-brand b{font-family:var(--font-sora);font-size:19px;line-height:1.2;display:block;color:var(--ink)}
.home-v2 .hub-brand span{font-size:13px;color:var(--muted)}
@media(max-width:680px){
  .home-v2 .hub-panel{padding:14px;border-radius:20px}
  .home-v2 .hub-bar{padding:6px 4px 18px}
  .home-v2 .hub-bar .btn{width:100%;justify-content:center}
}

/* anchored sections must clear the sticky mainbar (74px) when jumped to */
.home-v2 section[id]{scroll-margin-top:92px}

/* On phones the decorative blobs sit under body copy and hurt legibility. */
@media(max-width:680px){
  .home-v2 .shapes{display:none}
}

/* ===== PM Hub tool card visuals (components/home-v2/ToolVisuals.tsx) ===== */
.home-v2 .tool .timg .tviz{width:100%;height:100%;display:block}

/* 1. rank gauge: arc fills, needle sweeps to the predicted rank */
@keyframes tviz-arc{from{stroke-dashoffset:164}to{stroke-dashoffset:58}}
@keyframes tviz-needle{0%{transform:rotate(-74deg)}55%{transform:rotate(52deg)}70%{transform:rotate(44deg)}100%{transform:rotate(48deg)}}
.home-v2 .tviz-arc{stroke-dashoffset:164;animation:tviz-arc 2.2s ease-out forwards}
/* The needle group already sits at the dial pivot via its parent translate,
   so it must rotate about its own local origin, not the viewBox centre. */
.home-v2 .tviz-needle{transform-box:view-box;transform-origin:0 0;animation:tviz-needle 2.4s cubic-bezier(.34,1.2,.4,1) forwards}

/* 2. seat matrix: seats settle in */
@keyframes tviz-seat{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.home-v2 .tviz-seat{opacity:0;transform-box:fill-box;transform-origin:center;animation:tviz-seat .5s ease-out forwards}

/* 3. cutoff trend: line draws, then points pop */
@keyframes tviz-line{from{stroke-dashoffset:330}to{stroke-dashoffset:0}}
@keyframes tviz-dot{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
.home-v2 .tviz-line{stroke-dashoffset:330;animation:tviz-line 1.6s ease-out forwards}
.home-v2 .tviz-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:tviz-dot .35s ease-out forwards}

/* 4. article rows fade in; badge pulses */
@keyframes tviz-row{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
@keyframes tviz-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.home-v2 .tviz-row{opacity:0;animation:tviz-row .5s ease-out forwards}
.home-v2 .tviz-pulse{transform-box:fill-box;transform-origin:center;animation:tviz-pulse 2.6s ease-in-out infinite}

/* 5. virtual tour: panorama pans, 360 badge bobs */
@keyframes tviz-pan{from{transform:translateX(0)}to{transform:translateX(-260px)}}
.home-v2 .tviz-pan{animation:tviz-pan 16s linear infinite}
.home-v2 .tviz-spin{animation:tviz-pulse 2.8s ease-in-out infinite}

/* 6. checklist items tick off, then repeat */
@keyframes tviz-check{0%{opacity:0;transform:translateY(4px)}12%,88%{opacity:1;transform:none}100%{opacity:1}}
.home-v2 .tviz-check{opacity:0;animation:tviz-check 4s ease-out infinite}

/* 7. score bars grow from the axis */
@keyframes tviz-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.home-v2 .tviz-bar{animation:tviz-bar .8s cubic-bezier(.22,1,.36,1) forwards}

/* 8. chat bubbles pop in and settle */
@keyframes tviz-bubble{0%{opacity:0;transform:translateY(6px) scale(.9)}18%,82%{opacity:1;transform:none}100%{opacity:1}}
.home-v2 .tviz-bubble{opacity:0;transform-box:fill-box;transform-origin:center;animation:tviz-bubble 3.4s ease-out infinite}

@media(prefers-reduced-motion:reduce){
  .home-v2 .tviz *{animation:none!important}
  .home-v2 .tviz-arc{stroke-dashoffset:58}
  .home-v2 .tviz-line{stroke-dashoffset:0}
  .home-v2 .tviz-needle{transform-box:view-box;transform-origin:0 0;transform:rotate(48deg)}
  .home-v2 .tviz-seat,.home-v2 .tviz-dot,.home-v2 .tviz-row,
  .home-v2 .tviz-check,.home-v2 .tviz-bubble{opacity:1}
}

/* ===== Roadmap step visuals (components/home-v2/StepVisuals.tsx) ===== */
.home-v2 .step .simg .sviz{width:100%;height:100%;display:block}
/* the photo overlay was there to keep text legible over stock images; the SVG
   scenes only need a light bottom fade to blend into the card */
.home-v2 .step .simg.viz::after{background:linear-gradient(180deg,transparent 55%,rgba(15,23,42,.35))}

/* 01 rank typing + caret + filter chips */
/* overshoot the right inset so the final step() still clears the last glyph */
@keyframes sviz-type{0%{clip-path:inset(0 100% 0 0)}45%,100%{clip-path:inset(0 -30% 0 0)}}
@keyframes sviz-caret{0%,49%{opacity:1}50%,100%{opacity:.15}}
@keyframes sviz-chip{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.home-v2 .sviz-type{clip-path:inset(0 100% 0 0);animation:sviz-type 3.4s steps(6,end) infinite}
.home-v2 .sviz-caret{animation:sviz-caret 1s steps(1,end) infinite}
.home-v2 .sviz-chip{opacity:0;transform-box:fill-box;transform-origin:center;animation:sviz-chip .5s ease-out forwards}

/* 02 bars grow, scanning beam sweeps the data */
@keyframes sviz-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes sviz-beam{0%{transform:translateX(48px)}100%{transform:translateX(276px)}}
.home-v2 .sviz-bar{animation:sviz-bar .8s cubic-bezier(.22,1,.36,1) forwards}
.home-v2 .sviz-beam{animation:sviz-beam 2.8s ease-in-out infinite}

/* 03 predicted colleges resolve in one by one */
@keyframes sviz-row{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.home-v2 .sviz-row{opacity:0;animation:sviz-row .55s ease-out forwards}

/* 04 cap lifts, tick draws, sparkles twinkle */
@keyframes sviz-cap{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes sviz-tick{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes sviz-spark{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
.home-v2 .sviz-cap{animation:sviz-cap 3.2s ease-in-out infinite}
.home-v2 .sviz-tick{stroke-dashoffset:30;animation:sviz-tick .8s ease-out .5s forwards}
.home-v2 .sviz-spark{transform-box:fill-box;transform-origin:center;animation:sviz-spark 2.4s ease-in-out infinite}

@media(prefers-reduced-motion:reduce){
  .home-v2 .sviz *{animation:none!important}
  .home-v2 .sviz-type{clip-path:none}
  .home-v2 .sviz-caret{opacity:0}
  .home-v2 .sviz-chip,.home-v2 .sviz-row{opacity:1}
  .home-v2 .sviz-tick{stroke-dashoffset:0}
  .home-v2 .sviz-spark{opacity:.9}
  .home-v2 .sviz-beam{transform:translateX(160px)}
}

/* ===== Depth pass: step badges, buttons and icon chips =====
   These were flat template-default shapes. Adds a glass highlight, a light
   sweep on the primary buttons, and motion that responds to the card hover. */

/* step numbers: inset ring + a glow that lifts with the card */
.home-v2 .step .sn{
  box-shadow:0 8px 18px rgba(37,99,235,.5),inset 0 0 0 1px rgba(255,255,255,.16);
  transition:transform .3s cubic-bezier(.34,1.4,.4,1),box-shadow .3s ease;
  overflow:hidden
}
.home-v2 .step .sn::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0) 55%)
}
.home-v2 .step:hover .sn{
  transform:translateY(-4px) scale(1.08);
  box-shadow:0 16px 32px rgba(47,107,255,.6),inset 0 0 0 1px rgba(255,255,255,.28)
}

/* primary buttons: a light sweep drawn as a background layer, so it always
   sits behind the label (a positioned ::after would paint over the text) */
.home-v2 .btn-primary,.home-v2 .btn-amber{
  background-repeat:no-repeat;
  background-size:220% 100%,100% 100%;
  background-position:190% 0,0 0;
  transition:transform .15s ease,box-shadow .25s ease,background-position .65s ease
}
.home-v2 .btn-primary{
  background-image:
    linear-gradient(100deg,transparent 32%,rgba(255,255,255,.32) 46%,transparent 62%),
    linear-gradient(135deg,var(--blue),var(--indigo))
}
.home-v2 .btn-amber{
  background-image:
    linear-gradient(100deg,transparent 32%,rgba(255,255,255,.3) 46%,transparent 62%),
    linear-gradient(135deg,#7c3aed,#4f46e5)
}
.home-v2 .btn-primary:hover,.home-v2 .btn-amber:hover{background-position:-50% 0,0 0}
.home-v2 .btn-primary:hover{box-shadow:0 16px 32px rgba(37,99,235,.45)}
.home-v2 .btn-amber:hover{box-shadow:0 16px 32px rgba(79,70,229,.45)}
/* trailing arrows lead the eye forward on hover */
.home-v2 .btn svg:last-child{transition:transform .25s ease}
.home-v2 .btn:hover svg:last-child{transform:translateX(3px)}
.home-v2 .btn-ghost:hover{box-shadow:0 10px 24px rgba(20,30,70,.1)}

/* icon chips: glass highlight, and they tilt as the card lifts */
/* NB: .tool .ic is position:absolute and .fcard .ic is position:relative already —
   do not set position here or the tool chips fall out of their corner. */
.home-v2 .tool .ic,.home-v2 .fcard .ic,.home-v2 .hub-mark{
  overflow:hidden;transition:transform .3s cubic-bezier(.34,1.4,.4,1),box-shadow .3s ease
}
.home-v2 .hub-mark{position:relative}
.home-v2 .tool .ic::after,.home-v2 .fcard .ic::after,.home-v2 .hub-mark::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 55%)
}
/* keep the glyph above the highlight */
.home-v2 .tool .ic svg,.home-v2 .fcard .ic svg,.home-v2 .hub-mark svg{position:relative;z-index:1}
.home-v2 .tool:hover .ic{transform:translateY(-3px) rotate(-5deg) scale(1.08)}
.home-v2 .fcard:hover .ic{transform:translateY(-3px) scale(1.08)}
.home-v2 .hub-panel:hover .hub-mark{transform:rotate(-5deg) scale(1.06)}

@media(prefers-reduced-motion:reduce){
  .home-v2 .step .sn,.home-v2 .tool .ic,.home-v2 .fcard .ic,.home-v2 .hub-mark,
  .home-v2 .btn,.home-v2 .btn svg:last-child{transition:none}
  .home-v2 .step:hover .sn,.home-v2 .tool:hover .ic,
  .home-v2 .fcard:hover .ic,.home-v2 .hub-panel:hover .hub-mark{transform:none}
}

/* keep the hero subjects visible: the predictor card overlaps the lower-left */
.home-v2 .hero-photo{object-position:60% 30%}

/* ===== header on phones =====
   The topbar degrades to a lone phone number (search, email and the
   Log In link are all hidden below 900px), so drop it — the
   number is still in the announcement bar, the Contact section and the
   footer. The auth links move into the burger menu, which otherwise
   would leave phone users with no way to sign in. */
.home-v2 .menu-auth{display:none}
@media(max-width:680px){
  .home-v2 .topbar{display:none}
  .home-v2 nav.menu.show .menu-auth{
    display:flex;flex-direction:column;gap:14px;width:100%;
    border-top:1px solid var(--line);padding-top:16px;margin-top:2px
  }
  .home-v2 nav.menu.show .menu-auth a:not(.btn){text-align:center}
  .home-v2 nav.menu.show .menu-auth .btn{display:inline-flex;width:100%;justify-content:center}
}

/* ===== PM Hub Overview (dashboard flagship landing) ===== */
.home-v2 .pmh{max-width:1240px;margin:0 auto;padding:0 16px 60px}

/* -- hero -- */
.home-v2 .pmh-hero{position:relative;overflow:hidden;border-radius:32px;padding:52px 28px 46px;text-align:center;
  background:linear-gradient(160deg,#101c3f 0%,#1b2a5c 46%,#2f3f8a 100%);isolation:isolate}
.home-v2 .pmh-blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;z-index:0;animation:pmh-float 9s ease-in-out infinite}
.home-v2 .pmh-blob.b1{width:260px;height:260px;background:#2f6bff;top:-90px;left:-60px;animation-delay:0s}
.home-v2 .pmh-blob.b2{width:220px;height:220px;background:#0e8aa8;bottom:-80px;right:-40px;animation-delay:1.4s}
.home-v2 .pmh-blob.b3{width:180px;height:180px;background:#7c3aed;top:30%;right:12%;opacity:.35;animation-delay:.7s}
@keyframes pmh-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14px,-18px) scale(1.08)}}

.home-v2 .pmh-hero-inner{position:relative;z-index:2}
.home-v2 .pmh-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#cfe0ff;
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px)}
.home-v2 .pmh-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#22e0a0;box-shadow:0 0 0 0 rgba(34,224,160,.6);animation:pmh-pulse-dot 1.8s ease-out infinite;flex-shrink:0}
@keyframes pmh-pulse-dot{0%{box-shadow:0 0 0 0 rgba(34,224,160,.55)}70%{box-shadow:0 0 0 9px rgba(34,224,160,0)}100%{box-shadow:0 0 0 0 rgba(34,224,160,0)}}
.home-v2 .pmh-hero h1{color:#fff;font-size:clamp(30px,4.4vw,50px);margin:20px auto 14px;max-width:820px}
.home-v2 .pmh-hero h1 .grad{background:linear-gradient(90deg,#7dd3fc,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-v2 .pmh-hero p.lead{color:#bcc7ee;font-size:16px;max-width:600px;margin:0 auto 30px}
.home-v2 .pmh-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:38px}
.home-v2 .pmh-cta-row .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
.home-v2 .pmh-cta-row .btn-ghost:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}

.home-v2 .pmh-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:0;max-width:760px;margin:0 auto}
.home-v2 .pmh-stat{padding:0 28px;text-align:center;position:relative}
.home-v2 .pmh-stat+.pmh-stat{border-left:1px solid rgba(255,255,255,.14)}
.home-v2 .pmh-stat b{display:block;font-family:var(--font-sora);font-size:26px;font-weight:800;
  background:linear-gradient(90deg,#7dd3fc,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-v2 .pmh-stat span{display:block;font-size:12px;color:#aab6cf;margin-top:3px;white-space:nowrap}
@media(max-width:680px){
  .home-v2 .pmh-hero{padding:38px 18px 32px;border-radius:24px}
  .home-v2 .pmh-stat{padding:0 14px 14px}
  .home-v2 .pmh-stat:nth-child(odd){border-left:none}
}

/* -- section headers reused within the overview -- */
.home-v2 .pmh-head{max-width:640px;margin:56px auto 30px;text-align:center}
.home-v2 .pmh-head h2{font-size:clamp(24px,3.2vw,34px);margin:12px 0 8px}
.home-v2 .pmh-head p{color:var(--muted);font-size:15px}

/* -- toolkit grid -- */
.home-v2 .pmh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.home-v2 .pmh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.home-v2 .pmh-grid{grid-template-columns:1fr}}

.home-v2 .pmh-tool{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease,border-color .3s ease}
.home-v2 .pmh-tool:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#d6e2ff}
.home-v2 .pmh-tool:disabled,.home-v2 .pmh-tool.is-soon{cursor:default}
.home-v2 .pmh-tool.is-soon:hover{transform:translateY(-2px)}
/* mouse-tracked spotlight glare, driven by --mx/--my set from JS */
.home-v2 .pmh-tool::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 62%);
  transition:opacity .35s ease;mix-blend-mode:overlay}
.home-v2 .pmh-tool:hover::before{opacity:1}
.home-v2 .pmh-tool .timg{position:relative;height:112px}
.home-v2 .pmh-tool .ic{position:absolute;bottom:-20px;left:16px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:var(--shadow);z-index:2}
.home-v2 .pmh-tool .pmh-ribbon{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;backdrop-filter:blur(4px)}
.home-v2 .pmh-ribbon.live{color:#0e7d97;background:rgba(255,255,255,.92)}
.home-v2 .pmh-ribbon.live .dot{width:6px;height:6px;border-radius:50%;background:#16b981;box-shadow:0 0 0 0 rgba(22,185,129,.6);animation:pmh-pulse-dot 1.8s ease-out infinite}
.home-v2 .pmh-ribbon.soon{color:#6b7280;background:rgba(255,255,255,.85)}
.home-v2 .pmh-tool .tbody{padding:28px 16px 20px}
.home-v2 .pmh-tool h4{font-size:15px;margin-bottom:5px;display:flex;align-items:center;gap:6px}
.home-v2 .pmh-tool p{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:10px}
.home-v2 .pmh-tool .pmh-go{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--blue);opacity:0;transform:translateX(-4px);transition:opacity .25s ease,transform .25s ease}
.home-v2 .pmh-tool:hover .pmh-go{opacity:1;transform:translateX(0)}
.home-v2 .pmh-tool .pmh-go svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5}
.home-v2 .pmh-tool.is-soon .pmh-go{color:#9aa3bd}

/* stagger reveal — plays once on mount, then settles */
.home-v2 .pmh-reveal{opacity:0;transform:translateY(18px) scale(.98);animation:pmh-fade-up .6s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes pmh-fade-up{to{opacity:1;transform:none}}

/* -- quick access (the 3 real tabs) -- */
.home-v2 .pmh-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.home-v2 .pmh-quick{grid-template-columns:1fr}}
.home-v2 .pmh-qcard{position:relative;overflow:hidden;border-radius:20px;padding:26px 22px;color:#fff;min-height:190px;
  display:flex;flex-direction:column;text-align:left;cursor:pointer;border:0;transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease}
.home-v2 .pmh-qcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.home-v2 .pmh-qcard .qbg{position:absolute;inset:0;z-index:0}
.home-v2 .pmh-qcard .qring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18);z-index:0}
.home-v2 .pmh-qcard .qic{position:relative;z-index:1;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);margin-bottom:16px;backdrop-filter:blur(4px)}
.home-v2 .pmh-qcard .qic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .pmh-qcard h3{position:relative;z-index:1;color:#fff;font-size:19px;margin-bottom:6px}
.home-v2 .pmh-qcard p{position:relative;z-index:1;color:rgba(255,255,255,.82);font-size:13px;line-height:1.5;margin-bottom:16px}
.home-v2 .pmh-qcard .qopen{position:relative;z-index:1;margin-top:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:800;color:#fff}
.home-v2 .pmh-qcard .qopen svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;transition:transform .25s ease}
.home-v2 .pmh-qcard:hover .qopen svg{transform:translateX(4px)}

/* -- trust grid -- */
.home-v2 .pmh-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:860px){.home-v2 .pmh-trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.home-v2 .pmh-trust{grid-template-columns:1fr}}
.home-v2 .pmh-tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:center;
  box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease}
.home-v2 .pmh-tcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .pmh-tcard .tic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;margin:0 auto 14px;color:#fff}
.home-v2 .pmh-tcard .tic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .pmh-tcard h4{font-size:15px;margin-bottom:6px}
.home-v2 .pmh-tcard p{font-size:12.5px;color:var(--muted);line-height:1.5}

/* -- closing CTA banner -- */
.home-v2 .pmh-banner{position:relative;overflow:hidden;border-radius:28px;padding:44px 28px;text-align:center;margin-top:56px;
  background:linear-gradient(135deg,#2f6bff,#4f46e5)}
.home-v2 .pmh-banner::before{content:"";position:absolute;inset:0;
  background:radial-gradient(420px circle at 15% 20%,rgba(255,255,255,.18),transparent 60%),radial-gradient(360px circle at 85% 85%,rgba(255,255,255,.14),transparent 60%)}
.home-v2 .pmh-banner-inner{position:relative;z-index:1}
.home-v2 .pmh-banner h2{color:#fff;font-size:clamp(22px,3vw,30px);margin-bottom:10px}
.home-v2 .pmh-banner p{color:rgba(255,255,255,.88);font-size:14.5px;margin-bottom:22px}
.home-v2 .pmh-banner .btn-ghost{background:#fff;border-color:#fff;color:var(--blue)}
.home-v2 .pmh-banner .btn-ghost:hover{background:#eef2ff}

@media(prefers-reduced-motion:reduce){
  .home-v2 .pmh-blob{animation:none}
  .home-v2 .pmh-eyebrow .dot,.home-v2 .pmh-ribbon.live .dot{animation:none}
  .home-v2 .pmh-reveal{opacity:1;transform:none;animation:none}
  .home-v2 .pmh-tool,.home-v2 .pmh-qcard,.home-v2 .pmh-tcard{transition:none}
}

/* ===== PM Hub Detail page (public, /pm-hub) ===== */

/* -- light dotted-grid hero -- */
.home-v2 .pmhd-hero{
  padding:64px 0 54px;text-align:center;
  background:radial-gradient(circle at 1px 1px,#d4dcf5 1.4px,transparent 0) 0 0/24px 24px,linear-gradient(180deg,#fbfcff,#f3f6ff)
}
.home-v2 .pmhd-hero h1{font-size:clamp(30px,4.6vw,50px);max-width:820px;margin:18px auto 16px}
.home-v2 .pmhd-hero p.lead{color:var(--slate);font-size:17px;max-width:640px;margin:0 auto 30px}
.home-v2 .pmhd-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:40px}
.home-v2 .pmhd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:640px;margin:0 auto}
.home-v2 .pmhd-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 14px;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.home-v2 .pmhd-stat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.home-v2 .pmhd-stat b{display:block;font-family:var(--font-sora);font-size:24px;font-weight:800;color:var(--ink)}
.home-v2 .pmhd-stat b.up{color:#16a34a}
.home-v2 .pmhd-stat span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
@media(max-width:680px){.home-v2 .pmhd-stats{grid-template-columns:1fr}}

/* -- "see it in action" showcase cards -- */
.home-v2 .pmhd-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:860px){.home-v2 .pmhd-showcase{grid-template-columns:1fr}}
.home-v2 .pmhd-case{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.home-v2 .pmhd-case:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .pmhd-case .cap{padding:16px 18px 18px}
.home-v2 .pmhd-case .cap b{display:block;font-size:14.5px;margin-bottom:4px}
.home-v2 .pmhd-case .cap span{font-size:12.5px;color:var(--muted);line-height:1.5}

/* -- mockup "browser" frame used inside showcase cards + detail media -- */
.home-v2 .pmhd-frame{position:relative;height:200px;overflow:hidden}
.home-v2 .pmhd-frame .bar{height:30px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#eef1fc;border-bottom:1px solid var(--line)}
.home-v2 .pmhd-frame .bar i{width:8px;height:8px;border-radius:50%;background:#d3daf1;display:block}
.home-v2 .pmhd-frame .stage{position:absolute;inset:30px 0 0;padding:14px}

/* -- benefits 2x2 -- */
.home-v2 .pmhd-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 28px}
@media(max-width:680px){.home-v2 .pmhd-benefits{grid-template-columns:1fr}}
.home-v2 .pmhd-benefit{display:flex;gap:16px;align-items:flex-start}
.home-v2 .pmhd-benefit .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;color:#fff;box-shadow:var(--shadow-sm)}
.home-v2 .pmhd-benefit .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .pmhd-benefit h4{font-size:16px;margin-bottom:5px}
.home-v2 .pmhd-benefit p{font-size:14px;color:var(--muted);line-height:1.55}

/* -- alternating detail rows reuse .banner/.banner-grid/.b-media/.b-copy/.b-list;
   .b-media.mock swaps the photo for a custom UI mockup (no <img>, no forced height via child selector) -- */
.home-v2 .b-media.mock{height:420px;background:linear-gradient(160deg,#f3f6ff,#eef1fc);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:28px}
@media(max-width:860px){.home-v2 .b-media.mock{height:320px;padding:18px}}
.home-v2 .pmhd-detail-eyebrow{color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:6px}

/* Rank predictor mockup (reuses the homepage hero-card visual language) */
.home-v2 .pmhd-predict-card{width:100%;max-width:300px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:18px}

/* College explorer mockup */
.home-v2 .pmhd-explorer-card{width:100%;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px}
.home-v2 .pmhd-chip-row{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.home-v2 .pmhd-chip{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg-soft);color:var(--slate);border:1px solid var(--line)}
.home-v2 .pmhd-chip.on{background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff;border-color:transparent}

/* Wiki article mockup */
.home-v2 .pmhd-wiki-card{width:100%;max-width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}
.home-v2 .pmhd-wiki-card .hd{height:70px;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.home-v2 .pmhd-wiki-card .bd{padding:16px}
.home-v2 .pmhd-skel{height:8px;border-radius:4px;background:var(--bg-soft);margin-bottom:8px}

/* Mentor chat mockup */
.home-v2 .pmhd-chat-card{width:100%;max-width:300px;display:flex;flex-direction:column;gap:8px}
.home-v2 .pmhd-bubble{max-width:82%;padding:10px 14px;border-radius:14px;font-size:12.5px;line-height:1.4;box-shadow:var(--shadow-sm)}
.home-v2 .pmhd-bubble.them{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.home-v2 .pmhd-bubble.me{align-self:flex-end;background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff;border-bottom-right-radius:4px}

/* -- data sources / channels split -- */
.home-v2 .pmhd-channels{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
@media(max-width:860px){.home-v2 .pmhd-channels{grid-template-columns:1fr}}
.home-v2 .pmhd-icongrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-v2 .pmhd-datacard{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.34,1.4,.4,1),box-shadow .3s ease}
.home-v2 .pmhd-datacard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .pmhd-datacard .thumb{position:relative;height:96px;overflow:hidden;background:var(--bg-soft)}
.home-v2 .pmhd-datacard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.home-v2 .pmhd-datacard:hover .thumb img{transform:scale(1.08)}
.home-v2 .pmhd-datacard .lbl{padding:10px 6px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink)}

/* -- 6-step process grid -- */
.home-v2 .pmhd-getstarted{background:
  radial-gradient(520px 200px at 6% 0%, rgba(47,107,255,.12), transparent 60%),
  radial-gradient(420px 180px at 96% 8%, rgba(124,58,237,.1), transparent 55%),
  #f7f8ff}
.home-v2 .pmhd-getstarted .section-head{position:relative}
.home-v2 .pmhd-rocket{position:absolute;right:0;top:4px;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(135deg,#2f6bff,#7c3aed);box-shadow:0 10px 22px rgba(47,107,255,.28);transform:rotate(28deg)}
.home-v2 .pmhd-rocket svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){.home-v2 .pmhd-rocket{display:none}}
.home-v2 .pmhd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px}
@media(max-width:860px){.home-v2 .pmhd-steps{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:520px){.home-v2 .pmhd-steps{grid-template-columns:1fr}}
.home-v2 .pmhd-stepcard{position:relative;text-align:center;padding:26px 20px 22px;background:linear-gradient(180deg,#f4f1ff,#fff);
  border:1px solid #d9d6f5;border-radius:20px;box-shadow:0 8px 24px rgba(47,70,160,.07);
  transition:transform .3s cubic-bezier(.34,1.4,.4,1),box-shadow .3s ease}
.home-v2 .pmhd-stepcard:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(47,70,160,.12)}
.home-v2 .pmhd-stepcard .n{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.04em;color:#fff;
  background:linear-gradient(135deg,#2f6bff,#7c3aed);box-shadow:0 8px 16px rgba(47,107,255,.3)}
.home-v2 .pmhd-stepcard .ic{width:52px;height:52px;border-radius:16px;margin:8px auto 14px;display:grid;place-items:center;
  color:#4f46e5;background:#ece8ff;border:1px solid #ddd6fe}
.home-v2 .pmhd-stepcard .ic svg{width:24px;height:24px}
.home-v2 .pmhd-stepcard h4{font-size:16px;margin:0 0 8px;color:var(--ink)}
.home-v2 .pmhd-stepcard p{font-size:13px;color:var(--muted);line-height:1.55;max-width:240px;margin:0 auto 14px}
.home-v2 .pmhd-stepcard .bar{display:block;width:42px;height:3px;margin:0 auto;border-radius:99px;
  background:linear-gradient(90deg,#2f6bff,#7c3aed)}
.home-v2 .pmhd-stepcard:nth-child(1)::after,
.home-v2 .pmhd-stepcard:nth-child(2)::after,
.home-v2 .pmhd-stepcard:nth-child(4)::after,
.home-v2 .pmhd-stepcard:nth-child(5)::after{
  content:"";position:absolute;top:50%;right:-26px;width:14px;height:14px;border-right:2.5px solid #7c8dff;border-top:2.5px solid #7c8dff;
  transform:translateY(-50%) rotate(45deg);pointer-events:none}
@media(max-width:860px){
  .home-v2 .pmhd-stepcard:nth-child(2)::after,
  .home-v2 .pmhd-stepcard:nth-child(4)::after{content:none}
  .home-v2 .pmhd-stepcard:nth-child(3)::after,
  .home-v2 .pmhd-stepcard:nth-child(5)::after{
    content:"";position:absolute;top:50%;right:-26px;width:14px;height:14px;border-right:2.5px solid #7c8dff;border-top:2.5px solid #7c8dff;
    transform:translateY(-50%) rotate(45deg);pointer-events:none}
}
@media(max-width:520px){
  .home-v2 .pmhd-stepcard::after{content:none !important}
}

/* -- small trust badges, loosely scattered -- */
.home-v2 .pmhd-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px}
.home-v2 .pmhd-badge{display:flex;flex-direction:column;align-items:center;gap:10px;width:132px;padding:16px 10px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.home-v2 .pmhd-badge:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.home-v2 .pmhd-badge .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff}
.home-v2 .pmhd-badge .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .pmhd-badge span{font-size:12px;font-weight:700;text-align:center;color:var(--ink);line-height:1.3}

/* -- FAQ accordion -- */
.home-v2 .pmhd-faq{max-width:800px;margin:0 auto}
.home-v2 .pmhd-faq-item{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.home-v2 .pmhd-faq-item.open{border-color:#c9d8fb;box-shadow:var(--shadow-sm)}
.home-v2 .pmhd-faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:17px 20px;background:none;border:0;cursor:pointer;font-size:15px;font-weight:700;color:var(--ink)}
.home-v2 .pmhd-faq-q svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2.5;stroke-linecap:round;flex-shrink:0;transition:transform .3s ease}
.home-v2 .pmhd-faq-item.open .pmhd-faq-q svg{transform:rotate(45deg);stroke:var(--blue)}
.home-v2 .pmhd-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.home-v2 .pmhd-faq-item.open .pmhd-faq-a{max-height:220px}
.home-v2 .pmhd-faq-a p{padding:0 20px 18px;font-size:14px;color:var(--slate);line-height:1.6}

@media(prefers-reduced-motion:reduce){
  .home-v2 .pmhd-stat,.home-v2 .pmhd-case,.home-v2 .pmhd-datacard,.home-v2 .pmhd-badge{transition:none}
  .home-v2 .pmhd-faq-a,.home-v2 .pmhd-faq-q svg{transition:none}
}

/* ===== scroll reveal + parallax (lib/scrollFx.ts) ===== */
.home-v2 .reveal{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.home-v2 .reveal.is-visible{opacity:1;transform:none}
.home-v2 .reveal-scale{opacity:0;transform:translateY(26px) scale(.94);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
.home-v2 .reveal-scale.is-visible{opacity:1;transform:none}
.home-v2 .reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.home-v2 .reveal-left.is-visible{opacity:1;transform:none}
.home-v2 .reveal-right{opacity:0;transform:translateX(36px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.home-v2 .reveal-right.is-visible{opacity:1;transform:none}
.home-v2 .parallax{transform:translateY(var(--py,0px))}
.home-v2 .parallax-x{transform:translateX(var(--py,0px))}

@media(prefers-reduced-motion:reduce){
  .home-v2 .reveal,.home-v2 .reveal-scale,.home-v2 .reveal-left,.home-v2 .reveal-right{opacity:1;transform:none!important;transition:none}
  .home-v2 .parallax,.home-v2 .parallax-x{transform:none!important}
}

/* ===== PM Hub detail page — real tool screenshots in a browser-chrome frame ===== */
.home-v2 .pmhd-shot{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;
  transition:transform .35s cubic-bezier(.34,1.15,.4,1),box-shadow .35s ease}
.home-v2 .pmhd-shot:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(16,28,63,.18)}
.home-v2 .pmhd-shot .bar{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#f3f5fb;border-bottom:1px solid var(--line)}
.home-v2 .pmhd-shot .bar i{width:8px;height:8px;border-radius:50%;background:#d3daf1;display:block}
.home-v2 .pmhd-shot img{width:100%;height:auto;display:block}

/* section-tinted decorative shapes sit behind the .wrap content (z-index via .shapes already =1, .wrap =2) */
.home-v2 .pmhd-section-tint{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none}

@media(prefers-reduced-motion:reduce){
  .home-v2 .pmhd-shot{transition:none}
}

/* -- staggered grid reveal: the grid container gets `.is-visible` from
   useReveal; children are hidden by default and cascade in via nth-child
   delays once the parent flips -- */
.home-v2 .pmhd-showcase .pmhd-case,
.home-v2 .pmhd-benefits .pmhd-benefit,
.home-v2 .pmhd-icongrid .pmhd-datacard,
.home-v2 .pmhd-steps .pmhd-stepcard,
.home-v2 .pmhd-badges .pmhd-badge{
  opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)
}
.home-v2 .pmhd-showcase.is-visible .pmhd-case,
.home-v2 .pmhd-benefits.is-visible .pmhd-benefit,
.home-v2 .pmhd-icongrid.is-visible .pmhd-datacard,
.home-v2 .pmhd-steps.is-visible .pmhd-stepcard,
.home-v2 .pmhd-badges.is-visible .pmhd-badge,
.home-v2 .pmhd-module-grid.is-visible .pmhd-module-card{
  opacity:1;transform:none
}
.home-v2 .pmhd-showcase .pmhd-case:nth-child(1),.home-v2 .pmhd-benefits .pmhd-benefit:nth-child(1),.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(1),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(1),.home-v2 .pmhd-badges .pmhd-badge:nth-child(1),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(1){transition-delay:0s}
.home-v2 .pmhd-showcase .pmhd-case:nth-child(2),.home-v2 .pmhd-benefits .pmhd-benefit:nth-child(2),.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(2),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(2),.home-v2 .pmhd-badges .pmhd-badge:nth-child(2),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(2){transition-delay:.08s}
.home-v2 .pmhd-showcase .pmhd-case:nth-child(3),.home-v2 .pmhd-benefits .pmhd-benefit:nth-child(3),.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(3),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(3),.home-v2 .pmhd-badges .pmhd-badge:nth-child(3),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(3){transition-delay:.16s}
.home-v2 .pmhd-benefits .pmhd-benefit:nth-child(4),.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(4),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(4),.home-v2 .pmhd-badges .pmhd-badge:nth-child(4),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(4){transition-delay:.24s}
.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(5),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(5),.home-v2 .pmhd-badges .pmhd-badge:nth-child(5),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(5){transition-delay:.32s}
.home-v2 .pmhd-icongrid .pmhd-datacard:nth-child(6),.home-v2 .pmhd-steps .pmhd-stepcard:nth-child(6),.home-v2 .pmhd-badges .pmhd-badge:nth-child(6),.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(6){transition-delay:.4s}
.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(7){transition-delay:.48s}
.home-v2 .pmhd-module-grid .pmhd-module-card:nth-child(8){transition-delay:.56s}

@media(prefers-reduced-motion:reduce){
  .home-v2 .pmhd-showcase .pmhd-case,
  .home-v2 .pmhd-benefits .pmhd-benefit,
  .home-v2 .pmhd-icongrid .pmhd-datacard,
  .home-v2 .pmhd-steps .pmhd-stepcard,
  .home-v2 .pmhd-badges .pmhd-badge,
  .home-v2 .pmhd-module-grid .pmhd-module-card{opacity:1;transform:none;transition:none}
}

/* ===== PM Hub — college-profile module cards (Cut-offs, Fees, Courses…) ===== */
.home-v2 .pmhd-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:860px){.home-v2 .pmhd-module-grid{grid-template-columns:1fr}}
.home-v2 .pmhd-module-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease}
.home-v2 .pmhd-module-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.home-v2 .pmhd-module-card .thumb{height:160px;overflow:hidden}
.home-v2 .pmhd-module-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.home-v2 .pmhd-module-card:hover .thumb img{transform:scale(1.06)}
.home-v2 .pmhd-module-card .body{padding:22px 24px 26px}
.home-v2 .pmhd-module-card .eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;display:block}
.home-v2 .pmhd-module-card h4{font-size:19px;margin-bottom:8px}
.home-v2 .pmhd-module-card p{font-size:14px;color:var(--slate);line-height:1.6;margin-bottom:14px}
.home-v2 .pmhd-module-card ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.home-v2 .pmhd-module-card ul li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--slate)}
.home-v2 .pmhd-module-card ul li .chk{width:18px;height:18px;border-radius:6px;background:#e1f1f7;color:var(--green);display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.home-v2 .pmhd-module-card ul li .chk svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* ===== PM Hub — full-bleed background-photo hero, centered copy,
   overlapping row of tool tiles (page-scoped) ===== */
.home-v2 .pmhd-hero-photo{position:relative;overflow:hidden;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.home-v2 .pmhd-hero-photo .parallax{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
.home-v2 .pmhd-hero-photo > img,
.home-v2 .pmhd-hero-photo .parallax img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%;z-index:0}
.home-v2 .pmhd-hero-photo::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(16,28,63,.8) 0%,rgba(16,28,63,.58) 45%,rgba(16,28,63,.85) 100%)}
.home-v2 .pmhd-hero-photo-inner{position:relative;z-index:2;text-align:center;max-width:760px;padding:64px 20px 0}
.home-v2 .pmhd-hero-photo-inner .eyebrow{color:#8fb4ff}
.home-v2 .pmhd-hero-photo-inner h1{color:#fff;font-size:clamp(30px,4.6vw,50px);margin:16px 0 16px;font-weight:800}
.home-v2 .pmhd-hero-photo-inner h1 .accent{color:#7dd3fc}
.home-v2 .pmhd-hero-photo-inner p.lead{color:#dbe3f7;font-size:16px;max-width:560px;margin:0 auto 30px}
.home-v2 .pmhd-hero-photo-inner .hero-actions{justify-content:center;margin-bottom:0}
.home-v2 .pmhd-hero-photo-inner .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.home-v2 .pmhd-hero-photo-inner .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}

@media(max-width:680px){.home-v2 .pmhd-hero-photo{min-height:460px}}

/* ===== AI Tools detail page (public, /ai-tools) — learnwise-inspired ===== */

/* -- split hero: dark neural lab + live inference chrome -- */
.home-v2 .aitd-hero{
  padding:72px 0 84px;color:#e8eefc;
  background:#070b1c;
  --hx:50%;--hy:38%;
}
.home-v2 .aitd-hero::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(520px 520px at var(--hx) var(--hy),rgba(125,211,252,.22),transparent 62%)
}
.home-v2 .aitd-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;margin-bottom:44px}
@media(max-width:860px){.home-v2 .aitd-hero-grid{grid-template-columns:1fr;gap:22px}}
.home-v2 .aitd-page h1,.home-v2 .aitd-page h2,.home-v2 .aitd-page h3{
  line-height:1.22;overflow:visible;padding-bottom:.08em}
.home-v2 .aitd-page .b-copy h2{padding-bottom:.12em}
.home-v2 .aitd-hero-grid h1{font-size:clamp(30px,4.4vw,48px);margin-top:16px;color:#f4f7ff}
.home-v2 .aitd-hero-grid h1 .grad{
  background:linear-gradient(90deg,#7dd3fc,#a78bfa,#f0abfc,#7dd3fc);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:dbx-gradtext 7s linear infinite;padding-bottom:.1em;display:inline}
.home-v2 .aitd-hero-side p{color:#b7c3ea;font-size:16.5px;margin-bottom:22px;max-width:440px}
.home-v2 .aitd-hero-side .hero-actions{margin-bottom:0}
.home-v2 .aitd-hero .btn-ghost{background:transparent;border-color:rgba(255,255,255,.42);color:#fff;-webkit-text-fill-color:#fff}
.home-v2 .aitd-hero .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;-webkit-text-fill-color:#fff}
.home-v2 .aitd-hero a.btn.btn-primary,.home-v2 .aitd-hero .btn-primary{color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 10px 32px rgba(47,107,255,.45),0 0 0 1px rgba(125,211,252,.25)}

/* neural atmosphere */
.home-v2 .aitd-ai-atm{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.home-v2 .aitd-ai-aurora{position:absolute;border-radius:50%;filter:blur(48px);opacity:.72;
  animation:dbx-blob 16s ease-in-out infinite}
.home-v2 .aitd-ai-aurora-a{width:420px;height:360px;top:-80px;left:-60px;background:#4f46e5}
.home-v2 .aitd-ai-aurora-b{width:380px;height:320px;top:10%;right:-90px;background:#db2777;animation-delay:-5s}
.home-v2 .aitd-ai-aurora-c{width:340px;height:280px;bottom:-40px;left:28%;background:#0ea5e9;animation-delay:-9s}
.home-v2 .aitd-ai-grid{position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(125,211,252,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,211,252,.07) 1px,transparent 1px);
  background-size:48px 48px;mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
.home-v2 .aitd-ai-net{position:absolute;inset:0;width:100%;height:100%;opacity:.95}
.home-v2 .aitd-ai-link{stroke-width:1.35;fill:none;stroke-dasharray:8 14;animation:aitd-flow 5.5s linear infinite}
.home-v2 .aitd-ai-node{fill:#7dd3fc;opacity:.7;animation:aitd-node 2.8s ease-in-out infinite}
@keyframes aitd-flow{to{stroke-dashoffset:-120}}
@keyframes aitd-node{0%,100%{opacity:.35}50%{opacity:1}}
.home-v2 .aitd-ai-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#7dd3fc;
  box-shadow:0 0 10px #7dd3fc;animation:aitd-twinkle 2.4s ease-in-out infinite}
.home-v2 .aitd-ai-spark-0{top:12%;left:8%}.home-v2 .aitd-ai-spark-1{top:22%;left:18%;animation-delay:.3s;background:#a78bfa;box-shadow:0 0 10px #a78bfa}
.home-v2 .aitd-ai-spark-2{top:18%;right:14%}.home-v2 .aitd-ai-spark-3{top:38%;right:8%;animation-delay:.6s}
.home-v2 .aitd-ai-spark-4{bottom:22%;left:12%;animation-delay:.9s;background:#f0abfc;box-shadow:0 0 10px #f0abfc}
.home-v2 .aitd-ai-spark-5{bottom:16%;right:18%}.home-v2 .aitd-ai-spark-6{top:48%;left:42%;animation-delay:1.1s}
.home-v2 .aitd-ai-spark-7{top:8%;left:52%;animation-delay:.4s}.home-v2 .aitd-ai-spark-8{bottom:28%;right:36%;animation-delay:.8s}
.home-v2 .aitd-ai-spark-9{top:62%;left:6%;animation-delay:1.4s}.home-v2 .aitd-ai-spark-10{top:30%;left:72%;animation-delay:.2s}
.home-v2 .aitd-ai-spark-11{bottom:12%;left:48%;animation-delay:1.6s;background:#a78bfa;box-shadow:0 0 10px #a78bfa}
.home-v2 .aitd-ai-spark-12{top:70%;right:10%;animation-delay:.7s}.home-v2 .aitd-ai-spark-13{top:14%;right:28%;animation-delay:1.2s}
@keyframes aitd-twinkle{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}

.home-v2 .aitd-live-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#c4d4ff;background:rgba(255,255,255,.06);border:1px solid rgba(125,211,252,.28);
  box-shadow:0 0 0 1px rgba(167,139,250,.12),0 8px 24px rgba(15,23,60,.28)}
.home-v2 .aitd-core{position:relative;width:18px;height:18px;flex-shrink:0}
.home-v2 .aitd-core i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(125,211,252,.45);
  animation:aitd-rings 2.4s ease-out infinite}
.home-v2 .aitd-core i:nth-child(1){inset:5px;background:#7dd3fc;border:0;box-shadow:0 0 10px #7dd3fc;animation:aitd-core-dot 1.6s ease-in-out infinite}
.home-v2 .aitd-core i:nth-child(2){animation-delay:.4s}
.home-v2 .aitd-core i:nth-child(3){animation-delay:.9s}
@keyframes aitd-rings{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.45);opacity:0}}
@keyframes aitd-core-dot{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.15);opacity:1}}

.home-v2 .aitd-heroshot{position:relative;background:rgba(12,16,36,.72);border:1px solid rgba(165,180,252,.28);border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(125,211,252,.12),0 0 80px rgba(79,70,229,.28);overflow:hidden;
  backdrop-filter:blur(10px)}
.home-v2 .aitd-heroshot::after{content:"";position:absolute;left:0;right:0;height:38%;top:-38%;
  background:linear-gradient(180deg,transparent,rgba(125,211,252,.14),transparent);
  animation:aitd-scan 4.8s ease-in-out infinite;pointer-events:none;z-index:3}
@keyframes aitd-scan{0%{top:-38%}100%{top:108%}}
.home-v2 .aitd-stream{display:flex;align-items:center;gap:10px;padding:11px 16px;min-height:42px;
  background:linear-gradient(90deg,rgba(15,23,60,.92),rgba(49,22,78,.78));
  border-top:1px solid rgba(165,180,252,.22);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.home-v2 .aitd-stream-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;
  animation:aitd-core-dot 1.4s ease-in-out infinite;flex-shrink:0}
.home-v2 .aitd-stream-text{font-size:12px;color:#d7e4ff;letter-spacing:.01em;
  animation:aitd-fadein .45s ease}
.home-v2 .aitd-stream-cursor{width:7px;height:14px;background:#7dd3fc;border-radius:1px;
  animation:aitd-caret 1s steps(1) infinite}
@keyframes aitd-fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes aitd-caret{0%,45%{opacity:1}50%,100%{opacity:0}}

.home-v2 .aitd-tool-eye{display:inline-flex;align-items:center;gap:8px}
.home-v2 .aitd-tool-eye::before{content:"";width:7px;height:7px;border-radius:50%;background:#2f6bff;
  box-shadow:0 0 8px #2f6bff;animation:aitd-core-dot 1.6s ease-in-out infinite}

@media(prefers-reduced-motion:reduce){
  .home-v2 .aitd-ai-aurora,.home-v2 .aitd-ai-link,.home-v2 .aitd-ai-node,.home-v2 .aitd-ai-spark,
  .home-v2 .aitd-core i,.home-v2 .aitd-stream-dot,.home-v2 .aitd-stream-cursor,.home-v2 .aitd-heroshot::after,
  .home-v2 .aitd-hero-grid h1 .grad,.home-v2 .aitd-tool-eye::before,.home-v2 .aitd-stream-text{animation:none}
  .home-v2 .aitd-ai-node,.home-v2 .aitd-ai-spark{opacity:.6}
}

/* -- big browser-framed dashboard mockup -- */
.home-v2 .aitd-heroshot .bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 14px;background:rgba(8,12,32,.85);border-bottom:1px solid rgba(165,180,252,.18)}
.home-v2 .aitd-heroshot .bar i{width:9px;height:9px;border-radius:50%;background:#d3daf1;display:block}
.home-v2 .aitd-heroshot .bar i:nth-child(1){background:#f87171}
.home-v2 .aitd-heroshot .bar i:nth-child(2){background:#fbbf24}
.home-v2 .aitd-heroshot .bar i:nth-child(3){background:#34d399}
.home-v2 .aitd-heroshot .bar span{margin-left:10px;font-size:11.5px;color:#9db0e8;background:rgba(255,255,255,.06);border:1px solid rgba(165,180,252,.22);border-radius:7px;padding:2px 12px}
.home-v2 .aitd-dash{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;padding:20px;background:linear-gradient(160deg,#12182f,#1a2150)}
@media(max-width:860px){.home-v2 .aitd-dash{grid-template-columns:1fr 1fr}.home-v2 .aitd-dash-seats{grid-column:1/-1}}
@media(max-width:560px){.home-v2 .aitd-dash{grid-template-columns:1fr}}
.home-v2 .aitd-dash-card{background:rgba(255,255,255,.96);border:1px solid rgba(165,180,252,.28);border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.home-v2 .aitd-dash-score{display:flex;align-items:center;gap:14px}
.home-v2 .aitd-dash-score>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.home-v2 .aitd-dash-score b{font-size:13.5px;line-height:1.3;font-family:var(--font-sora)}
.home-v2 .aitd-dash-score span{font-size:11px;color:var(--muted)}
.home-v2 .aitd-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-v2 .aitd-dash-mini{background:rgba(255,255,255,.96);border:1px solid rgba(165,180,252,.28);border-radius:12px;padding:11px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:2px}
.home-v2 .aitd-dash-mini b{font-size:11.5px;font-family:var(--font-sora);color:var(--ink)}
.home-v2 .aitd-dash-mini span{font-size:10px;color:var(--muted);line-height:1.4}
.home-v2 .aitd-dash-seats{display:flex;flex-direction:column;gap:10px}
.home-v2 .aitd-dash-seats>b{font-size:12px;font-family:var(--font-sora)}
.home-v2 .aitd-dash-seats .row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.home-v2 .aitd-dash-seats .row span{font-size:10.5px;color:var(--slate);font-weight:600}
.home-v2 .aitd-dash-seats .row em{font-style:normal;font-size:11px;font-weight:800;color:var(--ink)}
.home-v2 .aitd-dash-seats .row i{grid-column:1/-1;height:7px;border-radius:99px;background:linear-gradient(90deg,#2f6bff,#4f46e5);display:block}
.home-v2 .aitd-dash-seats .foot{font-size:9.5px;color:var(--muted);margin-top:auto;padding-top:4px}

/* -- three-blurb row (image cards) -- */
.home-v2 .aitd-blurbs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:820px){.home-v2 .aitd-blurbs{grid-template-columns:1fr}}
.home-v2 .aitd-blurb{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease}
.home-v2 .aitd-blurb:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.home-v2 .aitd-blurb .thumb{height:136px;overflow:hidden}
.home-v2 .aitd-blurb .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.home-v2 .aitd-blurb:hover .thumb img{transform:scale(1.06)}
.home-v2 .aitd-blurb .body{padding:0 20px 20px}
.home-v2 .aitd-blurb .ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin:-22px 0 10px;position:relative;z-index:2;
  background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff;border:3px solid #fff;box-shadow:0 8px 18px rgba(47,107,255,.3)}
.home-v2 .aitd-blurb .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .aitd-blurb b{display:block;font-family:var(--font-sora);font-size:16.5px;margin-bottom:6px;color:var(--ink)}
.home-v2 .aitd-blurb p{font-size:14px;color:var(--muted);line-height:1.6}

/* -- tool mockup card shared by the three deep-dives -- */
.home-v2 .aitd-toolcard{width:100%;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:18px;position:relative;overflow:hidden}
.home-v2 .aitd-toolcard::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(47,107,255,.12) 50%,transparent 65%);
  background-size:220% 100%;animation:dbx-sheen 6.5s ease-in-out infinite}
.home-v2 .aitd-toolcard .lbl,.home-v2 .aitd-scene-card .lbl{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:2px}
.home-v2 .aitd-toolcard .big,.home-v2 .aitd-scene-card .big{font-family:var(--font-sora);font-size:26px;font-weight:800;color:var(--ink);margin-bottom:12px}
.home-v2 .aitd-toolcard .big em,.home-v2 .aitd-scene-card .big em{font-style:normal;font-size:14px;color:var(--muted);font-weight:700}
.home-v2 .aitd-college-list{display:flex;flex-direction:column;gap:8px}
.home-v2 .aitd-college-list .row{display:flex;align-items:center;gap:9px;background:var(--offwhite);border:1px solid var(--line);border-radius:11px;padding:9px 11px}
.home-v2 .aitd-college-list .dot{width:24px;height:24px;border-radius:8px;flex-shrink:0}
.home-v2 .aitd-college-list .txt{min-width:0;flex:1}
.home-v2 .aitd-college-list .txt b{display:block;font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-v2 .aitd-college-list .txt span{font-size:10px;color:var(--muted)}
.home-v2 .aitd-college-list .val{font-family:var(--font-sora);font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
.home-v2 .aitd-safety-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}
.home-v2 .aitd-budget-bars{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.home-v2 .aitd-budget-bars .top{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}
.home-v2 .aitd-budget-bars .top b{font-size:12px;color:var(--ink)}
.home-v2 .aitd-budget-bars .top span{font-size:11px;font-weight:700;color:var(--slate)}
.home-v2 .aitd-budget-bars .track{height:8px;border-radius:99px;background:var(--bg-tint);overflow:hidden}
.home-v2 .aitd-budget-bars .track i{display:block;height:100%;border-radius:99px}
.home-v2 .aitd-flag{font-size:11px;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:9px;padding:7px 10px}
.home-v2 .aitd-flag.ok{color:#0e6f86;background:#e1f1f7;border-color:#b9dfeb}

/* ===== AI Tools photo frames + deep-dive scenes ===== */
.home-v2 .b-media.mock.aitd-pic-frame{
  height:460px;padding:0;display:flex;align-items:stretch;justify-content:stretch;
  background:#070b1c;border:1px solid rgba(165,180,252,.35)}
@media(max-width:860px){.home-v2 .b-media.mock.aitd-pic-frame{height:400px}}
.home-v2 .aitd-picfx{position:relative;width:100%;height:100%;flex:1;min-height:0;overflow:hidden;border-radius:inherit}
.home-v2 .b-media.mock.aitd-pic-frame img,.home-v2 .aitd-picfx>img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;
  transform:scale(1.12);animation:aitd-ken 18s ease-in-out infinite alternate}
@keyframes aitd-ken{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.2) translate(-3%,1.5%)}}

.home-v2 .aitd-picfx-atm{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,11,28,.18) 0%,rgba(7,11,28,.08) 38%,rgba(7,11,28,.55) 100%)}
.home-v2 .aitd-picfx-teal .aitd-picfx-atm{background:linear-gradient(180deg,rgba(6,40,48,.2),rgba(6,40,48,.08) 40%,rgba(6,40,48,.55) 100%)}
.home-v2 .aitd-picfx-gold .aitd-picfx-atm{background:linear-gradient(180deg,rgba(40,22,6,.18),rgba(20,14,8,.08) 40%,rgba(20,14,8,.55) 100%)}
.home-v2 .aitd-picfx-sky .aitd-picfx-atm{background:linear-gradient(180deg,rgba(8,20,48,.18),rgba(8,20,48,.08) 40%,rgba(8,20,48,.55) 100%)}

.home-v2 .aitd-picfx-net{position:absolute;inset:0;width:100%;height:58%;opacity:1}
.home-v2 .aitd-picfx-net .lnk{stroke:#7dd3fc;stroke-width:1.4;fill:none;stroke-dasharray:7 10;opacity:.95;animation:aitd-flow 4.2s linear infinite;filter:drop-shadow(0 0 3px #7dd3fc)}
.home-v2 .aitd-picfx-net .nd{fill:#e0f2fe;opacity:1;animation:aitd-node 2.2s ease-in-out infinite;filter:drop-shadow(0 0 5px #7dd3fc)}
.home-v2 .aitd-picfx-atm .grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(125,211,252,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.32) 1px,transparent 1px);
  background-size:26px 26px;mask-image:radial-gradient(ellipse at 50% 28%,#000 12%,transparent 70%);opacity:.95}
.home-v2 .aitd-picfx-atm .beam{position:absolute;left:0;right:0;height:3px;top:-8%;
  background:#7dd3fc;box-shadow:0 0 16px 4px rgba(125,211,252,.7),0 24px 60px rgba(125,211,252,.28);
  animation:aitd-scan 2.8s linear infinite}
.home-v2 .aitd-picfx-atm .vbeam{position:absolute;top:0;bottom:0;width:2px;left:-8%;
  background:#a78bfa;box-shadow:0 0 14px 4px rgba(167,139,250,.55);animation:aitd-vscan 4.6s linear infinite}
@keyframes aitd-vscan{0%{left:-22%}100%{left:108%}}
.home-v2 .aitd-picfx-atm .radar{position:absolute;width:160px;height:160px;right:6%;top:8%;border-radius:50%;
  border:1px solid rgba(125,211,252,.35);box-shadow:0 0 0 8px rgba(125,211,252,.06),inset 0 0 24px rgba(125,211,252,.12);
  animation:aitd-radar 4s linear infinite}
.home-v2 .aitd-picfx-atm .radar::after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px dashed rgba(167,139,250,.45);
  animation:aitd-radar 6s linear infinite reverse}
@keyframes aitd-radar{to{transform:rotate(360deg)}}

.home-v2 .aitd-picfx-atm .spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#7dd3fc;box-shadow:0 0 14px #7dd3fc;
  animation:aitd-twinkle 2s ease-in-out infinite}
.home-v2 .aitd-picfx-atm .s0{top:12%;left:8%}.home-v2 .aitd-picfx-atm .s1{top:20%;right:10%;animation-delay:.3s;background:#a78bfa;box-shadow:0 0 14px #a78bfa}
.home-v2 .aitd-picfx-atm .s2{bottom:38%;left:12%;animation-delay:.7s}.home-v2 .aitd-picfx-atm .s3{top:38%;right:7%;animation-delay:.5s}
.home-v2 .aitd-picfx-atm .s4{bottom:32%;right:16%;animation-delay:1s;background:#f0abfc;box-shadow:0 0 14px #f0abfc}
.home-v2 .aitd-picfx-atm .s5{top:8%;left:46%;animation-delay:.2s}.home-v2 .aitd-picfx-atm .s6{bottom:42%;left:6%;animation-delay:1.2s}
.home-v2 .aitd-picfx-atm .s7{top:52%;right:14%;animation-delay:.9s}

.home-v2 .aitd-picfx-atm .bracket{position:absolute;width:22px;height:22px;border-color:#7dd3fc;border-style:solid;opacity:.9;
  animation:aitd-bracket 2.8s ease-in-out infinite}
.home-v2 .aitd-picfx-atm .bracket.tl{top:12px;left:12px;border-width:2px 0 0 2px}
.home-v2 .aitd-picfx-atm .bracket.tr{top:12px;right:12px;border-width:2px 2px 0 0}
.home-v2 .aitd-picfx-atm .bracket.bl{bottom:12px;left:12px;border-width:0 0 2px 2px}
.home-v2 .aitd-picfx-atm .bracket.br{bottom:12px;right:12px;border-width:0 2px 2px 0}
@keyframes aitd-bracket{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

.home-v2 .aitd-hudchip{position:absolute;z-index:3;display:flex;flex-direction:column;gap:1px;padding:7px 10px;
  background:rgba(8,12,32,.72);border:1px solid rgba(125,211,252,.4);border-radius:10px;backdrop-filter:blur(8px);
  box-shadow:0 8px 20px rgba(0,0,0,.28);animation:aitd-chipfloat 5s ease-in-out infinite}
.home-v2 .aitd-hudchip b{font-size:9px;font-weight:800;letter-spacing:.1em;color:#7dd3fc}
.home-v2 .aitd-hudchip em{font-style:normal;font-size:11.5px;font-weight:700;color:#f4f7ff;white-space:nowrap}
.home-v2 .aitd-hudchip.tl{top:18px;left:18px}.home-v2 .aitd-hudchip.tr{top:18px;right:18px;animation-delay:-1.2s}
.home-v2 .aitd-hudchip.ml{top:28%;left:14px;animation-delay:-2.1s}.home-v2 .aitd-hudchip.mr{top:28%;right:14px;animation-delay:-3s}
@keyframes aitd-chipfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.home-v2 .aitd-coins{position:absolute;inset:0;overflow:hidden;z-index:2}
.home-v2 .aitd-coins .coin{position:absolute;top:-24px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;font-weight:800;color:#92400e;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b 70%);
  box-shadow:0 2px 6px rgba(120,70,0,.28);animation:aitd-coin 2.8s linear infinite}
.home-v2 .aitd-coins .c0{left:12%;animation-delay:0s}.home-v2 .aitd-coins .c1{left:28%;animation-delay:.35s}
.home-v2 .aitd-coins .c2{left:46%;animation-delay:.15s}.home-v2 .aitd-coins .c3{left:62%;animation-delay:.55s}
.home-v2 .aitd-coins .c4{left:78%;animation-delay:.25s}.home-v2 .aitd-coins .c5{left:20%;animation-delay:.7s}
.home-v2 .aitd-coins .c6{left:70%;animation-delay:.9s}
@keyframes aitd-coin{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translateY(460px) rotate(220deg);opacity:0}}

.home-v2 .aitd-picfx-stage{position:absolute;left:12px;right:12px;bottom:12px;top:auto;z-index:4;
  display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.home-v2 .aitd-scene{width:100%;display:flex;justify-content:center;pointer-events:none}
.home-v2 .aitd-scene:not(.is-run) .aitd-reel-strip,
.home-v2 .aitd-scene:not(.is-run) .aitd-burst .p,
.home-v2 .aitd-scene:not(.is-run) .aitd-matched,
.home-v2 .aitd-scene:not(.is-run) .aitd-scene-rows .row,
.home-v2 .aitd-scene:not(.is-run) .aitd-shield .tick,
.home-v2 .aitd-scene:not(.is-run) .aitd-shield .scan,
.home-v2 .aitd-scene:not(.is-run) .aitd-safe-score .ring,
.home-v2 .aitd-scene:not(.is-run) .aitd-scene-bars .track i,
.home-v2 .aitd-scene:not(.is-run) .aitd-flag,
.home-v2 .aitd-scene:not(.is-run) .aitd-scene-bars .r3.stretch,
.home-v2 .aitd-scene:not(.is-run) .aitd-rupee-float,
.home-v2 .aitd-scene:not(.is-run) .aitd-score-curve .run,
.home-v2 .aitd-scene:not(.is-run) .aitd-score-curve .dot,
.home-v2 .aitd-scene:not(.is-run) .aitd-odo-unit,
.home-v2 .aitd-scene:not(.is-run) .aitd-score-odo,
.home-v2 .aitd-scene:not(.is-run) .aitd-val-odo{animation:none!important}
.home-v2 .aitd-scene:not(.is-run) .aitd-matched,
.home-v2 .aitd-scene:not(.is-run) .aitd-scene-rows .row,
.home-v2 .aitd-scene:not(.is-run) .aitd-flag,
.home-v2 .aitd-scene:not(.is-run) .aitd-odo-unit,
.home-v2 .aitd-scene:not(.is-run) .aitd-score-curve .dot{opacity:0}
.home-v2 .aitd-scene:not(.is-run) .aitd-reel-strip{transform:none}
.home-v2 .aitd-scene:not(.is-run) .aitd-scene-bars .track i{width:0}
.home-v2 .aitd-scene:not(.is-run) .aitd-score-curve .run{stroke-dashoffset:100}
.home-v2 .aitd-scene:not(.is-run) .aitd-safe-score .ring{stroke-dashoffset:176}
.home-v2 .aitd-scene:not(.is-run) .aitd-shield .tick{stroke-dashoffset:40}
.home-v2 .aitd-scene-card{position:relative;width:100%;max-width:100%;background:rgba(255,255,255,.94);border:1px solid rgba(165,180,252,.45);
  border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.38);padding:12px 14px 11px;overflow:hidden;backdrop-filter:blur(10px);pointer-events:auto}
.home-v2 .aitd-sc-chip{font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:4px 9px;border-radius:999px;white-space:nowrap;line-height:1.3}
.home-v2 .aitd-scene-live{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;color:#4a5578;
  background:#eef2ff;border:1px solid #dbe3ff;border-radius:8px;padding:6px 9px;margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.35}
.home-v2 .aitd-scene-live i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;flex-shrink:0;
  animation:aitd-core-dot 1.4s ease-in-out infinite}
.home-v2 .aitd-sc-chip.safe{background:#e1f1f7;color:#0e8aa8}
.home-v2 .aitd-sc-chip.mod{background:#e6eefe;color:#2552d6}
.home-v2 .aitd-sc-chip.reach,.home-v2 .aitd-sc-chip.risk{background:#fee2e2;color:#dc2626}
.home-v2 .aitd-scene-card .lbl{margin-bottom:0}
.home-v2 .aitd-scene-card .big{font-size:22px;margin-bottom:6px}
.home-v2 .aitd-college-list{gap:6px}
.home-v2 .aitd-college-list .row{padding:7px 9px}
.home-v2 .aitd-budget-bars{gap:8px;margin-bottom:8px}

.home-v2 .aitd-odometer{display:flex;align-items:center;gap:2px;font-family:var(--font-sora);font-weight:800;font-size:28px;line-height:1.08;
  color:var(--ink);margin:2px 0 6px;font-variant-numeric:tabular-nums}
.home-v2 .aitd-odometer-sep{margin:0 1px;opacity:.55;line-height:1.08}
.home-v2 .aitd-reel{--rh:1.1em;display:inline-flex;align-items:flex-start;justify-content:center;flex:none;
  height:var(--rh);width:.86em;overflow:hidden;text-align:center}
.home-v2 .aitd-reel-strip{display:flex;flex-direction:column;width:100%;animation:aitd-reel 1.15s cubic-bezier(.15,.85,.2,1) both;animation-delay:var(--d,0s)}
.home-v2 .aitd-reel-strip b{display:flex;align-items:center;justify-content:center;height:var(--rh);line-height:var(--rh);
  font-weight:800;font-variant-numeric:tabular-nums}
@keyframes aitd-reel{from{transform:translateY(0)}to{transform:translateY(calc((10 + var(--n,0)) * -1 * var(--rh,1.1em)))}}
.home-v2 .aitd-burst{position:absolute;left:50%;top:64px;width:0;height:0;z-index:4;pointer-events:none}
.home-v2 .aitd-burst .p{position:absolute;width:7px;height:7px;border-radius:2px;opacity:0;animation:aitd-burst 1.1s ease-out 1.85s both}
.home-v2 .aitd-burst .p0{background:#2f6bff;--dx:-42px;--dy:-36px}.home-v2 .aitd-burst .p1{background:#f59e0b;--dx:38px;--dy:-40px;animation-delay:1.9s}
.home-v2 .aitd-burst .p2{background:#34d399;--dx:-8px;--dy:-52px;border-radius:50%}.home-v2 .aitd-burst .p3{background:#a78bfa;--dx:48px;--dy:-12px}
.home-v2 .aitd-burst .p4{background:#f0abfc;--dx:-50px;--dy:-8px}.home-v2 .aitd-burst .p5{background:#7dd3fc;--dx:22px;--dy:-48px}
.home-v2 .aitd-burst .p6{background:#f43f5e;--dx:-28px;--dy:-46px}.home-v2 .aitd-burst .p7{background:#2f6bff;--dx:54px;--dy:-28px}
.home-v2 .aitd-burst .p8{background:#fbbf24;--dx:-54px;--dy:-24px;border-radius:50%}.home-v2 .aitd-burst .p9{background:#4f46e5;--dx:10px;--dy:-58px}
.home-v2 .aitd-burst .p10{background:#14b8a6;--dx:40px;--dy:-6px}.home-v2 .aitd-burst .p11{background:#fb7185;--dx:-18px;--dy:-20px}
@keyframes aitd-burst{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(220deg) scale(1)}}
.home-v2 .aitd-matched{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#0e6f86;background:#e1f1f7;
  border:1px solid #b9dfeb;border-radius:999px;padding:4px 9px;margin-bottom:8px;opacity:0;transform:scale(.86);
  animation:aitd-pop .45s cubic-bezier(.34,1.4,.4,1) 1.9s forwards}
.home-v2 .aitd-matched svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes aitd-pop{to{opacity:1;transform:none}}
.home-v2 .aitd-scene-rows .row{opacity:0;transform:translateY(10px)}
.home-v2 .aitd-scene-rows .r1{animation:aitd-pop .4s ease 2.15s forwards}
.home-v2 .aitd-scene-rows .r2{animation:aitd-pop .4s ease 2.4s forwards}
.home-v2 .aitd-scene-rows .r3{animation:aitd-pop .4s ease 2.65s forwards}
.home-v2 .aitd-scene-rows .r4{animation:aitd-pop .4s ease 2.9s forwards}

.home-v2 .aitd-safe-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.home-v2 .aitd-shield{position:relative;width:52px;height:64px;flex-shrink:0}
.home-v2 .aitd-shield svg{width:52px;height:64px}
.home-v2 .aitd-shield .body{fill:#e1f1f7;stroke:#0e8aa8;stroke-width:2.4}
.home-v2 .aitd-shield .tick{fill:none;stroke:#0e8aa8;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:40;stroke-dashoffset:40;animation:aitd-tick .5s ease 1.4s forwards}
.home-v2 .aitd-shield .scan{position:absolute;left:8px;right:8px;height:10px;top:8px;border-radius:2px;
  background:linear-gradient(180deg,transparent,rgba(14,138,168,.45),transparent);animation:aitd-safe-scan 2.2s ease-in-out .2s both}
@keyframes aitd-safe-scan{0%{top:8px;opacity:0}12%{opacity:1}100%{top:50px;opacity:0}}
@keyframes aitd-tick{to{stroke-dashoffset:0}}
.home-v2 .aitd-safe-score{position:relative;display:flex;align-items:baseline;gap:2px;margin:2px 0 6px}
.home-v2 .aitd-safe-score svg{position:absolute;left:-6px;top:-10px;width:64px;height:64px;opacity:.9}
.home-v2 .aitd-safe-score circle{fill:none;stroke:#d7efe8;stroke-width:6}
.home-v2 .aitd-safe-score .ring{stroke:#0e8aa8;stroke-linecap:round;transform-origin:36px 36px;transform:rotate(-90deg);
  stroke-dashoffset:176;animation:aitd-ring 1.3s cubic-bezier(.2,.8,.2,1) .35s forwards}
@keyframes aitd-ring{to{stroke-dashoffset:0}}
.home-v2 .aitd-safe-score b{position:relative;font-family:var(--font-sora);font-size:24px;font-weight:800;color:#0e8aa8;padding-left:4px}
.home-v2 .aitd-safe-score em{position:relative;font-style:normal;font-size:12px;font-weight:700;color:var(--muted)}

.home-v2 .aitd-budget-amt{animation:aitd-pop .4s ease both}
.home-v2 .aitd-scene.aitd-scene-budget{position:relative}
.home-v2 .aitd-rupee-float{
  position:absolute;right:0;bottom:calc(100% + 14px);z-index:5;
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;
  padding:8px 12px 9px;background:rgba(8,12,32,.8);
  border:1px solid rgba(253,224,74,.55);border-radius:14px;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.38),0 0 28px rgba(245,158,11,.22);
  animation:aitd-pop .45s cubic-bezier(.34,1.4,.4,1) .08s both}
.home-v2 .aitd-rupee-float .k{font-size:9px;font-weight:800;letter-spacing:.14em;color:#fde68a;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.home-v2 .aitd-rupee-odo .aitd-reel-strip{animation-duration:.55s}
.home-v2 .aitd-rupee-sym{margin-right:3px;font-weight:800}
.home-v2 .aitd-rupee-odo-card{font-size:22px;color:var(--ink)}
.home-v2 .aitd-rupee-odo-card .aitd-rupee-sym{color:#b45309}
.home-v2 .aitd-rupee-odo-float{margin:0;font-size:26px;color:#fff7d6;line-height:1}
.home-v2 .aitd-rupee-odo-float .aitd-rupee-sym{color:#fbbf24}
.home-v2 .aitd-rupee-odo-float .aitd-odometer-sep{color:rgba(253,224,74,.7)}
@media(max-width:860px){
  .home-v2 .aitd-rupee-float{padding:6px 10px 7px}
  .home-v2 .aitd-rupee-odo-float{font-size:20px}
}
.home-v2 .aitd-score-odo{font-size:22px;margin:2px 0 4px;color:#4f46e5;animation:aitd-numglow .7s ease .7s both}
.home-v2 .aitd-odo-unit{margin-left:4px;font-size:.52em;font-weight:700;color:var(--muted);opacity:0;
  animation:aitd-pop .35s ease .55s forwards}
.home-v2 .aitd-score-curve{display:block;width:100%;height:28px;margin:2px 0 8px}
.home-v2 .aitd-score-curve .track{fill:none;stroke:#e1e6f4;stroke-width:2.4;stroke-linecap:round}
.home-v2 .aitd-score-curve .run{fill:none;stroke:#4f46e5;stroke-width:2.4;stroke-linecap:round;
  stroke-dasharray:100;stroke-dashoffset:100;animation:aitd-curve 1.15s cubic-bezier(.2,.8,.2,1) .35s forwards}
.home-v2 .aitd-score-curve .dot{fill:#7c3aed;opacity:0;animation:aitd-pop .3s ease 1.4s forwards;
  filter:drop-shadow(0 0 4px rgba(124,58,237,.7))}
@keyframes aitd-curve{to{stroke-dashoffset:0}}
.home-v2 .aitd-val-odo{font-size:14px;margin:0;gap:1px;color:var(--ink);line-height:1.1}
.home-v2 .aitd-val-odo .aitd-reel{width:.8em}
.home-v2 .aitd-scene-rankscore .aitd-val-odo{animation:aitd-numglow .55s ease .9s both}
@keyframes aitd-numglow{
  0%{filter:none}
  40%{filter:drop-shadow(0 0 8px rgba(79,70,229,.55))}
  100%{filter:none}
}
.home-v2 .aitd-scene-rankscore .aitd-flag{animation-delay:1.45s}
.home-v2 .aitd-scene-rankscore .aitd-scene-rows .r1{animation-delay:.12s}
.home-v2 .aitd-scene-rankscore .aitd-scene-rows .r2{animation-delay:.28s}
.home-v2 .aitd-scene-rankscore .aitd-scene-rows .r3{animation-delay:.44s}

.home-v2 .aitd-scene-bars .track i{width:0;animation:aitd-bar 1.1s cubic-bezier(.2,.8,.2,1) forwards}
.home-v2 .aitd-scene-bars .r1 i,.home-v2 .aitd-scene-bars .r2 i,.home-v2 .aitd-scene-bars .r3 i{
  animation-delay:.35s;background:linear-gradient(90deg,#2f6bff,#4f46e5)}
.home-v2 .aitd-scene-bars .r2 i{animation-delay:.55s}
.home-v2 .aitd-scene-bars .r3 i{animation-delay:.75s}
.home-v2 .aitd-scene-bars .r3.stretch i{background:linear-gradient(90deg,#f43f5e,#dc2626)}
.home-v2 .aitd-scene .aitd-flag{opacity:0;animation:aitd-pop .4s ease 1.5s forwards;margin-top:2px}
.home-v2 .aitd-scene-bars .r3.stretch{animation:aitd-shake .45s ease 1.55s both}
@keyframes aitd-bar{to{width:var(--w)}}
@keyframes aitd-shake{0%,100%{transform:none}30%{transform:translateX(-3px)}60%{transform:translateX(3px)}}

.home-v2 .aitd-thumb-fx{position:relative;overflow:hidden}
.home-v2 .aitd-thumb-fx::before{content:"";position:absolute;left:0;right:0;height:42%;top:-42%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(125,211,252,.45),transparent);animation:aitd-scan 5.2s ease-in-out infinite}
.home-v2 .aitd-thumb-fx::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,23,60,.05),rgba(15,23,60,.28));
  box-shadow:inset 0 0 0 1px rgba(125,211,252,.18)}
.home-v2 .aitd-role .thumb.aitd-thumb-fx::after{background:linear-gradient(180deg,transparent,rgba(8,12,32,.35))}

@media(max-width:860px){
  .home-v2 .aitd-hudchip.ml,.home-v2 .aitd-hudchip.mr{display:none}
  .home-v2 .aitd-picfx-atm .radar{width:110px;height:110px}
}

@media(prefers-reduced-motion:reduce){
  .home-v2 .aitd-picfx>img,.home-v2 .b-media.mock.aitd-pic-frame img,
  .home-v2 .aitd-picfx-atm .beam,.home-v2 .aitd-picfx-atm .vbeam,.home-v2 .aitd-picfx-atm .spark,
  .home-v2 .aitd-picfx-atm .radar,.home-v2 .aitd-picfx-atm .bracket,.home-v2 .aitd-hudchip,
  .home-v2 .aitd-picfx-net .lnk,.home-v2 .aitd-picfx-net .nd,
  .home-v2 .aitd-reel-strip,.home-v2 .aitd-burst .p,.home-v2 .aitd-matched,.home-v2 .aitd-scene-rows .row,
  .home-v2 .aitd-shield .tick,.home-v2 .aitd-shield .scan,.home-v2 .aitd-safe-score .ring,
  .home-v2 .aitd-scene-bars .track i,.home-v2 .aitd-scene .aitd-flag,.home-v2 .aitd-scene-bars .r3.stretch,
  .home-v2 .aitd-budget-amt,.home-v2 .aitd-rupee-float,.home-v2 .aitd-thumb-fx::before,.home-v2 .aitd-scene-live i,.home-v2 .aitd-coins .coin,
  .home-v2 .aitd-score-curve .run,.home-v2 .aitd-score-curve .dot,.home-v2 .aitd-odo-unit,.home-v2 .aitd-score-odo,.home-v2 .aitd-scene-rankscore .aitd-val-odo{animation:none!important}
  .home-v2 .aitd-matched,.home-v2 .aitd-scene-rows .row,.home-v2 .aitd-scene .aitd-flag,.home-v2 .aitd-odo-unit,.home-v2 .aitd-score-curve .dot{opacity:1;transform:none}
  .home-v2 .aitd-score-curve .run{stroke-dashoffset:0}
  .home-v2 .aitd-reel-strip{transform:translateY(calc((10 + var(--n,0)) * -1 * var(--rh,1.1em)))}
  .home-v2 .aitd-safe-score .ring{stroke-dashoffset:0}
  .home-v2 .aitd-shield .tick{stroke-dashoffset:0}
  .home-v2 .aitd-scene-bars .track i{width:var(--w)}
  .home-v2 .aitd-coins{display:none}
}

html.aitd-cursor,html.aitd-cursor *{cursor:none!important}
.aitd-finger{position:fixed;top:0;left:0;z-index:2147483000;pointer-events:none;
  margin:-8px 0 0 -16px;width:52px;height:62px;will-change:transform;opacity:1;
  filter:drop-shadow(0 8px 16px rgba(27,35,66,.28));transition:opacity .15s ease,filter .18s ease}
.aitd-finger.is-out{opacity:0}
.aitd-finger.is-press{filter:drop-shadow(0 4px 18px rgba(125,211,252,.55))}
.aitd-finger.is-press svg{transform:translate(1px,2px) scale(.94);transform-origin:18px 8px}
.aitd-finger svg{display:block;overflow:visible}

/* -- dark roles band (photo backdrop + image cards) -- */
.home-v2 .aitd-roles-band .section-head{margin-bottom:40px}
.home-v2 .aitd-roles-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.home-v2 .aitd-roles-bg img{width:100%;height:100%;object-fit:cover;opacity:.16}
.home-v2 .aitd-roles-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,63,.75) 0%,rgba(16,28,63,.55) 50%,rgba(16,28,63,.9) 100%)}
.home-v2 .aitd-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:980px){.home-v2 .aitd-roles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-v2 .aitd-roles{grid-template-columns:1fr}}
.home-v2 .aitd-role{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;
  backdrop-filter:blur(4px);transition:transform .25s ease,background .25s ease}
.home-v2 .aitd-role:hover{transform:translateY(-4px);background:rgba(255,255,255,.1)}
.home-v2 .aitd-role .thumb{height:110px;overflow:hidden}
.home-v2 .aitd-role .thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.88;transition:transform .6s ease}
.home-v2 .aitd-role:hover .thumb img{transform:scale(1.06)}
.home-v2 .aitd-role .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.home-v2 .aitd-role .tag{align-self:flex-start;margin-left:0;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8fb4ff;background:rgba(47,107,255,.18);border:1px solid rgba(47,107,255,.4);border-radius:999px;padding:4px 11px}
.home-v2 .aitd-role p{font-size:13px;color:#c3cdea;line-height:1.55}
.home-v2 .aitd-role .quote{margin-top:auto;font-style:italic;font-size:12.5px;color:#8b97bd;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}

/* -- impact stats -- */
.home-v2 .aitd-impact{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
@media(max-width:860px){.home-v2 .aitd-impact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.home-v2 .aitd-impact{grid-template-columns:1fr}}
.home-v2 .aitd-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 18px;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}
.home-v2 .aitd-stat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.home-v2 .aitd-stat .ic{width:44px;height:44px;border-radius:13px;margin:0 auto 14px;display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-sm)}
.home-v2 .aitd-stat .ic svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .aitd-stat b{display:block;font-family:var(--font-sora);font-size:clamp(24px,2.6vw,32px);font-weight:800;color:var(--ink);margin-bottom:4px}
.home-v2 .aitd-stat b em{font-style:normal;color:var(--blue)}
.home-v2 .aitd-stat .t{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.home-v2 .aitd-stat p{font-size:12.5px;color:var(--muted);line-height:1.55;max-width:220px;margin:0 auto 12px}
.home-v2 .aitd-stat .foot{display:block;margin-top:auto;font-size:11px;font-weight:700;color:var(--slate);background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;padding:6px 10px}

/* -- PM Hub module chips -- */
.home-v2 .aitd-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.home-v2 .aitd-chip{font-size:12.5px;font-weight:700;padding:8px 16px;border-radius:999px;background:#fff;color:var(--slate);border:1px solid var(--line);box-shadow:var(--shadow-sm);
  transition:transform .2s ease,color .2s ease,border-color .2s ease}
.home-v2 .aitd-chip:hover{transform:translateY(-2px);color:var(--blue);border-color:var(--blue)}

/* -- staggered grid reveals (same pattern as .pmhd-* grids) -- */
.home-v2 .aitd-blurbs .aitd-blurb,
.home-v2 .aitd-roles .aitd-role,
.home-v2 .aitd-impact .aitd-stat{
  opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)
}
.home-v2 .aitd-blurbs.is-visible .aitd-blurb,
.home-v2 .aitd-roles.is-visible .aitd-role,
.home-v2 .aitd-impact.is-visible .aitd-stat{opacity:1;transform:none}
.home-v2 .aitd-blurbs .aitd-blurb:nth-child(1),.home-v2 .aitd-roles .aitd-role:nth-child(1),.home-v2 .aitd-impact .aitd-stat:nth-child(1){transition-delay:0s}
.home-v2 .aitd-blurbs .aitd-blurb:nth-child(2),.home-v2 .aitd-roles .aitd-role:nth-child(2),.home-v2 .aitd-impact .aitd-stat:nth-child(2){transition-delay:.08s}
.home-v2 .aitd-blurbs .aitd-blurb:nth-child(3),.home-v2 .aitd-roles .aitd-role:nth-child(3),.home-v2 .aitd-impact .aitd-stat:nth-child(3){transition-delay:.16s}
.home-v2 .aitd-roles .aitd-role:nth-child(4),.home-v2 .aitd-impact .aitd-stat:nth-child(4){transition-delay:.24s}

@media(prefers-reduced-motion:reduce){
  .home-v2 .aitd-blurbs .aitd-blurb,.home-v2 .aitd-roles .aitd-role,.home-v2 .aitd-impact .aitd-stat{opacity:1;transform:none;transition:none}
  .home-v2 .aitd-role,.home-v2 .aitd-stat,.home-v2 .aitd-chip{transition:none}
  .home-v2 .aitd-toolcard::after{animation:none}
}

/* hero module cards, overlapping the hero's bottom edge — image + title only, all 8 in one row */
.home-v2 .pmhd-herocards-wrap{position:relative;z-index:3;margin-top:-40px;padding-bottom:16px}
.home-v2 .pmhd-herocards{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
@media(max-width:980px){.home-v2 .pmhd-herocards{grid-template-columns:repeat(4,1fr);gap:12px}}
@media(max-width:560px){.home-v2 .pmhd-herocards{grid-template-columns:repeat(2,1fr)}.home-v2 .pmhd-herocards-wrap{margin-top:-30px}}
.home-v2 .pmhd-herocard{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease}
.home-v2 .pmhd-herocard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.home-v2 .pmhd-herocard .thumb{height:64px;overflow:hidden}
.home-v2 .pmhd-herocard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.home-v2 .pmhd-herocard:hover .thumb img{transform:scale(1.06)}
.home-v2 .pmhd-herocard .body{padding:8px 6px 10px;text-align:center}
.home-v2 .pmhd-herocard h4{font-size:11.5px;margin:0}
.home-v2 .pmhd-herocard p{font-size:12.5px;color:var(--muted);line-height:1.5}

/* ============================================================
   Dashboard v2 — NexLink-inspired restyle (dbx-*)
   Card grid + one gradient hero, staggered reveals, animated
   counters/bars/rings, hover lifts. All namespaced to .home-v2.
   ============================================================ */

/* staggered entrance — per-element delay via --d */
.home-v2 .dbx-reveal{opacity:0;transform:translateY(16px);
  animation:dbx-up .55s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,0s)}
@keyframes dbx-up{to{opacity:1;transform:none}}

/* base card + hover lift */
.home-v2 .dbx-card{background:#fff;border:1px solid #e1e6f4;border-radius:18px;
  box-shadow:0 2px 8px rgba(20,30,70,.06);
  transition:transform .3s cubic-bezier(.34,1.15,.4,1),box-shadow .3s ease,border-color .3s ease}
.home-v2 .dbx-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,30,70,.13);border-color:#d6e2ff}

/* Post-login shell: colourful, but quieter than the Holi wash */
.home-v2.dbx-app{position:relative;isolation:isolate;
  background:
    radial-gradient(920px 460px at 6% -8%, rgba(47,107,255,.26), transparent 58%),
    radial-gradient(720px 400px at 98% 2%, rgba(124,58,237,.14), transparent 54%),
    radial-gradient(680px 360px at 80% 100%, rgba(14,138,168,.16), transparent 55%),
    linear-gradient(180deg,#d9e4ff 0%,#ece8ff 42%,#e7f4f1 100%)}
.home-v2 .dbx-app-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.home-v2 .dbx-app-glow .blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.5;
  animation:dbx-blob 16s ease-in-out infinite}
.home-v2 .dbx-app-glow .blob-a{width:360px;height:320px;top:-100px;left:-70px;background:#7ea0ff}
.home-v2 .dbx-app-glow .blob-b{width:300px;height:300px;top:6%;right:-90px;background:#c4b5fd;animation-delay:-5s}
.home-v2 .dbx-app-glow .blob-c{width:280px;height:250px;bottom:6%;left:24%;background:#7dd3c8;animation-delay:-9s}
.home-v2 .dbx-app-glow .blob-d{display:block;width:220px;height:220px;bottom:16%;right:10%;background:#fde68a;opacity:.32;animation-delay:-2s}
@keyframes dbx-blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14px,-16px) scale(1.08)}}

.home-v2 .dbx-tint-blue{background:linear-gradient(165deg,#e4eaff 0%,#f7f8ff 72%);border-color:#c3cef5}
.home-v2 .dbx-tint-teal{background:linear-gradient(165deg,#d9f3ee 0%,#f5fffc 72%);border-color:#b3e2da}
.home-v2 .dbx-tint-violet{background:linear-gradient(165deg,#eee4ff 0%,#faf7ff 72%);border-color:#d7c8f5}
.home-v2 .dbx-tint-sky{background:linear-gradient(165deg,#dceeff 0%,#f5faff 72%);border-color:#b8daf5}
.home-v2 .dbx-tint-amber{background:linear-gradient(165deg,#fff0cc 0%,#fffaf0 72%);border-color:#f3d48a}
.home-v2 .dbx-tint-rose{background:linear-gradient(165deg,#ffe8f0 0%,#fff8fb 72%);border-color:#f3c5d6}

/* Replicate the home-dashboard card wash on every other in-app page */
.home-v2.dbx-app .rounded-2xl.bg-white,
.home-v2.ait-app .rounded-2xl.bg-white{
  background-color:transparent;
  background-image:linear-gradient(165deg,#e8eeff 0%,#fff 70%);
  border-color:#c3cef5}
.home-v2.dbx-app .fixed .rounded-2xl.bg-white,
.home-v2.ait-app .fixed .rounded-2xl.bg-white{
  background-image:none;background-color:#fff}

.home-v2 .dbx-hello{position:relative;max-width:760px;margin:0 auto}
.home-v2 .dbx-hello-chip{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;
  padding:7px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;
  color:#fff;-webkit-text-fill-color:#fff;background:linear-gradient(135deg,#2f6bff,#4f46e5);border:0;
  box-shadow:0 8px 18px rgba(47,107,255,.28)}
.home-v2 .dbx-sparkle{position:absolute;width:7px;height:7px;border-radius:50%;pointer-events:none}
.home-v2 .dbx-sparkle-a{top:-6px;left:12%;background:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,.5);animation:dbx-twinkle 2.6s ease-in-out infinite}
.home-v2 .dbx-sparkle-b{top:10px;right:10%;background:#2f6bff;box-shadow:0 0 8px rgba(47,107,255,.45);animation:dbx-twinkle 3s ease-in-out infinite .4s}
.home-v2 .dbx-sparkle-c{bottom:4px;left:22%;background:#14b8a6;box-shadow:0 0 8px rgba(20,184,166,.4);animation:dbx-twinkle 2.2s ease-in-out infinite .8s}
@keyframes dbx-twinkle{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:.9;transform:scale(1.18)}}

.home-v2 .dbx-launch{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.home-v2 .dbx-launch-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  font-size:13px;font-weight:800;color:#fff;-webkit-text-fill-color:#fff;border:0;cursor:pointer;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease}
.home-v2 .dbx-launch-btn:hover{transform:translateY(-2px);color:#fff;-webkit-text-fill-color:#fff}
.home-v2 .dbx-launch-blue{background:linear-gradient(135deg,#2f6bff,#4f46e5);box-shadow:0 8px 18px rgba(47,107,255,.3)}
.home-v2 .dbx-launch-violet{background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 8px 18px rgba(124,58,237,.28)}
.home-v2 .dbx-launch-teal{background:linear-gradient(135deg,#0e8aa8,#14b8a6);box-shadow:0 8px 18px rgba(14,138,168,.26)}
.home-v2 .dbx-launch-amber{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 8px 18px rgba(245,158,11,.26)}

.home-v2 .dbx-event-card{background:linear-gradient(120deg,#e8eeff 0%,#fff 55%,#fff8ea 100%);border-color:#c3cef5;
  box-shadow:0 8px 22px rgba(47,107,255,.1);position:relative;overflow:hidden;padding-left:1.35rem}
.home-v2 .dbx-event-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,#2f6bff,#4f46e5)}
.home-v2 .dbx-event-card:hover{border-color:#9eb0ff}

.home-v2 .dbx-cta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  font-size:11px;font-weight:800;color:#fff;box-shadow:0 6px 14px rgba(37,70,235,.22)}
.home-v2 .dbx-cta-pill svg{width:12px;height:12px;transition:transform .25s ease}
.home-v2 .dbx-card:hover .dbx-cta-pill svg{transform:translateX(3px)}

.home-v2 .dbx-nav-ico{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;border:1.5px solid;transition:transform .2s ease,box-shadow .2s ease}
.home-v2 .dbx-nav-ico:hover{transform:translateY(-1px)}
.home-v2 .dbx-nav-blue{background:#dbe4ff;border-color:#93b4ff;color:#2f6bff}
.home-v2 .dbx-nav-rose{background:#fde8ef;border-color:#f5c2d6;color:#db2777}

/* spotlight glare driven by --mx/--my (set from JS, no re-render) */
.home-v2 .dbx-glow{position:relative}
.home-v2 .dbx-glow::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;border-radius:inherit;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.5),transparent 62%);
  transition:opacity .35s ease;mix-blend-mode:overlay}
.home-v2 .dbx-glow:hover::before{opacity:1}

/* gradient hero (the "Total Earning" card of this dashboard) */
.home-v2 .dbx-hero{position:relative;overflow:hidden;border-radius:22px;color:#fff;isolation:isolate;
  background:linear-gradient(125deg,#163a8a 0%,#2f6bff 48%,#5b4fd6 100%);
  background-size:180% 160%;animation:dbx-grad 18s ease infinite;
  box-shadow:0 18px 40px rgba(47,107,255,.28)}
@keyframes dbx-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.home-v2 .dbx-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;z-index:0;
  animation:dbx-float 10s ease-in-out infinite}
@keyframes dbx-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(12px,-16px) scale(1.07)}}
.home-v2 .dbx-hero .dbx-shine{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 46%,rgba(255,255,255,.02) 54%,transparent 70%);
  background-size:260% 100%;animation:dbx-sheen 7s ease-in-out infinite}
@keyframes dbx-sheen{0%,55%{background-position:130% 0}90%,100%{background-position:-60% 0}}
.home-v2 .dbx-glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  border-radius:14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* animated horizontal bars (grow from the left) */
.home-v2 .dbx-bar{transform-origin:left center;transform:scaleX(0);
  animation:dbx-bar .9s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,.15s)}
@keyframes dbx-bar{to{transform:scaleX(1)}}

/* progress ring — CSS transition on stroke-dashoffset set from JS */
.home-v2 .dbx-ring{transition:stroke-dashoffset 1.3s cubic-bezier(.2,.7,.3,1)}

/* icon chips */
.home-v2 .dbx-chip{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;
  flex-shrink:0;box-shadow:0 6px 16px rgba(37,70,235,.28);
  transition:transform .3s cubic-bezier(.34,1.15,.4,1)}
.home-v2 .dbx-card:hover .dbx-chip,.home-v2 .dbx-tile:hover .dbx-chip{transform:scale(1.08) rotate(-4deg)}

/* stat tiles (NexLink top row) */
.home-v2 .dbx-tile{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;overflow:hidden;position:relative}
.home-v2 .dbx-tile > *{position:relative;z-index:1}
.home-v2 .dbx-tile::after{content:"";position:absolute;width:96px;height:90px;border-radius:50%;opacity:.55;right:-18px;top:-24px;pointer-events:none}
.home-v2 .dbx-tile b{display:block;font-family:var(--font-sora,inherit);font-size:26px;font-weight:800;
  line-height:1.1;font-variant-numeric:tabular-nums}
.home-v2 .dbx-tile .lbl{font-size:12px;color:#5b6488;margin-top:2px}
.home-v2 .dbx-tile .sub{font-size:11px;font-weight:700;margin-top:5px}
.home-v2 .dbx-tile:nth-child(1){background:linear-gradient(165deg,#e4eaff,#f7f8ff);border-color:#c3cef5}
.home-v2 .dbx-tile:nth-child(1)::after{background:#818cf8;opacity:.4}
.home-v2 .dbx-tile:nth-child(1) b{color:#2f6bff}
.home-v2 .dbx-tile:nth-child(1) .sub{color:#4338ca}
.home-v2 .dbx-tile:nth-child(2){background:linear-gradient(165deg,#d9f3ee,#f5fffc);border-color:#b3e2da}
.home-v2 .dbx-tile:nth-child(2)::after{background:#2dd4bf;opacity:.4}
.home-v2 .dbx-tile:nth-child(2) b{color:#0e8aa8}
.home-v2 .dbx-tile:nth-child(2) .sub{color:#0f766e}
.home-v2 .dbx-tile:nth-child(3){background:linear-gradient(165deg,#eee4ff,#faf7ff);border-color:#d7c8f5}
.home-v2 .dbx-tile:nth-child(3)::after{background:#a78bfa;opacity:.4}
.home-v2 .dbx-tile:nth-child(3) b{color:#7c3aed}
.home-v2 .dbx-tile:nth-child(3) .sub{color:#6d28d9}
.home-v2 .dbx-tile:nth-child(4){background:linear-gradient(165deg,#fff0cc,#fffaf0);border-color:#f3d48a}
.home-v2 .dbx-tile:nth-child(4)::after{background:#fbbf24;opacity:.4}
.home-v2 .dbx-tile:nth-child(4) b{color:#d97706}
.home-v2 .dbx-tile:nth-child(4) .sub{color:#b45309}

/* arrow links that slide on hover */
.home-v2 .dbx-go{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#2f6bff}
.home-v2 .dbx-go svg{width:13px;height:13px;transition:transform .25s ease}
.home-v2 .dbx-card:hover .dbx-go svg,.home-v2 .dbx-go:hover svg{transform:translateX(3px)}

/* checklist tick pop */
.home-v2 .dbx-pop{animation:dbx-pop .35s cubic-bezier(.34,1.4,.4,1)}
@keyframes dbx-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}100%{transform:scale(1)}}

/* floating CTA — left, stays in view; robot hand points into the page */
.home-v2 .dbx-fab-wrap{position:fixed;left:12px;bottom:20px;right:auto;z-index:40;
  display:flex;flex-direction:row;align-items:center;gap:2px;pointer-events:none}
.home-v2 .dbx-fab-hand{width:78px;height:auto;margin:0 -8px 0 0;pointer-events:none;user-select:none;
  transform:rotate(90deg);transform-origin:center;
  filter:drop-shadow(0 10px 16px rgba(20,30,70,.28));
  -webkit-mask-image:radial-gradient(ellipse 62% 70% at 50% 46%,#000 46%,transparent 78%);
  mask-image:radial-gradient(ellipse 62% 70% at 50% 46%,#000 46%,transparent 78%);
  animation:dbx-hand-bob 2.8s ease-in-out infinite}
@keyframes dbx-hand-bob{0%,100%{transform:translateX(0) rotate(90deg)}50%{transform:translateX(7px) rotate(90deg)}}
.home-v2 .dbx-fab{position:relative;left:auto;bottom:auto;right:auto;z-index:1;pointer-events:auto}
.home-v2 .dbx-fab::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
  box-shadow:0 0 0 0 rgba(47,107,255,.45);animation:dbx-pulse 2.4s ease-out infinite}
@keyframes dbx-pulse{0%{box-shadow:0 0 0 0 rgba(47,107,255,.45)}70%{box-shadow:0 0 0 16px rgba(47,107,255,0)}100%{box-shadow:0 0 0 0 rgba(47,107,255,0)}}
@media(max-width:640px){
  .home-v2 .dbx-fab-hand{width:62px;margin-right:-6px}
}

/* shimmer skeleton while data loads */
.home-v2 .dbx-shimmer{position:relative;overflow:hidden;background:#eef1fc;border-radius:10px}
.home-v2 .dbx-shimmer::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  transform:translateX(-100%);animation:dbx-shimmer 1.4s ease infinite}
@keyframes dbx-shimmer{to{transform:translateX(100%)}}

/* greeting headline: animated gradient sweep on the accent word */
.home-v2 .dbx-grad-text{background:linear-gradient(90deg,#2f6bff,#7c3aed,#0e8aa8,#2f6bff);
  background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:dbx-gradtext 9s linear infinite}
@keyframes dbx-gradtext{to{background-position:280% 0}}

/* ---- PM Hub extras: sheen sweep on tool imagery + drifting hero ---- */
/* The hero also carries .pmh-reveal, whose entrance is an animation too —
   a bare 'animation:' here would clobber it and freeze the hero at opacity 0,
   so both animations are declared together on the compound selector. */
.home-v2 .pmh-hero.pmh-reveal{background-size:170% 170%;
  animation:pmh-fade-up .6s cubic-bezier(.2,.7,.3,1) forwards,dbx-grad 18s ease infinite}
.home-v2 .pmh-tool .timg::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);
  background-size:250% 100%;background-position:130% 0;transition:background-position .8s ease}
.home-v2 .pmh-tool:hover .timg::after{background-position:-60% 0}
.home-v2 .pmh-head .grad,.home-v2 .pmh-hero h1 .grad{background-size:220% 100%;animation:dbx-gradtext 6s linear infinite}
.home-v2 .pmh-qcard .qic svg{transition:transform .35s cubic-bezier(.34,1.15,.4,1)}
.home-v2 .pmh-qcard:hover .qic svg{transform:scale(1.15) rotate(-5deg)}

@media (prefers-reduced-motion:reduce){
  .home-v2 .dbx-reveal,.home-v2 .dbx-bar{opacity:1;transform:none;animation:none}
  .home-v2 .dbx-hero,.home-v2 .dbx-orb,.home-v2 .dbx-shine,.home-v2 .dbx-grad-text,
  .home-v2 .dbx-fab::after,.home-v2 .dbx-fab-hand,.home-v2 .dbx-shimmer::after,.home-v2 .pmh-hero,
  .home-v2 .dbx-app-glow .blob,.home-v2 .dbx-sparkle,.home-v2 .dbx-launch-btn{animation:none}
  .home-v2 .dbx-fab-hand{transform:rotate(90deg)}
  .home-v2 .dbx-card,.home-v2 .dbx-card:hover,.home-v2 .dbx-launch-btn:hover{transform:none}
  .home-v2 .dbx-ring{transition:none}
}

/* ---- PM Hub: photography behind the workspace + trust cards ----
   Photos sit UNDER the existing gradient/white surface at low opacity so the
   card keeps its colour identity and the text keeps its contrast — the image
   reads as texture and subject matter, not as a literal illustration. */

/* Live Workspaces: photo beneath the colour wash */
.home-v2 .pmh-qcard .qphoto{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  opacity:.30;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.3,1);transform:scale(1.04)}
.home-v2 .pmh-qcard:hover .qphoto{opacity:.42;transform:scale(1.1)}
/* qbg is the colour layer — lift it above the photo and let it tint through */
.home-v2 .pmh-qcard .qbg{z-index:1;opacity:.82;mix-blend-mode:multiply}
/* keep the ring, icon and copy above both layers */
.home-v2 .pmh-qcard .qring,.home-v2 .pmh-qcard .qic,
.home-v2 .pmh-qcard h3,.home-v2 .pmh-qcard p,.home-v2 .pmh-qcard .qopen{position:relative;z-index:2}
/* a darker foot so the description never sits on a busy highlight */
.home-v2 .pmh-qcard::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(8,14,38,.55),rgba(8,14,38,.10) 55%,transparent)}

/* Trust cards: photo wash under a white veil.
   The card paints its own solid #fff, so the photo has to sit ABOVE that
   background (z-index 0) rather than behind it — at z-index -1 it was hidden
   by the card itself no matter what opacity it carried. Content is lifted to
   z-index 1 so it stays above both layers. */
.home-v2 .pmh-tcard{position:relative;overflow:hidden;isolation:isolate}
.home-v2 .pmh-tcard .tphoto{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  opacity:.42;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.3,1);transform:scale(1.05)}
.home-v2 .pmh-tcard:hover .tphoto{opacity:.58;transform:scale(1.12)}
/* white veil keeps body copy legible — lighter at the top so the image reads,
   denser at the bottom where the description sits */
.home-v2 .pmh-tcard .tveil{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,.42),rgba(255,255,255,.80) 46%,rgba(255,255,255,.93))}
.home-v2 .pmh-tcard .tic,.home-v2 .pmh-tcard h4,.home-v2 .pmh-tcard p{position:relative;z-index:1}

@media (prefers-reduced-motion:reduce){
  .home-v2 .pmh-qcard .qphoto,.home-v2 .pmh-tcard .tphoto{transition:none;transform:none}
  .home-v2 .pmh-qcard:hover .qphoto,.home-v2 .pmh-tcard:hover .tphoto{transform:none}
}

/* ============================================================
   Results console (rr-*) — RankRadar-inspired data surface
   A dark, dense panel for the AI tools' result area: KPI cards,
   a toolbar, and a table that shows far more per row than the
   old stacked cards did. Every colour is a token on .rr-console
   so the whole surface can be flipped to light in one place.
   ============================================================ */

.home-v2 .rr-console{
  --rr-bg:#0f1420;
  --rr-panel:#151b2b;
  --rr-panel-2:#1a2133;
  --rr-line:#252d42;
  --rr-line-soft:#1e2537;
  --rr-text:#e8ecf6;
  --rr-dim:#8b97b4;
  --rr-faint:#5f6b87;
  --rr-amber:#f5a524;
  --rr-green:#3ddc97;
  --rr-blue:#5b9dff;
  --rr-violet:#a78bfa;
  --rr-red:#f87171;
  background:var(--rr-bg);border:1px solid var(--rr-line);border-radius:18px;overflow:hidden;
  color:var(--rr-text);
}

/* --- KPI cards --- */
.home-v2 .rr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:14px}
.home-v2 .rr-kpi{position:relative;background:var(--rr-panel);border:1px solid var(--rr-line);
  border-radius:12px;padding:14px 16px 15px;overflow:hidden}
/* the coloured cap that identifies each metric */
.home-v2 .rr-kpi::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--c,var(--rr-blue))}
.home-v2 .rr-kpi .k{display:block;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rr-faint)}
.home-v2 .rr-kpi .v{display:block;font-size:30px;font-weight:800;line-height:1.15;margin-top:8px;
  color:var(--c,var(--rr-blue));font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.home-v2 .rr-kpi .v small{font-size:14px;font-weight:700;opacity:.75;margin-left:2px}
.home-v2 .rr-kpi .s{display:block;font-size:11px;color:var(--rr-dim);margin-top:6px}
/* dash placeholder keeps the card the same height before data lands */
.home-v2 .rr-kpi .v.empty{color:var(--rr-faint)}

/* --- toolbar --- */
.home-v2 .rr-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:11px 14px;border-top:1px solid var(--rr-line-soft);border-bottom:1px solid var(--rr-line-soft);
  background:var(--rr-panel)}
.home-v2 .rr-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;
  background:var(--rr-bg);border:1px solid var(--rr-line);border-radius:9px;padding:7px 11px}
.home-v2 .rr-search svg{width:14px;height:14px;stroke:var(--rr-faint);fill:none;stroke-width:2;flex-shrink:0}
.home-v2 .rr-search input{flex:1;background:none;border:0;outline:0;color:var(--rr-text);font-size:12.5px}
.home-v2 .rr-search input::placeholder{color:var(--rr-faint)}
.home-v2 .rr-count{font-size:11.5px;color:var(--rr-dim);white-space:nowrap}
.home-v2 .rr-count b{color:var(--rr-text);font-variant-numeric:tabular-nums}
.home-v2 .rr-select{background:var(--rr-bg);border:1px solid var(--rr-line);border-radius:8px;
  color:var(--rr-text);font-size:12px;padding:6px 9px;outline:0}

/* --- filter chips --- */
.home-v2 .rr-chips{display:flex;gap:7px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--rr-line-soft)}
.home-v2 .rr-chip{font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;cursor:pointer;
  background:transparent;border:1px solid var(--rr-line);color:var(--rr-dim);transition:all .18s ease;
  display:inline-flex;align-items:center;gap:6px}
.home-v2 .rr-chip:hover{border-color:var(--c,var(--rr-blue));color:var(--c,var(--rr-blue))}
.home-v2 .rr-chip.on{background:color-mix(in srgb,var(--c,var(--rr-blue)) 16%,transparent);
  border-color:color-mix(in srgb,var(--c,var(--rr-blue)) 55%,transparent);color:var(--c,var(--rr-blue))}
.home-v2 .rr-chip .n{font-variant-numeric:tabular-nums;opacity:.8}

/* --- table --- */
.home-v2 .rr-scroll{overflow-x:auto}
.home-v2 .rr-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:660px}
.home-v2 .rr-table thead th{position:sticky;top:0;z-index:1;background:var(--rr-panel-2);
  font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rr-faint);
  text-align:left;padding:9px 12px;border-bottom:1px solid var(--rr-line);white-space:nowrap}
.home-v2 .rr-table thead th.num{text-align:right}
.home-v2 .rr-table tbody tr{border-bottom:1px solid var(--rr-line-soft);transition:background .16s ease}
.home-v2 .rr-table tbody tr:last-child{border-bottom:0}
.home-v2 .rr-table tbody tr:hover{background:var(--rr-panel)}
.home-v2 .rr-table tbody tr.sel{background:color-mix(in srgb,var(--rr-blue) 12%,transparent)}
.home-v2 .rr-table td{padding:11px 12px;vertical-align:middle}
.home-v2 .rr-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* row index badge */
.home-v2 .rr-idx{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;
  background:var(--rr-panel-2);border:1px solid var(--rr-line);color:var(--rr-faint);
  font-size:10.5px;font-weight:800;font-variant-numeric:tabular-nums}

.home-v2 .rr-name{color:var(--rr-text);font-weight:700;font-size:13px;line-height:1.3}
.home-v2 .rr-sub{color:var(--rr-faint);font-size:10.5px;margin-top:3px}

/* metadata tags under a college name */
.home-v2 .rr-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.home-v2 .rr-tag{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:2.5px 7px;border-radius:5px;background:color-mix(in srgb,var(--c,var(--rr-blue)) 15%,transparent);
  color:var(--c,var(--rr-blue));border:1px solid color-mix(in srgb,var(--c,var(--rr-blue)) 34%,transparent)}

/* the big numeric a row is really about */
.home-v2 .rr-num{font-size:15px;font-weight:800;color:var(--c,var(--rr-text));font-variant-numeric:tabular-nums}
.home-v2 .rr-num-sub{font-size:10px;color:var(--rr-faint);margin-top:2px}

/* inline confidence meter */
.home-v2 .rr-meter{width:74px;height:4px;border-radius:99px;background:var(--rr-line);overflow:hidden;margin-left:auto;margin-top:5px}
.home-v2 .rr-meter i{display:block;height:100%;border-radius:99px;background:var(--c,var(--rr-blue));
  transform-origin:left;animation:dbx-bar .8s cubic-bezier(.2,.7,.3,1) forwards;transform:scaleX(0)}

/* row action buttons */
.home-v2 .rr-act{display:inline-flex;gap:6px}
.home-v2 .rr-btn{font-size:10.5px;font-weight:700;padding:5px 10px;border-radius:7px;white-space:nowrap;
  background:var(--rr-panel-2);border:1px solid var(--rr-line);color:var(--rr-dim);cursor:pointer;transition:all .18s ease}
.home-v2 .rr-btn:hover:not(:disabled){border-color:var(--rr-blue);color:var(--rr-blue)}
.home-v2 .rr-btn.on{background:color-mix(in srgb,var(--rr-blue) 18%,transparent);border-color:var(--rr-blue);color:var(--rr-blue)}
.home-v2 .rr-btn:disabled{opacity:.35;cursor:not-allowed}

/* empty / footnote */
.home-v2 .rr-empty{padding:38px 20px;text-align:center;color:var(--rr-dim);font-size:12.5px}
.home-v2 .rr-foot{padding:11px 14px;border-top:1px solid var(--rr-line-soft);
  color:var(--rr-faint);font-size:10.5px;line-height:1.6;background:var(--rr-panel)}
.home-v2 .rr-foot b{color:var(--rr-dim)}

/* banner strip inside the console (assumptions / warnings) */
.home-v2 .rr-note{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;
  border-bottom:1px solid var(--rr-line-soft);background:color-mix(in srgb,var(--rr-amber) 9%,transparent);
  color:var(--rr-dim);font-size:11px;line-height:1.55}
.home-v2 .rr-note b{color:var(--rr-amber)}

@media(max-width:640px){
  .home-v2 .rr-kpi .v{font-size:24px}
  .home-v2 .rr-kpis{padding:11px;gap:9px}
}
@media (prefers-reduced-motion:reduce){
  .home-v2 .rr-meter i{animation:none;transform:none}
}

/* ============================================================
   College detail (cd-*) — hero banner + tab bar
   The banner was a 112x96 thumbnail beside the title; it is now
   a proper cover at double those dimensions, with the identity
   block sitting on a scrim over it at wide sizes.
   ============================================================ */

.home-v2 .cd-card{background:#fff;border:1px solid #e1e6f4;border-radius:20px;overflow:hidden;
  box-shadow:0 2px 8px rgba(20,30,70,.06)}

/* --- hero --- */
.home-v2 .cd-hero{position:relative;display:flex;gap:20px;padding:18px;align-items:stretch}
@media(max-width:860px){.home-v2 .cd-hero{flex-direction:column;gap:16px}}

/* 224x192 — exactly double the old 112x96 thumbnail */
.home-v2 .cd-banner{position:relative;width:224px;height:192px;flex-shrink:0;border-radius:16px;
  overflow:hidden;background:linear-gradient(135deg,#2f6bff,#4f46e5);display:grid;place-items:center}
@media(max-width:860px){.home-v2 .cd-banner{width:100%;height:220px}}
.home-v2 .cd-banner img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.home-v2 .cd-card:hover .cd-banner img{transform:scale(1.06)}
.home-v2 .cd-banner .ph{color:#fff;font-weight:800;font-size:56px;line-height:1}
/* soft bottom scrim so a caption/badge could sit on the image later */
.home-v2 .cd-banner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,14,38,.28),transparent 45%)}

.home-v2 .cd-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.home-v2 .cd-title{color:#1b2342;font-weight:800;font-size:26px;line-height:1.2;letter-spacing:-.01em}
@media(max-width:640px){.home-v2 .cd-title{font-size:21px}}
.home-v2 .cd-loc{display:flex;align-items:center;gap:6px;color:#7c84a3;font-size:13px}

/* badge row */
.home-v2 .cd-badges{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.home-v2 .cd-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;
  font-size:11.5px;font-weight:800;background:color-mix(in srgb,var(--c,#2f6bff) 12%,transparent);
  color:var(--c,#2f6bff);border:1px solid color-mix(in srgb,var(--c,#2f6bff) 28%,transparent)}

.home-v2 .cd-desc{color:#4a5578;font-size:13.5px;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.home-v2 .cd-actions{display:flex;flex-direction:column;gap:9px;flex-shrink:0;justify-content:flex-start}
@media(max-width:860px){.home-v2 .cd-actions{flex-direction:row}}

/* --- tab bar --- */
/* Sticky so the section you are reading always has its nav in reach on a page
   with fourteen tabs and long content. */
.home-v2 .cd-tabs{position:sticky;top:0;z-index:20;display:flex;gap:2px;padding:0 14px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid #eef1f8;border-bottom:1px solid #e1e6f4;overflow-x:auto;scrollbar-width:none}
.home-v2 .cd-tabs::-webkit-scrollbar{display:none}
.home-v2 .cd-tab{position:relative;flex-shrink:0;padding:14px 15px 13px;background:none;border:0;cursor:pointer;
  font-size:13px;font-weight:600;color:#7c84a3;white-space:nowrap;transition:color .2s ease}
.home-v2 .cd-tab:hover{color:#2f6bff}
.home-v2 .cd-tab.on{color:#1b2342;font-weight:800}
/* The active-tab underline is a real element, not a ::after.
   Pseudo-element transforms proved impossible to assert against in testing —
   getComputedStyle returns a stale value after a class change — so the
   indicator is rendered only on the active tab and animates itself in. */
/* No animation here on purpose. This underline is the only thing marking
   which tab is open, and a browser that freezes its animation timeline (a
   background tab does exactly that, holding every keyframe at its 'from')
   would render the indicator invisible. Motion elsewhere on this page is
   decorative and can afford to be skipped; this cannot. */
.home-v2 .cd-underline{position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,#2f6bff,#4f46e5)}
/* count pill for tabs that carry a number */
.home-v2 .cd-tab .cnt{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;
  background:#eef1fc;color:#4a5578;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}
.home-v2 .cd-tab.on .cnt{background:#e0e9ff;color:#2f6bff}

/* --- key-facts strip --- */
.home-v2 .cd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.home-v2 .cd-fact{position:relative;background:#fbfdff;border:1px solid #e1e6f4;border-radius:14px;padding:13px 15px;
  transition:transform .25s cubic-bezier(.34,1.15,.4,1),border-color .25s ease,box-shadow .25s ease}
.home-v2 .cd-fact:hover{transform:translateY(-2px);border-color:#c9d8fb;box-shadow:0 10px 24px rgba(20,30,70,.08)}
.home-v2 .cd-fact::before{content:"";position:absolute;top:0;left:15px;right:15px;height:2px;border-radius:0 0 3px 3px;
  background:var(--c,#2f6bff);opacity:.75}
.home-v2 .cd-fact .l{display:block;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7c84a3}
.home-v2 .cd-fact .v{display:block;margin-top:7px;font-size:21px;font-weight:800;line-height:1.15;
  color:var(--c,#1b2342);font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .home-v2 .cd-banner img,.home-v2 .cd-card:hover .cd-banner img{transform:none;transition:none}
  .home-v2 .cd-fact,.home-v2 .cd-fact:hover{transform:none}
}

/* ===== About Us ===== */
.home-v2 .about-hero .hero-card.about-hq{width:min(320px,100%);padding:18px 20px}
.home-v2 .about-hero .about-hq p{margin:10px 0 0;font-size:13.5px;color:var(--slate);line-height:1.55}
.home-v2 .about-hero .about-hq a{color:var(--blue);font-weight:600}
.home-v2 .banner .b-copy a:not(.btn){color:var(--blue);font-weight:700}
.home-v2 a.btn.btn-primary,.home-v2 button.btn.btn-primary,.home-v2 .banner .b-copy a.btn.btn-primary{
  color:#fff;-webkit-text-fill-color:#fff}
.home-v2 .banner .b-copy a.btn.btn-ghost{color:var(--ink);-webkit-text-fill-color:var(--ink)}
.home-v2 .about-tracks{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.home-v2 .about-track{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 28px 28px;box-shadow:var(--shadow-sm)}
.home-v2 .about-track-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:#eef2ff;border-radius:999px;padding:5px 12px;margin-bottom:14px}
.home-v2 .about-track-kicker.abroad{color:#0e8aa8;background:#e7f6fa}
.home-v2 .about-track h3{font-size:22px;margin:0 0 12px}
.home-v2 .about-track>p{color:var(--slate);font-size:15.5px;margin-bottom:18px}
.home-v2 .about-track .b-list{margin-bottom:18px}
.home-v2 .about-pills{display:flex;flex-wrap:wrap;gap:8px}
.home-v2 .about-pills span{font-size:12.5px;font-weight:700;color:var(--slate);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:6px 11px}
.home-v2 .about-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-v2 .about-step{background:var(--offwhite);border:1px solid var(--line);border-radius:18px;padding:24px 20px;box-shadow:var(--shadow-sm)}
.home-v2 .about-step span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:14px;font-family:var(--font-sora);font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--indigo))}
.home-v2 .about-step h3{font-size:18px;margin-bottom:8px}
.home-v2 .about-step p{font-size:14px;color:var(--muted);margin:0}
.home-v2 .ctaband .btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}
.home-v2 .ctaband .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

@media(max-width:980px){
  .home-v2 .about-tracks,.home-v2 .about-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .home-v2 .about-tracks,.home-v2 .about-steps{grid-template-columns:1fr}
  .home-v2 .about-hero .hero-card.about-hq{position:static;width:auto;margin-top:18px}
}

/* ===== AI Tools workspace (/ai-tools/app) — product desk, not a form dump ===== */
.home-v2.ait-app{
  --ait-from:#2f6bff;--ait-to:#4f46e5;
  --ait-wash-a:#c9d8ff;--ait-wash-b:#e4ecff;--ait-wash-c:#d5e2ff;
  --ait-glow-1:rgba(47,107,255,.42);--ait-glow-2:rgba(79,70,229,.14);--ait-glow-3:rgba(47,107,255,.2);
  --ait-blob-a:#7ea0ff;--ait-blob-b:#8eacff;--ait-blob-c:#6d93ff;
  --ait-dot:#2f6bff;--ait-live-bg:#e4eaff;--ait-live-bd:#c3cef5;
  position:relative;isolation:isolate;
  background:
    radial-gradient(920px 460px at 8% -10%, var(--ait-glow-1), transparent 58%),
    radial-gradient(720px 400px at 96% 0%, var(--ait-glow-2), transparent 54%),
    radial-gradient(640px 340px at 78% 100%, var(--ait-glow-3), transparent 55%),
    linear-gradient(180deg,var(--ait-wash-a) 0%,var(--ait-wash-b) 48%,var(--ait-wash-c) 100%)}
.home-v2.ait-app:has([data-tone="teal"]){
  --ait-from:#0e8aa8;--ait-to:#14b8a6;
  --ait-wash-a:#b6efe6;--ait-wash-b:#e4faf5;--ait-wash-c:#c8f3ea;
  --ait-glow-1:rgba(14,138,168,.46);--ait-glow-2:rgba(20,184,166,.22);--ait-glow-3:rgba(45,212,191,.28);
  --ait-blob-a:#5eead4;--ait-blob-b:#2dd4bf;--ait-blob-c:#14b8a6;
  --ait-dot:#0e8aa8;--ait-live-bg:#d9f3ee;--ait-live-bd:#b3e2da}
.home-v2.ait-app:has([data-tone="amber"]){
  --ait-from:#f59e0b;--ait-to:#ea580c;
  --ait-wash-a:#ffe4b0;--ait-wash-b:#fff4dc;--ait-wash-c:#ffd9a3;
  --ait-glow-1:rgba(245,158,11,.42);--ait-glow-2:rgba(234,88,12,.18);--ait-glow-3:rgba(251,146,60,.28);
  --ait-blob-a:#fbbf24;--ait-blob-b:#fb923c;--ait-blob-c:#f59e0b;
  --ait-dot:#d97706;--ait-live-bg:#fff0cc;--ait-live-bd:#fde68a}
.home-v2.ait-app:has([data-tone="violet"]){
  --ait-from:#7c3aed;--ait-to:#6366f1;
  --ait-wash-a:#e4d4ff;--ait-wash-b:#f3e8ff;--ait-wash-c:#ddd6fe;
  --ait-glow-1:rgba(124,58,237,.44);--ait-glow-2:rgba(99,102,241,.22);--ait-glow-3:rgba(167,139,250,.26);
  --ait-blob-a:#c4b5fd;--ait-blob-b:#a78bfa;--ait-blob-c:#8b5cf6;
  --ait-dot:#7c3aed;--ait-live-bg:#eee4ff;--ait-live-bd:#ddd6fe}
.home-v2.ait-app:has([data-tone="rose"]){
  --ait-from:#db2777;--ait-to:#f43f5e;
  --ait-wash-a:#ffd4e6;--ait-wash-b:#ffe8f0;--ait-wash-c:#fecdd3;
  --ait-glow-1:rgba(219,39,119,.42);--ait-glow-2:rgba(244,63,94,.2);--ait-glow-3:rgba(251,113,133,.26);
  --ait-blob-a:#fb7185;--ait-blob-b:#f472b6;--ait-blob-c:#db2777;
  --ait-dot:#db2777;--ait-live-bg:#ffe8f0;--ait-live-bd:#fbcfe8}
.home-v2.ait-app::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.35;
  background-image:radial-gradient(var(--ait-dot) 0.7px, transparent 0.7px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000 0%,transparent 72%)}
.home-v2.ait-app>.ait-glow{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.home-v2.ait-app>.ait-glow .blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.45;animation:dbx-blob 16s ease-in-out infinite}
.home-v2.ait-app>.ait-glow .blob-a{width:340px;height:300px;top:-90px;left:-60px;background:var(--ait-blob-a)}
.home-v2.ait-app>.ait-glow .blob-b{width:280px;height:280px;top:8%;right:-80px;background:var(--ait-blob-b);animation-delay:-5s}
.home-v2.ait-app>.ait-glow .blob-c{width:260px;height:230px;bottom:8%;left:30%;background:var(--ait-blob-c);animation-delay:-9s}
.home-v2.ait-app .ait-nav-mark{background:linear-gradient(90deg,var(--ait-from),var(--ait-to))}

.home-v2 .ait-hero{position:relative;z-index:1;text-align:center;padding:36px 16px 8px;max-width:820px;margin:0 auto}
.home-v2 .ait-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:6px 12px 6px 8px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ait-from);background:rgba(255,255,255,.72);
  border:1px solid #c3cef5;box-shadow:0 6px 16px color-mix(in srgb,var(--ait-from) 18%,transparent)}
.home-v2 .ait-eyebrow i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18);display:block}
.home-v2 .ait-hero h1{font-family:var(--font-sora),var(--font-jakarta),sans-serif;font-size:clamp(28px,4.2vw,44px);font-weight:800;
  letter-spacing:-.03em;line-height:1.12;margin:0 0 10px;color:#1b2342}
.home-v2 .ait-hero h1 .grad{background:linear-gradient(90deg,var(--ait-from),var(--ait-to));-webkit-background-clip:text;background-clip:text;color:transparent}
.home-v2 .ait-hero>p{color:#4a5578;font-size:15px;margin:0 auto 8px;max-width:520px}
.home-v2 .ait-profile-hint{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:700;color:#0e8aa8;background:#e1f1f7;border:1px solid #b3e2da}

.home-v2 .ait-switcher{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;
  max-width:1080px;margin:22px auto 0;padding:0 16px}
.home-v2 .ait-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:14px 14px 13px;
  border-radius:18px;background:rgba(255,255,255,.7);border:1px solid #d4dcf5;backdrop-filter:blur(12px);cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;color:#1b2342}
.home-v2 .ait-tile:hover{transform:translateY(-3px);border-color:#b8c6f5;box-shadow:0 12px 28px rgba(20,30,70,.1)}
.home-v2 .ait-tile-ico{width:42px;height:42px;border-radius:14px;display:grid;place-items:center}
.home-v2 .ait-tile-ico svg{width:22px;height:22px;display:block}
.home-v2 .ait-tile-name{display:block;font-family:var(--font-sora),sans-serif;font-size:13px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.home-v2 .ait-tile-blurb{display:block;font-size:11px;font-weight:600;color:#7c84a3;margin-top:3px}
.home-v2 .ait-tile.tone-blue .ait-tile-ico{background:#e4eaff;color:#2f6bff}
.home-v2 .ait-tile.tone-teal .ait-tile-ico{background:#d9f3ee;color:#0e8aa8}
.home-v2 .ait-tile.tone-amber .ait-tile-ico{background:#fff0cc;color:#b45309}
.home-v2 .ait-tile.tone-violet .ait-tile-ico{background:#eee4ff;color:#7c3aed}
.home-v2 .ait-tile.tone-rose .ait-tile-ico{background:#ffe8f0;color:#db2777}
.home-v2 .ait-tile.is-on{color:#fff;border-color:transparent;transform:translateY(-3px)}
.home-v2 .ait-tile.is-on .ait-tile-blurb{color:rgba(255,255,255,.82)}
.home-v2 .ait-tile.is-on .ait-tile-ico{background:rgba(255,255,255,.2);color:#fff}
.home-v2 .ait-tile.is-on.tone-blue{background:linear-gradient(145deg,#2f6bff,#4f46e5);box-shadow:0 14px 32px rgba(47,107,255,.32)}
.home-v2 .ait-tile.is-on.tone-teal{background:linear-gradient(145deg,#0e8aa8,#14b8a6);box-shadow:0 14px 32px rgba(14,138,168,.3)}
.home-v2 .ait-tile.is-on.tone-amber{background:linear-gradient(145deg,#f59e0b,#ea580c);box-shadow:0 14px 32px rgba(245,158,11,.28)}
.home-v2 .ait-tile.is-on.tone-violet{background:linear-gradient(145deg,#7c3aed,#6366f1);box-shadow:0 14px 32px rgba(124,58,237,.3)}
.home-v2 .ait-tile.is-on.tone-rose{background:linear-gradient(145deg,#db2777,#f43f5e);box-shadow:0 14px 32px rgba(219,39,119,.28)}

.home-v2 .ait-stage{position:relative;z-index:1;margin:22px 4% 40px;padding:10px;border-radius:26px;
  background:rgba(255,255,255,.55);border:1px solid #d4dcf5;backdrop-filter:blur(18px);
  box-shadow:0 22px 56px rgba(20,30,70,.12)}
.home-v2 .ait-toolhead{padding:14px 16px;margin-bottom:16px;border-radius:16px;border:1px solid #d4dcf5;
  background:linear-gradient(120deg,#eef2ff 0%,#fff 55%,#f4fffb 100%)}
.home-v2 .ait-toolhead h2{font-family:var(--font-sora),sans-serif;letter-spacing:-.02em}

.home-v2 .ait-rail{background:linear-gradient(180deg,#eef2ff 0%,#fff 22%);border:1px solid #d4dcf5;border-radius:20px;
  box-shadow:0 12px 28px rgba(47,107,255,.08);position:relative;overflow:hidden}
.home-v2 .ait-rail::before{content:"";position:absolute;top:0;left:18px;right:18px;height:4px;border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,var(--ait-from),var(--ait-to))}
.home-v2 .ait-rail-body{padding-top:6px}
.home-v2 .ait-rail-foot{padding-top:12px;margin-top:8px;border-top:1px solid #e8ecf8}
.home-v2 .ait-rail-foot>button,.home-v2 .ait-go{border:0!important;border-radius:14px!important;letter-spacing:-.01em;
  background:linear-gradient(135deg,var(--ait-from),var(--ait-to))!important;
  box-shadow:0 12px 24px color-mix(in srgb,var(--ait-from) 32%,transparent)!important}

.home-v2 .ait-field{margin-bottom:16px}
.home-v2 .ait-field>label,.home-v2 .ait-rail label{font-size:10.5px!important;font-weight:800!important;letter-spacing:.08em;
  text-transform:uppercase;color:#7c84a3!important}
.home-v2 .ait-field>label span,.home-v2 .ait-rail label span{text-transform:none;letter-spacing:0;font-weight:600;color:#9aa3c2}
.home-v2 .ait-chip{padding:7px 12px!important;border-radius:10px!important;font-size:11.5px!important;font-weight:700!important;
  background:#fff;color:#4a5578;border:1px solid #e1e6f4;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.home-v2 .ait-chip:hover{border-color:var(--ait-from);color:var(--ait-from);transform:translateY(-1px)}
.home-v2 .ait-chip.is-on{color:#fff!important;border-color:transparent!important;
  background:linear-gradient(135deg,var(--ait-from),var(--ait-to))!important;box-shadow:0 6px 14px color-mix(in srgb,var(--ait-from) 32%,transparent)}
.home-v2 .ait-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:14px;border-radius:14px;
  background:#e8ecfb;border:1px solid #d4dcf5}
.home-v2 .ait-mode button{padding:8px 0;border-radius:11px;font-size:11.5px;font-weight:800;color:#7c84a3;border:0;background:transparent}
.home-v2 .ait-mode button.is-on{background:#fff;color:var(--ait-from);box-shadow:0 4px 10px rgba(20,30,70,.08)}
.home-v2 .ait-rail input,.home-v2 .ait-rail select,.home-v2 .ait-select select{
  background:#fff!important;border-radius:12px!important;border-color:#d4dcf5!important;font-size:13.5px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.home-v2 .ait-rail input:focus,.home-v2 .ait-rail select:focus{border-color:var(--ait-from)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ait-from) 16%,transparent)!important}
.home-v2 .ait-live{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;border-radius:999px;
  font-size:11px;font-weight:800;color:var(--ait-from);background:var(--ait-live-bg);border:1px solid var(--ait-live-bd)}

.home-v2 .ait-guide{position:relative;overflow:hidden;min-height:18rem;padding:28px 28px 26px;border-radius:22px;
  background:linear-gradient(165deg,#eef2ff 0%,#fff 46%,#f3fffb 100%);border:1px solid #d4dcf5}
.home-v2 .ait-guide::before{content:"";position:absolute;width:180px;height:180px;right:-40px;top:-50px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--ait-from) 22%,transparent),transparent 70%);pointer-events:none}
.home-v2 .ait-guide-kicker{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ait-to);margin:0 0 8px}
.home-v2 .ait-guide h3{font-family:var(--font-sora),sans-serif;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 18px;color:#1b2342}
.home-v2 .ait-guide ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.home-v2 .ait-guide li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;position:relative;padding-bottom:16px}
.home-v2 .ait-guide li:last-child{padding-bottom:0}
.home-v2 .ait-guide li:not(:last-child)::after{content:"";position:absolute;left:19px;top:36px;bottom:0;width:2px;background:linear-gradient(#c3cef5,transparent)}
.home-v2 .ait-guide-num{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-sora),sans-serif;
  font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--ait-from),var(--ait-to));box-shadow:0 8px 16px color-mix(in srgb,var(--ait-from) 32%,transparent)}
.home-v2 .ait-guide li p{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:#4a5578}

.home-v2 .ait-inspect{border-radius:20px;padding:22px 18px;background:linear-gradient(180deg,rgba(255,255,255,.5),#f4f7ff);
  border:1.5px dashed #c3cef5!important}
.home-v2 .ait-inspect p{text-align:left}

@media (max-width:980px){
  .home-v2 .ait-switcher{grid-template-columns:repeat(5,minmax(148px,1fr));overflow-x:auto;padding-bottom:8px}
}
@media (max-width:680px){
  .home-v2 .ait-stage{margin:16px 12px 28px;padding:6px;border-radius:20px}
  .home-v2 .ait-hero{padding-top:22px}
}
@media (prefers-reduced-motion:reduce){
  .home-v2.ait-app>.ait-glow .blob,.home-v2 .ait-tile,.home-v2 .ait-tile:hover{animation:none;transform:none}
}


/* If page JS 404s too, do not leave reveal-blocked sections invisible. */
.home-v2 .reveal,
.home-v2 .reveal-left,
.home-v2 .reveal-right,
.home-v2 .reveal-scale,
.home-v2 .pmhd-showcase .pmhd-case,
.home-v2 .pmhd-benefits .pmhd-benefit,
.home-v2 .pmhd-icongrid .pmhd-datacard,
.home-v2 .pmhd-steps .pmhd-stepcard,
.home-v2 .pmhd-badges .pmhd-badge,
.home-v2 .pmhd-module-grid .pmhd-module-card{
  opacity:1!important;
  transform:none!important;
}
img{max-width:100%;height:auto}
