
    /* =========================
       1) DESIGN TOKENS (GLOBAL)
       ========================= */
    :root{
      /* Signature colors */
      --brand-navy:#0f172a;
      --brand-teal:#179D99;  /* primary action */
      --brand-blue:#1a4f9c;  /* interactive/system */

      /* Neutrals */
      --text-main:#1e293b;
      --text-body:#475569;
      --text-muted:#64748b;
      --bg-off-white:#f8fafc;
      --surface:#ffffff;

      /* Borders */
      --border-subtle:#e2e8f0;
      --border-strong:#cbd5e1;

      /* Shadows */
      --shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 1px rgba(15,23,42,.05);
      --shadow-card: 0 10px 22px rgba(15,23,42,.08);
      --shadow-float: 0 22px 48px rgba(15,23,42,.12);

      /* Radius */
      --radius-lg:16px;
      --radius-xl:20px;
      --radius-pill:9999px;

      /* Motion */
      --ease:cubic-bezier(0.4,0,0.2,1);
      --t-fast:150ms;
      --t:200ms;
      --t-slow:250ms;

      /* Background motion speed (1 = original; 3 = 3× faster) */
      --bg-motion-speed:3;

      /* Layout */
      --max:1200px;
      --pad:24px;
      --pad-sm:18px;

      /* Focus */
      --focus-outline: 3px solid rgba(26,79,156,.35);
      --focus-offset: 4px;
    }

    /* =========================
       2) BASE / TYPOGRAPHY
       ========================= */
    *{box-sizing:border-box}
    /* Prevent accidental horizontal document scrolling (iOS/Chrome can scroll the <html> element). */
    html{scroll-behavior:smooth; overflow-x:hidden}
    /* Let the document define height to avoid nested scrolling containers */
    html,body{height:auto}

    body{
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text-body);
      background:var(--bg-off-white);
      line-height:1.7;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      min-height:100%;
      overflow-x:hidden;
    }

    /* WordPress admin bar: keep sticky header from sitting underneath it */
    .admin-bar .header{ top:32px; }
    @media (max-width:782px){
      .admin-bar .header{ top:46px; }
    }

    /* If an LMS (e.g., LearnDash focus mode) creates an inner scrolling panel,
       force the main wrapper back to normal document scrolling */
    body.learndash-focus-mode{ overflow:auto !important; }
    body.learndash-focus-mode .ld-focus,
    body.learndash-focus-mode .ld-focus-main,
    body.learndash-focus-mode .ld-focus-content{
      height:auto !important;
      max-height:none !important;
      overflow:visible !important;
    }

    a{color:inherit; text-decoration:none !important}
    a:hover{opacity:.96; text-decoration:none !important}
    img{max-width:100%; display:block}

    h1,h2,h3{
      color:var(--text-main);
      margin:0;
      letter-spacing:-0.025em;
      line-height:1.12;
    }
    h1{font-weight:750; font-size:clamp(2.5rem, 4vw, 3.75rem)}
    h2{font-weight:750; font-size:clamp(2.1rem, 3vw, 2.75rem)}
    h3{font-weight:650; font-size:clamp(1.2rem, 1.6vw, 1.45rem)}
    p{margin:0}
    .lead{font-size:clamp(1.02rem, 1.45vw, 1.14rem); color:var(--text-body); margin-top:14px; font-weight:500}

    .sr-only{
      position:absolute !important;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }

    .medexp-container{
      width:min(var(--max), calc(100% - (var(--pad) * 2)));
      margin-inline:auto;
    }

    .section-spacing{padding:96px 0}
    @media (max-width: 720px){
      .medexp-container{width:min(var(--max), calc(100% - (var(--pad-sm) * 2)))}
      .section-spacing{padding:76px 0}
      html{scroll-behavior:auto}
    }

    .bg-white{background:var(--surface)}
    .bg-light{background:var(--bg-off-white)}
    .section-sep{border-top:1px solid var(--border-subtle)}

    

    /* Section background accents (hero-style) */
    .section--accent{
      position:relative;
      isolation:isolate;
      /* Decorative pseudo-elements use negative offsets; clip them to avoid page-wide horizontal overflow. */
      overflow:hidden;
      /* keep base bg color from .bg-white / .bg-light */
      background-repeat:no-repeat;
      background-size:cover;
    }
    .section--accent > .medexp-container{position:relative; z-index:2}
    .section--accent::before,
    .section--accent::after{
      content:"";
      position:absolute;
      pointer-events:none;
      z-index:1;
      opacity:1;
      transform:translateZ(0);
      will-change: transform, border-radius, opacity, background-position;
    }

    /* RGB helpers for gradients */
    :root{
      --blue-rgb: 26, 79, 156;
      --teal-rgb: 0, 166, 118;
      --navy-rgb: 15, 23, 42;
    }

    @keyframes medexpRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
    @keyframes medexpFloat{
      0%,100%{transform:translate3d(0,0,0)}
      50%{transform:translate3d(0,-14px,0)}
    }
    @keyframes medexpDrift{
      0%,100%{transform:translate3d(0,0,0)}
      50%{transform:translate3d(18px,8px,0)}
    }


/* Morphing + motion (used across all section accents + hero) */
@keyframes medexpBlobA{
  0%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 38% 62% 64% 36% / 42% 45% 55% 58%;
  }
  50%{
    transform:translate3d(18px,-14px,0) rotate(10deg) scale(1.04);
    border-radius: 58% 42% 48% 52% / 52% 62% 38% 48%;
  }
  100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 38% 62% 64% 36% / 42% 45% 55% 58%;
  }
}
@keyframes medexpBlobB{
  0%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 38% 62% 44% 56% / 54% 40% 60% 46%;
  }
  50%{
    transform:translate3d(-14px,12px,0) rotate(-12deg) scale(1.05);
    border-radius: 48% 52% 58% 42% / 40% 58% 42% 60%;
  }
  100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 38% 62% 44% 56% / 54% 40% 60% 46%;
  }
}
@keyframes medexpBlobD{
  0%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 54% 46% 56% 44% / 48% 56% 44% 52%;
  }
  50%{
    transform:translate3d(16px,-10px,0) rotate(8deg) scale(1.03);
    border-radius: 42% 58% 44% 56% / 58% 44% 56% 42%;
  }
  100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 54% 46% 56% 44% / 48% 56% 44% 52%;
  }
}
@keyframes medexpRingA{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(-10px,10px,0) rotate(180deg) scale(1.02)}
  100%{transform:translate3d(0,0,0) rotate(360deg) scale(1)}
}
@keyframes medexpRingC{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(12px,-8px,0) rotate(180deg) scale(1.03)}
  100%{transform:translate3d(0,0,0) rotate(360deg) scale(1)}
}
@keyframes medexpDotsB{
  0%{transform:translate3d(0,0,0); background-position:0 0; opacity:.20}
  50%{transform:translate3d(-14px,10px,0); background-position:26px 12px; opacity:.26}
  100%{transform:translate3d(0,0,0); background-position:0 0; opacity:.20}
}
@keyframes medexpDotsD{
  0%{transform:translate3d(0,0,0) rotate(0deg); background-position:0 0; opacity:.12}
  50%{transform:translate3d(10px,-12px,0) rotate(180deg); background-position:22px 16px; opacity:.18}
  100%{transform:translate3d(0,0,0) rotate(360deg); background-position:0 0; opacity:.12}
}
@keyframes medexpSheenC{
      0%{
        transform:translate3d(0,0,0);
        background-position:0 0;
        opacity:.18;
        border-radius: 46% 54% 64% 36% / 52% 40% 60% 48%;
      }
      50%{
        transform:translate3d(14px,8px,0);
        background-position:160px 90px;
        opacity:.26;
        border-radius: 58% 42% 44% 56% / 44% 58% 42% 56%;
      }
      100%{
        transform:translate3d(0,0,0);
        background-position:0 0;
        opacity:.18;
        border-radius: 46% 54% 64% 36% / 52% 40% 60% 48%;
      }
    }

/* Hero blobs */
@keyframes medexpHeroBlob1{
  0%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 56% 44% 60% 40% / 44% 58% 42% 56%;
  }
  50%{
    transform:translate3d(18px,-16px,0) rotate(10deg) scale(1.05);
    border-radius: 42% 58% 44% 56% / 60% 40% 60% 40%;
  }
  100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 56% 44% 60% 40% / 44% 58% 42% 56%;
  }
}
@keyframes medexpHeroBlob2{
  0%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 44% 56% 52% 48% / 56% 44% 56% 44%;
  }
  50%{
    transform:translate3d(-16px,14px,0) rotate(-10deg) scale(1.04);
    border-radius: 58% 42% 46% 54% / 44% 58% 42% 56%;
  }
  100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    border-radius: 44% 56% 52% 48% / 56% 44% 56% 44%;
  }
}
    /* Variant A: ring + soft gradients */
    .section--accent.accent-a{
      background-image:
        radial-gradient(900px 540px at 92% 18%, rgba(var(--blue-rgb), .14), transparent 62%),
        radial-gradient(680px 420px at 8% 92%, rgba(var(--teal-rgb), .12), transparent 64%);
    }
    .section--accent.accent-a::before{
      width:560px; height:560px;
      top:-260px; right:-230px;
      border-radius: 46% 54% 64% 36% / 52% 40% 60% 48%;
      background: conic-gradient(from 180deg,
        rgba(var(--teal-rgb), .22),
        rgba(var(--blue-rgb), .18),
        rgba(var(--teal-rgb), .22));
      -webkit-mask: radial-gradient(circle, transparent 58%, #000 59%, #000 66%, transparent 67%);
              mask: radial-gradient(circle, transparent 58%, #000 59%, #000 66%, transparent 67%);
      filter: blur(.2px);
      animation: medexpRingA calc(34s / var(--bg-motion-speed)) linear infinite;
    }
    .section--accent.accent-a::after{
      width:280px; height:280px;
      bottom:-120px; left:-120px;
      border-radius: 38% 62% 64% 36% / 42% 45% 55% 58%;
      background: radial-gradient(circle at 30% 30%, rgba(var(--teal-rgb), .22), rgba(var(--teal-rgb), 0) 65%);
      filter: blur(2px);
      animation: medexpBlobA calc(20s / var(--bg-motion-speed)) ease-in-out infinite;
    }

    /* Variant B: blob + dot grid */
    .section--accent.accent-b{
      background-image:
        radial-gradient(860px 520px at 12% 18%, rgba(var(--blue-rgb), .12), transparent 60%),
        radial-gradient(760px 460px at 88% 88%, rgba(var(--navy-rgb), .07), transparent 64%);
    }
    .section--accent.accent-b::before{
      width:560px; height:520px;
      top:-240px; left:-220px;
      border-radius: 38% 62% 44% 56% / 54% 40% 60% 46%;
      background: linear-gradient(135deg, rgba(var(--blue-rgb), .18), rgba(var(--teal-rgb), .12));
      filter: blur(.6px);
      animation: medexpBlobB calc(28s / var(--bg-motion-speed)) ease-in-out infinite;
      transform-origin: 65% 55%;
    }
    .section--accent.accent-b::after{
      width:520px; height:260px;
      top:32px; right:-210px;
      background-image: radial-gradient(rgba(var(--blue-rgb), .34) 1px, transparent 1px);
      background-size: 14px 14px;
      background-position: 0 0;
      opacity:.22;
      -webkit-mask: radial-gradient(circle at 35% 45%, #000 46%, transparent 72%);
              mask: radial-gradient(circle at 35% 45%, #000 46%, transparent 72%);
      animation: medexpDotsB calc(24s / var(--bg-motion-speed)) ease-in-out infinite;
    }

    /* Variant C: diagonal sheen + ring */
    .section--accent.accent-c{
      background-image:
        radial-gradient(760px 440px at 88% 16%, rgba(var(--teal-rgb), .11), transparent 65%),
        radial-gradient(820px 520px at 10% 90%, rgba(var(--blue-rgb), .10), transparent 66%),
        linear-gradient(135deg, rgba(var(--navy-rgb), .03), transparent 55%);
    }
    .section--accent.accent-c::before{
      width:680px; height:340px;
      bottom:-170px; right:-240px;
      border-radius: 46% 54% 64% 36% / 52% 40% 60% 48%;
      background: repeating-linear-gradient(
        45deg,
        rgba(var(--blue-rgb), .10) 0px,
        rgba(var(--blue-rgb), .10) 10px,
        rgba(255,255,255, 0) 10px,
        rgba(255,255,255, 0) 22px
      );
      opacity:.22;
      filter: blur(.2px);
      animation: medexpSheenC calc(30s / var(--bg-motion-speed)) ease-in-out infinite;
    }
    .section--accent.accent-c::after{
      width:420px; height:420px;
      top:-190px; right:14%;
      border-radius:999px;
      background: conic-gradient(from 40deg,
        rgba(var(--blue-rgb), .16),
        rgba(var(--teal-rgb), .14),
        rgba(var(--blue-rgb), .16));
      -webkit-mask: radial-gradient(circle, transparent 60%, #000 61%, #000 66%, transparent 67%);
              mask: radial-gradient(circle, transparent 60%, #000 61%, #000 66%, transparent 67%);
      animation: medexpRingC calc(42s / var(--bg-motion-speed)) linear infinite;
      opacity:.9;
    }

    /* Variant D: big arc + subtle dots */
    .section--accent.accent-d{
      background-image:
        radial-gradient(920px 560px at 92% 78%, rgba(var(--teal-rgb), .12), transparent 66%),
        radial-gradient(720px 420px at 12% 22%, rgba(var(--navy-rgb), .06), transparent 62%);
    }
    .section--accent.accent-d::before{
      width:760px; height:760px;
      bottom:-420px; right:-380px;
      border-radius:999px;
      background: radial-gradient(circle at 30% 30%, rgba(var(--blue-rgb), .16), rgba(var(--blue-rgb), 0) 62%);
      filter: blur(1px);
      animation: medexpBlobD calc(24s / var(--bg-motion-speed)) ease-in-out infinite;
    }
    .section--accent.accent-d::after{
      width:320px; height:320px;
      top:72px; left:10%;
      border-radius:999px;
      background-image: radial-gradient(rgba(var(--teal-rgb), .36) 1px, transparent 1px);
      background-size: 16px 16px;
      background-position: 0 0;
      opacity:.14;
      -webkit-mask: radial-gradient(circle at 45% 45%, #000 40%, transparent 72%);
              mask: radial-gradient(circle at 45% 45%, #000 40%, transparent 72%);
      animation: medexpDotsD calc(62s / var(--bg-motion-speed)) linear infinite;
    }

    @media (prefers-reduced-motion: reduce){
      .section--accent::before, .section--accent::after, .hero::before, .hero::after{animation:none !important}
    }
.eyebrow{
      /* Easy tuning knobs */
      --eyebrow-ico-h: 1.35em;      /* can be overridden per-section */
      --eyebrow-ico-ar: 1.295;      /* 272 / 210 (tight viewBox) */
      --eyebrow-ico-nudge: 0em;     /* keep bottoms aligned by default */

      /* Typography */
      margin:0 0 8px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:.86rem;
      line-height:1;
      color:rgba(15,23,42,.62);

      /* Layout */
      display:inline-flex;
      align-items:flex-end;  /* aligns label to bottom of mark */
      gap:.28em;            /* keeps label close to mark */
    }
    .eyebrow::before{
      content:"";
      height:var(--eyebrow-ico-h);
      width:calc(var(--eyebrow-ico-h) * var(--eyebrow-ico-ar));
      flex:0 0 auto;

      background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2271%2065%20272%20210%22%20version%3D%221.0%22%3E%3Cpath%20fill%3D%22teal%22%20fill-opacity%3D%22.9%22%20stroke%3D%22teal%22%20stroke-opacity%3D%22.9%22%20stroke-width%3D%222.5%22%20d%3D%22M252.5%20141.2C156.7%20221.1%20149%20227.6%20149%20229.1c0%202%209.4%2013.3%209.9%2011.8.6-2%204.2-4.4%206.6-4.4%201.5%200%201.9-.6%201.7-2.3-.2-1.3.2-2.9.8-3.7.9-1.1.8-1.9-.4-3.7-1.8-2.6-2-3.8-.6-3.8%201%200%204.4%205.7%204.5%207.5%200%20.5.4%201.6.9%202.3.5.8-.1%201.9-1.6%203.2-1.9%201.5-2.1%202.1-1%203.2s1.6%201%202.6-.5c.7-.9%201.5-1.7%201.7-1.7.9%200-.3%208-1.3%208.6-1.7%201.1%202.1%204.2%204.4%203.6%201.2-.3%201.9-.1%201.5.5-.4.5.6.8%202.4.5%203.4-.5%203.6.1.9%203.5-1.4%201.8-2%202.1-2%201%200-1-.6-1.3-2-1-1.1.3-2%201.4-2%202.4%200%201.1-.4%201.9-1%201.9h-1.7c-.5%200-.8-.4-.8-.9s-1.4-2.3-3.2-3.9c-1.7-1.7-2.9-3.3-2.6-3.5.2-.3-.2-2.6-1-5.3l-1.4-4.7-2.2%202.2c-2.1%202.1-2%204.8.1%203.5.7-.4.8-.2.4.4-.9%201.4%209%2014.3%2014.5%2019.1l4%203.3%202.2-2.8c1.2-1.6%205.4-6.7%209.2-11.4%203.9-4.7%2010-12.3%2013.5-16.9%203.6-4.6%207.9-10%209.6-12s18.8-23.4%2037.9-47.6c19.2-24.2%2046.1-58.1%2059.8-75.3C327%2084.9%20338%2070.7%20337.8%2070.5c-.2-.1-38.5%2031.7-85.3%2070.7z%22%20%2F%3E%3Cpath%20fill%3D%22teal%22%20stroke%3D%22teal%22%20stroke-width%3D%222.5%22%20d%3D%22M166%20223.8c0%20.4.7%201.8%201.6%203%201.2%201.8%201.3%202.6.4%203.7-.6.8-1%202.4-.8%203.7.2%201.7-.2%202.3-1.7%202.3-3.1%200-6.5%202.7-6.5%205.2%200%202.8.4%202.9%203.2.1l2.1-2.1%201.4%204.7c.8%202.7%201.2%205%201%205.3-.3.2.9%201.8%202.6%203.5%201.8%201.6%203.2%203.4%203.2%203.9s.3.9.8.9h1.7c.6%200%201-.8%201-1.9%200-1%20.9-2.1%202-2.4%201.4-.3%202%200%202%201%200%201.1.6.8%202-1%202.7-3.4%202.5-4-.9-3.5-1.8.3-2.8%200-2.4-.5.4-.6-.3-.8-1.5-.5-2.3.6-6.1-2.5-4.4-3.6%201-.6%202.2-8.6%201.3-8.6-.2%200-1%20.8-1.7%201.7-1%201.5-1.5%201.6-2.6.5s-.9-1.7%201-3.2c1.5-1.3%202.1-2.4%201.6-3.2-.5-.7-.9-1.8-.9-2.3-.1-3.2-5.5-9.7-5.5-6.7z%22%20%2F%3E%3Cpath%20fill%3D%22%23000040%22%20stroke%3D%22%23000040%22%20stroke-width%3D%222.5%22%20d%3D%22M76%20190.4c0%20.3.6%201.1%201.3%201.8s14.2%2018.5%2030%2039.5L136%20270l20.3-.1c11.1%200%2019.6-.3%2019-.6-.7-.2-1.3-1.2-1.3-2%200-1.7-6.4-11-18.5-26.9-13.6-17.8-14.3-18.8-17.7-24.7-1.8-3.1-6.1-10.2-9.6-15.7l-6.3-10h-23c-12.6%200-22.9.2-22.9.4z%22%20%2F%3E%3C%2Fsvg%3E");
      background-repeat:no-repeat;
      background-size:contain;
      background-position:left center;

      transform:translateY(var(--eyebrow-ico-nudge));
    }
.text-muted{color:var(--text-muted)}
    .text-body{color:var(--text-body)}

    /* =========================
       3) UTILITIES / COMPONENTS
       ========================= */

    :where(a, button, input, select, textarea, summary):focus-visible{
      outline:var(--focus-outline);
      outline-offset:var(--focus-offset);
      border-radius:12px;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 12px;
      border-radius:var(--radius-pill);
      border:1px solid rgba(26,79,156,.22);
      background:rgba(26,79,156,.06);
      color:var(--brand-blue);
      font-weight:650;
      font-size:.9rem;
    }
    .pill__ico{
      width:16px;height:16px;
      color:currentColor;
      opacity:.95;
      flex:0 0 auto;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 16px;
      border-radius:var(--radius-pill);
      border:1px solid var(--border-subtle);
      background:var(--surface);
      color:var(--text-main);
      font-weight:600;
      font-size:1rem;
      cursor:pointer;
      transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), filter var(--t) var(--ease);
      box-shadow:var(--shadow-sm);
      user-select:none;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-card)}
    .btn:active{transform:translateY(0)}

    .btn-primary{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)) , var(--brand-teal);
  color:#fff;
  border-color:transparent;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
  box-shadow: 0 12px 26px rgba(0,166,118,.22);
}
    .btn-primary:hover{filter:brightness(.98); box-shadow:0 18px 40px rgba(0,166,118,.26); transform:translateY(-3px)}
    .btn-outline{
  background:rgba(255,255,255,.95);
  color:var(--brand-blue);
  border:1px solid rgba(26,79,156,.38) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
}
    .btn-outline:hover{
  background:rgba(26,79,156,.05);
  border-color:rgba(26,79,156,.55);
  transform:translateY(-2px);
  box-shadow: 0 14px 28px rgba(15,23,42,.10);
}
    .btn-sm{padding:10px 14px; font-size:.95rem}

    .link{
      font-weight:650;
      color:var(--brand-blue);
      text-decoration:underline;
      text-underline-offset:5px;
      text-decoration-thickness:2px;
      transition:opacity var(--t-fast) var(--ease);
    }
    .link:hover{opacity:.92}

    .card{
      background:var(--surface);
      border:1px solid var(--border-subtle);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-card);
      transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);
    }
    .card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-float);
      border-color:rgba(26,79,156,.35);
    }

    .iconWrap{
      width:44px; height:44px;
      border-radius:14px;
      background:rgba(26,79,156,.08);
      display:grid; place-items:center;
      border:1px solid rgba(26,79,156,.14);
      flex:0 0 auto;
    }
    .icon{
      width:22px; height:22px;
      stroke:var(--brand-blue);
      stroke-width:2;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* =========================
       4) HEADER / TOPBAR
       ========================= */
    .skip{
      position:absolute;
      left:16px; top:12px;
      padding:10px 12px;
      border-radius:12px;
      background:var(--surface);
      border:1px solid var(--border-subtle);
      box-shadow:var(--shadow-card);
      transform:translateY(-200%);
      z-index:999;
      font-weight:750;
      color:var(--brand-blue);
    }
    .skip:focus{transform:translateY(0)}

    .topbar{
      background:var(--surface);
      border-bottom:1px solid var(--border-subtle);
    }
    .topbar__inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:12px 0;
    }
    .topbar__msg{
      margin:0;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
      color:var(--text-body);
      font-weight:600;
    }
    .topbar__actions{display:flex; gap:10px; flex-wrap:wrap}
    .topbar__chip{
      padding:8px 12px;
      border-radius:var(--radius-pill);
      background:rgba(15,23,42,.04);
      border:1px solid var(--border-subtle);
      font-weight:750;
      color:rgba(15,23,42,.72);
    }
    .topbar__chip:hover{border-color:rgba(26,79,156,.35); color:var(--brand-blue)}

    .header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border-subtle);
}
    .header__inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:750;
      color:var(--text-main);
      min-width: 200px;
    }
    .brand__logo{
      height:34px;
      width:auto;
      display:block;
    }
    .brand__name{
      font-weight:750;
      letter-spacing:-.02em;
      color:var(--text-main);
      line-height:1;
      white-space:nowrap;
    }

    .nav{display:flex; align-items:center; gap:12px}
    .nav__toggle{
      display:none;
      width:44px; height:44px;
      border-radius:14px;
      border:1px solid var(--border-subtle);
      background:var(--surface);
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
    }
    .nav__toggle:hover{transform:translateY(-1px); box-shadow:var(--shadow-card)}
    .hamburger{
      width:18px; height:2px; background:var(--text-main);
      display:block; position:relative; margin:0 auto;
    }
    .hamburger:before,.hamburger:after{
      content:""; position:absolute; left:0;
      width:18px; height:2px; background:var(--text-main);
    }
    .hamburger:before{top:-6px}
    .hamburger:after{top:6px}

    .nav__menu{
      display:flex;
      list-style:none;
      gap:6px;
      margin:0;
      padding:0;
      align-items:center;
    }
    .nav__menu a{
      font-weight:550;
      color:rgba(15,23,42,.75);
      padding:10px 8px;
      border-radius:12px;
      transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
    }
    .nav__menu a:hover{
      background:rgba(26,79,156,.06);
      color:var(--brand-blue);
    }
    .nav__mobileCta{display:none}

    
    /* Mobile nav backdrop (used on iPhone/iPad when the hamburger menu opens) */
    .nav__backdrop{display:none;}
