:root{
    /* Brand palette — education-friendly teal primary, remapped onto
       Bootstrap 5.3's CSS variable theme so every bootstrap component
       (btn, card, badge, navbar…) inherits it automatically. Var NAMES
       are kept as --orange/--orange-dark/--orange-soft on purpose so
       every existing var(--orange) reference below repaints without
       needing to touch each usage individually. */
    --bs-primary: #10a37f;
    --bs-primary-rgb: 16,163,127;
    --bs-secondary: #10162b;
    --bs-secondary-rgb: 16,22,43;
    --bs-body-font-family: 'Inter', sans-serif;
    --bs-body-color: #10162b;
    --bs-link-color: #10a37f;
    --bs-link-hover-color: #0d8c6d;
    --bs-border-radius: 14px;
    --bs-border-radius-lg: 20px;
    --bs-border-radius-pill: 999px;

    /* Surfaces */
    --bg: #ffffff;
    --surface: #fafafa;
    --card-bg: #ffffff;
    --nav-bg: rgba(255,255,255,0.95);
    --ink: #10162b;
    --muted: #5c6270;
    --line: #ececec;
    --track: #f0f0f0;
    --chip-bg: #f3f4f6;

    /* Primary (teal — calm, trustworthy, "growth") */
    --orange: #10a37f;
    --orange-dark: #0d8c6d;
    --orange-soft: #e3f7f1;
    --primary-rgb: 16,163,127;

    /* Semantic tokens */
    --success: #10b981;
    --success-soft: #ecfdf5;
    --success-dark: #047857;
    --warning: #f59e0b;
    --warning-soft: #fef3e2;
    --danger: #ef4444;
    --accent: #7c3aed;
    --accent-soft: #ede9fe;

    --header-height: 72px;
  }


  /* Dark mode — same structure as the rest of the site: toggled via
     .dark on <body>, every surface/text token flips together. */
  body.dark{
    --bg: #14171f;
    --surface: #191c26;
    --card-bg: #1d212c;
    --nav-bg: rgba(20,23,31,0.85);
    --ink: #ececec;
    --muted: #9aa1b1;
    --line: #2a2f3d;
    --track: #262b38;
    --chip-bg: #262b38;

    --orange: #10a37f;
    --orange-dark: #14c795;
    --orange-soft: rgba(16,163,127,.16);

    --success: #22c55e;
    --success-soft: rgba(34,197,94,.14);
    --success-dark: #4ade80;
    --warning: #f59e0b;
    --warning-soft: rgba(245,158,11,.14);
    --danger: #f87171;
    --accent: #a78bfa;
    --accent-soft: rgba(167,139,250,.16);
  }

  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    padding-top: var(--header-height);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    width:100%;
    background:var(--bg);
    color:var(--ink);
    transition:background .2s ease, color .2s ease;
  }
  a{text-decoration:none;}

  h1, h2, h3{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:800;
    letter-spacing:-0.02em;
    line-height:1.1;
  }
  h2{ font-size: clamp(26px, 4vw, 42px); }
  .section-desc{
    color: var(--muted);
    font-size: clamp(15px, 2vw, 17px);
    max-width: 60ch;
  }

  :focus-visible{outline:2px solid var(--orange-dark); outline-offset:3px;}


  .sign-link {
    font-weight: 500;
    color: var(--muted);
    padding: 6px 0;
    margin: 0 17px;
    position: relative;
   }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

  /* Buttons: keep Bootstrap's .btn classes, restyle the brand colors on top */
  .btn{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:15px; }
  .btn-primary{
    --bs-btn-color:#fff;
    --bs-btn-bg:var(--orange);
    --bs-btn-border-color:var(--orange);
    --bs-btn-hover-bg:var(--orange-dark);
    --bs-btn-hover-border-color:var(--orange-dark);
    --bs-btn-active-bg:var(--orange-dark);
    --bs-btn-active-border-color:var(--orange-dark);
    box-shadow:0 10px 24px -8px rgba(var(--primary-rgb),0.55);
  }
  .btn-outline-dark{
    --bs-btn-color:var(--ink);
    --bs-btn-border-color:var(--line);
    --bs-btn-hover-bg:var(--ink);
    --bs-btn-hover-border-color:var(--ink);
  }
  .btn-lift:hover{ transform:translateY(-1px); }

  /* ---------- Sticky Navbar (identical to the landing page) ---------- */
  .navbar.topbar{
    position:fixed; top:0; left:0; width:100%; min-height:var(--header-height);
    background:var(--nav-bg);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
    z-index:1030;
    display:flex; align-items:center;
    overflow:visible;
  }
  .navbar.topbar .container{
    margin:0 auto; padding:0 20px;
    width:100%; display:flex; align-items:center; justify-content:space-between;
    flex-wrap:nowrap; gap:10px;
  }
  .brand{
    display:flex; align-items:center; gap:11px;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:800; font-size:18px; color:var(--ink);
    white-space:nowrap; flex-shrink:0;
  }
  .brand-mark{
    width:32px; height:32px; border-radius:9px;
    background:linear-gradient(145deg, var(--orange), var(--orange-dark));
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .navbar-nav .nav-link{
    font-weight:500; color:var(--muted); padding:6px 0; margin:0 17px;
    position:relative;
  }
  .navbar-nav .nav-link:hover{ color:var(--ink); }
  .navbar-nav .nav-link.active{ color:var(--orange); font-weight:600; }
  .navbar-nav .nav-link.active::after{
    content:''; position:absolute; bottom:-2px; left:0; width:100%; height:2px;
    background:var(--orange); border-radius:2px;
  }
  .navbar-actions{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
  .navbar-toggler{
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; flex-shrink:0;
    background:transparent; border:1px solid var(--line); border-radius:10px;
    color:var(--ink); box-shadow:none; cursor:pointer;
  }
  .navbar-toggler:focus{ box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2); }
  .offcanvas{ background:var(--card-bg); color:var(--ink); }
  .offcanvas .nav-link{ font-size:17px; font-weight:600; color:var(--muted); padding:10px 0; border-bottom:1px solid var(--line); }
  .offcanvas .nav-link.active{ color:var(--orange); }
  
  
   /* ---------- Hero ---------- */
  .hero{ padding:clamp(48px, 8vw, 96px) 0; text-align:center; }
  .badge-live{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--card-bg); border:1px solid var(--line); border-radius:999px;
    padding:8px 18px 8px 8px; font-size:13.5px; font-weight:600; color:var(--ink);
    box-shadow:0 6px 18px -12px rgba(16,22,43,0.25);
  }
  .badge-icon{
    width:26px; height:26px; border-radius:7px; background:var(--orange); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800;
  }
  .hero h1{ font-size:clamp(32px, 5vw, 68px); max-width:18ch; margin:0 auto; }
  .hero h1 .accent{ color:var(--orange); }
  .hero p{ color:var(--muted); font-size:clamp(16px, 2.5vw, 18px); max-width:58ch; margin:24px auto 36px; }

  /* ---------- Features ---------- */
  .features{ padding:clamp(56px, 8vw, 96px) 0; background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .feat-card{
    background:var(--card-bg); padding:clamp(24px, 4vw, 36px); border-radius:20px; border:1px solid var(--line);
    transition:transform .2s ease, box-shadow .2s ease; height:100%;
  }
  .feat-card:hover{ transform:translateY(-4px); box-shadow:0 12px 32px -12px rgba(16,22,43,0.12); }
  .feat-icon{
    width:48px; height:48px; border-radius:12px; background:var(--orange-soft); color:var(--orange);
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  }
  .feat-card h3{ font-size:19px; margin-bottom:10px; }
  .feat-card p{ color:var(--muted); font-size:14.5px; margin-bottom:0; }

  /* ---------- Pricing ---------- */
  .pricing{ padding:clamp(56px, 8vw, 96px) 0; }
  .toggle-label{ font-weight:600; font-size:15px; color:var(--muted); cursor:pointer; transition:color .2s; }
  .toggle-label.active{ color:var(--ink); }
  .form-switch .form-check-input{
    width:3em; height:1.6em; cursor:pointer;
  }
  .form-switch .form-check-input:checked{ background-color:var(--orange); border-color:var(--orange); }
  .form-switch .form-check-input:focus{ box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25); border-color:var(--orange); }
  .discount-pill{ background:var(--orange-soft); color:var(--orange); font-size:12px; font-weight:700; padding:3px 10px; border-radius:99px; margin-left:4px; }

  .price-card{
    background:var(--card-bg); border:1px solid var(--line); border-radius:24px; padding:clamp(28px, 4vw, 36px);
    display:flex; flex-direction:column; position:relative; height:100%;
  }
  .price-card.featured{ border-color:var(--orange); box-shadow:0 16px 36px -12px rgba(var(--primary-rgb),0.15); }
  @media (max-width:767.98px){
    .price-card.featured{ margin-top:16px; }
  }
  .price-tag{
    position:absolute; top:-14px; right:24px; background:var(--orange); color:#fff;
    font-size:11px; font-weight:700; padding:4px 12px; border-radius:99px; text-transform:uppercase; letter-spacing:.05em;
  }
  .price-card h3{ font-size:21px; margin-bottom:6px; }
  .price-amt{ font-size:38px; font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; margin:12px 0 20px; }
  .price-amt span{ font-size:15px; color:var(--muted); font-weight:500; }
  .price-features{ list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:32px; font-size:14.5px; padding-left:0; }
  .price-features li{ display:flex; align-items:center; gap:10px; }
  .price-features svg{ color:var(--success); flex-shrink:0; }
  .price-card .btn{ width:100%; margin-top:auto; }

  /* ---------- Testimonials — now matches the light "Features" section per request ---------- */
  .testimonials{ padding:clamp(56px, 8vw, 96px) 0; background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .testimonials .section-desc{ color:var(--muted); }
  .test-card{
    background:var(--card-bg); border:1px solid var(--line); padding:clamp(24px, 4vw, 36px); border-radius:20px;
    display:flex; flex-direction:column; justify-content:space-between; gap:20px; height:100%;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .test-card:hover{ transform:translateY(-4px); box-shadow:0 12px 32px -12px rgba(16,22,43,0.12); }
  .test-text{ font-size:15.5px; font-style:italic; line-height:1.6; color:var(--ink); margin-bottom:0; }
  .test-avatar{
    width:44px; height:44px; border-radius:50%; background:var(--orange);
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#fff; flex-shrink:0;
  }
  .test-name{ font-weight:700; font-size:15px; color:var(--ink); }
  .test-score{ font-size:13px; color:var(--orange-dark); font-weight:600; margin-top:1px; }

  /* ---------- Footer (dark, identical to the landing page) ---------- */
  .footer{ background:#10162b; color:#c7cbdb; padding:clamp(48px, 6vw, 72px) 0 36px; font-size:14px; }
  .footer .brand{ color:#fff; }
  .footer .foot-head{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; color:#fff; margin-bottom:16px; font-size:14.5px; }
  .footer .foot-links{ list-style:none; display:flex; flex-direction:column; gap:12px; padding-left:0; }
  .footer .foot-links a{ color:#c7cbdb; }
  .footer .foot-links a:hover{ color:var(--orange); }
  .footer p{ color:#9ba0b7; }
  .foot-socials{ display:flex; gap:12px; margin-top:4px; }
  .foot-socials a{
    display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:#fff;
    transition:background .2s, border-color .2s;
  }
  .foot-socials a:hover{ background:var(--orange); border-color:var(--orange); }
  .foot-bottom{ border-top:1px solid rgba(255,255,255,0.12); padding-top:32px; }
  .foot-bottom p{ color:#9ba0b7; margin-bottom:0; }
  @media (max-width: 767.98px){
    .foot-bottom{ text-align:center; }
    .foot-bottom .text-md-end{ text-align:center !important; margin-top:8px; }
  }
  
  /* ---------- Capabilities (tabbed) section ---------- */
  .capabilities{ padding:clamp(56px, 8vw, 96px) 0; }
  .cap-tabs{ display:flex; flex-wrap:wrap; gap:10px; }
  .cap-tab{
    border:1px solid var(--line); background:var(--card-bg); color:var(--ink);
    font-weight:600; font-size:14.5px; padding:10px 20px; border-radius:999px;
    cursor:pointer; transition:all .2s ease; white-space:nowrap;
  }
  .cap-tab:hover{ border-color:var(--orange); }
  .cap-tab.active{
    background:var(--orange); border-color:var(--orange); color:#fff;
    box-shadow:0 10px 24px -10px rgba(var(--primary-rgb),.5);
  }

  .cap-panel{ display:none; }
  .cap-panel.active{ display:block; }
  .cap-title{ font-size:clamp(24px, 3vw, 34px); margin-bottom:18px; }
  .cap-desc{ color:var(--muted); font-size:15.5px; margin-bottom:24px; }
  .cap-check{ list-style:none; padding-left:0; display:flex; flex-direction:column; gap:14px; margin-bottom:28px; }
  .cap-check li{ display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--ink); }
  .cap-check .check-ic{
    width:22px; height:22px; border-radius:50%; background:var(--orange); color:#fff;
    display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
  }
  .cap-cta{ font-weight:700; color:var(--orange); font-size:15px; display:inline-flex; align-items:center; gap:8px; }
  .cap-cta:hover{ color:var(--orange-dark); }

  .cap-visual-frame{
    position:relative; border:1px solid var(--line); border-radius:24px; background:var(--surface);
    overflow:hidden; min-height:420px; display:flex; align-items:center; justify-content:center; padding:32px;
  }
  .cap-blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.55; z-index:0; }
  .cap-blob.b1{ width:220px; height:220px; background:var(--orange-soft); top:-40px; left:-40px; }
  .cap-blob.b2{ width:180px; height:180px; background:var(--accent-soft); bottom:-30px; right:8%; }
  .cap-blob.b3{ width:160px; height:160px; background:var(--success-soft); bottom:10px; left:12%; }

  .cap-card{
    position:relative; z-index:2; background:var(--card-bg); border:1px solid var(--line); border-radius:18px;
    box-shadow:0 20px 45px -20px rgba(16,22,43,.25); padding:28px; max-width:380px; width:100%;
  }
  .cap-card-brand{ display:flex; align-items:center; gap:8px; font-weight:800; font-family:'Plus Jakarta Sans', sans-serif; font-size:15px; }
  .cap-card-brand .brand-mark{ width:24px; height:24px; border-radius:7px; }
  .cap-card-title{ font-weight:800; font-size:17px; margin:14px 0 2px; }
  .cap-card-sub{ color:var(--muted); font-size:12.5px; margin-bottom:18px; }

  .cap-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:8px; }
  .cap-opt{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:12.5px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
  .cap-opt .radio{ width:14px; height:14px; border-radius:50%; border:2px solid var(--line); flex-shrink:0; }
  .cap-opt.selected{ border-color:var(--ink); }
  .cap-opt.selected .radio{ border-color:var(--ink); border-width:4px; }
  .cap-continue-row{ display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:18px; position:relative; }
  .cap-cursor{ position:absolute; right:112px; top:-6px; opacity:.85; }

  .cap-chat-bubble{ border-radius:14px; padding:10px 14px; font-size:12.5px; max-width:85%; margin-bottom:10px; line-height:1.5; }
  .cap-chat-bubble.user{ background:var(--orange); color:#fff; margin-left:auto; border-bottom-right-radius:4px; }
  .cap-chat-bubble.ai{ background:var(--chip-bg); color:var(--ink); border-bottom-left-radius:4px; }
  .cap-chat-input{ display:flex; gap:8px; border:1px solid var(--line); border-radius:999px; padding:8px 8px 8px 14px; margin-top:14px; font-size:12px; color:var(--muted); align-items:center; }
  .cap-chat-input .send{ width:26px; height:26px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

  .cap-progress{ height:6px; background:var(--track); border-radius:99px; overflow:hidden; margin-bottom:16px; }
  .cap-progress span{ display:block; height:100%; background:var(--orange); }
  .cap-mcq-opt{ border:1.5px solid var(--line); border-radius:10px; padding:10px 14px; font-size:12.5px; margin-bottom:8px; color:var(--ink); }
  .cap-mcq-opt.correct{ border-color:var(--success); background:var(--success-soft); color:var(--success-dark); font-weight:600; }

  .cap-report-row{ margin-bottom:14px; }
  .cap-report-row .lbl{ display:flex; justify-content:space-between; font-size:12.5px; font-weight:600; margin-bottom:6px; }
  .cap-bar{ height:8px; background:var(--track); border-radius:99px; overflow:hidden; }
  .cap-bar span{ display:block; height:100%; background:var(--orange); border-radius:99px; }
  .cap-score-big{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:28px; margin:4px 0 18px; }
  .cap-score-big small{ font-size:13px; color:var(--muted); font-weight:600; }

  .cap-feed-item{ padding:10px 0; border-bottom:1px solid var(--line); font-size:12.5px; }
  .cap-feed-item:last-child{ border-bottom:none; }
  .cap-feed-tag{ display:inline-block; font-size:10.5px; font-weight:700; color:var(--orange); background:var(--orange-soft); padding:2px 8px; border-radius:99px; margin-bottom:5px; }
  .cap-feed-headline{ color:var(--ink); font-weight:600; }

  .cap-mini-chart{ display:flex; align-items:flex-end; gap:8px; height:80px; margin:16px 0 18px; }
  .cap-mini-chart .bar{ flex:1; background:var(--orange-soft); border-radius:6px 6px 0 0; }
  .cap-mini-chart .bar.hi{ background:var(--orange); }

  .cap-btn-full{ width:100%; }

  /* =========================================================
     Legal page — new, page-specific styles
  ========================================================= */
  .legal-hero{
    padding:clamp(40px, 6vw, 64px) 0 clamp(24px, 4vw, 36px);
    border-bottom:1px solid var(--line);
    background:var(--surface);
  }
  .legal-hero h1{ font-size:clamp(30px, 4.5vw, 46px); }
  .legal-updated{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--card-bg); border:1px solid var(--line); border-radius:999px;
    padding:6px 14px; font-size:13px; font-weight:600; color:var(--muted); margin-bottom:18px;
  }
  .legal-updated .dot{ width:7px; height:7px; border-radius:50%; background:var(--success); flex-shrink:0; }

  .legal-layout{ padding:clamp(40px, 6vw, 64px) 0 clamp(64px, 8vw, 96px); }

  /* Sticky table of contents */
  .legal-toc{
    position:sticky; top:calc(var(--header-height) + 24px);
    background:var(--card-bg); border:1px solid var(--line); border-radius:18px;
    padding:18px; max-height:calc(100vh - var(--header-height) - 48px); overflow-y:auto;
  }
  .legal-toc-head{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; margin-bottom:10px; padding:0 6px; }
  .legal-toc a{
    display:block; font-size:14px; font-weight:600; color:var(--muted);
    padding:8px 10px; border-radius:10px; margin-bottom:2px; transition:background .15s, color .15s;
  }
  .legal-toc a:hover{ background:var(--surface); color:var(--ink); }
  .legal-toc a.active{ background:var(--orange-soft); color:var(--orange-dark); }

  /* Content sections */
  .legal-content{ max-width:100ch; }
  .legal-section{ padding-top:12px; margin-top:8px; scroll-margin-top:calc(var(--header-height) + 20px); }
  .legal-section:not(:first-child){ margin-top:44px; padding-top:32px; border-top:1px solid var(--line); }
  .legal-section h2{ font-size:clamp(20px, 2.6vw, 25px); margin-bottom:14px; display:flex; align-items:center; gap:12px; }
  .legal-section-num{
    width:30px; height:30px; border-radius:9px; background:var(--orange-soft); color:var(--orange-dark);
    font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:13.5px;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .legal-section p{ color:var(--muted); font-size:15px; line-height:1.75; margin-bottom:14px; }
  .legal-section h3{ font-size:16px; font-weight:700; color:var(--ink); margin:20px 0 8px; }
  .legal-section ul{ color:var(--muted); font-size:15px; line-height:1.75; padding-left:22px; margin-bottom:14px; }
  .legal-section ul li{ margin-bottom:6px; }
  .legal-section strong{ color:var(--ink); }
  .legal-callout{
    background:var(--orange-soft); border:1px solid rgba(var(--primary-rgb),.25); border-radius:14px;
    padding:16px 18px; font-size:14px; color:var(--ink); margin:16px 0;
    display:flex; gap:12px; align-items:flex-start;
  }
  .legal-callout svg{ color:var(--orange-dark); flex-shrink:0; margin-top:2px; }
  .legal-contact-card{
    background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:24px; margin-top:8px;
  }
  .legal-contact-card a{ color:var(--orange); font-weight:600; }

  .back-to-top{
    position:fixed; right:24px; bottom:24px; width:44px; height:44px; border-radius:50%;
    background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px -8px rgba(var(--primary-rgb),0.55); opacity:0; visibility:hidden;
    transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:1020;
  }
  .back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
  .back-to-top:hover{ background:var(--orange-dark); }

  @media (max-width: 991.98px){
    .legal-toc{ position:static; max-height:none; margin-bottom:28px; }
  }
  
  
  
  /* ---------- Auth shell: minimal top bar, split screen ---------- */
  .auth-topbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px clamp(20px, 4vw, 48px);
  }
  .auth-topbar-actions{ display:flex; align-items:center; gap:14px; }
  .auth-signup-hint{ font-size:14px; color:var(--muted); }
  .auth-signup-hint a{ color:var(--orange); font-weight:700; }

  .auth-shell{
    display:grid;
    grid-template-columns: 1fr 1fr;
    min-height:calc(100vh - 80px);
  }
  @media (max-width: 991.98px){
    .auth-shell{ grid-template-columns: 1fr; }
  }

  /* ---------- Left brand panel ---------- */
  .auth-panel{
    position:relative;
    background:linear-gradient(160deg, var(--ink) 0%, #1a2340 60%, var(--orange-dark) 130%);
    color:#fff;
    padding:clamp(36px, 5vw, 64px);
    display:flex; flex-direction:column; justify-content:space-between;
    overflow:hidden;
  }
  @media (max-width: 991.98px){ .auth-panel{ display:none; } }
 .auth-panel::before {
  content: ''; 
  position: absolute; 
  inset: 0;
  pointer-events: none; /* 🔥 FIX: Allows clicks to pass through to your links */
  background: radial-gradient(circle at 15% 15%, rgba(16,163,127,.35), transparent 45%),
             radial-gradient(circle at 85% 85%, rgba(124,58,237,.28), transparent 45%);
}

  .auth-panel-content{ position:relative; z-index:1; }
  .auth-panel .brand{ color:#fff; margin-bottom:auto; }
  .auth-panel h2{ font-size:clamp(26px, 3vw, 34px); max-width:16ch; margin:0 0 16px; }
  .auth-panel p{ color:rgba(255,255,255,.75); font-size:15.5px; max-width:42ch; margin-bottom:0; }

  .auth-panel-stats{ position:relative; z-index:1; display:flex; gap:28px; margin-top:40px; }
  .auth-stat-num{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:24px; }
  .auth-stat-label{ font-size:12.5px; color:rgba(255,255,255,.65); }

  .auth-panel-quote{
    position:relative; z-index:1; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
    border-radius:16px; padding:20px; margin-top:40px; backdrop-filter:blur(6px);
  }
  .auth-panel-quote p{ font-size:14.5px; font-style:italic; color:#fff; margin-bottom:12px; }
  .auth-quote-author{ display:flex; align-items:center; gap:10px; }
  .auth-quote-avatar{
    width:32px; height:32px; border-radius:50%; background:var(--orange); color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; flex-shrink:0;
  }
  .auth-quote-name{ font-size:13px; font-weight:700; color:#fff; }
  .auth-quote-role{ font-size:11.5px; color:rgba(255,255,255,.6); }

  /* ---------- Right form panel ---------- */
  .auth-form-panel{
    display:flex; align-items:center; justify-content:center;
    padding:clamp(28px, 5vw, 64px) 20px;
  }
  .auth-form-wrap{ width:100%; max-width:400px; }
  .auth-form-wrap h1{ font-size:clamp(24px, 3vw, 30px); margin-bottom:8px; }
  .auth-form-wrap .lead-desc{ color:var(--muted); font-size:14.5px; margin-bottom:28px; }

  .form-label-app{ font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:6px; display:block; }
  .form-control-app{
    background:var(--surface); border:1px solid var(--line); color:var(--ink);
    font-size:14.5px; padding:11px 14px; border-radius:12px;
  }
  .form-control-app::placeholder{ color:var(--muted); }
  .form-control-app:focus{
    background:var(--surface); color:var(--ink); border-color:var(--orange);
    box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15);
  }
  .input-icon-group{ position:relative; }
  .input-icon-group .form-control-app{ padding-left:40px; }
  .input-icon-group svg{
    position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none;
  }
  .pwd-toggle{
    position:absolute; right:6px; top:50%; transform:translateY(-50%);
    background:none; border:none; color:var(--muted); width:32px; height:32px; border-radius:8px;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .pwd-toggle:hover{ background:var(--track); color:var(--ink); }

  .form-check-app{ display:flex; align-items:center; gap:8px; }
  .form-check-app .form-check-input{
    width:1.05em; height:1.05em; margin-top:0; border-color:var(--line); cursor:pointer;
  }
  .form-check-app .form-check-input:checked{ background-color:var(--orange); border-color:var(--orange); }
  .form-check-app label{ font-size:13.5px; color:var(--muted); cursor:pointer; margin-bottom:0; }
  .forgot-link{ font-size:13.5px; font-weight:700; color:var(--orange); }
  .forgot-link:hover{ color:var(--orange-dark); }

  .auth-divider{ display:flex; align-items:center; gap:14px; margin:10px 0; }
  .auth-divider::before, .auth-divider::after{ content:''; flex:1; height:1px; background:var(--line); }
  .auth-divider span{ font-size:12.5px; color:var(--muted); font-weight:600; white-space:nowrap; }

  .social-btn{
    width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
    padding:11px 14px; border-radius:12px; border:1px solid var(--line); background:var(--card-bg);
    color:var(--ink); font-weight:600; font-size:14.5px; cursor:pointer; transition:background .15s, border-color .15s;
  }
  .social-btn:hover{ background:var(--surface); border-color:var(--muted); }
  .social-btn + .social-btn{ margin-top:10px; }

  .auth-footer-note{ font-size:13px; color:var(--muted); text-align:center; margin-top:28px; }
  .auth-footer-note a{ color:var(--orange); font-weight:700; }

  .auth-legal-note{ font-size:12.5px; color:var(--muted); text-align:center; margin-top:18px; }
  .auth-legal-note a{ color:var(--muted); text-decoration:underline; text-underline-offset:2px; }
  .auth-legal-note a:hover{ color:var(--orange); }
  
  
 @media (min-width: 768px) {
  .h-md-100-v {
    height: 100vh; }
  .h-md-100 {
    height: 100vh; } }


 .pm-section-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#e11d48;margin-bottom:10px;}
  .pm-section-head{max-width:640px;margin:0 auto 48px;}
  .pm-section-head h2{margin-bottom:10px;}

  /* ---- FAQ ---- */
  .pm-faq{padding:80px 0;}
  .pm-faq-list{display:flex;flex-direction:column;gap:14px;}
  .pm-faq-item{background:#fff;border:1px solid #ececf3;border-radius:16px;overflow:hidden;transition:border-color .2s ease, box-shadow .2s ease;margin:8px 0;}
  .pm-faq-item:hover{border-color:#d8d8ee;box-shadow:0 6px 20px rgba(20,20,50,.05);}
  .pm-faq-q{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;text-align:left;padding:20px 22px;cursor:pointer;font-family:inherit;}
  .pm-faq-num{flex:0 0 auto;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:13px;color:#c7c7dd;width:30px;}
  .pm-faq-qtext{flex:1 1 auto;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16.5px;color:#12172b;}
  .pm-faq-icon{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#f3f3fb;display:flex;align-items:center;justify-content:center;color:#12172b;transition:transform .25s ease, background .25s ease, color .25s ease;}
  .pm-faq-icon svg{transition:transform .25s ease;}
  .pm-faq-q[aria-expanded="true"] .pm-faq-icon{background:#12172b;color:#fff;}
  .pm-faq-q[aria-expanded="true"] .pm-faq-icon svg{transform:rotate(45deg);}
  .pm-faq-a{padding:0 22px 22px 66px;}
  .pm-faq-a p{margin:0;color:#5b5b72;font-size:15px;line-height:1.7;}
  .pm-faq-more{margin-top:24px;}
  .pm-faq-more a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:#12172b;text-decoration:none;}
  .pm-faq-more a svg{transition:transform .2s ease;}
  .pm-faq-more a:hover svg{transform:translateX(4px);}

  .pm-contact-card{background:#12172b;border-radius:20px;padding:36px 32px;color:#fff;height:100%;}
  .pm-contact-card .pm-contact-icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
  .pm-contact-card h4{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;margin-bottom:6px;}
  .pm-contact-card .pm-contact-sub{color:rgba(255,255,255,.65);font-size:14px;margin-bottom:24px;}
  .pm-contact-card label{color:rgba(255,255,255,.8);font-size:13px;font-weight:600;margin-bottom:6px;display:inline-block;}
  .pm-contact-card .form-control{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:10px;}
  .pm-contact-card .form-control::placeholder{color:rgba(255,255,255,.4);}
  .pm-contact-card .form-control:focus{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);box-shadow:none;color:#fff;}
  .pm-contact-card .btn-danger{width:100%;border-radius:10px;font-weight:700;padding:12px;}
  .pm-contact-alt{margin-top:18px;font-size:13.5px;color:rgba(255,255,255,.6);text-align:center;}
  .pm-contact-alt a{color:#fff;font-weight:700;text-decoration:underline;}

  @media (max-width:767.98px){
    .pm-faq{padding:56px 0;}
    .pm-faq-qtext{font-size:15px;}
    .pm-faq-a{padding-left:22px;}
    .pm-contact-card{padding:28px 22px;margin-top:8px;}
  }

  /* ---- BLOG ---- */
  .pm-blog{padding:80px 0;background:#fff;}
  .pm-blog-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;}
  .pm-blog-featured{display:block;text-decoration:none;color:inherit;border-radius:20px;overflow:hidden;border:1px solid #ececf3;transition:box-shadow .25s ease, transform .25s ease;background:#fff;}
  .pm-blog-featured:hover{box-shadow:0 16px 40px rgba(20,20,50,.1);transform:translateY(-3px);color:inherit;}
  .pm-blog-featured-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f3f3fb;}
  .pm-blog-featured-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .pm-blog-featured:hover .pm-blog-featured-img img{transform:scale(1.05);}
  .pm-blog-featured-body{padding:26px 26px 30px;}
  .pm-blog-featured-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:22px;margin:10px 0 10px;color:#12172b;}
  .pm-blog-featured-body p{color:#5b5b72;font-size:14.5px;line-height:1.6;margin-bottom:16px;}

  .pm-blog-side{display:flex;flex-direction:column;gap:16px;}
  .pm-blog-mini{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;padding:12px;border-radius:14px;border:1px solid transparent;transition:background .2s ease, border-color .2s ease;}
  .pm-blog-mini:hover{background:#f8f8fc;border-color:#ececf3;color:inherit;}
  .pm-blog-mini-img{flex:0 0 auto;width:88px;height:72px;border-radius:12px;overflow:hidden;background:#f3f3fb;}
  .pm-blog-mini-img img{width:100%;height:100%;object-fit:cover;}
  .pm-blog-mini-body h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;line-height:1.35;margin:2px 0 6px;color:#12172b;}

  .pm-blog-date{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#9a9ab0;}
  .pm-blog-tag{position:absolute;top:14px;left:14px;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:999px;color:#fff;background:#12172b;letter-spacing:.02em;}
  .pm-tag-exam{background:#e11d48;}
  .pm-tag-entrance{background:#7c3aed;}
  .pm-tag-career{background:#0ea5a4;}
  .pm-tag-english{background:#f59e0b;}
  .pm-tag-ai{background:#2563eb;}

  .pm-blog-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:#12172b;}
  .pm-blog-link svg{transition:transform .2s ease;}
  .pm-blog-featured:hover .pm-blog-link svg{transform:translateX(4px);}

  @media (max-width:991.98px){
    .pm-blog-grid{grid-template-columns:1fr;}
  }
  @media (max-width:767.98px){
    .pm-blog{padding:56px 0;}
    .pm-blog-mini{padding:10px;}
    .pm-blog-mini-img{width:72px;height:60px;}
    .pm-blog-featured-body{padding:20px;}
    .pm-blog-featured-body h3{font-size:19px;}
  }    