.header__right{display:flex; gap:10px; align-items:center}
    .header__cta{display:flex; gap:10px; align-items:center}

    /* Header action buttons (cart + login/CTA)
       Keep sizing/shape consistent across icon + text buttons. */
    .header__cta .btn:not(.btn-sm){
      height:44px;
      padding:0 18px;
    }

    /* Header primary button: keep hover/elevation consistent with other header actions */
    .header__cta .btn-primary{ box-shadow: 0 8px 18px rgba(0,166,118,.18); }
    .header__cta .btn-primary:hover{ transform:translateY(-2px); box-shadow: 0 14px 28px rgba(0,166,118,.22); }

    /* =========================
       HEADER CART (WooCommerce)
       ========================= */
    
    /* =========================
       HEADER CART (WooCommerce)
       ========================= */
    .medexp-cart{position:relative; display:flex; align-items:center}
    .medexp-cart--empty{display:none !important}

    .medexp-cart__link{
      position:relative;
      width:44px; height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:var(--radius-pill);
      background:rgba(255,255,255,.95);
      color:var(--brand-blue);
      border:1px solid rgba(26,79,156,.38) !important;
      box-shadow: 0 8px 18px rgba(15,23,42,.06);
      cursor:pointer;
      -webkit-tap-highlight-color:transparent;
      transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), filter var(--t) var(--ease);
    }
    .medexp-cart__link:hover{
      background:rgba(26,79,156,.05);
      border-color:rgba(26,79,156,.55);
      transform:translateY(-2px);
      box-shadow: 0 14px 28px rgba(15,23,42,.10);
    }
    .medexp-cart__link:focus-visible{
      background:rgba(26,79,156,.05);
      border-color:rgba(26,79,156,.55);
      transform:translateY(-2px);
      box-shadow: 0 14px 28px rgba(15,23,42,.10);
      outline:var(--focus-outline);
      outline-offset:var(--focus-offset);
    }
    .medexp-cart__icon{width:22px; height:22px; display:block}

    .medexp-cart__count{
      position:absolute;
      top:-6px; right:-6px;
      height:18px;
      min-width:18px;
      padding:0 6px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:9999px;
      background:var(--brand-teal);
      color:#fff;
      font-size:12px;
      line-height:1;
      font-weight:850;
      border:2px solid var(--surface);
      box-shadow:0 10px 20px rgba(15,23,42,.14);
    }
    .medexp-cart__count.is-single{
      width:18px;
      min-width:18px;
      padding:0;
    }

    .medexp-cart__dropdown{
      position:absolute;
      right:0;
      top:calc(100% + 8px);
      width:360px;
      max-width:92vw;
      border-radius:18px;
      border:1px solid rgba(226,232,240,.95);
      background:var(--surface);
      box-shadow:var(--shadow-float);
      padding:0;
      opacity:0;
      transform:translateY(-6px);
      pointer-events:none;
      transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
      z-index:120;
    }

    /* Hover-bridge: prevents the dropdown from collapsing when moving the mouse from the icon to the panel */
    .medexp-cart__dropdown::before{
      content:"";
      position:absolute;
      top:-10px;
      left:0;
      right:0;
      height:10px;
    }

    /* Small caret */
    .medexp-cart__dropdown::after{
      content:"";
      position:absolute;
      top:-6px;
      right:16px;
      width:12px;
      height:12px;
      background:var(--surface);
      border-left:1px solid rgba(226,232,240,.95);
      border-top:1px solid rgba(226,232,240,.95);
      transform:rotate(45deg);
    }

    .medexp-cart:hover .medexp-cart__dropdown,
    .medexp-cart:focus-within .medexp-cart__dropdown,
    .medexp-cart.open .medexp-cart__dropdown{
      opacity:1;
      transform:translateY(0);
      pointer-events:auto;
    }

    .medexp-cart__title{
      margin:0;
      padding:14px 16px;
      font-weight:900;
      font-size:16px;
      color:var(--text-main);
      border-bottom:1px solid rgba(226,232,240,.8);
      background:linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,1));
    }

    .medexp-cart__empty{
      margin:0;
      padding:14px 16px 16px;
      color:rgba(15,23,42,.72);
      font-weight:650
    }

    /* Shimmer skeleton (shown while AJAX updates the cart) */
    @keyframes medexpShimmer{
      0%{background-position: 200% 0}
      100%{background-position: -200% 0}
    }
    .medexp-cart__skeleton{display:none; padding:12px 12px 8px}
    .medexp-cart.is-loading .medexp-cart__skeleton{display:grid; gap:10px}
    .medexp-cart.is-loading .medexp-cart__items,
    .medexp-cart.is-loading .medexp-cart__totals,
    .medexp-cart.is-loading .medexp-cart__actions{display:none}

    .medexp-skel{width:100%}
    .medexp-skel--row{display:grid; gap:8px}
    .medexp-skel--totals{display:flex; justify-content:space-between; align-items:center; margin-top:2px}
    .medexp-skel--actions{display:flex; gap:10px; justify-content:flex-end; margin-top:2px}
    .medexp-skel__line,
    .medexp-skel__btn{
      display:block;
      border-radius:9999px;
      background:linear-gradient(90deg, rgba(226,232,240,.55), rgba(226,232,240,.95), rgba(226,232,240,.55));
      background-size: 200% 100%;
      animation: medexpShimmer 1.1s ease-in-out infinite;
    }
    .medexp-skel__line{height:12px}
    .medexp-skel__line--lg{width:86%}
    .medexp-skel__line--md{width:62%}
    .medexp-skel__line--sm{width:42%}
    .medexp-skel__line--xs{width:24%}
    .medexp-skel__btn{height:36px; width:108px; border-radius:9999px}

    .medexp-cart__items{
      list-style:none;
      margin:0;
      padding:10px 12px 4px;
      display:grid;
      gap:8px;
    }
    .medexp-cart__item{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
      padding:10px 10px;
      border:1px solid rgba(226,232,240,.75);
      border-radius:14px;
      background:rgba(248,250,252,.72);
    }
    .medexp-cart__item-name{
      display:block;
      font-weight:800;
      color:var(--text-main);
      line-height:1.25;
      text-overflow:ellipsis;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      max-width:230px;
    }
    .medexp-cart__item-meta{
      text-align:right;
      color:rgba(15,23,42,.76);
      font-weight:750;
      white-space:nowrap;
      padding-top:1px;
    }

    /* Mini-cart remove button (AJAX) */
    .medexp-cart__item{justify-content:flex-start}
    .medexp-cart__item-name{flex:1 1 auto; min-width:0}
    .medexp-cart__item-meta{flex:0 0 auto}
    .medexp-cart__remove{
      flex:0 0 auto;
      margin-left:2px;
      width:28px; height:28px;
      border-radius:9999px;
      border:1px solid rgba(226,232,240,.92);
      background:rgba(255,255,255,.92);
      color:rgba(15,23,42,.62);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 1px 2px rgba(15,23,42,.06);
      transition:transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease, box-shadow .12s ease;
      cursor:pointer;
    }
    .medexp-cart__remove:hover{
      background:rgba(248,250,252,1);
      border-color:rgba(203,213,225,1);
      color:rgba(15,23,42,.86);
      transform:translateY(-1px);
      box-shadow:0 6px 14px rgba(15,23,42,.10);
    }
    .medexp-cart__remove:active{transform:translateY(0)}
    .medexp-cart__remove:focus-visible{
      outline:2px solid rgba(56,189,248,.55);
      outline-offset:2px;
    }
    .medexp-cart__remove-icon{width:14px; height:14px; display:block}
    .medexp-cart__remove.is-loading{opacity:.55; pointer-events:none}

    @media (hover:none){
      .medexp-cart__remove{width:32px; height:32px}
      .medexp-cart__remove-icon{width:16px; height:16px}
    }

    .medexp-cart__totals{
      margin:8px 12px 0;
      padding:12px 12px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      border-top:1px solid rgba(226,232,240,.85);
    }
    .medexp-cart__subtotal-label{font-weight:800; color:rgba(15,23,42,.72)}
    .medexp-cart__subtotal-amount{font-weight:950; color:var(--text-main)}

    .medexp-cart__actions{
      display:flex;
      gap:10px;
      padding:12px 12px 14px;
      justify-content:flex-end;
      flex-wrap:wrap;
    }
    .medexp-cart__actions .btn{
      padding:10px 14px;
      border-radius:var(--radius-pill);
    }

    @media (max-width: 520px){
      .medexp-cart__dropdown{right:-6px; width:min(92vw, 420px)}
      .medexp-cart__dropdown::after{right:22px}
    }




    /* =========================
       HEADER USER MENU
       ========================= */
    .medexp-user{position:relative; display:flex; align-items:center}
    .medexp-user__btn{
      position:relative;
      width:44px; height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:var(--radius-pill);
      background:rgba(255,255,255,.95);
      color:var(--brand-blue);
      border:1px solid rgba(26,79,156,.38) !important;
      box-shadow: 0 8px 18px rgba(15,23,42,.06);
      cursor:pointer;
      -webkit-tap-highlight-color:transparent;
      transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), filter var(--t) var(--ease);
    }
    .medexp-user__btn:hover{
      background:rgba(26,79,156,.05);
      border-color:rgba(26,79,156,.55);
      transform:translateY(-2px);
      box-shadow: 0 14px 28px rgba(15,23,42,.10);
    }
    .medexp-user__btn:focus-visible{
      background:rgba(26,79,156,.05);
      border-color:rgba(26,79,156,.55);
      transform:translateY(-2px);
      box-shadow: 0 14px 28px rgba(15,23,42,.10);
      outline:var(--focus-outline);
      outline-offset:var(--focus-offset);
    }

    .medexp-user__avatar{width:28px; height:28px; border-radius:9999px; display:block}
    .medexp-user__icon{width:22px; height:22px; display:block}

    .medexp-user__dropdown{
      position:absolute;
      right:0;
      top:calc(100% + 8px);
      width:260px;
      max-width:92vw;
      border-radius:18px;
      border:1px solid rgba(226,232,240,.95);
      background:var(--surface);
      box-shadow:var(--shadow-float);
      padding:0;
      display:none;
      opacity:0;
      transform:translateY(-6px);
      pointer-events:none;
      transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
      z-index:120;
    }

    @keyframes medexpDropIn{
      from{opacity:0; transform:translateY(-6px)}
      to{opacity:1; transform:translateY(0)}
    }


    .medexp-user__dropdown::before{
      content:"";
      position:absolute;
      top:-10px;
      left:0;
      right:0;
      height:10px;
    }

    .medexp-user__dropdown::after{
      content:"";
      position:absolute;
      top:-6px;
      right:16px;
      width:12px;
      height:12px;
      background:var(--surface);
      border-left:1px solid rgba(226,232,240,.95);
      border-top:1px solid rgba(226,232,240,.95);
      transform:rotate(45deg);
    }

    .medexp-user:hover .medexp-user__dropdown,
    .medexp-user:focus-within .medexp-user__dropdown,
    .medexp-user.open .medexp-user__dropdown{
      display:block;
      opacity:1;
      animation: medexpDropIn var(--t-fast) var(--ease) both;
      transform:translateY(0);
      pointer-events:auto;
    }

    .medexp-user__header{
      padding:14px 16px 12px;
      border-bottom:1px solid rgba(226,232,240,.8);
      background:linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,1));
    }
    .medexp-user__name{
      font-weight:950;
      font-size:14px;
      color:var(--text-main);
      line-height:1.15;
    }
    .medexp-user__meta{
      margin-top:3px;
      font-size:12px;
      color:rgba(15,23,42,.68);
      font-weight:650;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .medexp-user__item{
      display:flex;
      align-items:center;
      padding:8px 16px;
      color:var(--text-main);
      font-weight:800;
      text-decoration:none;
      border-radius:12px;
      margin:2px 8px;
      transition: background var(--t-fast) var(--ease);
    }
    .medexp-user__item:hover{ background:rgba(26,79,156,.06); }
    .medexp-user__item:focus-visible{
      outline:var(--focus-outline);
      outline-offset:var(--focus-offset);
      background:rgba(26,79,156,.06);
    }
    .medexp-user__divider{
      height:1px;
      background:rgba(226,232,240,.85);
      margin:6px 8px;
      border-radius:9999px;
    }
    .medexp-user__item--danger{ color:rgba(180,35,24,1); }
    .medexp-user__item--danger:hover{ background:rgba(180,35,24,.08); }

    @media (max-width: 520px){
      .medexp-user__dropdown{right:-6px; width:min(92vw, 320px)}
      .medexp-user__dropdown::after{right:22px}
    }



/* =========================
   5) HERO (LIGHT, SIMPLE-NURSING-INSPIRED)
   ========================= */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(900px 520px at 20% 10%, rgba(26,79,156,.14), transparent 62%),
    radial-gradient(760px 520px at 85% 15%, rgba(0,166,118,.10), transparent 58%),
    linear-gradient(180deg, rgba(248,250,252,.86) 0%, rgba(248,250,252,.92) 55%, rgba(248,250,252,1) 100%),
    url("https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=2400&q=80") center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  left:-160px; top:120px;
  width:420px; height:420px;
  border-radius: 56% 44% 60% 40% / 44% 58% 42% 56%;
  background:radial-gradient(circle at 35% 35%, rgba(0,166,118,.18), rgba(0,166,118,0) 68%);
  filter:blur(1px);
  z-index:1;
  will-change: transform, border-radius;
  animation: medexpHeroBlob1 calc(26s / var(--bg-motion-speed)) ease-in-out infinite;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  right:-180px; top:40px;
  width:520px; height:520px;
  border-radius: 44% 56% 52% 48% / 56% 44% 56% 44%;
  background:radial-gradient(circle at 35% 35%, rgba(26,79,156,.18), rgba(26,79,156,0) 68%);
  z-index:1;
  will-change: transform, border-radius;
  animation: medexpHeroBlob2 calc(30s / var(--bg-motion-speed)) ease-in-out infinite;
  pointer-events:none;
}

.hero__content{
  position:relative;
  z-index:3;
  padding:76px 0 18px;
  color:var(--text-main);
}

.snHero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:38px;
  align-items:center;
}

.snHero__copy .eyebrow{color:rgba(15,23,42,.72); margin-left: -50px;}
.snHero__copy .lead{max-width:62ch}

/* Mobile: avoid negative offsets that can introduce horizontal page overflow */
@media (max-width: 640px){
  .snHero__copy .eyebrow,
  .sectionHead .eyebrow{ margin-left: 0; }
}

/* Hero title highlight — "high-stakes" in deep navy */
.hero-highlight{
  color:#1763a4;
}
/* Hero navy button (Get Started style) */
.btn-hero-navy{
  background:#1a3a6b !important;
  color:#fff !important;
  border:2px solid #1a3a6b !important;
  font-weight:700;
  padding:14px 32px;
  border-radius:var(--radius-pill) !important;
  font-size:.95rem;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 4px 14px rgba(26,58,107,.25);
}
.btn-hero-navy:hover{
  background:#0f2a52 !important;
  border-color:#0f2a52 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(26,58,107,.35);
}
/* Hero teal button (Try Free Quiz style) */
.btn-hero-teal{
  background:#2aada8 !important;
  color:#fff !important;
  border:2px solid #2aada8 !important;
  font-weight:700;
  padding:14px 32px;
  border-radius:var(--radius-pill) !important;
  font-size:.95rem;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 4px 14px rgba(42,173,168,.25);
}
.btn-hero-teal:hover{
  background:#179D99 !important;
  border-color:#179D99 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(42,173,168,.35);
}
.snHero__cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
  align-items:center;
}

.snHero__preview{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-weight:700;
  font-size:.9rem;
  color:rgba(23,157,153,.95);
  text-decoration:none;
  transition:color .15s, gap .15s;
}
.snHero__preview:hover{color:rgba(17,118,115,1); gap:10px}
.snHero__preview svg{flex:0 0 auto; opacity:.7}

.snHero__micro{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:14px;
  color:rgba(15,23,42,.66);
  font-weight:600;
  font-size:.95rem;
}
.microItem{
  display:flex;
  align-items:center;
  gap:8px;
}
.microItem svg{width:18px;height:18px; color:var(--brand-teal); flex:0 0 auto}

.snHero__art{
  justify-self:end;
  width:100%;
  max-width:640px;
}
.artCard{
  position:relative;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(226,232,240,.92);
  box-shadow:var(--shadow-float);
  padding:22px 22px 18px;
  overflow:hidden;
}
.artCard::before{
  content:"";
  position:absolute;
  right:-70px; top:-70px;
  width:260px; height:260px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%, rgba(0,166,118,.22), rgba(0,166,118,0) 68%);
}

/* ===== QBank close-up backdrop (Hero Art) ===== */
:root{
  /* Optional: set to url("...") to use a real screenshot behind the mock */
  --hero-qbank-img: none;
}

.artCard{ position:relative; }
.artQbank{
  position:absolute;
  left:18px; right:18px; top:18px;
  height:190px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(248,250,252,.78)),
    radial-gradient(520px 220px at 15% 0%, rgba(26,79,156,.08), transparent 62%),
    radial-gradient(520px 220px at 100% 0%, rgba(0,166,118,.06), transparent 62%),
    var(--hero-qbank-img);
  background-size:auto, auto, auto, cover;
  background-position:0 0, 0 0, 0 0, center;
  background-repeat:no-repeat;
  border:1px solid rgba(148,163,184,.38);
  box-shadow: 0 20px 60px rgba(15,23,42,.10);
  overflow:hidden;
  z-index:0;
  transform: rotate(1.1deg) scale(1.06);
  opacity:.84;
  filter:saturate(.98);
  pointer-events:none;

  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.70) 56%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.70) 56%, rgba(0,0,0,0) 100%);
}

.qbTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid rgba(148,163,184,.28);
  background:rgba(255,255,255,.86);
}

.qbBrand{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  letter-spacing:.2px;
  color:rgba(15,23,42,.82);
  font-size:.86rem;
}
.qbDot{
  width:10px; height:10px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(26,79,156,.70), rgba(0,166,118,.60));
  box-shadow:0 0 0 2px rgba(255,255,255,.90);
}

.qbMeta{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.qbTag{
  font-size:.72rem;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(226,232,240,.70);
  border:1px solid rgba(148,163,184,.24);
  color:rgba(30,41,59,.76);
  font-weight:700;
}
.qbTag--time{
  background:rgba(26,79,156,.10);
  border-color:rgba(26,79,156,.22);
  color:rgba(26,79,156,.86);
}

.qbBody{
  display:grid;
  grid-template-columns: 1fr 140px;
  gap:12px;
  padding:12px;
}

.qbStem{ display:grid; gap:8px; padding-right:8px; }
.qbLine{
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(148,163,184,.55), rgba(226,232,240,.72));
}
.qbLine.w92{ width:92%; }
.qbLine.w88{ width:88%; }
.qbLine.w86{ width:86%; }
.qbLine.w78{ width:78%; }
.qbLine.w70{ width:70%; }
.qbLine.w66{ width:66%; }
.qbLine.w64{ width:64%; }
.qbLine.w58{ width:58%; }

.qbChoices{ display:grid; gap:8px; margin-top:6px; }
.qbChoice{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.26);
  background:rgba(255,255,255,.62);
}
.qbChoice--active{
  border-color:rgba(0,166,118,.28);
  background:linear-gradient(180deg, rgba(0,166,118,.08), rgba(255,255,255,.62));
}

.qbChoice{ justify-content:flex-start; }
.qbChoice .qbLine{ flex:1 1 auto; }
.qbCheck{
  width:18px; height:18px;
  border-radius:6px;
  margin-left:0;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(226,232,240,.68);
  position:relative;
  flex:0 0 auto;
}
.qbChoice--checked .qbCheck{
  border-color:rgba(0,166,118,.35);
  background:rgba(0,166,118,.12);
}
.qbChoice--checked .qbCheck::after{
  content:"";
  position:absolute;
  left:5px; top:2px;
  width:6px; height:10px;
  border-right:2px solid rgba(0,166,118,.78);
  border-bottom:2px solid rgba(0,166,118,.78);
  transform:rotate(38deg);
}
.qbBody{
  /* motion handled by inner scroller for natural continuous scroll */
}

.qbMain{
  position:relative;
  overflow:hidden;
  height:126px;
  border-radius:14px;
}

.qbMainScroll{
  position:absolute;
  left:0; right:0; top:0;
  will-change: transform;
  animation: qbMainScroll 6.8s linear infinite;
}

@keyframes qbMainScroll{
  0%{ transform: translateY(0px); }
  78%{ transform: translateY(-92px); }
  100%{ transform: translateY(-92px); }
}

.qbBlock{ padding-right:0; }
.qbFiller{ margin-top:10px; display:grid; gap:6px; }

@keyframes qbJump{
  0%{ transform:translateY(0px); opacity:1; }
  40%{ transform:translateY(-34px); opacity:.82; }
  100%{ transform:translateY(0px); opacity:1; }
}
.qbBody.qbJump{ animation: qbJump 780ms ease-in-out; }

/* Animate the small vertical bars like a market sparkline */
@keyframes qbSpark{
  0%{ transform:translateY(0); height:10px; opacity:.82; }
  30%{ transform:translateY(-2px); height:22px; opacity:1; }
  55%{ transform:translateY(0); height:14px; opacity:.92; }
  80%{ transform:translateY(-1px); height:20px; opacity:1; }
  100%{ transform:translateY(0); height:12px; opacity:.86; }
}
.qbMiniBars span{
  animation: qbSpark 1.8s ease-in-out infinite;
}
.qbMiniBars span:nth-child(1){ animation-duration:1.65s; animation-delay:-.2s; }
.qbMiniBars span:nth-child(2){ animation-duration:1.9s;  animation-delay:-.6s; }
.qbMiniBars span:nth-child(3){ animation-duration:1.75s; animation-delay:-.9s; }
.qbMiniBars span:nth-child(4){ animation-duration:2.05s; animation-delay:-.4s; }
.qbLetter{
  width:22px; height:22px;
  border-radius:9px;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:.78rem;
  color:rgba(30,41,59,.78);
  background:rgba(226,232,240,.72);
  border:1px solid rgba(148,163,184,.22);
}

.qbSide{ display:grid; gap:10px; align-content:start; }
.qbMini{
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(255,255,255,.58);
}
.qbMiniLabel{
  font-size:.72rem;
  color:rgba(71,85,105,.76);
  font-weight:800;
  margin-bottom:4px;
}
.qbMiniValue{
  font-size:1.05rem;
  font-weight:900;
  color:rgba(15,23,42,.82);
  margin-bottom:8px;
}
.qbMiniBar{
  height:8px;
  border-radius:999px;
  background:rgba(226,232,240,.72);
  overflow:hidden;
}
.qbMiniBar span{
  display:block;
  height:100%;
  width:60%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(26,79,156,.72), rgba(0,166,118,.70));
}
.qbMiniBars{
  display:flex;
  align-items:flex-end;
  gap:6px;
  height:26px;
}
.qbMiniBars span{
  width:10px;
  border-radius:999px;
  background:rgba(148,163,184,.58);
}
.qbMiniBars span:nth-child(1){ height:10px; }
.qbMiniBars span:nth-child(2){ height:18px; }
.qbMiniBars span:nth-child(3){ height:14px; }
.qbMiniBars span:nth-child(4){ height:22px; }


/* Soften the old corner glow so the QBank close-up reads cleaner */
.artCard::before{ opacity:.18; filter: blur(.2px); }

/* Ensure foreground art sits above the QBank backdrop */
.artStack{ z-index:2; }
.artCaption{ position:relative; z-index:2; }

/* Remove leftover halo circles behind stack (now that we use the QBank backdrop) */
.artStack::before,
.artStack::after{
  content:none !important;
  display:none !important;
}

.artStack{
  width:280px; height:250px;
  margin:4px auto 0;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.artStack::before{
  content:"";
  position:absolute;
  inset:-18px -26px auto auto;
  width:220px; height:220px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%, rgba(26,79,156,.16), rgba(26,79,156,0) 68%);
  opacity:.85;
  z-index:0;
}
.artStack::after{
  content:"";
  position:absolute;
  left:-22px; bottom:-18px;
  width:220px; height:160px;
  border-radius:28px;
  background:radial-gradient(180px 140px at 25% 25%, rgba(0,166,118,.14), rgba(0,166,118,0) 72%);
  opacity:.80;
  z-index:0;
}
.artPreview{
  width:184px;
  height:214px;
  border-radius:18px;
  background:
    radial-gradient(520px 240px at 0% 0%, rgba(26,79,156,.12), transparent 58%),
    radial-gradient(420px 240px at 100% 0%, rgba(0,166,118,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
  border:1px solid rgba(26,79,156,.22);
  box-shadow: 0 18px 44px rgba(15,23,42,.16);
  overflow:hidden;
  transform:none;
}


.artPreview--fg{
  position:relative;
  z-index:2;
  transform: translateY(4px) rotate(-6deg);
}

/* ===== Hero cards motion (subtle float + zoom; constrained by .artCard overflow) ===== */
@keyframes medexpHeroCardFloatFg{
  0%,100%{ transform: translate(0px, 4px) rotate(-6deg) scale(1); }
  50%{ transform: translate(2px, -7px) rotate(-5.2deg) scale(1.035); }
}
@keyframes medexpHeroCardFloatBg{
  0%,100%{ transform: translate(-62%,-70%) rotate(10deg) scale(1); }
  50%{ transform: translate(calc(-62% - 3px), calc(-70% - 6px)) rotate(10.8deg) scale(1.02); }
}

.artPreview--fg,
.artPreview--bg{
  transform-origin:center;
  will-change:transform;
}
.artPreview--fg{
  animation: medexpHeroCardFloatFg 6.2s ease-in-out infinite;
}
.artPreview--bg{
  animation: medexpHeroCardFloatBg 7.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  .artPreview--fg,
  .artPreview--bg{
    animation:none !important;
  }
}

.artPreview--bg{
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  width:236px;
  height:178px;
  border-radius:20px;
  transform: translate(-62%,-70%) rotate(10deg);
  opacity:.58;
  filter:saturate(.96) blur(.2px);
  background:
    radial-gradient(520px 240px at 0% 0%, rgba(15,23,42,.06), transparent 58%),
    radial-gradient(420px 240px at 100% 0%, rgba(26,79,156,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.88));
  border:1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 36px rgba(15,23,42,.10);
  overflow:hidden;
}
.artPreview--bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(220px 160px at 80% 20%, rgba(0,166,118,.10), rgba(0,166,118,0) 70%);
  pointer-events:none;
}

.artPreview--bg .apTop{ padding:10px 12px 8px; }
.artPreview--bg .apTitle{ font-size:.78rem; }
.artPreview--bg .apLogoDot{ opacity:.55; }
.artPreview--bg .apPill{
  background:rgba(15,23,42,.08);
  border-color:rgba(15,23,42,.12);
  color:rgba(15,23,42,.55);
}

.apBgGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 12px 10px;
}
.apBgCard{
  border-radius:12px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(15,23,42,.10);
  padding:8px 10px;
}
.apBgLabel{
  font-weight:750;
  font-size:.62rem;
  color:rgba(15,23,42,.50);
}
.apBgValue{
  margin-top:2px;
  font-weight:900;
  font-size:.92rem;
  color:rgba(15,23,42,.82);
}
.apBgLines{
  padding:0 12px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.apBgLines span{
  height:8px;
  border-radius:999px;
  background:rgba(15,23,42,.10);
}
.apBgLines span:nth-child(2){ width:78%; }
.apBgLines span:nth-child(3){ width:62%; }

.apTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px;
  background:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.apBrand{display:flex; align-items:center; gap:8px}
.apLogoDot{
  width:10px; height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(26,79,156,.85), rgba(0,166,118,.70));
  box-shadow: 0 6px 14px rgba(15,23,42,.12);
}
.apTitle{
  font-weight:850;
  font-size:.82rem;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.86);
}
.apPill{
  font-weight:850;
  font-size:.70rem;
  color:rgba(26,79,156,.88);
  background:rgba(26,79,156,.10);
  border:1px solid rgba(26,79,156,.22);
  padding:6px 9px;
  border-radius:999px;
  white-space:nowrap;
}

.apRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:10px 12px 8px;
}
.apKpiLabel{
  font-weight:750;
  font-size:.70rem;
  color:rgba(15,23,42,.54);
}
.apKpiValue{
  margin-top:2px;
  font-weight:900;
  font-size:1.18rem;
  letter-spacing:-.02em;
  color:rgba(15,23,42,.88);
}
.apSpark{
  display:flex;
  align-items:flex-end;
  gap:4px;
  height:22px;
  opacity:.95;
}
.apSpark span{
  width:4px;
  border-radius:999px;
  background:rgba(26,79,156,.28);
}
.apSpark span:nth-child(1){height:8px}
.apSpark span:nth-child(2){height:14px}
.apSpark span:nth-child(3){height:11px}
.apSpark span:nth-child(4){height:18px; background:rgba(0,166,118,.30)}
.apSpark span:nth-child(5){height:12px}
/* Mini “market” bars: subtle continuous motion */
@keyframes apSparkMove{
  0%   { transform: translateZ(0) scaleY(.65); opacity:.78; }
  40%  { transform: translateZ(0) scaleY(1.18); opacity:1; }
  70%  { transform: translateZ(0) scaleY(.86); opacity:.92; }
  100% { transform: translateZ(0) scaleY(.65); opacity:.78; }
}
.apSpark span{
  transform-origin: bottom;
  animation: apSparkMove 1200ms var(--ease) infinite;
  will-change: transform, opacity;
}
.apSpark span:nth-child(1){ animation-duration: 1100ms; animation-delay: -120ms; }
.apSpark span:nth-child(2){ animation-duration: 1350ms; animation-delay: -420ms; }
.apSpark span:nth-child(3){ animation-duration: 1250ms; animation-delay: -260ms; }
.apSpark span:nth-child(4){ animation-duration: 1450ms; animation-delay: -540ms; }
.apSpark span:nth-child(5){ animation-duration: 1180ms; animation-delay: -320ms; }

@media (prefers-reduced-motion: reduce){
  .apSpark span{ animation:none !important; }
}

.apBar{
  height:8px;
  margin:0 12px 10px;
  border-radius:999px;
  background:rgba(226,232,240,.92);
  overflow:hidden;
}
.apBar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(26,79,156,.85), rgba(0,166,118,.82));
  box-shadow: 0 10px 24px rgba(26,79,156,.18);
}

.apList{
  padding:0 12px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.apItem{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:760;
  font-size:.74rem;
  color:rgba(15,23,42,.72);
}
.apDot{
  width:7px; height:7px;
  border-radius:999px;
  background:rgba(100,116,139,.55);
  flex:0 0 auto;
}
.apCheck{
  width:12px; height:12px;
  border-radius:4px;
  border:2px solid rgba(0,166,118,.65);
  background:rgba(0,166,118,.10);
  position:relative;
  flex:0 0 auto;
}
.apCheck::after{
  content:"";
  position:absolute;
  left:3px; top:0px;
  width:4px; height:7px;
  border:2px solid rgba(0,166,118,.90);
  border-top:0;
  border-left:0;
  transform:rotate(45deg);
}
.apItem.done{color:rgba(15,23,42,.80)}

.apChips{
  padding:10px 12px 12px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.apChips span{
  font-weight:850;
  font-size:.66rem;
  color:rgba(26,79,156,.84);
  background:rgba(26,79,156,.08);
  border:1px solid rgba(26,79,156,.16);
  padding:4px 7px;
  border-radius:999px;
}

.artCaption{
  margin-top:14px;
  text-align:center;
  font-weight:650;
  color:rgba(15,23,42,.70);
}
.artCaption small{
  display:block;
  margin-top:6px;
  font-weight:600;
  color:rgba(15,23,42,.55);
}

.heroCard{
  margin-top:26px;
}
.heroCard__inner{
  position:relative;
  border-radius:22px;
  background:
    radial-gradient(860px 260px at 12% 0%, rgba(26,79,156,.12), transparent 62%),
    radial-gradient(760px 280px at 92% 12%, rgba(0,166,118,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  border:1px solid rgba(26,79,156,.22);
  box-shadow: 0 32px 92px rgba(15,23,42,.18), 0 0 0 1px rgba(255,255,255,.70) inset;
  padding:18px;
  overflow:hidden;
}
.heroCard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.heroCard__top .pill{
  background:rgba(26,79,156,.10);
  border-color:rgba(26,79,156,.30);
  color:var(--brand-blue);
  font-weight:700;
}

.heroCard__title{
  font-weight:780;
  font-size:1.25rem;
  color:var(--text-main);
  letter-spacing:-.02em;
}
.heroCard__bullets{
  margin-top:12px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px 18px;
}
.heroBullet{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:650;
  color:var(--text-body);
  font-size:.98rem;
  line-height:1.5;
}
.heroBullet svg{
  width:18px;height:18px;
  color:var(--brand-teal);
  flex:0 0 auto;
  margin-top:2px;
}
.heroCard__buttons{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.heroCard__buttons .btn{
  width:100%;
  justify-content:center;
  white-space:nowrap;
}
.heroCard__buttons .btn-outline{
  background:rgba(255,255,255,.92);
  border-color:rgba(26,79,156,.44);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.heroCard__buttons .btn-outline:hover{
  background:rgba(26,79,156,.06);
  border-color:rgba(26,79,156,.60);
  box-shadow: 0 16px 34px rgba(15,23,42,.12);
}
/* Exam pill cards with icons */
.heroCard__buttons--grid{
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}
.examPill{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:16px 8px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  text-decoration:none;
  color:#1e293b;
  font-weight:700;
  font-size:13px;
  transition:border-color .2s,box-shadow .2s,transform .15s;
}
.examPill:hover{
  border-color:#4a90c4;
  box-shadow:0 4px 16px rgba(26,79,156,.12);
  transform:translateY(-2px);
}
.examPill__icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.examPill__icon svg{
  width:22px;
  height:22px;
}
/* Progressive color shading left→right */
.examPill:nth-child(1) .examPill__icon{ background:#146ebb; }
.examPill:nth-child(2) .examPill__icon{ background:#1a80ab; }
.examPill:nth-child(3) .examPill__icon{ background:#20849f; }
.examPill:nth-child(4) .examPill__icon{ background:#1e98a4; }
.examPill:nth-child(5) .examPill__icon{ background:#146ebb; }
.examPill:nth-child(6) .examPill__icon{ background:#1a80ab; }
.examPill:nth-child(7) .examPill__icon{ background:#20849f; }
.examPill:nth-child(8) .examPill__icon{ background:#1e98a4; }
.examPill__icon svg{ stroke:#fff; }
.examPill__name{
  font-size:13px;
  font-weight:700;
  color:#1e293b;
}


@media (max-width: 960px){
  .snHero__grid{grid-template-columns:1fr; gap:18px}
  .snHero__art{justify-self:start; max-width:520px}
  .hero__content{padding:64px 0 16px}
  .heroCard__bullets{grid-template-columns:1fr}
  .heroCard__buttons{grid-template-columns:1fr}
  .heroCard__buttons--grid{grid-template-columns:repeat(4, 1fr)}
}


/* =========================
       6) CONTENT SECTIONS
       ========================= */
    .sectionHead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:28px;
    }
    .sectionHead p{margin-top:12px; max-width:70ch}
    .sectionHead__right{display:flex; gap:10px; align-items:center; flex-wrap:wrap}

    /* Section headings: tighten default heading spacing (browser h2 margins are large) */
    .sectionHead h2{
      margin:0;
      line-height:1.06;
    }
    .sectionHead .eyebrow{ margin:0 0 6px;  margin-left: -50px;} /* override .sectionHead p{margin-top:12px} */
    .sectionHead .text-muted{ margin-top:10px; }

    .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start}
    .grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px}
    .grid-4{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px}

    .featureRow{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:center}
    .mediaCard{
      border-radius:var(--radius-xl);
      background:var(--surface);
      border:1px solid var(--border-subtle);
      box-shadow:var(--shadow-float);
      position:relative;
    }
    .mediaCard__img{
      height:360px;
      background:
        radial-gradient(900px 420px at 30% 40%, rgba(26,79,156,.18), transparent 60%),
        radial-gradient(700px 380px at 70% 35%, rgba(0,166,118,.14), transparent 60%),
        linear-gradient(135deg, rgba(15,23,42,.06), rgba(15,23,42,.02));
    }
    .mediaCard__tag{
      position:absolute;
      left:16px; bottom:16px;
      padding:10px 12px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.92);
      border:1px solid var(--border-subtle);
      box-shadow:var(--shadow-card);
      font-weight:750;
      color:rgba(15,23,42,.80);
      max-width:84%;
    }


/* =========================
   EXPERIENCE VISUALS — Platform screenshots (CSS-only)
   ========================= */
.mediaCard__img.expShots{
  position:relative;
  height:360px;
  background:
    radial-gradient(980px 420px at 18% 12%, rgba(26,79,156,.14), transparent 62%),
    radial-gradient(860px 420px at 92% 18%, rgba(0,166,118,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.98));
  overflow:hidden;
  isolation:isolate;
}
.expShot{
  position:absolute;
  inset:0;
  padding:14px;
  opacity:0;
  transform: translateY(10px) scale(.992);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events:none;
}
.expShot.is-active{
  opacity:1;
  transform: translateY(0) scale(1);
  pointer-events:auto;
}

.uiFrame{
  height:100%;
  border-radius:22px;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(255,255,255,.78);
  box-shadow: 0 34px 76px rgba(15,23,42,.14), 0 14px 28px rgba(15,23,42,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
}
.uiFrame::before{
  content:"";
  position:absolute;
  inset:-20% -30% auto -30%;
  height:60%;
  background: radial-gradient(closest-side, rgba(255,255,255,.72), rgba(255,255,255,0));
  transform: rotate(-10deg);
  pointer-events:none;
  opacity:.9;
}
.uiFrame > *{position:relative; z-index:1}

.uiFrame--diag{ background:
  radial-gradient(720px 260px at 20% 0%, rgba(0,166,118,.16), transparent 62%),
  radial-gradient(760px 260px at 92% 0%, rgba(26,79,156,.16), transparent 62%),
  linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.98));
}
.uiFrame--live{ background:
  radial-gradient(720px 260px at 25% 0%, rgba(26,79,156,.18), transparent 62%),
  radial-gradient(760px 260px at 88% 0%, rgba(0,166,118,.12), transparent 62%),
  linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.98));
}
.uiFrame--drills{ background:
  radial-gradient(720px 260px at 20% 0%, rgba(26,79,156,.14), transparent 62%),
  radial-gradient(760px 260px at 92% 0%, rgba(15,23,42,.10), transparent 62%),
  linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.98));
}
.uiFrame--mile{ background:
  radial-gradient(720px 260px at 22% 0%, rgba(0,166,118,.14), transparent 62%),
  radial-gradient(760px 260px at 92% 0%, rgba(26,79,156,.16), transparent 62%),
  linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.98));
}

.uiTop{
  height:46px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(148,163,184,.22);
  backdrop-filter: blur(10px);
}
.uiTop__left{display:flex; align-items:center; gap:10px; min-width:0}
.uiTop__right{display:flex; align-items:center; gap:8px; flex:0 0 auto}

.uiChrome{
  display:inline-flex;
  gap:5px;
  padding:4px 6px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  border:1px solid rgba(148,163,184,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  flex:0 0 auto;
}
.uiChrome i{
  width:7px; height:7px; border-radius:999px;
  background:rgba(148,163,184,.65);
}
.uiChrome i:nth-child(1){background:rgba(26,79,156,.55)}
.uiChrome i:nth-child(2){background:rgba(0,166,118,.55)}
.uiChrome i:nth-child(3){background:rgba(148,163,184,.62)}

.uiBrand{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:900;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.86);
  white-space:nowrap;
  font-size:.88rem;
  flex:0 0 auto;
}
.uiBrand__dot{
  width:10px; height:10px; border-radius:999px;
  background:linear-gradient(135deg, rgba(26,79,156,.90), rgba(0,166,118,.80));
  box-shadow:0 0 0 2px rgba(255,255,255,.92);
}
.uiCrumb{
  font-weight:850;
  color:rgba(15,23,42,.58);
  font-size:.86rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}

.uiPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:.74rem;
  letter-spacing:.02em;
  color:rgba(26,79,156,.92);
  background:rgba(26,79,156,.08);
  border:1px solid rgba(26,79,156,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70);
  white-space:nowrap;
}
.uiPill--teal{
  color:rgba(0,166,118,.98);
  background:rgba(0,166,118,.10);
  border-color:rgba(0,166,118,.22);
}
.uiPill--blue{
  color:rgba(26,79,156,.96);
  background:rgba(26,79,156,.10);
  border-color:rgba(26,79,156,.22);
}
.uiPill--soft{
  color:rgba(15,23,42,.76);
  background:rgba(15,23,42,.05);
  border-color:rgba(148,163,184,.22);
}

.uiBody{
  flex:1;
  display:grid;
  grid-template-columns: 150px 1fr;
  min-height:0;
}
.uiNav{
  padding:12px 10px;
  border-right:1px solid rgba(148,163,184,.20);
  background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,250,252,.90));
  display:flex;
  flex-direction:column;
  gap:8px;
}
.uiNav__item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border-radius:14px;
  font-weight:850;
  color:rgba(15,23,42,.62);
  font-size:.84rem;
  border:1px solid transparent;
  background:transparent;
}
.uiNav__item span{
  width:10px; height:10px; border-radius:999px;
  background:rgba(148,163,184,.65);
  flex:0 0 auto;
}
.uiNav__item.is-active{
  color:rgba(15,23,42,.82);
  background:rgba(255,255,255,.84);
  border-color:rgba(148,163,184,.22);
  box-shadow: 0 12px 22px rgba(15,23,42,.08);
}
.uiNav__item.is-active span{
  background:linear-gradient(135deg, rgba(26,79,156,.92), rgba(0,166,118,.82));
}

.uiMain{
  padding:12px;
  min-height:0;
  overflow:hidden;
}

/* Infinite loop scroll for Experience (4 screenshots) */
.uiMain.uiLoop{position:relative; overflow:hidden;}
.uiMain.uiLoop .uiLoopTrack{
  will-change:transform;
  animation: uiLoopScroll var(--uiLoopDur, 20s) linear infinite;
}
.uiMain.uiLoop .uiLoopStack{padding-bottom:14px;}
@keyframes uiLoopScroll{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}
.uiGrid{
  display:grid;
  gap:10px;
  align-items:stretch;
  min-height:0;
}
.uiGrid--2{ grid-template-columns: 1fr 1fr; }
.uiGrid--drill{ grid-template-columns: 1.2fr .8fr; }

.uiCard{
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.22);
  box-shadow: 0 14px 28px rgba(15,23,42,.08);
  padding:10px 10px 10px;
  min-height:0;
  overflow:hidden;
}
.uiCard--wide{ padding:10px 12px; }
.uiCard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.uiCard__title{
  font-weight:950;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.82);
  font-size:.90rem;
  line-height:1.1;
}

.uiChip{
  font-weight:900;
  font-size:.70rem;
  color:rgba(0,166,118,.98);
  background:rgba(0,166,118,.10);
  border:1px solid rgba(0,166,118,.22);
  padding:5px 8px;
  border-radius:999px;
  white-space:nowrap;
  flex:0 0 auto;
}
.uiChip--blue{
  color:rgba(26,79,156,.94);
  background:rgba(26,79,156,.10);
  border-color:rgba(26,79,156,.22);
}
.uiChip--teal{
  color:rgba(0,166,118,.98);
  background:rgba(0,166,118,.10);
  border-color:rgba(0,166,118,.22);
}

.uiBars{display:flex; flex-direction:column; gap:8px; margin-top:4px}
.uiBar{
  display:grid;
  grid-template-columns: 64px 1fr 42px;
  align-items:center;
  gap:10px;
  font-size:.78rem;
  color:rgba(15,23,42,.72);
  font-weight:800;
}
.uiBar b{
  position:relative;
  height:8px;
  border-radius:999px;
  background:rgba(148,163,184,.22);
  overflow:hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.uiBar b i{
  position:absolute; inset:0;
  width:var(--w,50%);
  background: linear-gradient(90deg, rgba(26,79,156,.82), rgba(0,166,118,.78));
  border-radius:999px;
}
.uiBar em{font-style:normal; font-weight:950; color:rgba(15,23,42,.74); text-align:right}

.uiNote{
  margin-top:10px;
  padding:10px 10px;
  border-radius:16px;
  background:rgba(15,23,42,.04);
  border:1px solid rgba(148,163,184,.22);
  color:rgba(15,23,42,.74);
  font-weight:750;
  font-size:.80rem;
  line-height:1.25;
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.uiNote--blue{ background:rgba(26,79,156,.06); border-color:rgba(26,79,156,.18) }
.uiNote--teal{ background:rgba(0,166,118,.07); border-color:rgba(0,166,118,.18) }

.uiDot{
  width:10px; height:10px; border-radius:999px;
  background:rgba(148,163,184,.70);
  box-shadow: 0 0 0 2px rgba(255,255,255,.86);
  flex:0 0 auto;
  margin-top:3px;
}
.uiDot--teal{background:rgba(0,166,118,.92)}
.uiDot--blue{background:rgba(26,79,156,.84)}

.uiKpiRow{display:flex; align-items:center; gap:10px; margin-top:4px}
.uiRing{
  width:54px; height:54px;
  border-radius:999px;
  background: conic-gradient(rgba(0,166,118,.92) 0 78%, rgba(148,163,184,.22) 78% 100%);
  display:grid;
  place-items:center;
  box-shadow: 0 12px 24px rgba(15,23,42,.12);
  border:1px solid rgba(0,166,118,.22);
  flex:0 0 auto;
}
.uiRing span{
  padding:2px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(148,163,184,.22);
  font-weight:950;
  font-size:.74rem;
  color:rgba(15,23,42,.72);
}
.uiKpiText__label{font-weight:850; font-size:.72rem; color:rgba(15,23,42,.58)}
.uiKpiText__num{font-weight:950; font-size:.92rem; color:rgba(15,23,42,.82); margin-top:2px}
.uiKpiText__sub{font-weight:800; font-size:.74rem; color:rgba(15,23,42,.60); margin-top:2px}

.uiList{display:flex; flex-direction:column; gap:8px; margin-top:8px}
.uiList__row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:8px 9px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.18);
  color:rgba(15,23,42,.74);
  font-weight:850;
  font-size:.78rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70);
}
.uiList__row > span:nth-child(2){flex:1; min-width:0}
.uiMiniPill{
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.04);
  color:rgba(15,23,42,.66);
  font-weight:950;
  font-size:.70rem;
  white-space:nowrap;
  flex:0 0 auto;
}
.uiMiniPill--soft{ background:rgba(15,23,42,.03) }
.uiMiniPill--blue{ background:rgba(26,79,156,.08); border-color:rgba(26,79,156,.16); color:rgba(26,79,156,.92) }
.uiMiniPill--teal{ background:rgba(0,166,118,.08); border-color:rgba(0,166,118,.16); color:rgba(0,166,118,.96) }

.uiCheck{
  width:16px; height:16px; border-radius:999px;
  background: linear-gradient(135deg, rgba(0,166,118,.95), rgba(0,120,90,.92));
  box-shadow: 0 10px 18px rgba(0,166,118,.18);
  border:1px solid rgba(0,166,118,.28);
  position:relative;
  flex:0 0 auto;
  margin-top:1px;
}
.uiCheck::after{
  content:"";
  position:absolute;
  left:4px; top:5px;
  width:7px; height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: rotate(-45deg);
}

.uiObjGrid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:8px;
  margin-top:2px;
}
.uiObj{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:8px 9px;
  border-radius:14px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(148,163,184,.18);
  color:rgba(15,23,42,.72);
  font-weight:850;
  font-size:.78rem;
  line-height:1.25;
}
.uiObj__icon{
  width:14px; height:14px;
  border-radius:6px;
  background: linear-gradient(135deg, rgba(26,79,156,.70), rgba(0,166,118,.62));
  box-shadow: 0 0 0 2px rgba(255,255,255,.86);
  flex:0 0 auto;
  margin-top:2px;
}

.uiVideo{
  height:120px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.22);
  background:
    radial-gradient(220px 140px at 30% 30%, rgba(26,79,156,.22), transparent 70%),
    radial-gradient(220px 140px at 70% 30%, rgba(0,166,118,.18), transparent 70%),
    linear-gradient(135deg, rgba(15,23,42,.10), rgba(15,23,42,.04));
  position:relative;
  overflow:hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.uiPlay{
  position:absolute;
  left:16px; top:14px;
  width:34px; height:34px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(148,163,184,.22);
  box-shadow: 0 12px 22px rgba(15,23,42,.16);
}
.uiPlay::after{
  content:"";
  position:absolute;
  left:13px; top:10px;
  width:0; height:0;
  border-left:11px solid rgba(26,79,156,.86);
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
}
.uiVideo__bar{
  position:absolute;
  left:14px; right:14px; bottom:12px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.30);
  border:1px solid rgba(255,255,255,.24);
  overflow:hidden;
}
.uiVideo__bar i{
  display:block;
  height:100%;
  width:var(--p,40%);
  background: linear-gradient(90deg, rgba(0,166,118,.92), rgba(26,79,156,.84));
  border-radius:999px;
}
.uiMetaRow{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px}

.uiPrompt__q{
  font-weight:900;
  color:rgba(15,23,42,.78);
  font-size:.82rem;
  line-height:1.25;
  margin-top:2px;
}
.uiOptions{display:flex; flex-direction:column; gap:8px; margin-top:10px}
.uiOpt{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.78);
  font-weight:850;
  color:rgba(15,23,42,.72);
  font-size:.78rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70);
}
.uiOpt span{
  width:22px; height:22px;
  border-radius:8px;
  background:rgba(26,79,156,.08);
  border:1px solid rgba(26,79,156,.16);
  color:rgba(26,79,156,.92);
  display:grid;
  place-items:center;
  font-weight:950;
  flex:0 0 auto;
  margin-top:-1px;
}
.uiOpt.is-correct{
  border-color:rgba(0,166,118,.22);
  background:rgba(0,166,118,.06);
}
.uiOpt.is-correct span{
  background:rgba(0,166,118,.10);
  border-color:rgba(0,166,118,.22);
  color:rgba(0,166,118,.96);
}

.uiStem{
  font-weight:850;
  color:rgba(15,23,42,.72);
  font-size:.80rem;
  line-height:1.28;
  background:rgba(15,23,42,.03);
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  padding:10px 10px;
}
.uiOptions--q{ margin-top:10px }
.uiFooterRow{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px}

.uiMiniGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px;
}
.uiMiniStat{
  border-radius:16px;
  padding:9px 9px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70);
}
.uiMiniStat div{font-weight:900; font-size:.70rem; color:rgba(15,23,42,.56)}
.uiMiniStat b{display:block; margin-top:2px; font-weight:950; font-size:.88rem; color:rgba(15,23,42,.80)}
.uiMiniStat span{display:block; margin-top:1px; font-weight:850; font-size:.72rem; color:rgba(15,23,42,.58)}

.uiChart{
  height:120px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(255,255,255,.74);
  overflow:hidden;
  position:relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.uiChart svg{width:100%; height:100%}
.uiChart__grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(148,163,184,.20) 1px, transparent 1px) 0 0 / 48px 100%,
    linear-gradient(to bottom, rgba(148,163,184,.16) 1px, transparent 1px) 0 0 / 100% 30px;
  opacity:.55;
  pointer-events:none;
}

.uiChat{display:flex; flex-direction:column; gap:8px}
.uiMsg{
  padding:9px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.18);
  font-weight:850;
  color:rgba(15,23,42,.72);
  font-size:.78rem;
  line-height:1.25;
}
.uiMsg--me{
  background:rgba(26,79,156,.06);
  border-color:rgba(26,79,156,.18);
}

/* ── Tab 1: Timeline (Study Plan) ── */
.uiTimeline{display:flex; flex-direction:column; gap:0; margin-top:4px; position:relative}
.uiTimeline::before{content:''; position:absolute; left:7px; top:10px; bottom:10px; width:2px; background:rgba(148,163,184,.22); border-radius:2px}
.uiTimeline__item{display:flex; align-items:flex-start; gap:10px; padding:6px 0; position:relative}
.uiTimeline__dot{width:16px; height:16px; border-radius:999px; flex:0 0 auto; border:2px solid rgba(148,163,184,.30); background:#fff; margin-top:1px; position:relative; z-index:1}
.uiTimeline__dot--done{border-color:rgba(0,166,118,.6); background:linear-gradient(135deg,rgba(0,166,118,.95),rgba(0,120,90,.92))}
.uiTimeline__dot--done::after{content:''; position:absolute; left:3px; top:4px; width:6px; height:3px; border-left:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(-45deg)}
.uiTimeline__dot--active{border-color:rgba(23,157,153,.7); background:rgba(23,157,153,.15); box-shadow:0 0 0 3px rgba(23,157,153,.12)}
.uiTimeline__dot--active::after{content:''; position:absolute; left:4px; top:4px; width:4px; height:4px; border-radius:999px; background:rgba(23,157,153,.9)}
.uiTimeline__content{flex:1; min-width:0}
.uiTimeline__content strong{display:block; font-weight:900; font-size:.78rem; color:rgba(15,23,42,.78); line-height:1.2}
.uiTimeline__meta{font-weight:700; font-size:.70rem; color:rgba(15,23,42,.50)}
.uiTimeline__item.is-active .uiTimeline__content strong{color:rgba(23,157,153,.95)}

.uiProgressMini{margin-top:8px; padding:8px 10px; border-radius:12px; background:rgba(15,23,42,.03); border:1px solid rgba(148,163,184,.16)}
.uiProgressMini__label{font-weight:900; font-size:.72rem; color:rgba(15,23,42,.56); margin-bottom:5px}
.uiProgressMini__bar{height:6px; border-radius:999px; background:rgba(148,163,184,.18); overflow:hidden}
.uiProgressMini__bar i{display:block; height:100%; width:var(--w,50%); border-radius:999px; background:linear-gradient(90deg,rgba(23,157,153,.85),rgba(0,166,118,.78))}

.uiWeekGrid{display:flex; gap:6px; margin-top:6px}
.uiWeekDay{flex:1; text-align:center; padding:6px 2px; border-radius:10px}
.uiWeekDay span{display:block; font-weight:900; font-size:.65rem; color:rgba(15,23,42,.48); margin-bottom:4px}
.uiWeekDay i{display:block; width:22px; height:22px; border-radius:999px; margin:0 auto; background:rgba(148,163,184,.14); border:1px solid rgba(148,163,184,.18)}
.uiWeekDay i.is-done{background:rgba(0,166,118,.15); border-color:rgba(0,166,118,.30)}
.uiWeekDay i.is-active{background:rgba(23,157,153,.2); border-color:rgba(23,157,153,.5); box-shadow:0 0 0 3px rgba(23,157,153,.12)}
.uiWeekDay.is-today span{color:rgba(23,157,153,.9)}

.uiMilestoneRow{display:flex; gap:10px; flex-wrap:wrap; margin-top:4px}
.uiMilestone{display:flex; align-items:center; gap:7px; font-weight:800; font-size:.76rem; color:rgba(15,23,42,.68)}

/* ── Tab 2: Chapters & Flashcards ── */
.uiChapters{display:flex; flex-direction:column; gap:5px; margin-top:4px}
.uiChapter{display:flex; align-items:center; gap:8px; padding:5px 8px; border-radius:10px; font-weight:850; font-size:.76rem; color:rgba(15,23,42,.60)}
.uiChapter__dot{width:14px; height:14px; border-radius:999px; border:2px solid rgba(148,163,184,.30); background:#fff; flex:0 0 auto}
.uiChapter__dot--done{border-color:rgba(0,166,118,.5); background:rgba(0,166,118,.85)}
.uiChapter__dot--done::after{content:''; display:block; width:5px; height:3px; border-left:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(-45deg); margin:3px 0 0 3px}
.uiChapter__dot--active{border-color:rgba(23,157,153,.6); background:rgba(23,157,153,.12); box-shadow:0 0 0 3px rgba(23,157,153,.10)}
.uiChapter.is-done{color:rgba(15,23,42,.50)}
.uiChapter.is-active{color:rgba(23,157,153,.9); background:rgba(23,157,153,.06); border-radius:10px}

.uiContentPreview{display:flex; flex-direction:column; gap:5px; margin-top:8px}
.uiContentLine{height:6px; border-radius:3px; background:rgba(148,163,184,.16); width:var(--w,100%)}
.uiContentLine--highlight{background:rgba(23,157,153,.18); border:1px solid rgba(23,157,153,.14)}

.uiFlashcard{margin-top:4px; border-radius:14px; border:1.5px solid rgba(26,79,156,.18); background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(248,250,252,.98)); padding:12px; box-shadow:0 8px 20px rgba(15,23,42,.06); perspective:400px}
.uiFlashcard__face{text-align:center}
.uiFlashcard__label{font-weight:950; font-size:.72rem; color:rgba(26,79,156,.6); margin-bottom:4px}
.uiFlashcard__text{font-weight:850; font-size:.82rem; color:rgba(15,23,42,.78); line-height:1.3}

.uiConfidence{display:flex; gap:6px; margin-top:8px}
.uiConfidence__btn{flex:1; text-align:center; padding:6px 4px; border-radius:10px; font-weight:900; font-size:.72rem; border:1px solid rgba(148,163,184,.22); background:rgba(255,255,255,.8)}
.uiConfidence__btn--again{color:rgba(220,38,38,.8); border-color:rgba(220,38,38,.16); background:rgba(220,38,38,.05)}
.uiConfidence__btn--good{color:rgba(23,157,153,.9); border-color:rgba(23,157,153,.22); background:rgba(23,157,153,.06)}
.uiConfidence__btn--easy{color:rgba(26,79,156,.8); border-color:rgba(26,79,156,.18); background:rgba(26,79,156,.05)}

/* ── Tab 2: Preview CTA inside mockup ── */
.uiPreviewCta{
  margin-top:8px; padding:8px 10px; border-radius:12px;
  background:linear-gradient(135deg,rgba(23,157,153,.10),rgba(23,157,153,.05));
  border:1px solid rgba(23,157,153,.22);
  display:flex; align-items:center; gap:8px;
  font-weight:800; font-size:.76rem; color:rgba(23,157,153,.92);
}
.uiPreviewCta__icon{
  width:22px; height:22px; border-radius:999px;
  background:linear-gradient(135deg,rgba(23,157,153,.9),rgba(0,166,118,.85));
  color:#fff; font-size:.60rem;
  display:grid; place-items:center;
  flex:0 0 auto;
  box-shadow:0 4px 10px rgba(23,157,153,.2);
}

/* ── Tab 3: Rationale ── */
.uiRationale{margin-top:4px; padding:10px; border-radius:14px; background:rgba(0,166,118,.05); border:1px solid rgba(0,166,118,.16)}
.uiRationale__correct{display:flex; align-items:center; gap:6px; font-weight:950; font-size:.80rem; color:rgba(0,166,118,.92); margin-bottom:5px}
.uiRationale__correct span{font-size:.90rem}
.uiRationale__text{font-weight:750; font-size:.76rem; color:rgba(15,23,42,.68); line-height:1.30}

/* ── Tab 4: Gauge ── */
.uiGauge{position:relative; width:100px; height:100px; margin:4px auto 0}
.uiGauge svg{width:100%; height:100%}
.uiGauge__label{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.uiGauge__label b{font-weight:950; font-size:1.1rem; color:rgba(15,23,42,.82); line-height:1}
.uiGauge__label span{font-weight:800; font-size:.65rem; color:rgba(15,23,42,.50); margin-top:2px}

.uiBar--weak b i{background:linear-gradient(90deg,rgba(220,38,38,.65),rgba(220,120,38,.60))}
.uiBar--weak span, .uiBar--weak em{color:rgba(220,38,38,.75)}

.uiChart--retention{height:70px}
.uiChart--trend{height:70px}

/* ── Staggered Entrance Animations ── */
@keyframes expCardIn{
  from{opacity:0; transform:translateY(14px) scale(.98)}
  to{opacity:1; transform:translateY(0) scale(1)}
}
@keyframes expBarFill{from{width:0}}
@keyframes expGaugeFill{from{stroke-dashoffset:314}}
@keyframes expLineDraw{from{stroke-dashoffset:300} to{stroke-dashoffset:0}}
@keyframes expCorrectPop{
  0%{border-color:rgba(148,163,184,.18); background:rgba(255,255,255,.78)}
  100%{border-color:rgba(0,166,118,.22); background:rgba(0,166,118,.06)}
}
@keyframes expCheckPop{
  0%{transform:scale(0); opacity:0}
  60%{transform:scale(1.15); opacity:1}
  100%{transform:scale(1); opacity:1}
}
@keyframes expFlip{
  0%{transform:rotateY(-8deg) scale(.97); opacity:.6}
  100%{transform:rotateY(0) scale(1); opacity:1}
}
@keyframes expDotPulse{
  0%{box-shadow:0 0 0 0 rgba(23,157,153,.3)}
  70%{box-shadow:0 0 0 6px rgba(23,157,153,0)}
  100%{box-shadow:0 0 0 0 rgba(23,157,153,0)}
}

/* Apply staggered animations when tab is active */
.expShot.is-active .uiCard{opacity:0; animation:expCardIn .45s cubic-bezier(.22,1,.36,1) forwards}
.expShot.is-active .uiGrid > .uiCard:nth-child(1){animation-delay:0s}
.expShot.is-active .uiGrid > .uiCard:nth-child(2){animation-delay:.1s}
.expShot.is-active .uiCard--wide{animation-delay:.2s}

/* Progress bar fill animation */
.expShot.is-active .uiBar b i{animation:expBarFill .8s cubic-bezier(.22,1,.36,1) .35s both}
.expShot.is-active .uiProgressMini__bar i{animation:expBarFill .8s cubic-bezier(.22,1,.36,1) .4s both}

/* Gauge fill */
.expShot.is-active .uiGauge__fill{animation:expGaugeFill 1s cubic-bezier(.22,1,.36,1) .3s both}

/* Chart line draw */
.expShot.is-active .uiChart__line{stroke-dasharray:300; animation:expLineDraw 1.2s cubic-bezier(.22,1,.36,1) .3s both}

/* Correct answer highlight */
.expShot.is-active .uiOpt.is-correct{animation:expCorrectPop .35s ease .5s both}

/* Timeline checks */
.expShot.is-active .uiTimeline__dot--done{animation:expCheckPop .3s cubic-bezier(.22,1,.36,1) both}
.expShot.is-active .uiTimeline__item:nth-child(1) .uiTimeline__dot--done{animation-delay:.15s}
.expShot.is-active .uiTimeline__item:nth-child(2) .uiTimeline__dot--done{animation-delay:.25s}
.expShot.is-active .uiTimeline__dot--active{animation:expDotPulse 1.5s ease .5s infinite}

/* Flashcard flip */
.expShot.is-active .uiFlashcard{animation:expFlip .5s cubic-bezier(.22,1,.36,1) .25s both}

@media (max-width: 960px){
  .mediaCard__img.expShots{height:300px}
  .uiBody{grid-template-columns: 120px 1fr}
  .uiObjGrid{grid-template-columns:1fr}
  .uiGrid--2{grid-template-columns:1fr}
  .uiGrid--drill{grid-template-columns:1fr}
  .uiVideo{height:110px}
  .uiChart{height:110px}
}
    /* =========================
       ABOUT VISUAL — Concept-first, exam-aligned (mock UI)
       ========================= */
    .mediaCard__img.conceptMock{
      position:relative;
      height:360px;
      padding:14px;
      border-radius:20px;
      background:
        radial-gradient(980px 380px at 12% 0%, rgba(26,79,156,.18), transparent 62%),
        radial-gradient(820px 360px at 92% 0%, rgba(0,166,118,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.98));
      display:flex;
      flex-direction:column;
      gap:10px;
      isolation:isolate;
    }
    .mediaCard__img.conceptMock::before{
      content:"";
      position:absolute;
      inset:10px;
      border-radius:18px;
      background: linear-gradient(135deg, rgba(255,255,255,.65), rgba(255,255,255,0));
      border:1px solid rgba(148,163,184,.26);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.80);
      pointer-events:none;
      z-index:1;
    }
    .mediaCard__img.conceptMock > *{position:relative; z-index:2}

    .cmTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.82);
      border:1px solid rgba(148,163,184,.26);
      box-shadow: 0 12px 26px rgba(15,23,42,.08);
    }
    .cmBrand{
      display:flex;
      align-items:center;
      gap:9px;
      font-weight:850;
      letter-spacing:-.01em;
      color:rgba(15,23,42,.86);
      font-size:.96rem;
      white-space:nowrap;
    }
    .cmDot{
      width:10px; height:10px;
      border-radius:999px;
      background:linear-gradient(135deg, rgba(26,79,156,.85), rgba(0,166,118,.75));
      box-shadow:0 0 0 2px rgba(255,255,255,.90);
      flex:0 0 auto;
    }
    .cmPills{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end}
    .cmPill{
      font-weight:850;
      font-size:.72rem;
      color:rgba(26,79,156,.88);
      background:rgba(26,79,156,.08);
      border:1px solid rgba(26,79,156,.18);
      padding:6px 10px;
      border-radius:999px;
      white-space:nowrap;
    }
    .cmPill--teal{
      color:rgba(0,166,118,.98);
      background:rgba(0,166,118,.10);
      border-color:rgba(0,166,118,.22);
    }

    .cmGrid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:10px;
      align-items:stretch;
      flex:1;
      min-height:0;
    }


    /* continuous looping scroll inside dashboard */
    .cmScroll{position:relative; flex:1; min-height:0; overflow:hidden;}
    .cmScrollTrack{will-change:transform; animation: cmDashScroll 20s linear infinite;}
    .cmStack{padding-bottom:14px;}
    .cmDivider{
      height:10px;
      margin:8px 0 10px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(148,163,184,.0), rgba(148,163,184,.28), rgba(148,163,184,.0));
    }
    @keyframes cmDashScroll{
      from{transform:translateY(0)}
      to{transform:translateY(-50%)}
    }
    .cmCol{
      border-radius:18px;
      border:1px solid rgba(148,163,184,.24);
      background:rgba(255,255,255,.70);
      box-shadow: 0 14px 32px rgba(15,23,42,.08);
      padding:12px 12px 12px;
      min-height:0;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .cmSectionTitle{
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-size:.72rem;
      color:rgba(15,23,42,.58);
    }

    .cmObjList{display:grid; gap:8px}
    .cmObj{
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 10px;
      border-radius:14px;
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.70);
      font-weight:720;
      color:rgba(15,23,42,.78);
      letter-spacing:-.01em;
      font-size:.9rem;
      line-height:1.2;
    }
    .cmObj span:last-child{
      text-overflow:ellipsis;
      white-space:nowrap;
      min-width:0;
    }
    .cmBox{
      width:18px; height:18px;
      border-radius:6px;
      border:2px solid rgba(100,116,139,.55);
      background:rgba(255,255,255,.75);
      flex:0 0 auto;
    }
    .cmCheck{
      width:18px; height:18px;
      border-radius:6px;
      border:2px solid rgba(0,166,118,.65);
      background:rgba(0,166,118,.10);
      position:relative;
      flex:0 0 auto;
    }
    .cmCheck::after{
      content:"";
      position:absolute;
      left:5px; top:1px;
      width:4px; height:9px;
      border:2px solid rgba(0,166,118,.90);
      border-top:0;
      border-left:0;
      transform:rotate(45deg);
    }
    .cmTarget{
      width:18px; height:18px;
      border-radius:999px;
      border:2px solid rgba(26,79,156,.65);
      background:rgba(26,79,156,.08);
      position:relative;
      flex:0 0 auto;
    }
    .cmTarget::after{
      content:"";
      position:absolute;
      inset:-6px;
      border-radius:999px;
      border:2px solid rgba(0,166,118,.26);
      opacity:.85;
      animation: cmPulse 1.8s var(--ease) infinite;
    }
    .cmObj--done{color:rgba(15,23,42,.78)}
    .cmObj--focus{
      border-color:rgba(0,166,118,.30);
      background:linear-gradient(180deg, rgba(0,166,118,.08), rgba(255,255,255,.70));
      color:rgba(15,23,42,.84);
    }

    .cmNote{
      margin-top:auto;
      border-radius:16px;
      border:1px solid rgba(26,79,156,.18);
      background:
        radial-gradient(520px 180px at 0% 0%, rgba(26,79,156,.12), transparent 62%),
        radial-gradient(520px 180px at 100% 0%, rgba(0,166,118,.10), transparent 62%),
        rgba(255,255,255,.72);
      padding:10px 10px;
      box-shadow: 0 10px 22px rgba(15,23,42,.06);
    }
    .cmNoteLabel{
      font-weight:900;
      font-size:.78rem;
      color:rgba(15,23,42,.78);
      letter-spacing:-.01em;
    }
    .cmNoteBody{
      margin-top:4px;
      color:rgba(71,85,105,.86);
      font-weight:650;
      font-size:.84rem;
      line-height:1.35;
    }

    .cmTags{display:flex; flex-wrap:wrap; gap:8px}
    .cmTag{
      font-weight:850;
      font-size:.72rem;
      color:rgba(15,23,42,.74);
      background:rgba(226,232,240,.70);
      border:1px solid rgba(148,163,184,.22);
      padding:6px 9px;
      border-radius:999px;
      white-space:nowrap;
    }

    .cmBlueprint{display:grid; gap:8px}
    .cmBpRow{
      display:grid;
      grid-template-columns: 120px 1fr 44px;
      gap:10px;
      align-items:center;
    }
    .cmBpLabel{
      font-weight:800;
      font-size:.82rem;
      color:rgba(15,23,42,.74);
      letter-spacing:-.01em;
    }
    .cmBpBar{
      height:10px;
      border-radius:999px;
      background:rgba(226,232,240,.92);
      border:1px solid rgba(148,163,184,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.90);
    }
    .cmBpBar span{
      display:block;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(26,79,156,.85), rgba(0,166,118,.80));
      box-shadow: 0 12px 26px rgba(26,79,156,.12);
    }
    .cmBpPct{
      font-weight:900;
      font-size:.82rem;
      color:rgba(15,23,42,.70);
      text-align:right;
    }

    .cmQ{
      margin-top:auto;
      border-radius:18px;
      border:1px solid rgba(148,163,184,.26);
      background:
        radial-gradient(520px 180px at 15% 0%, rgba(26,79,156,.10), transparent 64%),
        radial-gradient(520px 180px at 100% 0%, rgba(0,166,118,.08), transparent 64%),
        rgba(255,255,255,.72);
      box-shadow: 0 18px 40px rgba(15,23,42,.10);
    }
    .cmQHead{
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-bottom:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.76);
      align-items:center;
    }
    .cmQTitle{
      font-weight:900;
      font-size:.82rem;
      color:rgba(15,23,42,.84);
      letter-spacing:-.01em;
      white-space:nowrap;
    }
    .cmQMeta{
      font-weight:850;
      font-size:.74rem;
      color:rgba(26,79,156,.86);
      background:rgba(26,79,156,.08);
      border:1px solid rgba(26,79,156,.18);
      padding:5px 8px;
      border-radius:999px;
      white-space:nowrap;
    }

    .cmQLines{display:grid; gap:7px; padding:10px 12px 0}
    .cmQLines span{
      height:9px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(148,163,184,.60), rgba(226,232,240,.78));
    }
    .cmQLines .w92{width:92%}
    .cmQLines .w88{width:88%}
    .cmQLines .w86{width:86%}
    .cmQLines .w78{width:78%}

    .cmQChoices{display:grid; gap:8px; padding:10px 12px 10px}
    .cmChoice{
      display:flex;
      align-items:center;
      gap:10px;
      padding:8px 10px;
      border-radius:14px;
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.66);
    }
    .cmChoice span{
      width:22px; height:22px;
      border-radius:9px;
      display:grid;
      place-items:center;
      font-weight:950;
      font-size:.78rem;
      color:rgba(30,41,59,.78);
      background:rgba(226,232,240,.72);
      border:1px solid rgba(148,163,184,.22);
      flex:0 0 auto;
    }
    .cmChoice i{
      display:block;
      height:9px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(148,163,184,.55), rgba(226,232,240,.72));
      flex:1;
    }
    .cmChoice i.w70{max-width:70%}
    .cmChoice i.w66{max-width:66%}
    .cmChoice i.w64{max-width:64%}
    .cmChoice i.w58{max-width:58%}
    .cmChoice--active{
      border-color:rgba(0,166,118,.28);
      background:linear-gradient(180deg, rgba(0,166,118,.08), rgba(255,255,255,.66));
    }
    .cmChoice--active span{
      background:rgba(0,166,118,.14);
      border-color:rgba(0,166,118,.30);
      color:rgba(0,166,118,.98);
    }

    .cmQFooter{
      display:flex;
      gap:8px;
      padding:0 12px 12px;
      flex-wrap:wrap;
    }
    .cmQChip{
      font-weight:850;
      font-size:.72rem;
      color:rgba(15,23,42,.72);
      background:rgba(226,232,240,.68);
      border:1px solid rgba(148,163,184,.22);
      padding:6px 9px;
      border-radius:999px;
      white-space:nowrap;
    }
    .cmQChip--teal{
      color:rgba(0,166,118,.98);
      background:rgba(0,166,118,.10);
      border-color:rgba(0,166,118,.22);
    }

    .cmWatermark{
      position:absolute;
      right:14px; bottom:12px;
      font-weight:900;
      letter-spacing:-.02em;
      color:rgba(15,23,42,.30);
      font-size:.86rem;
      pointer-events:none;
      z-index:2;
      text-shadow: 0 1px 0 rgba(255,255,255,.70);
    }

    @keyframes cmPulse{
      0%{transform:scale(.92); opacity:.62}
      55%{transform:scale(1.10); opacity:.22}
      100%{transform:scale(1.24); opacity:0}
    }
    @media (prefers-reduced-motion: reduce){
      .cmTarget::after{animation:none !important}
    }

    @media (max-width: 720px){
      .mediaCard__img.conceptMock{height:300px}
      .cmGrid{grid-template-columns:1fr}
      .cmBpRow{grid-template-columns: 110px 1fr 44px}
    }


    .featureList{display:grid; gap:12px; margin-top:18px}
    .featureItem{
      display:flex;
      gap:12px;
      padding:14px;
      border-radius:var(--radius-lg);
      border:1px solid var(--border-subtle);
      background:var(--surface);
      box-shadow:var(--shadow-sm);
      transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);
    }
    .featureItem:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-card);
      border-color:rgba(26,79,156,.35);
    }
    .featureItem strong{
      display:block;
      font-weight:750;
      color:var(--text-main);
      letter-spacing:-.01em;
      margin-bottom:4px;
    }
    .featureItem span{color:var(--text-body); font-weight:600}

    .card__pad{padding:18px}
    .cardTitle{margin-top:10px}
    .metaList{
      margin:14px 0 16px;
      padding:0;
      list-style:none;
      display:grid;
      gap:8px;
      color:var(--text-body);
      font-weight:600;
    }
    .metaList strong{color:rgba(15,23,42,.78); font-weight:750}

    .thumb{
      height: clamp(250px, 23vw, 330px);
      background:
        radial-gradient(620px 320px at 30% 40%, rgba(26,79,156,.18), transparent 60%),
        radial-gradient(520px 280px at 70% 35%, rgba(0,166,118,.14), transparent 60%),
        linear-gradient(135deg, rgba(15,23,42,.06), rgba(15,23,42,.02));
    }

    
    /* ============================
       Program cover (GMAT-style)
       ============================ */
    /* Pill sizing: match “Paths for every exam stage” */
    #programs .card__pad .pill,
    #courses .pill,
    #events .pill,
    #experience .pill{
      padding:5px 10px;
      gap:6px;
      font-size:.78rem;
      font-weight:700;
      border-color: rgba(26,79,156,.18);
      background: rgba(26,79,156,.045);
    }
    #programs .card__pad .pill__ico,
    #courses .pill__ico,
    #events .pill__ico,
    #experience .pill__ico{
      width:14px;
      height:14px;
    }

#programs .thumb{
      height:300px;
      display:block;
      padding:0;
      position:relative;
      background:transparent;
    }
    @media (max-width: 860px){
      #programs .thumb{height:270px; padding:0}
    }
    @media (max-width: 520px){
      #programs .thumb{height:240px; padding:0}
    }

    .courseCover{
      --cc-radius: var(--radius-lg);
      --cc-navy1: #2b3e6b;
      --cc-navy2: #172a4e;
      --cc-navy3: #0f1f3e;
      /* tuned to match reference cover spine */
      --cc-teal:#2dd4bf;
      --cc-mint:#34d399;
      --cc-green:#22c55e;
      --cc-deep:#15803d;

      position:relative;
      width:100%;
      height:100%;
      max-height:none;
      border-radius:var(--cc-radius) var(--cc-radius) 0 0;
      container-type:inline-size;

      background:
        radial-gradient(120% 110% at 60% 10%, rgba(255,255,255,.92), rgba(246,249,255,.92) 40%, rgba(243,247,255,.92) 65%, rgba(238,244,255,.90) 100%);
      border:0;
      box-shadow:none;
      }

    .courseCover::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 420px at 40% 0%, rgba(255,255,255,.55), transparent 55%),
        radial-gradient(700px 360px at 70% 90%, rgba(26,79,156,.10), transparent 60%);
      pointer-events:none;
      mix-blend-mode: soft-light;
      opacity:.9;
    }

    /* subtle grain */
    .courseCover::after{
      content:"";
      position:absolute;
      inset:-30px;
      background-image:
        repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px),
        repeating-linear-gradient(90deg, rgba(15,23,42,.022) 0 1px, transparent 1px 4px);
      opacity:.55;
      pointer-events:none;
      mix-blend-mode: overlay;
    }

    .courseCover__stripe{
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:24px;
      border-top-left-radius:var(--cc-radius);
      border-bottom-left-radius:0;
      background: linear-gradient(180deg, var(--cc-teal) 0%, var(--cc-mint) 28%, var(--cc-green) 62%, var(--cc-deep) 100%);
      box-shadow:
        inset -1px 0 0 rgba(255,255,255,.35),
        inset -10px 0 18px rgba(0,0,0,.12),
        0 0 0 1px rgba(15,23,42,.10);
      z-index:3;
    }
    .courseCover__stripe::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(22px 280px at 10% 18%, rgba(255,255,255,.48), transparent 62%),
        radial-gradient(30px 340px at 0% 60%, rgba(255,255,255,.22), transparent 70%);
      opacity:.95;
      mix-blend-mode:soft-light;
    }

    .courseCover__frame{
      position:absolute;
      inset:0;
      border-radius:var(--cc-radius) var(--cc-radius) 0 0;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.55),
        inset 0 -1px 0 rgba(15,23,42,.10);
      pointer-events:none;
      z-index:4;
    }

    .courseCover__top{
      position:relative;
      z-index:2;
      height:78px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:14px 16px 14px 34px;
      background:
        radial-gradient(120% 120% at 20% 10%, rgba(255,255,255,.18), transparent 55%),
        linear-gradient(180deg, var(--cc-navy1), var(--cc-navy2) 55%, var(--cc-navy3));
      border-bottom:1px solid rgba(255,255,255,.22);
      box-shadow:
        inset 0 -14px 28px rgba(0,0,0,.18);
    }
    .courseCover__top::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(780px 210px at 55% 10%, rgba(0,0,0,.22), transparent 55%),
        radial-gradient(460px 160px at 20% 65%, rgba(45,212,191,.18), transparent 60%);
      opacity:.65;
      pointer-events:none;
    }
    .courseCover__top::after{
      content:"";
      position:absolute;
      left:20px;
      right:0;
      bottom:-1px;
      height:4px;
      background: linear-gradient(90deg, rgba(45,212,191,.96), rgba(16,185,129,.96));
      box-shadow: 0 10px 24px rgba(16,185,129,.24);
      pointer-events:none;
    }
    .courseCover__logo{
      height:36px;
      width:auto;
      filter: drop-shadow(0 10px 20px rgba(0,0,0,.28));
      opacity:.98;
    }

    .courseCover__body{
      position:relative;
      z-index:2;
      padding:18px 18px 30px 40px;
    display:flex;
      flex-direction:column;
      height:calc(100% - 78px);
    }
    @media (max-width: 520px){
      .courseCover__body{padding:16px 16px 16px 38px}
    }

    .courseCover__pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:6px 12px;
      border-radius:999px;
      font-size:11px;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:800;
      color: rgba(15,23,42,.76);
      background:
        radial-gradient(80px 30px at 25% 35%, rgba(255,255,255,.9), rgba(255,255,255,.70) 55%, rgba(255,255,255,.55)),
        linear-gradient(180deg, rgba(31,93,255,.10), rgba(0,0,0,0));
      border:1px solid rgba(15,23,42,.12);
      box-shadow:
        0 10px 24px rgba(15,23,42,.08),
        inset 0 1px 0 rgba(255,255,255,.65);
    }

    .courseCover__title{
      margin-top:14px;
      font-size: clamp(34px, 12cqw, 60px);
      line-height: .94;
      font-weight:900;
      letter-spacing:-.03em;
      color: rgba(15,23,42,.92);
      text-shadow: 0 1px 0 rgba(255,255,255,.6);
      max-width: 92%;
      overflow-wrap:anywhere;
      text-wrap:balance;
    }
    .courseCover__subtitle{
      margin-top:6px;
      font-size: clamp(24px, 9cqw, 44px);
      line-height: .98;
      font-weight:900;
      letter-spacing:-.03em;
      color: rgba(15,23,42,.86);
      max-width: 92%;
      overflow-wrap:anywhere;
      text-wrap:balance;
    }

    .courseCover__divider{
      margin-top:auto;
      height:1px;
      width:100%;
      background: linear-gradient(90deg, rgba(15,23,42,.14), rgba(15,23,42,.06), transparent);
    }

    .courseCover__bullets{
      margin:12px 0 26px;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
      color: rgba(15,23,42,.78);
      font-weight:750;
      font-size:16px;
    }
    .courseCover__bullets li{
      display:flex;
      gap:12px;
      align-items:center;
      white-space:nowrap;
    }
    .ccCheck{
      width:22px;
      height:22px;
      border-radius:999px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background: linear-gradient(180deg, rgba(45,212,191,.92), rgba(16,185,129,.96));
      box-shadow:
        0 10px 22px rgba(16,185,129,.22),
        inset 0 1px 0 rgba(255,255,255,.55),
        inset 0 -1px 0 rgba(0,0,0,.16);
      border:1px solid rgba(0,0,0,.08);
    }
    .ccCheck svg{width:14px; height:14px; color:#fff}
    .ccNum{
      font-weight:900;
      color: rgba(15,23,42,.92);
      margin-right:2px;
    }

    /* size tuning for smaller screens */
    @media (max-width: 520px){
      .courseCover{max-height:210px; --cc-radius: 18px}
      .courseCover__top{height:64px}
      .courseCover__logo{height:28px}
      .courseCover__body{padding:12px 14px 14px 28px}
      .courseCover__title{font-size:34px}
      .courseCover__subtitle{font-size:28px}
      .courseCover__bullets{font-size:14px; gap:10px}
      .courseCover__bullets li{white-space:normal}
    }
.steps{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .step{
      border-radius:var(--radius-lg);
      border:1px solid var(--border-subtle);
      background:var(--surface);
      padding:16px;
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);
      text-align:left;
    }
    .step:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-card);
      border-color:rgba(26,79,156,.35);
    }
    .step[aria-selected="true"]{
      background:rgba(26,79,156,.06);
      border-color:rgba(26,79,156,.45);
      box-shadow:var(--shadow-card);
    }
    .step__top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
        .step__label{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:650;
      color:var(--text-main);
      letter-spacing:-.01em;
    }
    .step__badge{
      width:30px; height:30px;
      border-radius:999px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      font-weight:700;
      font-size:.95rem;
      color:rgba(15,23,42,.78);
      background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,1));
      border:1px solid rgba(26,79,156,.20);
      box-shadow: 0 1px 0 rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.9);
    }
    .step__title{
      font-size:1.08rem; line-height:1.25;
      font-weight:650;
      color:var(--text-main);
    }
    .step[aria-selected="true"] .step__badge{
      color:#fff;
      background:#1a4f9c;
      border-color:transparent;
      box-shadow: 0 10px 22px rgba(26,79,156,.22);
    }
    .step__sub{
      font-size:1rem; line-height:1.45;
      margin-top:8px;
      color:var(--text-body);
      font-weight:500;
      padding-left:42px;
    }

    

/* =========================
   EXPERIENCE — Responsive layout polish (iPhone/iPad)
   ========================= */
.experienceGrid{
  display:grid;
  grid-template-columns: 1fr 1.35fr;
  gap:22px;
  align-items:start;
  grid-template-areas: "steps visual";
}
.experienceGrid .expSteps{grid-area:steps; margin-top:0}
.experienceGrid .expMediaCard{grid-area:visual; align-self:start}

/* Prevent tall step list from stretching the visual on desktop */
.experienceGrid .expMediaCard{justify-self:stretch}

/* Tablet: stack visual above steps; make steps a 2-column grid */
@media (max-width: 960px){
  .experienceGrid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "visual"
      "steps";
    gap:16px;
  }
  .mediaCard__img.expShots{height: clamp(320px, 55vw, 380px)}
  .experienceGrid .expSteps{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px;
  }
  /* Put caption below the screenshot (no overlay) to avoid covering content */
  .expMediaCard .mediaCard__tag{
    position:static;
    margin:12px;
    max-width:none;
  }
  .expMediaCard .mediaCard__img{
    border-bottom:1px solid rgba(226,232,240,.8);
  }
}

/* Phone: single-column steps, tighter sizing, better fit */
@media (max-width: 720px){
  .sectionHead .eyebrow{margin-left:0}
  .experienceGrid .expSteps{grid-template-columns: 1fr}
  .step{padding:14px}
  .step__badge{width:28px; height:28px; font-size:.9rem}
  .step__sub{font-size:1rem; padding-left:40px}
  .mediaCard__img.expShots{height: clamp(300px, 82vw, 360px)}
  .expShot{padding:12px}
}

/* Small phones: simplify top bar to prevent crowding */
@media (max-width: 520px){
  .uiCrumb{display:none}
  .uiBody{grid-template-columns: 108px 1fr}
  .uiNav{padding:10px 8px}
  .uiNav__item{padding:8px 9px; font-size:.80rem}
  .uiMain{padding:10px}
  .uiTop{height:44px; padding:9px 10px}
  .uiPill{padding:5px 8px}
}
    .statsStrip{
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:12px;
      margin-top:18px;
    }
    .stat{
      --stat-rgb: 26 79 156; /* default: brand blue */
      position:relative;
      border-radius:var(--radius-lg);
      border:1px solid rgb(var(--stat-rgb) / .16);
      background:
        radial-gradient(560px 240px at 0% 0%, rgb(var(--stat-rgb) / .07), transparent 58%),
        linear-gradient(180deg, rgb(var(--stat-rgb) / .05), rgba(255,255,255,1) 62%);
      box-shadow:var(--shadow-sm);
      padding:14px 14px 13px 14px;
      transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
    }
    .stat::after{
      content:"";
      position:absolute;
      left:0; top:0; bottom:0;
      width:3px;
      background:linear-gradient(180deg, rgb(var(--stat-rgb) / .60), rgb(var(--stat-rgb) / .22));
      opacity:.65;
    }
    .stat:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-card);
      border-color:rgb(var(--stat-rgb) / .30);
    }
    .stat__top{display:flex; align-items:center; gap:12px}
    .stat__icon{
      width:40px; height:40px;
      border-radius:14px;
      display:grid; place-items:center;
      background:linear-gradient(180deg, rgb(var(--stat-rgb) / .10), rgb(var(--stat-rgb) / .03));
      border:1px solid rgb(var(--stat-rgb) / .14);
      color:rgb(var(--stat-rgb) / 1);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
      flex:0 0 auto;
      margin-left:4px; /* keep clear of the accent stripe */
    }
    .stat__icon svg{width:20px; height:20px; stroke-width:2}
    .stat__stack{display:flex; flex-direction:column; gap:2px}
    .stat__num{
      font-weight:800;
      font-size:1.7rem;
      letter-spacing:-.02em;
      color:var(--text-main);
      line-height:1.05;
    }
    .stat__label{
      font-weight:650;
      color:rgba(15,23,42,.68);
      font-size:.92rem;
      letter-spacing:-.01em;
    }
    .stat--blue{--stat-rgb: 26 79 156}
    .stat--teal{--stat-rgb: 0 166 118}
    .stat--navy{--stat-rgb: 15 23 42}
    .stat--mix{--stat-rgb: 26 79 156; --stat-rgb2: 0 166 118}
    .stat--mix::after{background:linear-gradient(180deg, rgb(var(--stat-rgb) / .60), rgb(var(--stat-rgb2) / .22))}


    .select{
      padding:12px 14px;
      border-radius:var(--radius-lg);
      border:1px solid var(--border-subtle);
      background:var(--surface);
      font-weight:750;
      color:var(--text-main);
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
    }
    .select:hover{border-color:rgba(26,79,156,.35); box-shadow:var(--shadow-card)}

    .faqGrid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px}
    details.faq{
      border-radius:var(--radius-lg);
      border:1px solid var(--border-subtle);
      background:var(--surface);
      box-shadow:var(--shadow-sm);
      transition:box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
    }
    details.faq[open]{
      border-color:rgba(26,79,156,.40);
      box-shadow:var(--shadow-card);
    }
    summary.faq__q{
      list-style:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:14px 14px 14px 14px;
      cursor:pointer;
      font-weight:750;
      color:var(--text-main);
      position:relative;
    }
    summary.faq__q::-webkit-details-marker{display:none}
    summary.faq__q:before{
      content:"";
      position:absolute;
      left:0; top:0; bottom:0;
      width:4px;
      background:transparent;
      transition:background var(--t) var(--ease);
    }
    details.faq[open] summary.faq__q{
      background:rgba(26,79,156,.06);
    }
    details.faq[open] summary.faq__q:before{
      background:linear-gradient(180deg, var(--brand-blue), var(--brand-teal));
    }

    .faq__toggle{
      width:34px; height:34px;
      border-radius:999px;
      border:1px solid rgba(26,79,156,.25);
      background:rgba(26,79,156,.06);
      display:grid; place-items:center;
      flex:0 0 auto;
      position:relative;
    }
    .faq__toggle:before, .faq__toggle:after{
      content:"";
      position:absolute;
      width:14px; height:2px;
      background:var(--brand-blue);
      border-radius:999px;
      transition:transform var(--t) var(--ease), opacity var(--t) var(--ease);
    }
    .faq__toggle:after{transform:rotate(90deg)}
    details.faq[open] .faq__toggle:after{opacity:0}
    .faq__a{
      padding:12px 14px 16px;
      color:var(--text-body);
      font-weight:600;
      line-height:1.7;
    }

    /* Footer */
    .footer{
      background:var(--brand-navy);
      color:rgba(255,255,255,.90);
    }
    .footer__inner{padding:72px 0 32px}
    .footerCard{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius-xl);
      padding:20px;
      box-shadow:var(--shadow-float);
    }
    .footerCard h2{color:#fff}
    .footerLogo{
      height:34px;
      width:auto;
      display:block;
    }
    .footerTopRow{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      margin-bottom:14px;
    }
    .footerGrid{
      display:grid;
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      gap:18px;
      margin-top:24px;
    }
    .footer h3{color:#fff; margin-bottom:10px}
    .footer a{color:rgba(255,255,255,.88); text-decoration:none !important}
    .footer a:hover{color:#fff; text-decoration:none !important}
    .footerLinks{list-style:none; padding:0; margin:0; display:grid; gap:10px; font-weight:700}
    .footerBottom{
      margin-top:28px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.14);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.75);
      font-weight:600;
    }

    .toTop{
      position:fixed;
      right:16px; bottom:16px;
      width:44px; height:44px;
      border-radius:14px;
      border:1px solid var(--border-subtle);
      background:var(--surface);
      box-shadow:var(--shadow-card);
      display:grid; place-items:center;
      cursor:pointer;
      opacity:0;
      transform: translateY(10px);
      pointer-events:none;
      transition:opacity var(--t) var(--ease), transform var(--t) var(--ease);
      z-index:60;
      color:var(--brand-blue);
      font-weight:750;
    }
    .toTop.show{opacity:1; transform:translateY(0); pointer-events:auto}

    /* =========================
       7) RESPONSIVE
       ========================= */
    @media (max-width: 960px){
      .hero__grid{grid-template-columns:1fr; gap:18px}
      .sectionHead{flex-direction:column; align-items:flex-start}
      .grid-4{grid-template-columns:repeat(2, 1fr)}
      .grid-3{grid-template-columns:repeat(2, 1fr)}
      .featureRow{grid-template-columns:1fr}
      .statsStrip{grid-template-columns:repeat(2, 1fr)}
      .faqGrid{grid-template-columns:1fr}
      .footerGrid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 1100px){
      /* Tablet / narrow-desktop: switch to burger menu */
      .header__inner{
        display:grid;
        grid-template-columns: auto 1fr auto auto;
        align-items:center;
        column-gap:10px;
      }
      .brand{grid-column:1}
      .nav{grid-column:3; justify-self:end}
      .header__right{grid-column:4; justify-self:end}

      .nav__toggle{display:inline-flex; align-items:center; justify-content:center}
      .nav__menu{
        position:fixed;
        inset:78px 16px auto 16px;
        border:1px solid var(--border-subtle);
        border-radius:var(--radius-lg);
        background:var(--surface);
        box-shadow:var(--shadow-float);
        padding:12px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        max-height:calc(100vh - 94px);
        max-height:calc(100dvh - 94px);
        overflow-y:scroll;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        touch-action:pan-y;
        z-index:9999;
      }
      .nav__menu.open{display:flex}
      body.nav-open{touch-action:none}

      /* Ensure menu sits above the dimmed backdrop */
      .nav__menu{z-index:60}

      .nav__backdrop{
        display:block;
        position:fixed;
        top:var(--header-h, 76px);
        left:0; right:0; bottom:0;
        background: rgba(15,23,42,.55);  /* dim page content */
        backdrop-filter: blur(2px);
        opacity:0;
        pointer-events:none;
        transition: opacity var(--t) var(--ease);
        z-index:40;
      }
      .nav__backdrop.open{opacity:1; pointer-events:auto}

      /* Background scroll locked via JS touchmove handler; CSS is just a fallback for desktop */
      body.nav-open{overflow:hidden}
      .header__cta{display:none}
      .header__right{gap:8px; grid-column:4; justify-self:end}
      .nav__mobileCta{display:block; margin-top:4px}
      .nav{grid-column:3; justify-self:end}
    }
    @media (max-width: 720px){
      .grid-4,.grid-3{grid-template-columns:1fr}
      .footerGrid{grid-template-columns:1fr}
      .mediaCard__img{height:300px}
      .brand{min-width:0; grid-column:1}
      .brand__name{display:none}
      .brand__logo{height:32px}
    }

    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      .btn, .card, .featureItem, .step, .stat, .toTop{transition:none}
    }

    /* =========================
       MEGA MENU (HealthStream-style)
       ========================= */

    .mega{position:relative}
    .mega__btn{
      border:0;
      background:transparent;
      cursor:pointer;
      display:flex;
      align-items:center;
      gap:4px;
      padding:10px 7px;
      border-radius:12px;
      font-weight:700;
      font-size:0.9rem;
      white-space:nowrap;
      color:rgba(15,23,42,.78);
      transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
      position:relative;
    }
    .mega__btn:hover{
      background:rgba(26,79,156,.06);
      color:var(--brand-blue);
    }
    .mega__chev{width:18px;height:18px; color:currentColor; opacity:.9; transform:translateY(1px)}
    .mega.open .mega__btn{color:var(--brand-blue)}
    .mega.open .mega__btn::after{
      content:"";
      position:absolute;
      left:10px; right:10px;
      bottom:-14px;
      height:3px;
      border-radius:999px;
      background:var(--brand-blue);
    }

    .mega__panel{
      /* Full-bleed panel (left-to-right), with inner content aligned to the body container */
      position:fixed;
      left:0;
      right:0;
      top:var(--header-h, 76px);
      /* Use 100vw to escape any containing block created by backdrop-filter on .header */
      width:100vw;
      transform:none;

      background:var(--surface);
      border-top:1px solid rgba(226,232,240,.0);
      border-bottom:1px solid rgba(226,232,240,.9);
      border-left:0;
      border-right:0;
      border-radius:0 0 16px 16px;
      box-shadow:var(--shadow-float);

      display:none;
      z-index:10000;

      /* Prevent oversized menus from overflowing the viewport */
      max-height:calc(100vh - var(--header-h, 76px));
      overflow-x:hidden;
    }

    .mega__inner{
      /* Matches .medexp-container width; included for clarity and future-proofing */
      width:min(var(--max), calc(100% - (var(--pad) * 2)));
      margin-inline:auto;
    }
    .mega__panel::before{
      content:"";
      position:absolute;
      left:0; right:0;
      top:-10px;
      height:10px;
    }
    .mega.open .mega__panel{display:block}
    .mega__panel a{text-decoration:none !important;}
    .mega__panel a:hover{text-decoration:none !important;}

    .mega__layout{
      display:grid;
      grid-template-columns: 260px 1fr 320px;
      gap:0;
      align-items:stretch;
    }

    .megaLeft{
      padding:22px 18px;
      border-right:1px solid rgba(226,232,240,.85);
      background:linear-gradient(180deg, rgba(248,250,252,.9), rgba(255,255,255,.98));
    }
    .megaLeft__list{display:grid; gap:10px}
    .megaLeft__btn{
      width:100%;
      border:1px solid transparent;
      background:transparent;
      cursor:pointer;
      text-align:left;
      display:flex;
      align-items:center;
      gap:12px;
      padding:12px 12px;
      border-radius:14px;
      font-size:0.85rem;
      font-weight:750;
      color:rgba(15,23,42,.88);
      transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
    }
    .megaLeft__btn:hover{transform:translateY(-1px)}
    .megaLeft__btn[aria-selected="true"]{
      background:rgba(26,79,156,.07);
      border-color:rgba(26,79,156,.18);
    }
    .megaLeft__ico{
      width:26px;height:26px;
      color:var(--brand-blue);
      flex:0 0 auto;
    }

    .megaMid{padding:18px 20px}
    .megaMid__grid{display:grid; gap:12px}
    .megaMid__item{
      display:block;
      padding:8px 10px;
      border-radius:12px;
      transition:background var(--t-fast) var(--ease);
    }
    .megaMid__item:hover{background:rgba(15,23,42,.03)}
    .megaMid__title{
      font-size:0.88rem;
      font-weight:750;
      color:var(--text-main);
      letter-spacing:-.01em;
    }
    .megaMid__desc{
      margin-top:4px;
      font-size:0.8rem;
      color:rgba(71,85,105,.9);
      font-weight:600;
      line-height:1.45;
      max-width:70ch;
    }

    .megaMid__heading{
      font-size:0.68rem;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:0.06em;
      color:rgba(15,23,42,.4);
      padding:14px 16px 2px;
      margin-top:2px;
    }
    .megaMid__heading:first-child{padding-top:0;margin-top:0}

    .megaMid__viewAll{
      display:block;
      padding:12px 10px;
      margin-top:4px;
      font-weight:700;
      font-size:.85rem;
      color:var(--brand-teal, #179D99);
      text-decoration:none;
      border-radius:12px;
      transition:background var(--t-fast) var(--ease);
    }
    .megaMid__viewAll:hover{background:rgba(23,157,153,.06);color:var(--brand-tealDeep, #117673)}

    .megaCta{
      padding:22px 22px;
      background:linear-gradient(180deg, rgba(15,23,42,.02), rgba(15,23,42,.0));
    }
    .megaCta__card{
      border-radius:14px;
      background:linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.96));
      box-shadow:0 18px 50px rgba(15,23,42,.22);
      border:1px solid rgba(15,23,42,.20);
    }
    .megaCta__img{
      height:210px;
      background-size:cover;
      background-position:center;
    }
    .megaCta__body{padding:18px 18px 20px; color:#fff}
    .megaCta__kicker{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:750;
      letter-spacing:.22em;
      text-transform:uppercase;
      font-size:.78rem;
      opacity:.92;
    }
    .megaCta__kicker svg{width:18px;height:18px}
    .megaCta__title{
      margin-top:14px;
      font-weight:750;
      font-size:1.35rem;
      letter-spacing:-.02em;
      line-height:1.25;
    }
    .megaCta__link{
      display:inline-flex;
      margin-top:14px;
      font-weight:750;
      color:#fff;
      text-decoration:none;
      border-bottom:2px solid rgba(255,255,255,.55);
      padding-bottom:3px;
    }
    .megaCta__link:hover{border-color:#fff}

    @media (max-width: 1100px){
      /* Mega menu inside burger: same layout as mobile */
      .mega__btn{width:100%; justify-content:space-between}
      .mega.open .mega__btn::after{display:none}

      .mega__panel{
        position:static;
        left:auto;
        right:auto;
        top:auto;
        transform:none;
        width:100%;
        max-height:none;
        box-shadow:none;
        border-radius:16px;
        margin-top:8px;
      }
      .mega__panel::before{display:none}
      .mega__layout{grid-template-columns:1fr}
      .megaCta{display:none !important;}
      .megaLeft{border-right:0; border-bottom:1px solid rgba(226,232,240,.85); padding:6px 6px}
      .megaLeft__list{grid-template-columns:1fr 1fr 1fr; gap:3px}
      .megaLeft__btn{padding:4px 5px; gap:3px; font-size:.62rem; border-radius:6px; font-weight:600}
      .megaLeft__ico{width:12px; height:12px}
      .megaMid{padding:10px 12px}
      .megaMid__grid{gap:4px}
      .megaMid__item{padding:8px 10px; border-radius:10px}
      .megaMid__title{font-size:.9rem}
      .megaMid__desc{font-size:.78rem; line-height:1.3}
      .megaCta__img{height:170px}
    }

    /* =========================
       PRICING RIBBON (modules)
       ========================= */
    .card--priced{position:relative}
    .priceRibbon{
      position:absolute;
      top:14px; right:14px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(15,23,42,.04);
      border:1px solid rgba(226,232,240,.95);
      color:rgba(15,23,42,.78);
      font-weight:750;
      font-size:.82rem;
      box-shadow:var(--shadow-sm);
      pointer-events:none;
    }
    .priceRibbon svg{width:16px;height:16px; color:rgba(26,79,156,.95)}

    /* =========================
       LIGHTWEIGHT MODAL
       ========================= */
    .modal{
      position:fixed;
      inset:0;
      display:none;
      z-index:120;
    }
    .modal.show{display:block}
    .modal__backdrop{
      position:absolute; inset:0;
      background:rgba(15,23,42,.55);
      backdrop-filter: blur(6px);
    }
    .modal__dialog{
      position:relative;
      width:min(620px, calc(100% - 32px));
      margin:8vh auto 0;
      background:var(--surface);
      border:1px solid rgba(226,232,240,.9);
      border-radius:18px;
      box-shadow:var(--shadow-float);
    }
    .modal__head{
      padding:18px 18px 14px;
      border-bottom:1px solid rgba(226,232,240,.85);
      background:linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,1));
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .modal__title{
      margin:0;
      font-weight:750;
      color:var(--text-main);
      letter-spacing:-.02em;
    }
    .modal__sub{
      margin-top:6px;
      color:var(--text-body);
      font-weight:600;
    }
    .modal__close{
      width:40px;height:40px;
      border-radius:12px;
      border:1px solid rgba(226,232,240,.9);
      background:var(--surface);
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      display:grid; place-items:center;
    }
    .modal__close svg{width:18px;height:18px; color:rgba(15,23,42,.78)}
    .modal__body{padding:18px}
    .formGrid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    @media (max-width: 720px){ .formGrid{grid-template-columns:1fr} }

    .field label{
      display:block;
      font-weight:750;
      color:rgba(15,23,42,.78);
      margin-bottom:6px;
    }
    .field input, .field select, .field textarea{
      width:100%;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid rgba(226,232,240,.95);
      background:var(--surface);
      font-weight:600;
      color:var(--text-main);
      box-shadow:var(--shadow-sm);
      transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
    }
    .field input:focus, .field select:focus, .field textarea:focus{
      outline:none;
      border-color:rgba(26,79,156,.45);
      box-shadow:var(--shadow-card);
    }
    .modal__actions{
      display:flex;
      gap:10px;
      justify-content:flex-end;
      flex-wrap:wrap;
      margin-top:14px;
    }
  

    /* ==========================
       Testimonials (Swipe + video center)
       ========================== */
    /* Testimonials heading layout polish */
    #testimonials .eyebrow{
      --eyebrow-ico-h: clamp(38px, 3.2em, 56px);
      font-size:.92rem;
      font-weight:750;
      letter-spacing:.16em;
      color:rgba(15,23,42,.56);
      gap:.18em;            /* even closer */
      margin:0 0 6px;
    }
    #testimonials .eyebrow::before{
      /* nudge is now unnecessary with flex-end; keep at 0 for crisp alignment */
      transform:none;
    }
    #testimonials .sectionHead h2{
      margin:0;
      line-height:1.05;
    }

    .testimonialsHead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:22px;
    }
    .testimonialsHead h2{
      margin:0;
      font-size: clamp(1.35rem, 2.1vw, 1.9rem);
      letter-spacing:-.02em;
      font-weight:750;
      color:var(--text-main);
    }
    .testimonialsHead p{
      margin:8px 0 0;
      color:var(--text-body);
      font-weight:520;
      max-width:60ch;
    }
    .testimonialsHead .reviewsLink{
      white-space:nowrap;
      font-weight:650;
      color:var(--brand-blue);
      text-decoration:none;
      border-bottom:1px solid rgba(26,79,156,.25);
      padding-bottom:2px;
      transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
    }
    .testimonialsHead .reviewsLink:hover{
      color:var(--brand-navy);
      border-color: rgba(15,23,42,.35);
    }

    .tSlider{
      position:relative;
    }
    .tViewport{
      border-radius: var(--radius-xl);
      background: var(--bg-off-white);
      border:1px solid rgba(226,232,240,.9);
      box-shadow: 0 18px 40px rgba(15,23,42,.08);
    }
    .tTrack{
      display:flex;
      will-change: transform;
      transition: transform 520ms var(--ease);
      touch-action: pan-y;
    }
    .tTrack.no-anim{ transition:none !important; }
    .tFrame{
      flex: 0 0 100%;
      padding: 26px;
      box-sizing: border-box;
    }

    .tGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      align-items: start;
    }

    .tNav{
      position:absolute;
      top:50%;
      transform: translateY(-50%);
      width:42px;
      height:42px;
      border-radius:999px;
      border:1px solid rgba(203,213,225,.95);
      background:rgba(255,255,255,.92);
      box-shadow: 0 12px 22px rgba(15,23,42,.10);
      display:grid;
      place-items:center;
      cursor:pointer;
      transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease);
      z-index:3;
    }
    .tNav:hover{ transform: translateY(-50%) scale(1.03); background:#fff; box-shadow: 0 16px 28px rgba(15,23,42,.14); }
    .tNav:active{ transform: translateY(-50%) scale(.98); }
    .tNav--prev{ left:-16px; }
    .tNav--next{ right:-16px; }

    .tCard{
      background: var(--surface);
      border:1px solid rgba(226,232,240,.95);
      border-radius: 18px;
      padding: 18px 18px 16px;
      box-shadow: 0 10px 22px rgba(15,23,42,.06);
      min-height: 240px;
      display:flex;
      flex-direction:column;
      gap: 12px;
    }
    .tCardTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
    }
    .tPerson{
      display:flex;
      align-items:center;
      gap: 12px;
      min-width: 0;
    }
    .tAvatar{
      width:44px;
      height:44px;
      border-radius:999px;
      border:1px solid rgba(203,213,225,.85);
      background: linear-gradient(180deg, rgba(26,79,156,.16), rgba(0,166,118,.10));
      display:grid;
      place-items:center;
      color: rgba(15,23,42,.72);
      font-weight:750;
      flex:0 0 auto;
    }
    .tName{
      font-weight:720;
      color: var(--text-main);
      text-overflow: ellipsis;
      white-space: nowrap;
      letter-spacing:-.01em;
    }
    .tHandle{
      font-weight:600;
      color: var(--text-muted);
      font-size: .92rem;
      margin-top:2px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .tPlatform{
      width:28px;
      height:28px;
      border-radius: 10px;
      border:1px solid rgba(226,232,240,.95);
      background: var(--bg-off-white);
      display:grid;
      place-items:center;
      flex:0 0 auto;
    }

    .tStars{
      display:flex;
      gap:4px;
      align-items:center;
    }
    .tQuote{
      color: var(--brand-blue) !important;
      font-weight:560;
      line-height: 1.55;
      font-size: 1.02rem;
      letter-spacing:-.01em;
      margin: 0;
      display:-webkit-box;
      -webkit-line-clamp: 6;
      -webkit-box-orient: vertical;
    }
    .tMetaRow{
      margin-top:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      color: var(--text-muted);
      font-weight:600;
      font-size:.92rem;
    }

    .tVideoCard{
      border-radius: 22px;
      border:1px solid rgba(15,23,42,.10);
      box-shadow: 0 18px 34px rgba(15,23,42,.18);
      background: #0b1220;
      position:relative;
      isolation:isolate;
    }
    .tVideoWrap{
      position:relative;
      width:100%;
      aspect-ratio: 9 / 16;
      background: radial-gradient(1200px 600px at 30% 10%, rgba(26,79,156,.35), transparent 55%),
                  radial-gradient(900px 500px at 80% 90%, rgba(0,166,118,.25), transparent 60%),
                  linear-gradient(180deg, rgba(15,23,42,1), rgba(15,23,42,.75));
    }
    .tVideoWrap video{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
      background:#0b1220;
    }
    .tPlay{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      border:0;
      background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.22));
      cursor:pointer;
      transition: background var(--t) var(--ease), opacity var(--t) var(--ease);
    }
    .tPlayIcon{
      width:62px;
      height:62px;
      border-radius:999px;
      background: rgba(255,255,255,.92);
      box-shadow: 0 16px 30px rgba(0,0,0,.25);
      display:grid;
      place-items:center;
    }
    .tVideoCard.is-playing .tPlay{
      opacity:0;
      pointer-events:none;
    }

    .tVideoOverlay{
      position:absolute;
      left:0; right:0; bottom:0;
      padding: 14px 16px 16px;
      /* Stronger legibility layer for dark footage */
      background: linear-gradient(180deg, rgba(11,18,32,0) 0%, rgba(11,18,32,.55) 35%, rgba(11,18,32,.94) 70%, rgba(11,18,32,.985) 100%);
      backdrop-filter: blur(2px);
      color: #fff;
      z-index:2;
    }
    .tTag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:750;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-size:.78rem;
      opacity:.92;
      margin-bottom:8px;
    }
    .tVideoTitle{
      margin:0;
      font-size: 1.15rem;
      letter-spacing:-.02em;
      font-weight:780;
      line-height:1.25;
    }
    .tVideoFooter{
      margin-top:10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      opacity:.96;
      font-weight:650;
    }

    /* Improve readability when the media is dark */
    .tVideoOverlay .tTag,
    .tVideoOverlay .tVideoTitle,
    .tVideoOverlay .tVideoFooter{
      text-shadow: 0 2px 14px rgba(0,0,0,.70);
    }
    .tVideoOverlay .tVideoTitle{ color:#fff; }
    .tVideoOverlay .tVideoFooter{ color:#fff; }

    .tWatchLink{
      color:#fff;
      text-decoration:none;
      border-bottom: 1px solid rgba(255,255,255,.35);
      padding-bottom:2px;
      font-weight:750;
    }
    .tWatchLink:hover{ border-bottom-color: rgba(255,255,255,.65); }

    .tBottomRow{
      display:flex;
      justify-content:flex-end;
      margin-top: 14px;
    }

    /* Responsive: keep swipe, stack content */
    @media (max-width: 980px){
      .tFrame{ padding:18px; }
      .tGrid{ grid-template-columns: 1fr; }
      .tNav--prev{ left:10px; }
      .tNav--next{ right:10px; }
      .tCard{ min-height:auto; }
      .tVideoWrap{ max-height: 520px; }
    }
    @media (max-width: 560px){
      .testimonialsHead{ align-items:flex-start; flex-direction:column; }
      .tNav{ display:none; } /* swipe-only on small screens */
      .tViewport{ border-radius: 18px; }
      .tQuote{ font-size:1rem; }
    }

/* ───────────────────────────────────────────────────────────────────────────
   NAV + MEGA MENU POLISH (typography, spacing, hover states, and link treatment)
   Scoped to header + mega menu so it won’t ripple across the rest of the page.
─────────────────────────────────────────────────────────────────────────── */

/* Hide theme header on course pages for logged-in users (course appbar takes over) */
body.logged-in.medexp-page .header,
body.logged-in.medexp-course-landing .header{display:none !important;}

/* Header bar: slightly cleaner spacing + crisper glass edge */
.header{
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(226,232,240,.92);
  backdrop-filter: blur(12px) saturate(1.06);
}
.header__inner{
  padding: 16px 0;
  gap: 18px;
}

/* Primary nav items: unify weights between <a> and mega <button> */
.nav__menu{
  gap: 16px;
}
.nav__menu a,
.mega__btn{
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1;
  padding: 10px 12px;
  border-radius: var(--radius-pill) !important;
  color: rgba(15,23,42,.78);
  transition:
    background var(--t-fast) var(--ease),
    color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease);
}

/* Hover: “pill” highlight + subtle inner stroke (feels like modern SaaS nav) */
.nav__menu a:hover,
.mega__btn:hover{
  background: rgba(26,79,156,.06);
  color: var(--brand-blue) !important;
  box-shadow: inset 0 0 0 1px rgba(26,79,156,.14);
  transform: translateY(-1px);
}

/* Focus: consistent accessibility ring */
.nav__menu a:focus-visible,
.mega__btn:focus-visible{
  outline: var(--focus-outline);
  outline-offset: 3px;
}

/* Chevron: less visually heavy; rotate on open */
.mega__chev{
  width: 18px;
  height: 18px;
  opacity: .72;
  transition: transform var(--t) var(--ease), opacity var(--t) var(--ease);
}
.mega.open .mega__chev{
  opacity: .92;
  transform: translateY(1px) rotate(180deg);
}

/* Active underline: thinner + closer to the item */
.mega.open .mega__btn::after{
  left: 14px;
  right: 14px;
  bottom: -12px;
  height: 2px;
  opacity: .95;
}

/* Mega panel: calmer shadow, slightly rounder bottom corners, and “sheet” feel */
.mega__panel{
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(226,232,240,.94);
  box-shadow: 0 26px 70px rgba(15,23,42,.12);
  border-radius: 0 0 22px 22px;
}

/* Mega layout: improve breathing room (matches your screenshot structure) */
.mega__layout{
  grid-template-columns: 300px 1fr 460px;
}

/* Left column tabs */
.megaLeft{
  padding: 20px 16px;
  background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.98));
}
.megaLeft__list{ gap: 10px; }

.megaLeft__btn{
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 650;
  font-size: .82rem;
  color: rgba(15,23,42,.84);
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(226,232,240,.84);
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
  position: relative;
  transition:
    background var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease);
}
.megaLeft__btn:hover{
  background: rgba(26,79,156,.06);
  border-color: rgba(26,79,156,.18);
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  transform: translateY(-1px);
}
.megaLeft__btn[aria-selected="true"]{
  background: rgba(26,79,156,.08);
  border-color: rgba(26,79,156,.24);
  box-shadow: 0 10px 26px rgba(26,79,156,.10);
}
.megaLeft__btn[aria-selected="true"]::before{
  content:"";
  position:absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: var(--brand-blue);
  opacity: .95;
}
.megaLeft__ico{
  width: 24px;
  height: 24px;
  opacity: .95;
}

/* Mid column links: clearer hierarchy + more premium hover */
.megaMid{
  padding: 20px 20px;
}
.megaMid__grid{
  gap: 14px;
}
.megaMid__item{
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(226,232,240,.82);
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
  transition:
    background var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease);
}
.megaMid__item:hover{
  background: rgba(26,79,156,.05);
  border-color: rgba(26,79,156,.16);
  box-shadow: 0 14px 34px rgba(15,23,42,.10);
  transform: translateY(-1px);
}
.megaMid__title{
  font-size: 0.85rem;
  font-weight: 720;
  letter-spacing: -0.015em;
}
.megaMid__desc{
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(71,85,105,.86);
}

/* Right CTA card: slightly softer + “button” link instead of underline */
.megaCta{
  padding: 20px 20px;
  background: linear-gradient(180deg, rgba(15,23,42,.02), rgba(15,23,42,0));
}
.megaCta__card{
  border-radius: 20px;
  box-shadow: 0 28px 80px rgba(15,23,42,.18);
}
.megaCta__img{
  height: 220px;
}
.megaCta__body{
  padding: 18px 18px 22px;
}
.megaCta__kicker{
  font-weight: 700;
  letter-spacing: .18em;
  opacity: .90;
}
.megaCta__title{
  font-weight: 780;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
}
.megaCta__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.30);
  background: rgba(255,255,255,.08);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  border-bottom: none;
  transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.megaCta__link:hover{
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.50);
  color: #fff !important;
  transform: translateY(-1px);
}

/* Burger menu: single-column mega layout (matches mobile) */
@media (max-width: 1100px){
  .nav__menu a,
  .mega__btn{ padding: 12px 12px; }
  .mega__layout{ grid-template-columns: 1fr !important; }

  /* Category tab buttons — compact for mobile */
  .megaLeft{ padding: 8px 8px !important; }
  .megaLeft__list{ grid-template-columns: 1fr 1fr 1fr !important; gap: 5px !important; }
  .megaLeft__btn{ padding: 6px 8px !important; gap: 5px !important; font-size: .72rem !important; border-radius: 8px !important; font-weight: 600 !important; box-shadow: none !important; }
  .megaLeft__ico{ width: 15px !important; height: 15px !important; }

  /* Exam links — compact for mobile */
  .megaMid{ padding: 8px 6px !important; }
  .megaMid__grid{ gap: 2px !important; }
  .megaMid__item{ padding: 6px 8px !important; border-radius: 8px; }
  .megaMid__title{ font-size: .82rem !important; }
  .megaMid__desc{ font-size: .72rem !important; }
}


/* ───────────────────────────────────────────────────────────────────────────
   Eyebrow mark: replace gradient dash with MedExPrep logo checkmark (navy+teal)
   Applies wherever .eyebrow is used.
─────────────────────────────────────────────────────────────────────────── */
.eyebrow{ gap: 9px; }
.eyebrow:before{
  width: 88px;
  height: 56px;
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.0%22%20viewBox%3D%220%200%20422%20333%22%3E%3Cpath%20fill%3D%22teal%22%20fill-opacity%3D%22.9%22%20stroke%3D%22teal%22%20stroke-opacity%3D%22.9%22%20stroke-width%3D%222.5%22%20d%3D%22M252.5%20141.2C156.7%20221.1%20149%20227.6%20149%20229.1c0%202%209.4%2013.3%209.9%2011.8.6-2%204.2-4.4%206.6-4.4%201.5%200%201.9-.6%201.7-2.3-.2-1.3.2-2.9.8-3.7.9-1.1.8-1.9-.4-3.7-1.8-2.6-2-3.8-.6-3.8%201%200%204.4%205.7%204.5%207.5%200%20.5.4%201.6.9%202.3.5.8-.1%201.9-1.6%203.2-1.9%201.5-2.1%202.1-1%203.2s1.6%201%202.6-.5c.7-.9%201.5-1.7%201.7-1.7.9%200-.3%208-1.3%208.6-1.7%201.1%202.1%204.2%204.4%203.6%201.2-.3%201.9-.1%201.5.5-.4.5.6.8%202.4.5%203.4-.5%203.6.1.9%203.5-1.4%201.8-2%202.1-2%201%200-1-.6-1.3-2-1-1.1.3-2%201.4-2%202.4%200%201.1-.4%201.9-1%201.9h-1.7c-.5%200-.8-.4-.8-.9s-1.4-2.3-3.2-3.9c-1.7-1.7-2.9-3.3-2.6-3.5.2-.3-.2-2.6-1-5.3l-1.4-4.7-2.2%202.2c-2.1%202.1-2%204.8.1%203.5.7-.4.8-.2.4.4-.9%201.4%209%2014.3%2014.5%2019.1l4%203.3%202.2-2.8c1.2-1.6%205.4-6.7%209.2-11.4%203.9-4.7%2010-12.3%2013.5-16.9%203.6-4.6%207.9-10%209.6-12s18.8-23.4%2037.9-47.6c19.2-24.2%2046.1-58.1%2059.8-75.3C327%2084.9%20338%2070.7%20337.8%2070.5c-.2-.1-38.5%2031.7-85.3%2070.7z%22%2F%3E%3Cpath%20fill%3D%22teal%22%20stroke%3D%22teal%22%20stroke-width%3D%222.5%22%20d%3D%22M166%20223.8c0%20.4.7%201.8%201.6%203%201.2%201.8%201.3%202.6.4%203.7-.6.8-1%202.4-.8%203.7.2%201.7-.2%202.3-1.7%202.3-3.1%200-6.5%202.7-6.5%205.2%200%202.8.4%202.9%203.2.1l2.1-2.1%201.4%204.7c.8%202.7%201.2%205%201%205.3-.3.2.9%201.8%202.6%203.5%201.8%201.6%203.2%203.4%203.2%203.9s.3.9.8.9h1.7c.6%200%201-.8%201-1.9%200-1%20.9-2.1%202-2.4%201.4-.3%202%200%202%201%200%201.1.6.8%202-1%202.7-3.4%202.5-4-.9-3.5-1.8.3-2.8%200-2.4-.5.4-.6-.3-.8-1.5-.5-2.3.6-6.1-2.5-4.4-3.6%201-.6%202.2-8.6%201.3-8.6-.2%200-1%20.8-1.7%201.7-1%201.5-1.5%201.6-2.6.5s-.9-1.7%201-3.2c1.5-1.3%202.1-2.4%201.6-3.2-.5-.7-.9-1.8-.9-2.3-.1-3.2-5.5-9.7-5.5-6.7z%22%2F%3E%3Cpath%20fill%3D%22%23000040%22%20stroke%3D%22%23000040%22%20stroke-width%3D%222.5%22%20d%3D%22M76%20190.4c0%20.3.6%201.1%201.3%201.8s14.2%2018.5%2030%2039.5L136%20270l20.3-.1c11.1%200%2019.6-.3%2019-.6-.7-.2-1.3-1.2-1.3-2%200-1.7-6.4-11-18.5-26.9-13.6-17.8-14.3-18.8-17.7-24.7-1.8-3.1-6.1-10.2-9.6-15.7l-6.3-10h-23c-12.6%200-22.9.2-22.9.4z%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat;
  border-radius: 0;
  transform: translateY(6px) translateX(30px);
}



/* === Mega menu fixes === */

/* 1) CTA button: increase contrast + prevent global a:hover opacity dimming it */
.megaCta__link{
  color:#fff;                 /* explicit (don’t rely on inherit) */
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.40);
  text-shadow: 0 1px 1px rgba(0,0,0,.28);
}
.megaCta__link:hover{
  opacity: 1;                 /* overrides global a:hover opacity */
  background: rgba(255,255,255,.26);
  border-color: rgba(255,255,255,.55);
}

/* 2) Right column links: reduce pill roundness */
.megaMid__item{
  border-radius: 12px;        /* was 16px */
}

/* 3) Left selection bar: flush to edge + keep left corners round */
.megaLeft__btn{
  overflow: hidden;           /* clips the bar to the button radius */
}
.megaLeft__btn[aria-selected="true"]::before{
  left: -1px;                 /* pushes under the 1px border so it’s flush */
  top: -1px;
  bottom: -1px;
  width: 6px;                 /* slightly thicker, reads like the reference */
  border-radius: 0;           /* rely on overflow clipping for perfect corners */
}



/* === Rounding tweak (right column pills) === */
.megaMid__item{
  border-radius: 10px !important;
}
/* If any inner elements carry their own rounding, tighten those too */
.megaMid__item,
.megaMid__item *{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}



/* === CTA contrast fix (mega menu card button) === */
.megaCta__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  color:#fff !important;
  text-decoration:none !important;
  text-shadow:0 1px 1px rgba(0,0,0,.30);
  opacity:1 !important;
  mix-blend-mode:normal;
}
.megaCta__link:hover{
  opacity:1 !important;
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.50);
  color:#fff !important;
}



/* === FAQ grid: prevent closed cards stretching to match open neighbor === */
.faqGrid{
  align-items: start;          /* stops row-based height stretching */
}
details.faq{
  align-self: start;           /* extra safety */
}



/* === Course cover: prevent bottom content clipping (increase thumb height) === */
#programs .thumb{
  height: 340px;
}
@media (max-width: 860px){
  #programs .thumb{ height: 310px; }
}
@media (max-width: 520px){
  #programs .thumb{ height: 280px; }
}



/* === Course cover clipping: remove fixed inner height so bullets never get cut === */
#programs .thumb{
  height:auto !important;           /* let the cover define its own height */
}
#programs .thumb .courseCover{
  height:auto !important;
  min-height: 340px;               /* keeps the nice tall cover feel on desktop */
}
.courseCover__body{
  height:auto !important;          /* was: calc(100% - 78px) */
  min-height: calc(100% - 78px);   /* keeps divider + bullets pushed down when space allows */
}



/* === Experience section: align screenshot card bottom with Step 4 card bottom === */
.experienceGrid{
  align-items: stretch;           /* stretch both columns to same row height */
}
.expMediaCard{
  align-self: stretch;            /* override align-self:start */
}
.expShots{
  height: 100% !important;        /* override fixed 360px */
  min-height: 360px;              /* keep a nice minimum */
}



/* === Hero: reduce top gap (sticky header already provides separation) === */
.hero__content{
  padding-top: 44px !important;   /* was 76px */
}
@media (max-width: 860px){
  .hero__content{ padding-top: 32px !important; }
}



/* EXPERIENCE — bottom-align right screenshot box with left 4-step stack */
#experience .experienceGrid{
  align-items: stretch; /* both columns become same height */
}

#experience .experienceGrid .expMediaCard{
  align-self: stretch;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Override the fixed 360px height so the visual can stretch */
#experience .experienceGrid .mediaCard__img.expShots{
  height: 100%;
  min-height: 360px;   /* keeps a nice minimum on desktop */
  flex: 1 1 auto;
}



/* =========================
   Layout note
   The theme previously forced #page.site to min-height:100vh with flex layout to create a "sticky footer".
   On WooCommerce templates this can introduce a large blank band under the header.
   Keep default document flow to avoid vertical spacing bugs.
   ========================= */
body{min-height:100vh;}
/* =========================
   WooCommerce compatibility

   WooCommerce (and some WC themes/plugins) apply global image resets on WC pages
   like `.woocommerce-page img { height:auto; }` which can override our logo sizing.
   Our logo PNGs are large assets, so losing the fixed height makes them render huge
   on cart/checkout/product pages.

   Fix: restate logo sizing with higher specificity so it consistently wins.
   ========================= */

.header img.brand__logo{ height:34px; width:auto; object-fit:contain; }
.footer img.footerLogo{ height:34px; width:auto; object-fit:contain; }

@media (max-width: 860px){
  .header img.brand__logo{ height:32px; }
}

/* =========================
   WooCommerce: Premium Cart UI
   Scope: Cart page only
   ========================= */
body.woocommerce-cart main#main{
  padding:44px 0 !important;
  background: linear-gradient(180deg, var(--bg-off-white), #ffffff 60%);
}

/* Wrap the cart block (WooCommerce Blocks) in a "card" */
body.woocommerce-cart .wp-block-woocommerce-cart{
  background: var(--surface);
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding:28px;
  overflow:hidden;
}

/* Classic cart shortcode fallback */
body.woocommerce-cart .woocommerce{
  background: var(--surface);
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding:24px;
}

/* Typography */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .woocommerce{
  color: var(--text-body);
  font-family: inherit;
}
body.woocommerce-cart .wp-block-woocommerce-cart h1,
body.woocommerce-cart .wp-block-woocommerce-cart h2,
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2{
  color: var(--brand-navy);
}

/* Cart table / rows */
body.woocommerce-cart table.shop_table{
  border-collapse: separate;
  border-spacing: 0;
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow:hidden;
  background: var(--surface);
}
body.woocommerce-cart table.shop_table thead th{
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--text-muted);
  background: var(--bg-off-white);
  border-bottom:1px solid var(--border-subtle);
  padding:14px 16px;
}
body.woocommerce-cart table.shop_table td{
  padding:16px;
  border-bottom:1px solid var(--border-subtle);
  vertical-align: middle;
}
body.woocommerce-cart table.shop_table tr:last-child td{
  border-bottom:0;
}
body.woocommerce-cart td.product-thumbnail img{
  width:88px;
  height:auto;
  border-radius: 12px;
  border:1px solid var(--border-subtle);
  background:#fff;
  object-fit:contain;
}

/* Blocks: cart header and rows */
body.woocommerce-cart .wc-block-cart-items__header{
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--text-muted);
  border-bottom:1px solid var(--border-subtle);
  padding-bottom:12px;
  margin-bottom:12px;
}
body.woocommerce-cart .wc-block-cart-items__row{
  padding:16px 0;
  border-bottom:1px solid var(--border-subtle);
}
body.woocommerce-cart .wc-block-cart-items__row:last-child{ border-bottom:0; }

body.woocommerce-cart .wc-block-cart-item__image img{
  border-radius: 12px;
  border:1px solid var(--border-subtle);
  background:#fff;
}

/* Blocks: cart item cover size */
body.woocommerce-cart .wc-block-cart-item__image{
  width:88px !important;
  flex:0 0 88px !important;
}
body.woocommerce-cart .wc-block-cart-item__image a,
body.woocommerce-cart .wc-block-cart-item__image img{
  display:block;
}
body.woocommerce-cart .wc-block-cart-item__image img{
  width:88px !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain;
}
@media (max-width: 640px){
  body.woocommerce-cart .wc-block-cart-item__image{
    width:76px !important;
    flex:0 0 76px !important;
  }
  body.woocommerce-cart .wc-block-cart-item__image img{ width:76px !important; }
}
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a{
  color: var(--brand-navy);
  font-weight: 700;
  font-size: clamp(18px, 0.7vw + 14px, 22px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-decoration:none;
}
body.woocommerce-cart .wc-block-components-product-name a:hover{
  color: var(--brand-blue) !important;
}

/* Totals "card" */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .wc-block-components-totals-wrapper{
  background: var(--bg-off-white);
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding:18px;
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2,
body.woocommerce-cart .wc-block-components-totals-wrapper h2,
body.woocommerce-cart .wc-block-components-totals-wrapper h3{
  margin-top:0;
  color: var(--brand-navy);
}

/* Inputs */
body.woocommerce-cart input[type="text"],
body.woocommerce-cart input[type="email"],
body.woocommerce-cart input[type="tel"],
body.woocommerce-cart input[type="number"],
body.woocommerce-cart select{
  border:1px solid var(--border-strong);
  border-radius: 14px;
  padding:12px 12px;
  outline:none;
  background:#fff;
}
body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus{
  box-shadow: 0 0 0 4px rgba(26,79,156,.12);
  border-color: rgba(26,79,156,.35);
}

/* Buttons (Blocks + Classic) */
body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-cart .woocommerce #respond input#submit,
body.woocommerce-cart .woocommerce a.checkout-button,
body.woocommerce-cart .woocommerce button[name="update_cart"]{
  border-radius: var(--radius-pill) !important;
  padding:12px 16px;
  font-weight: 800;
  letter-spacing:.01em;
  border:1px solid transparent;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), filter var(--t) var(--ease);
}

/* Primary actions */
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link),
body.woocommerce-cart .woocommerce a.checkout-button,
body.woocommerce-cart .woocommerce button[name="update_cart"]{
  background: var(--brand-teal);
  color:#fff;
  box-shadow: 0 18px 40px rgba(0,166,118,.22);
}
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .woocommerce a.checkout-button:hover,
body.woocommerce-cart .woocommerce button[name="update_cart"]:hover{
  transform: translateY(-2px);
  filter: brightness(.98);
  box-shadow: 0 24px 52px rgba(0,166,118,.28);
}
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):active,
body.woocommerce-cart .woocommerce a.checkout-button:active,
body.woocommerce-cart .woocommerce button[name="update_cart"]:active{
  transform: translateY(0);
}

/* Secondary/outlined */
body.woocommerce-cart .wc-block-components-button.is-secondary:not(.is-link),
body.woocommerce-cart .wc-block-components-button.outlined:not(.is-link),
body.woocommerce-cart .woocommerce a.button:not(.checkout-button){
  background: #fff;
  color: var(--brand-navy);
  border-color: var(--border-strong);
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-cart .wc-block-components-button.is-secondary:not(.is-link):hover,
body.woocommerce-cart .wc-block-components-button.outlined:not(.is-link):hover,
body.woocommerce-cart .woocommerce a.button:not(.checkout-button):hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-card);
}

/* Notices */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error{
  border-radius: var(--radius-lg);
  border:1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm) !important;
}

/* Empty cart (Blocks): remove childish icon and replace with brand-consistent mark */
body.woocommerce-cart .wc-block-cart__empty-cart__icon{ display:none !important; }
body.woocommerce-cart .wc-block-cart__empty-cart{
  text-align:center;
  padding:22px 0 10px;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  margin: 10px 0 6px;
  color: var(--brand-navy);
  font-weight: 900;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

/* Empty cart: conversion-first panel */
body.medexp-cart-empty .wc-block-cart__empty-cart{
  padding-top: 0;
}
body.medexp-cart-empty .wc-block-cart__empty-cart__title{
  display:none !important;
}

body.medexp-cart-empty .medexp-empty-cart-panel{
  max-width: 980px;
  margin: 6px auto 22px;
  padding: 22px;
  border-radius: var(--radius-xl);
  border:1px solid var(--border-subtle);
  background:
    radial-gradient(circle at 18% 18%, rgba(0,166,118,.16), rgba(0,166,118,0) 46%),
    radial-gradient(circle at 82% 28%, rgba(26,79,156,.14), rgba(26,79,156,0) 52%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.92));
  box-shadow: var(--shadow-card);
  display:flex;
  gap:18px;
  align-items:flex-start;
}
body.medexp-cart-empty .medexp-empty-cart-panel__icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  border-radius: 18px;
  border:1px solid rgba(0,166,118,.28);
  background:
    radial-gradient(circle at 30% 25%, rgba(0,166,118,.20), rgba(0,166,118,0) 62%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
  color:var(--brand-teal);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: var(--shadow-sm) !important;
}
body.medexp-cart-empty .medexp-empty-cart-panel__icon svg{
  width:28px;
  height:28px;
}
body.medexp-cart-empty .medexp-empty-cart-panel__content{
  flex:1;
  min-width: 0;
}
body.medexp-cart-empty .medexp-empty-cart-panel__eyebrow{
  margin: 0 0 6px;
  color: var(--text-muted);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .85rem;
}
body.medexp-cart-empty .medexp-empty-cart-panel__title{
  margin: 0 0 8px;
  color: var(--brand-navy);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.08;
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
}
body.medexp-cart-empty .medexp-empty-cart-panel__copy{
  margin: 0 0 14px;
  color: var(--text-body);
  font-size: 1.02rem;
  max-width: 60ch;
}
body.medexp-cart-empty .medexp-empty-cart-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin: 0 0 14px;
}
body.medexp-cart-empty .medexp-empty-cart-panel__actions .btn{
  min-height: 44px;
}
body.medexp-cart-empty .medexp-empty-cart-panel__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  color: var(--text-muted);
  font-weight: 600;
  font-size: .95rem;
}
body.medexp-cart-empty .medexp-empty-cart-panel__meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.66);
}
body.medexp-cart-empty .medexp-empty-cart-panel__help{
  margin-left: auto;
  color: var(--brand-blue) !important;
  font-weight: 800;
  text-decoration:none;
}
body.medexp-cart-empty .medexp-empty-cart-panel__help:hover{
  text-decoration:underline;
}

@media (max-width: 720px){
  body.medexp-cart-empty .medexp-empty-cart-panel{
    flex-direction: column;
    align-items: stretch;
  }
  body.medexp-cart-empty .medexp-empty-cart-panel__help{
    margin-left: 0;
  }
}

/* Empty cart: hide Woo "New in store" recommendations block (usually not course-prep relevant) */
body.medexp-cart-empty .wp-block-woocommerce-product-new,
body.medexp-cart-empty .wp-block-product-new{
  display:none !important;
}
body.medexp-cart-empty .wc-block-grid__title{
  display:none !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title::before{
  content:"";
  width:64px;
  height:64px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--brand-teal), var(--brand-blue));
  box-shadow: 0 18px 40px rgba(15,23,42,.22);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 7h14l-1.2 8.2a2 2 0 0 1-2 1.8H9a2 2 0 0 1-2-1.7L5.3 3.8H3' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 21a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm8 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z' fill='white'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:34px 34px;
}
body.woocommerce-cart .wc-block-cart__empty-cart p,
body.woocommerce-cart .wc-block-cart__empty-cart .wc-block-cart__empty-cart__text{
  color: var(--text-body);
  max-width: 62ch;
  margin-left:auto;
  margin-right:auto;
}

/* Empty-cart recommendations ("New in store") */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid{
  margin-top: 26px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__title,
body.woocommerce-cart .wp-block-woocommerce-cart h2.wp-block-heading{
  color: var(--brand-navy);
  font-weight: 900;
  letter-spacing:-.02em;
  margin: 16px 0 18px;
}

/* Product grid layout + cards */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__products{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap:18px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product{
  background: var(--surface);
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding:16px;
  box-shadow: var(--shadow-sm) !important;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: rgba(26,79,156,.18);
}

/* Cover image sizing (reduce "huge covers") */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-image{
  background: var(--bg-off-white);
  border:1px solid var(--border-subtle);
  border-radius: 16px;
  padding:10px;
  margin:0 0 12px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-image img{
  width:100%;
  height:220px;
  object-fit: contain;
  border-radius: 12px;
  margin:0;
}

/* Product text */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-title{
  color: var(--brand-navy);
  font-weight: 800;
  font-size: 1rem;
  margin: 6px 0 8px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-price{
  color: var(--text-body);
  font-weight: 700;
  margin: 0 0 12px;
}

/* Add-to-cart button inside recommendation cards */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  border-radius: var(--radius-pill) !important;
  padding:11px 14px;
  font-weight: 800;
  background: var(--brand-navy);
  color:#fff !important;
  border:1px solid transparent;
  box-shadow: var(--shadow-sm) !important;
  text-decoration:none;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), filter var(--t) var(--ease), background var(--t) var(--ease);
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart a:hover{
  background: var(--brand-blue);
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}

/* Responsive tightening */
@media (max-width: 960px){
  body.woocommerce-cart .wp-block-woocommerce-cart{ padding:18px; }
  body.woocommerce-cart .woocommerce{ padding:16px; }
  body.woocommerce-cart td.product-thumbnail img{ width:64px; }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product-image img{ height:200px; }
}
@media (max-width: 560px){
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid__product{ padding:14px; }
}



/* =========================
   WooCommerce: Cart Polish v2
   Scope: Cart page only
   Fixes: tight/touching panels, better typography, and empty-cart recommendations layout
   ========================= */

/* Create consistent spacing between cart columns and sidebar panels (Blocks) */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart{
  gap: 28px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{
  min-width: 0;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{
  display:flex;
  flex-direction:column;
  gap: 22px;
}
@media (max-width: 960px){
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart{ gap: 18px !important; }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{ gap: 16px; }
}

/* Extra safety: ensure visible spacing between coupon and totals cards even if wrappers change */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon + .wc-block-components-totals-wrapper{
  margin-top: 22px;
}

/* Coupon panel polish */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon{
  background: #fff;
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm) !important;
  padding: 18px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form{
  gap: 12px;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__input input{
  width:100%;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button:not(.is-link){
  background: var(--brand-navy);
  color: #fff;
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button:not(.is-link):hover{
  background: var(--brand-blue);
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button[disabled]{
  opacity: .55;
  filter: grayscale(.15);
  box-shadow: none;
}

/* Totals panel polish */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-wrapper{
  background: var(--bg-off-white);
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item__label{
  color: rgba(15,23,42,.70);
  font-weight: 800;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item__value{
  color: var(--brand-navy);
  font-weight: 950;
}

/* Product row typography (Blocks) */
body.woocommerce-cart .wc-block-cart-item__wrap{
  gap: 10px;
}
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a{
  /* Override Woo Blocks defaults: keep title visually prominent */
  font-size: clamp(20px, 0.8vw + 14px, 26px) !important;
  line-height: 1.22;
  letter-spacing: -0.01em;
}
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart-item__meta{
  color: var(--text-muted);
  font-size: .95rem;
}
body.woocommerce-cart .wc-block-components-product-metadata strong{
  color: var(--text-body);
  font-weight: 850;
}
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-formatted-money-amount{
  font-weight: 850;
}
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart a.wc-block-cart-item__remove-link{
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 700;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart a.wc-block-cart-item__remove-link:hover{
  color: var(--brand-blue) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Checkout button sizing consistency */
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link){
  width: 100%;
  font-size: 1.05rem;
  padding: 14px 18px;
}

/* Empty cart: reduce dead space + better hierarchy */
body.woocommerce-cart .wc-block-cart__empty-cart{
  padding: 10px 0 0;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  font-size: clamp(1.45rem, 2.1vw, 2.0rem);
  gap: 12px;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title::before{
  width:56px;
  height:56px;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15,23,42,.20);
  background-size: 30px 30px;
}

/* If the block outputs a "Return to shop" button, make it on-brand */
body.woocommerce-cart .wc-block-cart__empty-cart .wc-block-components-button:not(.is-link){
  border-radius: var(--radius-pill) !important;
  padding: 12px 16px;
  font-weight: 850;
  background: var(--brand-teal);
  color:#fff;
  box-shadow: 0 18px 40px rgba(0,166,118,.22);
}
body.woocommerce-cart .wc-block-cart__empty-cart .wc-block-components-button:not(.is-link):hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 52px rgba(0,166,118,.28);
}

/* Empty-cart recommendations: support BOTH legacy grid and new Product Collection layouts */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-grid,
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-product-new{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border-subtle);
}

/* Product Collection list becomes a proper grid (fixes narrow/tall cards) */
body.woocommerce-cart .wp-block-woocommerce-cart ul.wc-block-product-template{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap:18px !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart ul.wc-block-product-template > li{
  background: var(--surface);
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding:16px;
  box-shadow: var(--shadow-sm) !important;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}
body.woocommerce-cart .wp-block-woocommerce-cart ul.wc-block-product-template > li:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: rgba(26,79,156,.18);
}

/* Product Collection cover styling */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-image{
  background: var(--bg-off-white);
  border:1px solid var(--border-subtle);
  border-radius: 16px;
  padding:12px;
  margin:0 0 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio: 4 / 5;
  overflow:hidden;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-image img{
  width:100%;
  height:100%;
  object-fit: contain;
  border-radius: 12px;
}

/* Product Collection title/price */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-title,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-title a{
  color: var(--brand-navy);
  font-weight: 850;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration:none;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-price{
  color: var(--text-body);
  font-weight: 750;
  margin-top: -2px;
}

/* Product Collection add-to-cart: prevent vertical/stacked letters */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button .wp-block-button{
  width:100%;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button .wp-block-button__link{
  width:100% !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  line-height: 1.1;
  border-radius: var(--radius-pill) !important;
  padding: 11px 14px;
  font-weight: 850;
  background: var(--brand-navy);
  color:#fff !important;
  box-shadow: var(--shadow-sm) !important;
  text-decoration:none;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-button .wp-block-button__link:hover{
  background: var(--brand-blue);
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}

/* Small screens */
@media (max-width: 560px){
  body.woocommerce-cart .wp-block-woocommerce-cart ul.wc-block-product-template{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-image{
    aspect-ratio: 3 / 4;
  }
}

/* =========================
   WooCommerce: Cart Layout Fix v3
   Problem: Cart sidebar stacking under items on desktop.
   Fix: Force a 2-column grid for the Blocks cart at reasonable widths.
   Scope: Cart page only
   ========================= */

@media (min-width: 860px){
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    column-gap: 32px;
    row-gap: 28px;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main{
    width: auto !important;
    max-width: none !important;
    grid-column: 1;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    width: auto !important;
    max-width: none !important;
    grid-column: 2;
    position: relative;
    top: auto;
  }
}

@media (min-width: 860px) and (max-width: 1020px){
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart{
    grid-template-columns: minmax(0, 1fr) 320px;
    column-gap: 22px;
  }
}

@media (max-width: 859px){
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart{
    display: block !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    position: static;
    top: auto;
    margin-top: 22px;
  }
}

/* Final overrides (defensive): ensure cart title prominence + consistent sidebar spacing */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar{
  display: flex;
  flex-direction: column;
  gap: 22px;
}
body.woocommerce-cart .wc-block-cart-item__product a,
body.woocommerce-cart .wc-block-cart-item__product-name,
body.woocommerce-cart .wc-block-cart-item__product-name a,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a{
  font-size: clamp(20px, 0.8vw + 14px, 26px) !important;
  line-height: 1.22;
  letter-spacing: -0.01em;
}

/* =========================
   CHECKOUT (Blocks) — Mobile order summary duplication fix
   - Woo Blocks shows a top "Order summary" toggle on mobile.
   - Our layout keeps the full summary in the sidebar (moved below on mobile),
     so the toggle becomes redundant. Hide the toggle/header on small screens.
   ========================= */
@media (max-width: 782px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__order-summary,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__order-summary-toggle,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__order-summary-heading,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__button,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__button-subtitle{
    display:none !important;
  }

  /* Ensure the actual summary remains visible */
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary{
    display:block !important;
  }

  /* Tighten spacing after removing the toggle */
  body.woocommerce-checkout .wp-block-woocommerce-checkout{
    padding-top: 6px;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main{
    margin-top: 0 !important;
  }
}


/* =========================
   CHECKOUT (Blocks + Classic) — Premium Checkout UI
   Goal: A clean, Shopify-like two-column checkout (inspired by the screenshot)
   using the theme's brand palette.

   Notes:
   - Styles are scoped to checkout only.
   - Supports BOTH Woo Blocks checkout and classic shortcode checkout.
   ========================= */

body.woocommerce-checkout main#main{
  /* Reduce vertical gap between header and checkout container */
  padding:22px 0 !important;
  background: linear-gradient(180deg, var(--bg-off-white), #ffffff 65%);
}

/* Notices */
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .wc-block-components-notices{
  margin-bottom: 18px;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .wc-block-components-notice-banner{
  border-radius: var(--radius-lg);
  border:1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm) !important;
}

/* ---------- Blocks checkout layout ---------- */

body.woocommerce-checkout .wp-block-woocommerce-checkout{
  margin: 0;
}

@media (min-width: 960px){
  /* Force a clear 2-column layout similar to the reference checkout */
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout{
    display:grid !important;
    grid-template-columns: minmax(0, 1fr) 380px;
    column-gap: 36px;
    row-gap: 28px;
    align-items: start;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main{
    grid-column: 1;
    min-width: 0;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    grid-column: 2;
    min-width: 0;
    position: sticky;
    top: 92px; /* clears sticky header */
  }

  /* IMPORTANT: Woo Blocks defaults assume a flex layout and set width:65%/35% on children.
     When we switch the parent to CSS grid, those percentage widths shrink the sidebar (35% of 380px ≈ 133px).
     Reset widths/flex so grid columns control the layout. */
  body.woocommerce-checkout .wp-block-woocommerce-checkout
    .wc-block-components-sidebar-layout > .wc-block-components-main,
  body.woocommerce-checkout .wp-block-woocommerce-checkout
    .wc-block-components-sidebar-layout > .wc-block-components-sidebar{
    width: auto !important;
    max-width: none !important;
    flex: initial !important;
  }
}

/* Main + sidebar cards */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 26px !important;
}

@media (max-width: 959px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    padding: 20px !important;
    border-radius: var(--radius-lg);
  }
  /* Sidebar becomes a normal section below the form */
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    position: static;
    top: auto;
    margin-top: 18px;
  }
}

/* Section titles (Contact, Payment, Address, etc.) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main h3{
  color: var(--brand-navy);
  font-weight: 900;
  letter-spacing: -0.015em;
}

/* Tighten default spacing */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main > *{
  margin-top: 0;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  padding: 18px 0;
  border-top: 1px solid var(--border-subtle);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step:first-child{
  border-top: 0;
  padding-top: 0;
}

/* Inputs */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select select{
  border: 1px solid var(--border-strong) !important;
  border-radius: 14px !important;
  padding: 12px 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: inherit;
  color: var(--text-main);
}

/* Ensure all single-line fields share the same control height so rows align cleanly (e.g., City + State). */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="tel"]{
  height: 50px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select select:focus{
  border-color: rgba(26,79,156,.40) !important;
  box-shadow: 0 0 0 4px rgba(26,79,156,.12) !important;
}

/* Labels */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox label{
  color: var(--text-muted);
  font-weight: 700;
  font-size: .92rem;
}

/* Fix Woo Blocks floating-label layout (prevents label/value overlap when inputs are restyled).
   We normalize fields to a simple: label above input. */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea{
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.2 !important;
  white-space: normal !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea label{
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  order: -1;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea{
  order: 0;
}


/* Select fixes (Woo Blocks): make country/state selects match text inputs */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-country-input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-state-input{
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

/* Labels above the control */
body.woocommerce-checkout .wp-block-woocommerce-checkout label.wc-blocks-components-select__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout label.wc-block-components-select__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-country-input > label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-state-input > label{
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--text-muted) !important;
}

/*
  Blocks select markup nests the <label> inside the "__container".
  If the container is a row flexbox, the label renders on the left (your screenshot).
  We instead make the container a 2-row grid: label on top, select field below.
  The select itself gets the same border/radius/height as other inputs.
*/
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__container,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select__container{
  display: grid !important;
  grid-template-rows: auto 50px !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout label.wc-blocks-components-select__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout label.wc-block-components-select__label{
  grid-row: 1 !important;
  grid-column: 1 !important;
}

/* Select looks like an input */
body.woocommerce-checkout .wp-block-woocommerce-checkout select.wc-blocks-components-select__select,
body.woocommerce-checkout .wp-block-woocommerce-checkout select.wc-block-components-select__select{
  grid-row: 2 !important;
  grid-column: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--surface) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 14px !important;
  height: 50px !important;
  padding: 12px 44px 12px 16px !important; /* match inputs + space for chevron */
  margin: 0 !important;
  width: 100% !important;
  color: var(--text-main) !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout select.wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout select.wc-block-components-select__select:focus{
  outline: none !important;
  border-color: rgba(26,79,156,.40) !important;
  box-shadow: 0 0 0 4px rgba(26,79,156,.12) !important;
}

/* Chevron overlays inside the select field (same grid cell) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__expand,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select__expand{
  grid-row: 2 !important;
  grid-column: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  margin-right: 14px !important;
  pointer-events: none !important;
  opacity: .75 !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Fine-tune alignment: in the 2-column address row, the State select can sit a hair higher than text inputs.
   Nudge the block down slightly so the select control aligns perfectly with the City field. */
@media (min-width: 700px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-state-input{
    margin-top: 3px !important;
  }
}

/* Payment methods: make options look like selectable cards */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option{
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 14px 14px;
  box-shadow: var(--shadow-sm) !important;
  background: #fff;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option{
  margin-top: 12px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option--checked{
  border-color: rgba(0,166,118,.50);
  box-shadow: 0 0 0 4px rgba(0,166,118,.10), var(--shadow-sm);
}

/* Stripe card fields (if Stripe gateway is used) */
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .stripe-card-group,
body.woocommerce-checkout #stripe-payment-data{
  border-radius: 14px;
}

/* ── Stripe / Payment box polish ── */

/* Kill fieldset borders on checkout — no more box-in-a-box. */
fieldset.wc-block-checkout__payment-method,
fieldset.wc-block-components-checkout-step,
.wc-block-checkout__payment-method,
body.woocommerce-checkout fieldset,
.woocommerce-checkout fieldset{
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  min-inline-size: auto !important;
}
fieldset.wc-block-checkout__payment-method > legend,
fieldset.wc-block-components-checkout-step > legend,
body.woocommerce-checkout fieldset legend,
.woocommerce-checkout fieldset legend{
  display: none !important;
}

/* Kill the inset box-shadow border from WooCommerce Blocks packages CSS */
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{
  box-shadow: none !important;
  border-radius: 14px !important;
}
/* Kill the ::after pseudo-element borders on payment accordion options */
.wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option::after{
  display: none !important;
}

/* Accordion content area (card form) — breathing room */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{
  padding: 14px 2px 4px !important;
}

/* Save payment checkbox — breathing room above */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .wc-block-components-checkbox,
body.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew{
  margin-top: 14px !important;
  padding-top: 12px !important;
}

/* "Add a note" checkbox */
body.woocommerce-checkout .wc-block-checkout__add-note{
  margin-top: 8px !important;
}

/* Terms / privacy line */
body.woocommerce-checkout .wc-block-checkout__terms,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--border-subtle);
  font-size: .84rem;
  color: var(--text-muted);
  font-weight: 600;
}

/* Return to cart link */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
body.woocommerce-checkout a.wc-backward{
  font-weight: 700 !important;
  color: var(--text-muted) !important;
  text-decoration: none !important;
  font-size: .9rem;
}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover,
body.woocommerce-checkout a.wc-backward:hover{
  color: var(--brand-teal) !important;
}

/* Primary buttons (Place order / Continue) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link){
  border-radius: var(--radius-pill) !important;
  font-weight: 900 !important;
  letter-spacing: .01em;
  border: 1px solid transparent !important;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), filter var(--t) var(--ease);
}

/* Make the final action match brand teal */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-button:not(.is-link),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{
  width: 100% !important;
  padding: 14px 18px !important;
  font-size: 1.05rem !important;
  background: var(--brand-teal) !important;
  color: #fff !important;
  box-shadow: 0 18px 40px rgba(0,166,118,.22);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  transform: translateY(-2px);
  filter: brightness(.98);
  box-shadow: 0 24px 52px rgba(0,166,118,.28);
}

/* Secondary buttons (coupon apply, login, etc.) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button.is-secondary:not(.is-link),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button.outlined:not(.is-link){
  background: #fff !important;
  color: var(--brand-navy) !important;
  border-color: var(--border-strong) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* Sidebar: order summary styling */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary{
  background: var(--bg-off-white);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__title{
  color: var(--brand-navy);
  font-weight: 950;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{
  color: var(--text-muted);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__value{
  color: var(--brand-navy);
  font-weight: 900;
}

/* Coupon row */
/* Coupon row - keep input wide, Apply compact (Woo Blocks) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form{
  display: flex !important;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 12px;
}

/* Ensure input height + radius matches other fields */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content input{
  height: 44px;
  border-radius: 14px !important;
}

/* Input wrapper grows, button stays fixed */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-text-input{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Button wrapper fixed width (prevents "Apply" from stretching) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__button{
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  align-self: flex-end;
}

/* Actual button */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__button button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__button .wc-block-components-button{
  width: 100% !important;
  min-width: 0 !important;
  height: 44px;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  white-space: nowrap;
}

/* If the sidebar gets very narrow, allow stacking */
@media (max-width: 520px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form{
    flex-wrap: wrap;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__button{
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* ---------- Classic checkout (shortcode) fallback ---------- */

body.woocommerce-checkout .woocommerce form.checkout{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

@media (min-width: 960px){
  body.woocommerce-checkout .woocommerce form.checkout{
    grid-template-columns: minmax(0, 1fr) 380px;
    align-items: start;
    gap: 36px;
  }
  body.woocommerce-checkout #customer_details{
    grid-column: 1;
  }
  body.woocommerce-checkout #order_review{
    grid-column: 2;
    position: sticky;
    top: 92px;
  }
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review{
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 26px;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout h3#order_review_heading{
  color: var(--brand-navy);
  font-weight: 950;
}

body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea{
  border: 1px solid var(--border-strong);
  border-radius: 14px;
  padding: 12px 12px;
  background: #fff;
}
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce textarea:focus{
  border-color: rgba(26,79,156,.40);
  box-shadow: 0 0 0 4px rgba(26,79,156,.12);
  outline: none;
}

body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button{
  width: 100%;
  border-radius: var(--radius-pill) !important;
  padding: 14px 18px;
  font-weight: 900;
  background: var(--brand-teal);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 18px 40px rgba(0,166,118,.22);
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), filter var(--t) var(--ease);
}
body.woocommerce-checkout .woocommerce #place_order:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover{
  transform: translateY(-2px);
  filter: brightness(.98);
  box-shadow: 0 24px 52px rgba(0,166,118,.28);
}

/* Order review table */
body.woocommerce-checkout table.shop_table{
  border-collapse: separate;
  border-spacing: 0;
  border:1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow:hidden;
}
body.woocommerce-checkout table.shop_table thead th{
  background: var(--bg-off-white);
  color: var(--text-muted);
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-subtle);
}
body.woocommerce-checkout table.shop_table td{
  padding: 14px;
  border-bottom: 1px solid var(--border-subtle);
}
body.woocommerce-checkout table.shop_table tr:last-child td{ border-bottom:0; }


/* =========================
   CHECKOUT (Blocks) — UI Polish Overrides v2
   Fixes:
   - Country/State select label + radius + vertical alignment
   - Payment option card alignment
   - Coupon input/button layout + disabled state + brand colors
   ========================= */

/* Select label should sit above the control (not inside the bordered box) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select__label{
  position: static !important;
  transform: none !important;
  display: block !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  color: var(--text-muted);
  font-weight: 700;
  font-size: .92rem;
}

/* Ensure select control height/radius matches text inputs */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select__select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-select select{
  min-height: 48px;
  border-radius: 14px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Payment options: avoid odd padding/label styling and keep the card clean */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow: hidden;
  border: 1px solid var(--border-subtle) !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__input{
  margin-top: 2px;
  accent-color: var(--brand-teal);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__label-group{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-label{
  color: var(--text-muted);
  font-weight: 600;
}

/* Coupon section (order summary): fix weird input/button sizing and apply button styling */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form{
  display: flex !important;
  gap: 12px !important;
  align-items: flex-end;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__input{
  flex: 1;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__input input{
  width: 100%;
  min-height: 48px;
  border-radius: 14px !important;
}

/* Apply button (enabled) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button:not(.is-link),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button button,
body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-totals-coupon__button{
  min-height: 48px;
  padding: 12px 18px !important;
  border-radius: 14px !important; /* prevent the odd circular button */
  background: var(--brand-blue) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
  box-shadow: var(--shadow-sm) !important;
  white-space: nowrap;
  letter-spacing: .01em;
}

/* Apply button (disabled) — avoid the giant dark circle look */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button[disabled],
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button[disabled]{
  background: var(--border-subtle) !important;
  color: rgba(15,23,42,.55) !important;
  border-color: var(--border-strong) !important;
  box-shadow: none !important;
  filter: none !important;
}


/* =========================
   WooCommerce: Single Product Polish
   - Smaller product cover
   - Typography + controls aligned to theme tokens
   ========================= */

body.single-product .woocommerce{
  color: var(--text-body);
}

body.single-product .woocommerce div.product{
  margin-top: 10px;
}

/* Layout: smaller cover + better balance (force override of Woo defaults) */
@media (min-width: 920px){
  body.single-product .woocommerce div.product{
    display:grid !important;
    grid-template-columns: minmax(260px, 380px) 1fr !important;
    gap: 40px !important;
    align-items:start;
  }
  body.single-product .woocommerce div.product div.images{
    float:none !important;
    width:auto !important;
    max-width: 380px !important;
    margin: 0 !important;
  }
  body.single-product .woocommerce div.product div.summary{
    float:none !important;
    width:auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Cover styling */
body.single-product .woocommerce div.product div.images img{
  width:100%;
  height:auto;
  border-radius: var(--radius-lg);
  border:1px solid var(--border-subtle);
  background: #fff;
  box-shadow: var(--shadow-card);
  padding: 8px !important;
  max-height: 560px;
  object-fit: contain;
}

/* Tighten up default spacing in the gallery area */
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  margin:0;
}

/* Title + meta */
body.single-product .woocommerce div.product .product_title,
body.single-product .woocommerce div.product h1.product_title{
  margin: 0 0 10px;
  font-size: clamp(2rem, 3.2vw, 2.85rem);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--text-main);
}

body.single-product .woocommerce .product_meta{
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-muted);
  font-size: .92rem;
}
body.single-product .woocommerce .product_meta a{
  color: var(--brand-blue) !important;
  text-decoration: none;
}
body.single-product .woocommerce .product_meta a:hover{
  text-decoration: underline;
}

/* Price */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price{
  color: var(--brand-blue) !important;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  margin: 6px 0 12px;
}
body.single-product .woocommerce div.product span.price del{
  opacity: .65;
  font-weight: 700;
}
body.single-product .woocommerce div.product span.price ins{
  text-decoration: none;
}

/* Short description */
body.single-product .woocommerce div.product .woocommerce-product-details__short-description{
  color: var(--text-body);
  font-size: 1.02rem;
  line-height: 1.55;
  margin-bottom: 18px;
}

/* Quantity input */
body.single-product .woocommerce div.product form.cart .quantity{
  margin: 0 12px 0 0;
}
body.single-product .woocommerce div.product form.cart .qty{
  width: 78px;
  height: 44px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow-sm) !important;
  font-weight: 700;
  color: var(--text-main);
}
body.single-product .woocommerce div.product form.cart .qty:focus{
  outline: none;
  border-color: rgba(26,79,156,.45);
  box-shadow: 0 0 0 4px rgba(26,79,156,.12), var(--shadow-sm);
}

/* Add to cart (primary) */
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height: 44px !important;
  padding: 12px 18px !important;
  border-radius: var(--radius-pill) !important;
  border: 1px solid transparent !important;
  cursor: pointer;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)) , var(--brand-teal) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.12);
  box-shadow: 0 12px 26px rgba(0,166,118,.22) !important;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), filter var(--t) var(--ease);
}
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover{
  transform: translateY(-3px);
  filter: brightness(.98);
  box-shadow: 0 18px 40px rgba(0,166,118,.26);
}
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:active{
  transform: translateY(0);
}

/* Notices look on-brand */
body.single-product .woocommerce .woocommerce-message,
body.single-product .woocommerce .woocommerce-info,
body.single-product .woocommerce .woocommerce-error{
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm) !important;
}

/* Tabs */
body.single-product .woocommerce div.product .woocommerce-tabs{
  margin-top: 26px;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  padding-left:0;
  margin: 0 0 14px;
  border-bottom: 1px solid var(--border-subtle);
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:0;
  background: transparent;
  margin: 0 10px 0 0;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  padding: 10px 12px;
  color: var(--text-muted);
  font-weight: 800;
  text-decoration: none;
  border-radius: 12px 12px 0 0;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: var(--text-main);
  background: rgba(15,23,42,.04);
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel{
  padding: 18px 0 0;
  color: var(--text-body);
  line-height: 1.6;
}

/* Related products */
body.single-product .woocommerce section.related.products{
  margin-top: 34px;
}
body.single-product .woocommerce section.related.products > h2{
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  color: var(--text-main);
  margin: 0 0 14px;
}
body.single-product .woocommerce section.related.products ul.products{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin: 0;
}
body.single-product .woocommerce section.related.products ul.products li.product{
  width:auto;
  margin:0;
  background:var(--surface);
  border:1px solid var(--border-subtle);
  border-radius: 26px;
  padding:14px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
  display:flex;
  flex-direction:column;
  height:100%;
}

body.single-product .woocommerce section.related.products ul.products li.product a.woocommerce-LoopProduct-link{
  text-decoration:none;
  color: inherit;
  display:block;
  flex: 1 1 auto;
}

body.single-product .woocommerce section.related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title{
  color: var(--brand-blue);
}

body.single-product .woocommerce section.related.products ul.products li.product img{
  border-radius: 18px;
  width:100%;
  height:auto;
  aspect-ratio: 7 / 9;
  object-fit: contain;
  background: #fff;
  padding: 8px;
  border:1px solid var(--border-subtle);
}

body.single-product .woocommerce section.related.products ul.products li.product:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: rgba(26,79,156,.18);
}
/* (deduped) */

body.single-product .woocommerce section.related.products ul.products li.product .woocommerce-loop-product__title{
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--text-main);
  margin: 0 0 6px;
}
body.single-product .woocommerce section.related.products ul.products li.product .price{
  margin: 0 0 10px;
  font-weight: 800;
  color: var(--brand-blue) !important;
}
body.single-product .woocommerce section.related.products ul.products li.product a.button,
body.single-product .woocommerce section.related.products ul.products li.product a.add_to_cart_button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: var(--radius-pill) !important;
  border:1px solid rgba(0,166,118,.40) !important;
  background: rgba(0,166,118,.10) !important;
  color: var(--brand-teal) !important;
  font-weight: 900;
  text-decoration:none;
  box-shadow: var(--shadow-sm) !important;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background-color var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);
}
body.single-product .woocommerce section.related.products ul.products li.product a.button:hover,
body.single-product .woocommerce section.related.products ul.products li.product a.add_to_cart_button:hover{
  transform: translateY(-2px);
  background: rgba(0,166,118,.16) !important;
  border-color: rgba(0,166,118,.55) !important;
  box-shadow: var(--shadow-card);
}
body.single-product .woocommerce section.related.products ul.products li.product a.button:active,
body.single-product .woocommerce section.related.products ul.products li.product a.add_to_cart_button:active{
  transform: translateY(-1px);
}

/* Mobile: keep cover from dominating the viewport */
@media (max-width: 919px){
  body.single-product .woocommerce div.product div.images{
    max-width: 380px;
    margin: 0 auto 18px;
  }
  body.single-product .woocommerce div.product div.summary{
    max-width: 680px;
    margin: 0 auto;
  }
}




body.single-product .woocommerce .woocommerce-message,
body.single-product .woocommerce .woocommerce-info,
body.single-product .woocommerce .woocommerce-error{
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(226,232,240,.90) !important;
}
body.single-product .woocommerce .woocommerce-message{ border-left: 5px solid rgba(0,166,118,.70) !important; }
body.single-product .woocommerce .woocommerce-info{ border-left: 5px solid rgba(26,79,156,.60) !important; }
body.single-product .woocommerce .woocommerce-error{ border-left: 5px solid rgba(239,68,68,.70) !important; }
body.single-product .woocommerce a.button.wc-forward{
  border-radius: var(--radius-pill) !important;
  padding: 10px 14px !important;
}

/* ========================================================================== 
   WOOCOMMERCE: SINGLE PRODUCT (Theme polish)
   - Match MedExPrep tokens (radius, shadows, buttons)
   - Reduce cover size + improve layout + tabs + related products
   ========================================================================== */

/* Product page container */
body.single-product.woocommerce .site-main{
  padding: 32px 0 !important;
}

/* Primary product block */
body.single-product.woocommerce div.product{
  display:grid;
  grid-template-columns: minmax(240px, 360px) 1fr;
  gap: 36px;
  align-items:start;

  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 22px;
}

/* Reset Woo floats on the classic template */
body.single-product.woocommerce div.product .woocommerce-product-gallery,
body.single-product.woocommerce div.product div.images,
body.single-product.woocommerce div.product div.summary{
  float:none !important;
  width:auto !important;
}

/* Cover / gallery */
body.single-product.woocommerce div.product .woocommerce-product-gallery{
  grid-column:1;
  max-width: 360px;
  width:100%;
  margin:0;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border-radius: var(--radius-xl);
  overflow:hidden;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery__image{
  margin:0;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery img.wp-post-image{
  display:block;
  width:100%;
  height:auto;
  max-height: 520px;
  object-fit: contain;
  background: linear-gradient(180deg, rgba(2,6,23,.02), rgba(2,6,23,.00));
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}

/* Hide gallery zoom trigger (keeps UI clean; image can still be clicked) */
body.single-product.woocommerce .woocommerce-product-gallery__trigger{display:none !important;}

/* Summary */
body.single-product.woocommerce div.product .summary{
  grid-column:2;
  margin:0;
}

body.single-product.woocommerce .product_title{
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}

body.single-product.woocommerce .summary .price{
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 900;
  color: var(--brand-navy);
}

body.single-product.woocommerce .woocommerce-product-details__short-description{
  color: var(--muted);
  font-weight: 650;
  margin-bottom: 14px;
}

/* Add-to-cart + buttons: make Woo buttons look like theme buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  font-family: inherit;
  font-weight: 850;
  border-radius: var(--radius-pill);
  padding: 12px 18px;
  line-height: 1;
  border: 1px solid transparent;
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);
}

/* Primary */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
body.single-product.woocommerce .single_add_to_cart_button.button.alt{
  background: linear-gradient(135deg, var(--brand-teal), #07c28d);
  color:#fff;
  box-shadow: 0 10px 26px rgba(0,166,118,.20);
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
body.single-product.woocommerce .single_add_to_cart_button.button.alt:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(0,166,118,.26);
}

/* Outline */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background: var(--surface);
  color: var(--brand-navy);
  border-color: rgba(15,23,42,.16);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: rgba(15,23,42,.04);
  border-color: rgba(15,23,42,.20);
  transform: translateY(-1px);
}

/* Make the single-product form spacing match */
body.single-product.woocommerce form.cart{
  margin: 16px 0 12px;
}

/* If the product is already in cart (custom CTA) */
.medexp-product-in-cart{
  margin-top: 14px;
  padding: 14px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(0,166,118,.08), rgba(2,6,23,.00));
}
.medexp-product-in-cart__title{
  font-weight: 950;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.medexp-product-in-cart__sub{
  color: var(--muted);
  font-weight: 650;
  margin: 0 0 12px;
}
.medexp-product-in-cart__actions{display:flex; gap:10px; flex-wrap:wrap;}

/* Meta */
body.single-product.woocommerce .product_meta{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
  color: var(--muted);
  font-weight: 650;
  font-size: 14px;
}


body.single-product.woocommerce .product_meta > span{
  display:block;
  margin-top: 6px;
}
body.single-product.woocommerce .product_meta > span:first-child{
  margin-top: 0;
}
body.single-product.woocommerce .product_meta a{
  color: var(--brand-blue);
  font-weight: 800;
  text-decoration:none;
}
body.single-product.woocommerce .product_meta a:hover{
  text-decoration: underline;
}

body.single-product.woocommerce .product_meta a{color: var(--brand-blue); font-weight: 800; text-decoration: none;}
body.single-product.woocommerce .product_meta a:hover{text-decoration: underline;}

/* Tabs */
body.single-product.woocommerce .woocommerce-tabs{
  grid-column: 1 / -1;
  margin-top: 24px;
}
body.single-product.woocommerce .woocommerce-tabs ul.tabs{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0;
}
body.single-product.woocommerce .woocommerce-tabs ul.tabs::before{display:none !important;}
body.single-product.woocommerce .woocommerce-tabs ul.tabs li{
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}
body.single-product.woocommerce .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 14px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(248,250,252,.85);
  color: var(--brand-navy);
  font-weight: 850;
  text-decoration:none;
}
body.single-product.woocommerce .woocommerce-tabs ul.tabs li.active a{
  background: rgba(0,166,118,.12);
  border-color: rgba(0,166,118,.30);
}
body.single-product.woocommerce .woocommerce-tabs .panel{
  background: rgba(248,250,252,.70);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  padding: 18px 18px;
}
body.single-product.woocommerce .woocommerce-tabs .panel h2{
  margin-top: 0;
  font-size: 18px;
}

/* Related products */
body.single-product.woocommerce section.related.products{
  grid-column: 1 / -1;
  margin-top: 26px;
}
body.single-product.woocommerce section.related.products > h2{
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
}

body.single-product.woocommerce ul.products{
  margin-top: 0;
}
body.single-product.woocommerce ul.products li.product{
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  padding: 14px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
body.single-product.woocommerce ul.products li.product:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}

body.single-product.woocommerce ul.products li.product img{
  border-radius: 14px;
  border: 1px solid var(--border-subtle);
  background: rgba(248,250,252,.75);
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
}

body.single-product.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -0.01em;
  margin: 10px 0 6px;
  color: var(--brand-navy);
}
body.single-product.woocommerce ul.products li.product .price{
  font-weight: 900;
  color: var(--brand-navy);
  margin-bottom: 10px;
}

/* Notices (errors / messages) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
}
.woocommerce-notices-wrapper .woocommerce-error{
  border-left: 4px solid #ef4444;
}
.woocommerce-notices-wrapper .woocommerce-message{
  border-left: 4px solid var(--brand-teal);
}

/* Responsive */
@media (max-width: 960px){
  body.single-product.woocommerce div.product{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
  }
  body.single-product.woocommerce div.product .woocommerce-product-gallery{
    grid-column:1;
    max-width: 340px;
    margin: 0 auto;
  }
  body.single-product.woocommerce div.product .summary{grid-column:1;}
  body.single-product.woocommerce .product_title{font-size: 30px;}
}

@media (max-width: 520px){
  body.single-product.woocommerce div.product{padding: 16px;}
  body.single-product.woocommerce div.product .woocommerce-product-gallery{max-width: 300px;}
}

/* ========================================================================
   Mega menu: normalize corner radius (avoid “pill” cards)
   ======================================================================== */
:root{
  --mega-card-radius: 16px;
  --mega-cta-radius: 14px;
}

/* Force mega menu cards/buttons to a consistent radius, even if globals override anchors/buttons */
header .mega__panel .megaLeft__btn,
header .mega__panel .megaMid__item{
  border-radius: var(--mega-card-radius) !important;
}

header .mega__panel .megaMid__item{ overflow: hidden; }

header .mega__panel .megaCta__link{
  border-radius: var(--mega-cta-radius) !important;
  background-image: none !important;
  color: #fff !important;
}
header .mega__panel .megaCta__link:hover{
  color: #fff !important;
  opacity: 1 !important;
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(255,255,255,.50) !important;
}

/* Cart page: completely remove Woo "New in store" (product-new) section from the empty-cart state.
   This must not depend on body.medexp-cart-empty because the cart empties client-side. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block [data-block-name="woocommerce/product-new"],
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new{
  display:none !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator.is-style-dots{
  display:none !important;
}
/* Hide the "New in store" heading while preserving the main empty-cart title */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator.is-style-dots + h2.wp-block-heading{
  display:none !important;
}


/* =========================
   HOMEPAGE — NEW SECTIONS
   ========================= */

/* ── Pulse CTA Button ───────────────── */
.btn--pulse{
  position:relative;
  overflow:visible;
}
.btn--pulse::after{
  content:'';
  position:absolute;
  inset:-4px;
  border-radius:inherit;
  border:2px solid var(--brand-teal);
  animation:btnPulse 2s ease-out infinite;
  pointer-events:none;
}
@keyframes btnPulse{
  0%  {opacity:.6; transform:scale(1)}
  70% {opacity:0;  transform:scale(1.15)}
  100%{opacity:0;  transform:scale(1.15)}
}

/* ── Free Quiz Banner ───────────────── */
.freeQuizBanner{
  background:linear-gradient(135deg, #0f172a 0%, #1a3a5c 50%, #0f172a 100%);
  padding:56px 0;
  position:relative;
  overflow:hidden;
}
.freeQuizBanner::before{
  content:'';
  position:absolute;
  top:-40%;right:-10%;
  width:500px;height:500px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,166,118,.15) 0%, transparent 70%);
  pointer-events:none;
}
.fqb__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.fqb__hero-img{
  margin-top:28px;
  width:100%;
  max-width:420px;
  border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
  object-fit:cover;
  aspect-ratio:4/3;
}
.fqb__badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(0,166,118,.15);
  color:#5de8c4;
  border:1px solid rgba(0,166,118,.3);
  border-radius:var(--radius-pill);
  padding:6px 14px;
  font-size:13px;
  font-weight:700;
  margin-bottom:16px;
}
.fqb__title{
  color:#fff;
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:800;
  margin:0 0 12px;
  line-height:1.2;
}
.fqb__desc{
  color:rgba(255,255,255,.72);
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  margin:0;
}
.fqb__exams{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.fqb__exam{
  display:flex;
  align-items:center;
  gap:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  padding:14px 18px;
  text-decoration:none;
  color:#fff;
  transition:background var(--t) var(--ease), border-color var(--t) var(--ease), transform var(--t) var(--ease);
}
.fqb__exam:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(0,166,118,.4);
  transform:translateX(4px);
}
.fqb__exam-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;height:40px;
  border-radius:10px;
  background:rgba(0,166,118,.15);
  color:var(--brand-teal);
  flex-shrink:0;
}
.fqb__exam-name{
  flex:1;
  font-weight:700;
  font-size:15px;
}
.fqb__exam-arrow{
  font-size:18px;
  opacity:.5;
  transition:opacity var(--t) var(--ease), transform var(--t) var(--ease);
}
.fqb__exam:hover .fqb__exam-arrow{
  opacity:1;
  transform:translateX(3px);
}
.fqb__exam--all{
  border-style:dashed;
  color:rgba(255,255,255,.7);
}
.fqb__exam--all .fqb__exam-icon{
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.6);
}

@media(max-width:720px){
  .fqb__inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .freeQuizBanner{ padding:40px 0; }
  .fqb__hero-img{ display:none; }
}

/* ── Exam Catalog Tabs ──────────────── */
.examTabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 0 20px;
  margin-bottom:8px;
  scrollbar-width:none;
}
.examTabs::-webkit-scrollbar{ display:none; }
.examTab{
  white-space:nowrap;
  padding:8px 18px;
  border-radius:100px;
  border:1.5px solid var(--border-subtle,#e2e8f0);
  background:#fff;
  color:var(--text-main,#0f172a);
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  transition:all .2s;
  flex-shrink:0;
}
.examTab:hover{
  border-color:var(--brand-teal);
  color:var(--brand-teal);
}
.examTab--active{
  background:var(--brand-navy,#0f172a);
  color:#fff;
  border-color:var(--brand-navy,#0f172a);
}
.examCat[hidden]{ display:none; }
@media(max-width:600px){
  .examTab{ padding:6px 14px; font-size:13px; }
}

/* ── Field-specific palettes ──────────── */
.examCat[data-cat="medical"]    { --f-clr:#1a6fc4; --f-bg:linear-gradient(135deg,#2980e4,#1a5fb0); --f-soft:rgba(26,111,196,.08); }
.examCat[data-cat="nursing"]    { --f-clr:#e0457b; --f-bg:linear-gradient(135deg,#f06292,#c2255c); --f-soft:rgba(224,69,123,.08); }
.examCat[data-cat="dental"]     { --f-clr:#0097a7; --f-bg:linear-gradient(135deg,#00bcd4,#00838f); --f-soft:rgba(0,151,167,.08); }
.examCat[data-cat="pharmacy"]   { --f-clr:#7c3aed; --f-bg:linear-gradient(135deg,#9333ea,#6d28d9); --f-soft:rgba(124,58,237,.08); }
.examCat[data-cat="pa"]         { --f-clr:#4f46e5; --f-bg:linear-gradient(135deg,#6366f1,#4338ca); --f-soft:rgba(79,70,229,.08); }
.examCat[data-cat="therapy"]    { --f-clr:#e67e22; --f-bg:linear-gradient(135deg,#f59e0b,#d97706); --f-soft:rgba(245,158,11,.08); }
.examCat[data-cat="allied"]     { --f-clr:#14b8a6; --f-bg:linear-gradient(135deg,#2dd4bf,#0d9488); --f-soft:rgba(20,184,166,.08); }
.examCat[data-cat="behavioral"] { --f-clr:#a855f7; --f-bg:linear-gradient(135deg,#c084fc,#9333ea); --f-soft:rgba(168,85,247,.08); }
.examCat[data-cat="other"]      { --f-clr:#64748b; --f-bg:linear-gradient(135deg,#94a3b8,#64748b); --f-soft:rgba(100,116,139,.08); }

/* ── Exam Catalog Cards ───────────────── */
.examCat__title{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:17px;
  font-weight:800;
  color:var(--text-main);
  margin:44px 0 16px;
  padding-bottom:12px;
  border-bottom:1.5px solid var(--border-subtle);
}
.examCat__title::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:3px;
  background:var(--f-clr,var(--brand-teal));
  flex-shrink:0;
}
.examCat__title svg{
  color:var(--f-clr,var(--brand-teal));
}
.examCat:first-child .examCat__title{
  margin-top:8px;
}
.examCat__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:14px;
}
.examCard{
  display:flex;
  flex-direction:column;
  background:var(--surface);
  border:1px solid var(--border-subtle);
  border-left:3px solid var(--f-clr,var(--brand-teal));
  border-radius:var(--radius-lg);
  padding:20px;
  text-decoration:none;
  color:var(--text-main);
  transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), transform var(--t) var(--ease);
}
.examCard:hover{
  border-color:var(--f-clr,var(--brand-teal));
  border-left-color:var(--f-clr,var(--brand-teal));
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.examCard__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.examCard__name{
  font-weight:750;
  font-size:16px;
}
.examCard__count{
  font-size:12px;
  font-weight:700;
  color:var(--brand-teal);
  background:rgba(0,166,118,.08);
  border-radius:var(--radius-pill);
  padding:3px 10px;
  white-space:nowrap;
}
.examCard__badge{
  font-size:11px;
  font-weight:750;
  color:var(--brand-blue);
  background:rgba(26,79,156,.08);
  border-radius:var(--radius-pill);
  padding:3px 10px;
  white-space:nowrap;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.examCard__desc{
  font-size:13.5px;
  color:var(--text-body);
  line-height:1.55;
  margin:0 0 auto;
  font-weight:600;
}
.examCard__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--border-subtle);
}
.examCard__arrow{
  font-size:16px;
  color:var(--text-muted);
  transition:color var(--t), transform var(--t);
}
.examCard:hover .examCard__arrow{
  color:var(--brand-teal);
  transform:translateX(3px);
}
.examCard--soon{
  opacity:.75;
  border-style:dashed;
}
.examCard--soon:hover{
  opacity:1;
  border-color:var(--brand-blue);
}
.pill--sm{
  font-size:11px;
  padding:2px 8px;
}

/* ── Pricing section stacking fix ── */
#pricing{
  position:relative;
  z-index:2;
}
#testimonials{
  overflow:hidden;
}

/* ── Testimonial Grid (BEM classes) ───────── */
.testimonialGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
@media (max-width: 960px){ .testimonialGrid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .testimonialGrid{ grid-template-columns: 1fr; } }

.testimonialGrid .tCard{
  background: var(--surface);
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 18px;
  padding: 22px 20px 18px;
  box-shadow: 0 10px 22px rgba(15,23,42,.06);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tCard__stars{
  color: #f59e0b;
  font-size: 1.1rem;
  letter-spacing: 2px;
}
.tCard__quote{
  color: var(--text-body);
  font-weight: 560;
  line-height: 1.6;
  font-size: .95rem;
  margin: 0;
  flex: 1;
}
.tCard__author{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(226,232,240,.6);
}
.tCard__avatar{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(203,213,225,.85);
  background: linear-gradient(180deg, rgba(26,79,156,.14), rgba(0,166,118,.08));
  display: grid;
  place-items: center;
  color: rgba(15,23,42,.7);
  font-weight: 750;
  font-size: .9rem;
  flex: 0 0 auto;
}
.tCard__name{
  font-weight: 750;
  color: var(--text-main);
  font-size: .92rem;
  letter-spacing: -.01em;
}
.tCard__role{
  font-weight: 600;
  color: var(--text-muted);
  font-size: .82rem;
  margin-top: 2px;
}

/* ── Compare Table (Free vs Pro) ───────── */
.compareTable{
  max-width:800px;
  margin:0 auto;
  background:var(--surface);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
.compareTable__head{
  display:grid;
  grid-template-columns:1fr 160px 180px;
  gap:0;
  background:var(--brand-navy);
  color:#fff;
  padding:0;
}
.compareTable__head .compareTable__feature{
  padding:20px 24px;
  font-weight:700;
  font-size:14px;
  display:flex;
  align-items:flex-end;
}
.compareTable__head .compareTable__col{
  padding:20px 16px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.compareTable__head .compareTable__col--pro{
  background:rgba(0,166,118,.15);
}
.compareTable__plan{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  opacity:.8;
}
.compareTable__price{
  font-size:22px;
  font-weight:800;
}
.compareTable__body{
  padding:0;
}
.compareTable__row{
  display:grid;
  grid-template-columns:1fr 160px 180px;
  gap:0;
  border-bottom:1px solid var(--border-subtle);
  font-size:14px;
}
.compareTable__row:last-child{
  border-bottom:none;
}
.compareTable__row .compareTable__feature{
  padding:14px 24px;
  font-weight:650;
  color:var(--text-main);
}
.compareTable__row .compareTable__col{
  padding:14px 16px;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  color:var(--text-body);
}
.compareTable__row .compareTable__col--pro{
  background:rgba(0,166,118,.03);
  color:var(--text-main);
  font-weight:700;
}
.compareTable__sub{
  font-size:11px;
  opacity:.7;
  font-weight:600;
  margin-top:2px;
}
.compareTable__foot{
  display:grid;
  grid-template-columns:1fr 160px 180px;
  gap:0;
  border-top:2px solid var(--border-subtle);
  padding:20px 0;
}
.compareTable__foot .compareTable__feature{
  padding:0 24px;
}
.compareTable__foot .compareTable__col{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
}
.compareTable__foot .compareTable__col--pro{
  background:rgba(0,166,118,.03);
}

@media(max-width:640px){
  .compareTable__head,
  .compareTable__row,
  .compareTable__foot{
    grid-template-columns:1fr 100px 100px;
  }
  .compareTable__head .compareTable__feature,
  .compareTable__row .compareTable__feature{
    padding:12px 14px;
    font-size:13px;
  }
  .compareTable__head .compareTable__col,
  .compareTable__row .compareTable__col{
    padding:12px 8px;
    font-size:12px;
  }
  .compareTable__price{font-size:18px}
  .compareTable__foot .compareTable__col{padding:0 4px}
  .compareTable__foot .btn-sm{font-size:11px; padding:6px 10px}
}

/* ── App Download ───────────────── */
.appDl{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:48px;
  align-items:center;
}
.appDl__features{
  list-style:none;
  padding:0;
  margin:20px 0 0;
}
.appDl__features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:8px 0;
  font-size:14.5px;
  font-weight:650;
  color:var(--text-body);
  line-height:1.5;
}
.appDl__features svg{
  flex-shrink:0;
  color:var(--brand-teal);
  margin-top:2px;
}
.appDl__buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}
.appDl__store{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--brand-navy);
  color:#fff;
  text-decoration:none;
  padding:10px 20px;
  border-radius:var(--radius-lg);
  transition:background var(--t), transform var(--t);
}
.appDl__store:hover{
  background:#1e3a5f;
  transform:translateY(-2px);
}
.appDl__store small{
  display:block;
  font-size:10px;
  opacity:.7;
  font-weight:600;
}
.appDl__store strong{
  font-size:15px;
  font-weight:800;
}
.appDl__store span{
  display:flex;
  flex-direction:column;
  line-height:1.3;
}

/* App phone mockup */
.appDl__visual{
  display:flex;
  justify-content:center;
}
.appDl__phone{
  width:240px;
  background:var(--brand-navy);
  border-radius:28px;
  padding:8px;
  box-shadow:var(--shadow-float);
  position:relative;
}
.appDl__phone::before{
  content:'';
  position:absolute;
  top:8px;left:50%;transform:translateX(-50%);
  width:80px;height:22px;
  background:#000;
  border-radius:0 0 12px 12px;
  z-index:2;
}
.appDl__screen{
  background:var(--surface);
  border-radius:20px;
  overflow:hidden;
  min-height:380px;
}
.appDl__screenTop{
  display:flex;
  align-items:center;
  gap:8px;
  padding:32px 16px 12px;
  border-bottom:1px solid var(--border-subtle);
}
.appDl__dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--brand-teal);
}
.appDl__screenTitle{
  font-size:13px;
  font-weight:750;
  color:var(--text-main);
}
.appDl__screenBody{
  padding:16px;
}
.appDl__miniQ{
  margin-bottom:16px;
}
.appDl__miniStem{
  margin-bottom:12px;
}
.appDl__miniStem .qbLine{
  height:6px;
  background:var(--border-subtle);
  border-radius:3px;
  display:block;
  margin-bottom:6px;
}
.appDl__miniOpts{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.appDl__miniOpt{
  background:var(--bg-off-white);
  border:1px solid var(--border-subtle);
  border-radius:8px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  color:var(--text-body);
}
.appDl__miniOpt--active{
  background:rgba(0,166,118,.08);
  border-color:var(--brand-teal);
  color:var(--brand-teal);
}
.appDl__miniStats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}
.appDl__miniStats > div{
  background:var(--bg-off-white);
  border-radius:10px;
  padding:10px 12px;
  text-align:center;
}
.appDl__miniStats strong{
  display:block;
  font-size:18px;
  font-weight:800;
  color:var(--brand-teal);
}
.appDl__miniStats small{
  font-size:11px;
  color:var(--text-muted);
  font-weight:600;
}

@media(max-width:720px){
  .appDl{
    grid-template-columns:1fr;
    gap:32px;
  }
  .appDl__visual{
    order:-1;
  }
  .appDl__phone{width:200px}
  .appDl__screen{min-height:320px}
}

/* ── Social / Community Grid ──────────── */
.socialGrid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
  margin-top:32px;
}
.socialCard{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
  background:var(--surface);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-xl);
  padding:28px 20px;
  text-decoration:none;
  color:var(--text-main);
  transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), transform var(--t) var(--ease);
}
.socialCard:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-card);
}
.socialCard__icon{
  width:56px;height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:var(--bg-off-white);
  transition:background var(--t);
}
.socialCard__name{
  font-weight:750;
  font-size:15px;
}
.socialCard__handle{
  font-size:13px;
  color:var(--text-muted);
  font-weight:600;
}

/* Social card color accents */
.socialCard--yt:hover{
  border-color:#ff0000;
}
.socialCard--yt:hover .socialCard__icon{
  background:rgba(255,0,0,.08);
  color:#ff0000;
}
.socialCard--tt:hover{
  border-color:#000;
}
.socialCard--tt:hover .socialCard__icon{
  background:rgba(0,0,0,.06);
  color:#000;
}
.socialCard--ig:hover{
  border-color:#e1306c;
}
.socialCard--ig:hover .socialCard__icon{
  background:rgba(225,48,108,.08);
  color:#e1306c;
}
.socialCard--fb:hover{
  border-color:#1877f2;
}
.socialCard--fb:hover .socialCard__icon{
  background:rgba(24,119,242,.08);
  color:#1877f2;
}

@media(max-width:640px){
  .socialGrid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .socialCard{
    padding:20px 14px;
  }
}

/* ── Inner-Page Layouts (Free Quizzes, Exam Catalog) ─── */
.pageHero{
  text-align:center;
  padding:64px 24px;
  color:#fff;
}
.pageHero h1{
  font-size:38px;
  font-weight:800;
  margin-bottom:12px;
  letter-spacing:-.02em;
  color:#fff;
}
.pageHero p{
  font-size:16px;
  opacity:.85;
  max-width:560px;
  margin:0 auto;
  line-height:1.65;
  font-weight:600;
}
.pageHero--teal{
  background:linear-gradient(135deg,#0f172a 0%,#117673 50%,#0f172a 100%);
}
.pageHero--navy{
  background:linear-gradient(135deg,#0f172a 0%,#1a3a5c 50%,#0f172a 100%);
}
.heroStats{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap;
}
.heroStats span{
  background:rgba(255,255,255,.12);
  padding:8px 18px;
  border-radius:100px;
  font-weight:700;
  font-size:14px;
  border:1px solid rgba(255,255,255,.15);
}
.pageBody{
  max-width:1200px;
  margin:0 auto;
  padding:48px 24px 64px;
}
.pageCta{
  background:var(--brand-navy,#0f172a);
  color:#fff;
  border-radius:var(--radius-xl,16px);
  padding:56px 32px;
  text-align:center;
  margin-top:56px;
}
.pageCta h2{
  font-size:26px;
  font-weight:800;
  margin-bottom:10px;
  color:#fff;
}
.pageCta p{
  opacity:.8;
  margin-bottom:24px;
  font-weight:600;
  max-width:480px;
  margin-left:auto;
  margin-right:auto;
}
.pageCta .btn{ margin:0 6px; }

/* Exam Search */
.examSearch{
  position:relative;
  max-width:420px;
  margin:0 auto 24px;
}
.examSearch__input{
  width:100%;
  padding:12px 16px 12px 44px;
  border:1.5px solid var(--border-subtle,#e2e8f0);
  border-radius:100px;
  font-size:15px;
  font-weight:600;
  font-family:inherit;
  background:#fff;
  color:var(--text-main,#0f172a);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.examSearch__input::placeholder{
  color:var(--text-muted,#94a3b8);
  font-weight:500;
}
.examSearch__input:focus{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 0 0 3px rgba(0,166,118,.12);
}
.examSearch__icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:var(--text-muted,#94a3b8);
  pointer-events:none;
}
.examSearch__clear{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border:none;
  background:var(--border-subtle,#e2e8f0);
  border-radius:50%;
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:var(--text-body,#475569);
  line-height:1;
}
.examSearch__clear.is-visible{ display:flex; }
.examSearch__noResults{
  text-align:center;
  padding:40px 20px;
  color:var(--text-muted,#94a3b8);
  font-weight:600;
  font-size:15px;
  display:none;
}
.examSearch__noResults.is-visible{ display:block; }

/* Catalog card — wider variant */
.catCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--surface,#fff);
  border:1px solid var(--border-subtle,#e2e8f0);
  border-left:3px solid var(--f-clr,var(--brand-teal));
  border-radius:var(--radius-lg,12px);
  padding:20px 24px;
  transition:border-color .2s, box-shadow .2s, transform .2s;
  text-decoration:none;
  color:inherit;
}
.catCard:hover{
  border-color:var(--f-clr,var(--brand-teal));
  border-left-color:var(--f-clr,var(--brand-teal));
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transform:translateY(-1px);
}
.catCard__left{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:1;
}
.catCard__abbr{
  flex-shrink:0;
  width:64px;
  height:64px;
  border-radius:var(--radius-lg,12px);
  background:var(--f-bg,linear-gradient(135deg,#179D99,#117673));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:15px;
  color:#fff;
  letter-spacing:.5px;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  text-shadow:0 1px 2px rgba(0,0,0,.15);
}
.catCard--soon .catCard__abbr{
  background:var(--f-bg,linear-gradient(135deg,#94a3b8,#64748b));
  opacity:.65;
  color:#fff;
}
.catCard__info{
  min-width:0;
}
.catCard__name{
  font-weight:750;
  font-size:16px;
  color:var(--text-main);
  margin-bottom:2px;
}
.catCard__full{
  font-size:13px;
  color:var(--text-body);
  font-weight:600;
  margin-bottom:4px;
}
.catCard__desc{
  font-size:13px;
  color:var(--text-muted);
  font-weight:500;
}
.catCard__right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.catCard__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media(max-width:768px){
  .catCard__grid{ grid-template-columns:1fr; }
  .catCard{ flex-direction:column; align-items:flex-start; }
  .catCard__right{ width:100%; justify-content:flex-start; margin-top:8px; }
}
@media(max-width:600px){
  .pageHero{ padding:40px 16px; }
  .pageHero h1{ font-size:28px; }
  .pageBody{ padding:32px 16px 48px; }
  .pageCta{ padding:36px 20px; }
  .pageCta h2{ font-size:22px; }
  .heroStats{ gap:8px; }
  .heroStats span{ padding:6px 12px; font-size:12px; }
  .examCat__title{ font-size:15px; margin:36px 0 12px; gap:10px; }
  .catCard__abbr{ width:48px; height:48px; font-size:13px; }
}

/* ═══════════════════════════════════════
   Pricing Page
   ═══════════════════════════════════════ */
.pricingGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:820px;
  margin:0 auto;
}
.priceCard{
  background:var(--surface,#fff);
  border:1.5px solid var(--border-subtle,#e2e8f0);
  border-radius:16px;
  padding:36px 32px;
  display:flex;
  flex-direction:column;
}
.priceCard--pro{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 8px 32px rgba(0,166,118,.12);
  position:relative;
}
.priceCard__badge{
  position:absolute;
  top:-13px;
  left:50%;
  transform:translateX(-50%);
  background:var(--brand-teal,#179D99);
  color:#fff;
  font-size:12px;
  font-weight:800;
  padding:4px 16px;
  border-radius:100px;
  letter-spacing:.4px;
  text-transform:uppercase;
  white-space:nowrap;
}
.priceCard__tier{
  font-size:14px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--text-muted,#94a3b8);
  margin-bottom:8px;
}
.priceCard--pro .priceCard__tier{
  color:var(--brand-teal,#179D99);
}
.priceCard__price{
  display:flex;
  align-items:baseline;
  gap:4px;
  margin-bottom:4px;
}
.priceCard__amount{
  font-size:48px;
  font-weight:850;
  letter-spacing:-.03em;
  line-height:1;
  color:var(--text-main,#0f172a);
}
.priceCard__period{
  font-size:15px;
  font-weight:600;
  color:var(--text-muted,#94a3b8);
}
.priceCard__sub{
  font-size:13px;
  font-weight:600;
  color:var(--text-body,#475569);
  margin-bottom:24px;
}
.priceCard__divider{
  height:1px;
  background:var(--border-subtle,#e2e8f0);
  margin:0 0 24px;
}
.priceCard__features{
  list-style:none;
  padding:0;
  margin:0 0 32px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
.priceCard__features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  font-weight:600;
  color:var(--text-body,#475569);
  line-height:1.45;
}
.priceCard__features li::before{
  content:"";
  flex-shrink:0;
  width:18px;
  height:18px;
  margin-top:1px;
  border-radius:50%;
  background:rgba(0,166,118,.1);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5' stroke='%2300a676' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px;
}
.priceCard__features li.feat--no::before{
  background:rgba(148,163,184,.1);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px;
}
.priceCard__features li.feat--no{
  color:var(--text-muted,#94a3b8);
}
.priceCard__cta{
  margin-top:auto;
}
.priceCard__cta .btn{
  width:100%;
  text-align:center;
  justify-content:center;
}

/* Pricing FAQ */
.priceFaq{
  max-width:680px;
  margin:56px auto 0;
}
.priceFaq__title{
  font-size:22px;
  font-weight:800;
  text-align:center;
  margin-bottom:24px;
  color:var(--text-main);
}
.faqItem{
  border-bottom:1px solid var(--border-subtle,#e2e8f0);
}
.faqItem__q{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;
  background:none;
  border:none;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  color:var(--text-main,#0f172a);
  text-align:left;
  font-family:inherit;
}
.faqItem__q::after{
  content:"+";
  font-size:20px;
  font-weight:700;
  color:var(--text-muted,#94a3b8);
  flex-shrink:0;
  transition:transform .2s;
}
.faqItem.is-open .faqItem__q::after{
  content:"\2212";
}
.faqItem__a{
  display:none;
  padding:0 0 18px;
  font-size:14px;
  font-weight:600;
  color:var(--text-body,#475569);
  line-height:1.65;
}
.faqItem.is-open .faqItem__a{
  display:block;
}

/* Pricing responsive */
@media(max-width:768px){
  .pricingGrid{ gap:20px; }
  .priceFaq{ margin-top:40px; }
}
@media(max-width:640px){
  .pricingGrid{ grid-template-columns:1fr; max-width:400px; }
  .priceCard{ padding:28px 24px; }
  .priceCard__amount{ font-size:40px; }
  .priceFaq__title{ font-size:20px; }
  .faqItem__q{ font-size:14px; }
}

/* ═══════════════════════════════════════
   FAQ Standalone Page
   ═══════════════════════════════════════ */

/* Search bar */
.faqSearch{
  max-width:560px;
  margin:0 auto 36px;
  position:relative;
}
.faqSearch__input{
  width:100%;
  padding:14px 20px 14px 48px;
  border-radius:100px;
  border:2px solid var(--border-subtle,#e2e8f0);
  font-size:15px;
  font-weight:600;
  font-family:inherit;
  color:var(--text-main,#0f172a);
  background:#fff;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.faqSearch__input:focus{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 0 0 4px rgba(23,157,153,.12);
}
.faqSearch__input::placeholder{
  color:var(--text-muted,#94a3b8);
  font-weight:500;
}
.faqSearch__icon{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:var(--text-muted,#94a3b8);
  pointer-events:none;
}
.faqSearch__clear{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  background:var(--border-subtle,#e2e8f0);
  border:none;
  border-radius:50%;
  width:24px;
  height:24px;
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:var(--text-muted,#64748b);
  line-height:1;
}
.faqSearch__clear.is-visible{
  display:flex;
}

/* Category tabs */
.faqTabs{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:40px;
}
.faqTab{
  padding:8px 20px;
  border-radius:100px;
  border:1.5px solid var(--border-subtle,#e2e8f0);
  background:#fff;
  font-size:13px;
  font-weight:700;
  color:var(--text-body,#475569);
  cursor:pointer;
  transition:all .2s;
  font-family:inherit;
}
.faqTab:hover{
  border-color:var(--brand-teal,#179D99);
  color:var(--brand-teal,#179D99);
}
.faqTab.is-active{
  background:var(--brand-navy,#0f172a);
  border-color:var(--brand-navy,#0f172a);
  color:#fff;
}

/* Category sections */
.faqCategory{
  margin-bottom:48px;
}
.faqCategory__header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  padding-bottom:14px;
  border-bottom:2px solid var(--border-subtle,#e2e8f0);
}
.faqCategory__icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  flex-shrink:0;
}
.faqCategory__icon--general{
  background:linear-gradient(135deg,#179D99,#117673);
  color:#fff;
}
.faqCategory__icon--pricing{
  background:linear-gradient(135deg,#6366f1,#4338ca);
  color:#fff;
}
.faqCategory__icon--exams{
  background:linear-gradient(135deg,#1a6fc4,#1a5fb0);
  color:#fff;
}
.faqCategory__icon--features{
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff;
}
.faqCategory__icon--account{
  background:linear-gradient(135deg,#e0457b,#c2255c);
  color:#fff;
}
.faqCategory__icon--mobile{
  background:linear-gradient(135deg,#14b8a6,#0d9488);
  color:#fff;
}
.faqCategory__name{
  font-size:18px;
  font-weight:800;
  color:var(--text-main,#0f172a);
  letter-spacing:-.01em;
}
.faqCategory__count{
  font-size:12px;
  font-weight:700;
  color:var(--text-muted,#94a3b8);
  background:var(--bg-muted,#f1f5f9);
  padding:3px 10px;
  border-radius:100px;
  margin-left:auto;
}

/* Enhanced FAQ items for standalone page */
.faqPage .faqItem{
  border:1.5px solid var(--border-subtle,#e2e8f0);
  border-radius:12px;
  margin-bottom:10px;
  background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
.faqPage .faqItem:hover{
  border-color:rgba(23,157,153,.3);
}
.faqPage .faqItem.is-open{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 2px 12px rgba(23,157,153,.08);
}
.faqPage .faqItem__q{
  padding:16px 20px;
  font-size:15px;
  gap:12px;
}
.faqPage .faqItem__q::after{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-muted,#f1f5f9);
  border-radius:8px;
  font-size:18px;
  transition:background .2s, transform .2s;
}
.faqPage .faqItem.is-open .faqItem__q::after{
  background:var(--brand-teal,#179D99);
  color:#fff;
}
.faqPage .faqItem__a{
  padding:0 20px 18px;
  font-size:14.5px;
  line-height:1.7;
}

/* No results state */
.faqNoResults{
  text-align:center;
  padding:48px 24px;
  display:none;
}
.faqNoResults.is-visible{
  display:block;
}
.faqNoResults__icon{
  margin-bottom:16px;
  opacity:.5;
}
.faqNoResults__title{
  font-size:18px;
  font-weight:800;
  color:var(--text-main,#0f172a);
  margin-bottom:8px;
}
.faqNoResults__desc{
  font-size:14px;
  color:var(--text-muted,#94a3b8);
  font-weight:600;
}

/* Quick answer cards (top of FAQ page) */
.faqQuickCards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  margin-bottom:48px;
}
.faqQuickCard{
  background:#fff;
  border:1.5px solid var(--border-subtle,#e2e8f0);
  border-radius:14px;
  padding:24px;
  text-align:center;
  transition:border-color .2s, box-shadow .2s;
}
.faqQuickCard:hover{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 4px 16px rgba(0,0,0,.06);
}
.faqQuickCard__icon{
  width:40px;
  height:40px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
}
.faqQuickCard__title{
  font-size:15px;
  font-weight:800;
  color:var(--text-main,#0f172a);
  margin-bottom:6px;
}
.faqQuickCard__desc{
  font-size:13px;
  font-weight:600;
  color:var(--text-body,#475569);
  line-height:1.5;
}

/* Contact CTA card */
.faqContactCard{
  background:linear-gradient(135deg,#0f172a 0%,#1a3a5c 50%,#0f172a 100%);
  border-radius:16px;
  padding:40px 32px;
  text-align:center;
  color:#fff;
  margin-top:16px;
}
.faqContactCard h3{
  font-size:20px;
  font-weight:800;
  margin-bottom:8px;
  color:#fff;
}
.faqContactCard p{
  font-size:14px;
  font-weight:600;
  opacity:.8;
  margin-bottom:20px;
  line-height:1.6;
}
.faqContactCard .btn{
  margin:0 6px;
}

/* FAQ page responsive */
@media(max-width:768px){
  .faqQuickCards{ grid-template-columns:1fr; max-width:400px; margin-left:auto; margin-right:auto; }
  .faqCategory__name{ font-size:16px; }
}
@media(max-width:480px){
  .faqTabs{ gap:6px; }
  .faqTab{ padding:7px 14px; font-size:12px; }
  .faqPage .faqItem__q{ padding:14px 16px; font-size:14px; }
  .faqPage .faqItem__a{ padding:0 16px 16px; }
  .faqContactCard{ padding:32px 20px; }
}

/* ═══════════════════════════════════════
   How It Works Page
   ═══════════════════════════════════════ */
.stepsGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  max-width:960px;
  margin:0 auto;
  counter-reset:step;
}
.stepCard{
  text-align:center;
  position:relative;
}
.stepCard__num{
  width:48px;
  height:48px;
  border-radius:14px;
  background:var(--brand-teal,#179D99);
  color:#fff;
  font-size:20px;
  font-weight:850;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  box-shadow:0 4px 16px rgba(0,166,118,.2);
}
.stepCard__title{
  font-size:16px;
  font-weight:800;
  color:var(--text-main,#0f172a);
  margin-bottom:6px;
}
.stepCard__desc{
  font-size:13.5px;
  font-weight:600;
  color:var(--text-body,#475569);
  line-height:1.55;
}
.sectionLabel{
  text-align:center;
  margin-bottom:40px;
}
.sectionLabel__sub{
  font-size:13px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:var(--brand-teal,#179D99);
  margin-bottom:6px;
}
.sectionLabel__title{
  font-size:28px;
  font-weight:850;
  color:var(--text-main,#0f172a);
  letter-spacing:-.02em;
}

/* Feature rows */
.featureRows{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:48px;
}
.featureRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.featureRow--reverse .featureRow__visual{
  order:-1;
}
.featureRow__tag{
  font-size:12px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--brand-teal,#179D99);
  margin-bottom:8px;
}
.featureRow__h{
  font-size:22px;
  font-weight:800;
  color:var(--text-main,#0f172a);
  margin-bottom:10px;
  letter-spacing:-.01em;
}
.featureRow__p{
  font-size:14px;
  font-weight:600;
  color:var(--text-body,#475569);
  line-height:1.65;
}
.featureRow__visual{
  background:var(--bg-alt,#f1f5f9);
  border-radius:16px;
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
}
.featureRow__mockup{
  width:100%;
  max-width:280px;
  background:#fff;
  border-radius:12px;
  border:1px solid var(--border-subtle,#e2e8f0);
  padding:20px;
  box-shadow:0 4px 16px rgba(0,0,0,.06);
}
.mockBar{
  height:8px;
  border-radius:4px;
  background:var(--bg-alt,#f1f5f9);
  margin-bottom:10px;
}
.mockBar--fill{
  position:relative;
  overflow:hidden;
}
.mockBar--fill::after{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  border-radius:4px;
  background:var(--brand-teal,#179D99);
}
.mockBar--70::after{ width:70%; }
.mockBar--45::after{ width:45%; }
.mockBar--85::after{ width:85%; }
.mockBar--60::after{ width:60%; }
.mockRow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid var(--border-subtle,#e2e8f0);
}
.mockRow:last-child{ border-bottom:none; }
.mockRow__label{
  font-size:12px;
  font-weight:700;
  color:var(--text-body,#475569);
}
.mockRow__value{
  font-size:12px;
  font-weight:800;
  color:var(--brand-teal,#179D99);
}

/* How it works responsive */
@media(max-width:768px){
  .stepsGrid{ grid-template-columns:1fr 1fr; gap:24px; }
  .featureRow{ grid-template-columns:1fr; gap:24px; }
  .featureRow--reverse .featureRow__visual{ order:0; }
}
@media(max-width:480px){
  .stepsGrid{ grid-template-columns:1fr; max-width:320px; }
}

/* ═══════════════════════════════════════
   Testimonials / Results Page
   ═══════════════════════════════════════ */
.statBar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:820px;
  margin:0 auto 48px;
}
.statBlock{
  text-align:center;
  padding:24px 16px;
  background:var(--surface,#fff);
  border:1px solid var(--border-subtle,#e2e8f0);
  border-radius:14px;
}
.statBlock__num{
  font-size:36px;
  font-weight:850;
  color:var(--brand-teal,#179D99);
  letter-spacing:-.02em;
  line-height:1.1;
}
.statBlock__label{
  font-size:13px;
  font-weight:700;
  color:var(--text-body,#475569);
  margin-top:4px;
}

/* Testimonial BEM styles now injected via functions.php wp_head for cache-busting reliability */

/* Section divider */
.sectionDivider{
  margin:56px 0;
  border:none;
  border-top:1px solid var(--border-subtle,#e2e8f0);
}

/* Testimonials responsive */
@media(max-width:768px){
  .statBar{ grid-template-columns:1fr 1fr; }
  .testimonialGrid{ grid-template-columns:1fr; max-width:480px; }
}
@media(max-width:480px){
  .statBar{ grid-template-columns:1fr; max-width:280px; }
}

/* =============================================
   EXAM FINDER WIZARD (2-step)
   ============================================= */

/* Progress bar */
.wizardProgress{
  display:flex; align-items:center; justify-content:center;
  gap:0; padding:32px 24px 24px; max-width:420px; margin:0 auto;
}
.wizardProgress__step{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer; position:relative; z-index:1;
}
.wizardProgress__circle{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; transition:all .3s ease;
  background:var(--bg-off-white,#f1f5f9); color:var(--text-muted,#94a3b8);
  border:2px solid var(--border-subtle,#e2e8f0);
}
.wizardProgress__label{
  font-size:12px; font-weight:700; color:var(--text-muted,#94a3b8);
  transition:color .3s ease; white-space:nowrap;
}
.wizardProgress__step--active .wizardProgress__circle{
  background:var(--brand-teal,#179D99); color:#fff; border-color:var(--brand-teal,#179D99);
  box-shadow:0 0 0 4px rgba(23,157,153,.18);
}
.wizardProgress__step--active .wizardProgress__label{ color:var(--brand-teal,#179D99); }
.wizardProgress__step--done .wizardProgress__circle{
  background:var(--brand-teal,#179D99); color:#fff; border-color:var(--brand-teal,#179D99);
}
.wizardProgress__step--done .wizardProgress__label{ color:var(--text-body,#475569); }
.wizardProgress__line{
  flex:1; height:3px; background:var(--border-subtle,#e2e8f0); border-radius:2px;
  margin:0 12px; margin-bottom:22px; transition:background .3s ease;
}
.wizardProgress__line--done{ background:var(--brand-teal,#179D99); }

/* Wizard container */
.wizardWrap{
  position:relative; overflow:hidden; min-height:400px;
  transition:min-height .3s ease;
}
.wizardStep{
  position:absolute; top:0; left:0; width:100%; padding:8px 0 48px;
  transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .3s ease;
}
.wizardStep--active{ position:relative; transform:translateX(0); opacity:1; pointer-events:auto; }
.wizardStep--left{ transform:translateX(-100%); opacity:0; pointer-events:none; }
.wizardStep--right{ transform:translateX(100%); opacity:0; pointer-events:none; }

/* Search (wizard) */
.wizardSearch{
  position:relative; max-width:480px; margin:0 auto 28px;
}
.wizardSearch__icon{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; color:var(--text-muted,#94a3b8); pointer-events:none;
}
.wizardSearch__input{
  width:100%; padding:12px 40px 12px 42px; border-radius:var(--radius-pill,9999px);
  border:1.5px solid var(--border-subtle,#e2e8f0); font-size:15px; font-weight:600;
  background:var(--surface,#fff); color:var(--text-main,#1e293b);
  transition:border-color .2s, box-shadow .2s; outline:none;
}
.wizardSearch__input:focus{
  border-color:var(--brand-teal,#179D99);
  box-shadow:0 0 0 3px rgba(23,157,153,.12);
}
.wizardSearch__clear{
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  background:none; border:none; font-size:20px; color:var(--text-muted,#94a3b8);
  cursor:pointer; display:none; line-height:1; padding:4px;
}

/* Field cards grid */
.fieldGrid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.fieldCard{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:24px 16px; border-radius:var(--radius-lg,16px);
  background:var(--surface,#fff); border:2px solid var(--border-subtle,#e2e8f0);
  cursor:pointer; transition:all .25s ease; text-align:center;
  animation:wizFadeUp .4s ease both;
}
.fieldCard:hover{
  border-color:var(--brand-teal,#179D99);
  box-shadow:var(--shadow-card,0 10px 22px rgba(15,23,42,.08));
  transform:translateY(-2px);
}
.fieldCard__icon{
  width:48px; height:48px; border-radius:12px; display:inline-flex;
  align-items:center; justify-content:center; flex-shrink:0;
}
.fieldCard__icon svg{ width:24px; height:24px; }
/* Color the icon badges by data-cat */
.fieldCard__icon[data-cat="medical"]{ background:linear-gradient(135deg,#2980e4,#1a5fb0); color:#fff; }
.fieldCard__icon[data-cat="nursing"]{ background:linear-gradient(135deg,#f06292,#c2255c); color:#fff; }
.fieldCard__icon[data-cat="dental"]{ background:linear-gradient(135deg,#00bcd4,#00838f); color:#fff; }
.fieldCard__icon[data-cat="pharmacy"]{ background:linear-gradient(135deg,#9333ea,#6d28d9); color:#fff; }
.fieldCard__icon[data-cat="pa"]{ background:linear-gradient(135deg,#6366f1,#4338ca); color:#fff; }
.fieldCard__icon[data-cat="therapy"]{ background:linear-gradient(135deg,#f59e0b,#d97706); color:#fff; }
.fieldCard__icon[data-cat="allied"]{ background:linear-gradient(135deg,#2dd4bf,#0d9488); color:#fff; }
.fieldCard__icon[data-cat="behavioral"]{ background:linear-gradient(135deg,#c084fc,#9333ea); color:#fff; }
.fieldCard__icon[data-cat="other"]{ background:linear-gradient(135deg,#94a3b8,#64748b); color:#fff; }
.fieldCard__name{
  font-size:14px; font-weight:750; color:var(--text-main,#1e293b); line-height:1.3;
}
.fieldCard__count{
  font-size:12px; font-weight:600; color:var(--text-muted,#94a3b8);
}

/* Back button */
.wizardBack{
  display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:14px;
  color:var(--brand-teal,#179D99); background:none; border:none; cursor:pointer;
  margin-bottom:20px; padding:6px 0; transition:opacity .2s;
}
.wizardBack:hover{ opacity:.7; }

/* Field banner (shown in step 2) */
.wizardFieldBanner{
  display:flex; align-items:center; gap:12px; padding:16px 24px;
  border-radius:var(--radius-lg,16px); margin-bottom:28px;
  font-size:20px; font-weight:800; color:#fff;
}
.wizardFieldBanner svg{ width:24px; height:24px; }
.wizardFieldBanner[data-cat="medical"]{ background:linear-gradient(135deg,#2980e4,#1a5fb0); }
.wizardFieldBanner[data-cat="nursing"]{ background:linear-gradient(135deg,#f06292,#c2255c); }
.wizardFieldBanner[data-cat="dental"]{ background:linear-gradient(135deg,#00bcd4,#00838f); }
.wizardFieldBanner[data-cat="pharmacy"]{ background:linear-gradient(135deg,#9333ea,#6d28d9); }
.wizardFieldBanner[data-cat="pa"]{ background:linear-gradient(135deg,#6366f1,#4338ca); }
.wizardFieldBanner[data-cat="therapy"]{ background:linear-gradient(135deg,#f59e0b,#d97706); }
.wizardFieldBanner[data-cat="allied"]{ background:linear-gradient(135deg,#2dd4bf,#0d9488); }
.wizardFieldBanner[data-cat="behavioral"]{ background:linear-gradient(135deg,#c084fc,#9333ea); }
.wizardFieldBanner[data-cat="other"]{ background:linear-gradient(135deg,#94a3b8,#64748b); }

/* Track group header */
.trackGroup{ margin-bottom:28px; }
.trackGroup__header{
  display:flex; align-items:center; gap:8px; margin-bottom:14px;
  padding-bottom:10px; border-bottom:2px solid var(--border-subtle,#e2e8f0);
}
.trackGroup__name{
  font-size:16px; font-weight:800; color:var(--text-main,#1e293b);
}
.trackGroup__count{
  font-size:12px; font-weight:700; color:var(--text-muted,#94a3b8);
  background:var(--bg-off-white,#f1f5f9); padding:2px 10px; border-radius:100px;
}

/* Exam result cards */
.examResultCards{ display:flex; flex-direction:column; gap:10px; }
.examResult{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 22px; padding-left:26px; border-radius:var(--radius-lg,16px);
  background:var(--surface,#fff); border:1.5px solid var(--border-subtle,#e2e8f0);
  position:relative; overflow:hidden;
  transition:all .25s ease; animation:wizFadeUp .4s ease both;
}
.examResult::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:var(--brand-teal,#179D99);
}
.examResult:hover{
  box-shadow:var(--shadow-card,0 10px 22px rgba(15,23,42,.08));
  transform:translateY(-1px);
}
.examResult--soon{ opacity:.72; }
.examResult--soon::before{ background:var(--border-strong,#cbd5e1); }
.examResult--soon:hover{ opacity:.88; }
.examResult__info{ flex:1; min-width:0; }
.examResult__abbr{
  display:inline-block; font-size:11px; font-weight:800; letter-spacing:.5px;
  color:var(--brand-teal,#179D99); background:rgba(23,157,153,.08);
  padding:2px 8px; border-radius:6px; margin-bottom:4px; text-transform:uppercase;
}
.examResult--soon .examResult__abbr{
  color:var(--text-muted,#94a3b8); background:rgba(100,116,139,.08);
}
.examResult__name{
  display:block; font-size:15px; font-weight:750; color:var(--text-main,#1e293b);
  margin-bottom:2px;
}
.examResult__desc{
  font-size:13px; font-weight:600; color:var(--text-body,#475569);
  margin:0; line-height:1.4;
}
.examResult__qcount{
  display:inline-block; font-size:12px; font-weight:700; color:var(--brand-teal,#179D99);
  margin-top:6px;
}
.examResult__cta{ flex-shrink:0; }
.examResult__notify--done{
  opacity:.6; cursor:default;
}

/* Empty state */
.wizardEmpty{
  text-align:center; padding:48px 24px; color:var(--text-muted,#94a3b8);
  font-size:15px; font-weight:600; grid-column:1/-1;
}

/* Fade-up animation */
@keyframes wizFadeUp{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Responsive */
@media(max-width:768px){
  .wizardProgress{ padding:24px 16px 16px; }
  .wizardProgress__circle{ width:30px; height:30px; font-size:12px; }
  .wizardProgress__label{ font-size:11px; }
  .fieldGrid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .fieldCard{ padding:18px 12px; }
  .examResult{ flex-direction:column; align-items:flex-start; gap:12px; padding:16px; }
  .examResult__cta{ align-self:flex-end; }
}
@media(max-width:480px){
  .fieldGrid{ grid-template-columns:1fr; max-width:360px; margin:0 auto; }
  .fieldCard{ flex-direction:row; text-align:left; padding:14px 16px; gap:12px; }
  .fieldCard__icon{ width:40px; height:40px; border-radius:10px; }
  .fieldCard__icon svg{ width:20px; height:20px; }
  .fieldCard__name{ font-size:13px; }
  .wizardProgress__label{ display:none; }
}


/* ═══════════════════════════════════════════════════════
   WooCommerce Archive / Taxonomy Pages
   ═══════════════════════════════════════════════════════ */

/* Archive header */
.medexp-wc-archive-header{
  margin-bottom:32px;
}
.medexp-wc-archive-header__eyebrow{
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(30,41,59,0.5);
  margin:0 0 6px;
}
.medexp-wc-archive-header__title{
  font-size:clamp(1.6rem,3.2vw,2.4rem);
  font-weight:800;
  color:#0f172a;
  margin:0 0 8px;
  line-height:1.2;
}
.medexp-wc-archive-header__desc{
  max-width:680px;
  color:rgba(30,41,59,0.72);
  font-size:15px;
  line-height:1.6;
}
.medexp-wc-archive-header__count{
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  color:rgba(100,116,139,0.9);
}

/* Product grid (WooCommerce archive) */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important;
  gap:24px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none !important;
}
.woocommerce ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(226,232,240,0.8);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  transition:box-shadow .15s ease,transform .15s ease;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 8px 24px rgba(15,23,42,0.08);
  transform:translateY(-2px);
}

/* Product thumbnail */
.woocommerce ul.products li.product a img{
  margin:0 !important;
  width:100% !important;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
}

/* Product title + price */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px !important;
  font-weight:700 !important;
  color:#0f172a !important;
  padding:14px 16px 4px !important;
  margin:0 !important;
}
.woocommerce ul.products li.product .price{
  font-size:15px !important;
  font-weight:800 !important;
  color:#0f172a !important;
  padding:0 16px 8px !important;
  margin:0 !important;
}

/* Add to cart button in grid */
.woocommerce ul.products li.product .button{
  margin:0 16px 16px !important;
  border-radius:10px !important;
  font-weight:700 !important;
  font-size:13px !important;
  padding:8px 18px !important;
  display:inline-block !important;
  width:auto !important;
}

/* Remove WooCommerce star ratings in grid */
.woocommerce ul.products li.product .star-rating{
  display:none;
}

/* Hide "No sidebar" WooCommerce default widgets entirely */
.woocommerce-page .widget_pages,
.woocommerce-page .widget_archives,
.woocommerce-page .widget_categories,
.woocommerce-page .widget_meta,
.woocommerce-page .widget_recent_entries,
.woocommerce-page .widget_recent_comments,
.woocommerce-page .widget_search,
.woocommerce-page .widget_calendar,
.woocommerce-page .widget_tag_cloud,
.woocommerce-page #secondary,
.woocommerce-page aside.widget-area,
.woocommerce-page .sidebar{
  display:none !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination{
  margin-top:32px !important;
}
.woocommerce nav.woocommerce-pagination ul{
  border:none !important;
  display:flex;
  gap:6px;
  justify-content:center;
}
.woocommerce nav.woocommerce-pagination ul li{
  border:none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid rgba(226,232,240,0.8) !important;
  border-radius:8px !important;
  padding:6px 14px !important;
  font-weight:600;
  font-size:13px;
  color:#334155;
  background:#fff;
  min-width:auto !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:rgba(26,79,156,0.08) !important;
  border-color:rgba(26,79,156,0.25) !important;
  color:#1a4f9c !important;
}
