/* ORVEXIA BCBA Zone — estilos (extraídos de index.html, orden preservado) */
    /* ── DESIGN TOKENS ── */
    :root {
      --white: #ffffff;
      --off-white: #f8f7f5;
      --cloud: #eef1f6;
      --mist: #dce6f0;
      --ink: #0d1b2a;
      --slate: #2d3f52;
      --mid: #5a7291;
      --soft: #8fa8c2;
      --teal: #2a9d8f;
      --teal-light: #3fbfb0;
      --teal-pale: #e0f4f2;
      --lavender: #7b68c8;
      --lavender-light: #a394e0;
      --lavender-pale: #ece9f9;
      --sky: #4a90d9;
      --sky-pale: #e3eef9;
      --warm: #f4a261;
      --warm-pale: #fdf0e6;
      --gradient-hero: linear-gradient(135deg, #0d2035 0%, #1a3a5c 40%, #0e3343 100%);
      --gradient-teal: linear-gradient(135deg, #2a9d8f, #227d72);
      --gradient-lavender: linear-gradient(135deg, #7b68c8, #5e4fa8);
      --gradient-sky: linear-gradient(135deg, #4a90d9, #2c6eb5);
      --gradient-warm: linear-gradient(135deg, #f4a261, #e07b35);
      --radius-sm: 8px;
      --radius-md: 16px;
      --radius-lg: 24px;
      --radius-xl: 40px;
      --radius-pill: 100px;
      --shadow-sm: 0 2px 8px rgba(13,27,42,0.08);
      --shadow-md: 0 8px 32px rgba(13,27,42,0.12);
      --shadow-lg: 0 20px 60px rgba(13,27,42,0.16);
      --shadow-xl: 0 40px 100px rgba(13,27,42,0.22);
      --shadow-teal: 0 12px 40px rgba(42,157,143,0.28);
      --shadow-lav: 0 12px 40px rgba(123,104,200,0.28);
      /* Liquid Glass variables */
      --glass-bg: rgba(255,255,255,0.15);
      --glass-border: rgba(255,255,255,0.25);
      --glass-blur: blur(24px);
      --glass-shadow: 0 8px 32px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.3);
      --glass-highlight: inset 0 1px 0 rgba(255,255,255,0.4), inset 0 -1px 0 rgba(0,0,0,0.08);
    }

    /* ── RESET & BASE ── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body { font-family: 'DM Sans', 'Inter', system-ui, sans-serif; color: var(--ink); background: var(--white); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    /* ── LIQUID GLASS COMPONENTS ── */
    .glass {
      background: var(--glass-bg);
      backdrop-filter: var(--glass-blur);
      -webkit-backdrop-filter: var(--glass-blur);
      border: 1px solid var(--glass-border);
      box-shadow: var(--glass-shadow), var(--glass-highlight);
    }
    .glass-dark {
      background: rgba(13,27,42,0.45);
      backdrop-filter: blur(28px) saturate(180%);
      -webkit-backdrop-filter: blur(28px) saturate(180%);
      border: 1px solid rgba(255,255,255,0.12);
      box-shadow: 0 8px 32px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.15);
    }
    .glass-card {
      background: rgba(255,255,255,0.72);
      backdrop-filter: blur(20px) saturate(200%);
      -webkit-backdrop-filter: blur(20px) saturate(200%);
      border: 1px solid rgba(255,255,255,0.6);
      box-shadow: 0 8px 32px rgba(13,27,42,0.10), inset 0 1px 0 rgba(255,255,255,0.8), inset 0 -1px 0 rgba(0,0,0,0.04);
      transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
    }
    .glass-card:hover {
      background: rgba(255,255,255,0.88);
      transform: translateY(-4px) scale(1.01);
      box-shadow: 0 20px 60px rgba(13,27,42,0.14), inset 0 1px 0 rgba(255,255,255,0.9);
    }
    .glass-btn {
      background: rgba(255,255,255,0.2);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.35);
      box-shadow: 0 4px 16px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.4);
      transition: all 0.25s cubic-bezier(0.34,1.56,0.64,1);
    }
    .glass-btn:hover {
      background: rgba(255,255,255,0.32);
      transform: translateY(-2px) scale(1.03);
      box-shadow: 0 8px 24px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.5);
    }
    .glass-btn:active { transform: translateY(0) scale(0.98); }

    /* ── TYPOGRAPHY ── */
    .display-xl { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(2.8rem,6vw,5.2rem); line-height:1.08; letter-spacing:-0.02em; font-weight:400; }
    .display-lg { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(2.2rem,4.5vw,3.8rem); line-height:1.12; letter-spacing:-0.018em; font-weight:400; }
    .display-md { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.18; letter-spacing:-0.014em; font-weight:400; }
    .headline { font-family:'DM Sans',sans-serif; font-size:clamp(1.2rem,2vw,1.6rem); font-weight:600; line-height:1.3; }
    .body-lg { font-size:1.125rem; line-height:1.7; font-weight:400; color:var(--slate); }
    .body-md { font-size:1rem; line-height:1.7; color:var(--slate); }
    .caption { font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:600; }
    .eyebrow { font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; font-family:'DM Sans',sans-serif; }

    /* ── LAYOUT ── */
    .container { max-width:1180px; margin:0 auto; padding:0 24px; }
    .container-wide { max-width:1360px; margin:0 auto; padding:0 24px; }
    .section { padding:100px 0; }
    .section-sm { padding:64px 0; }

    /* ── DARK MODE TRANSITION ── */
    html { transition: background 0.3s, color 0.3s; }
    body { transition: background 0.3s, color 0.3s; }

    /* ── BACK BUTTON ── */
    .back-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 18px;
      border-radius: var(--radius-pill);
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--slate);
      background: rgba(255,255,255,0.8);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.6);
      box-shadow: 0 4px 12px rgba(13,27,42,0.1);
      cursor: pointer;
      transition: all 0.25s;
      position: fixed;
      top: 88px;
      left: 20px;
      z-index: 990;
      opacity: 0;
      pointer-events: none;
      transform: translateX(-10px);
    }
    .back-btn.visible { opacity: 1; pointer-events: auto; transform: translateX(0); }
    .back-btn:hover { background: white; transform: translateX(-2px); box-shadow: 0 8px 24px rgba(13,27,42,0.15); }

    /* ── SKIP NAV (Accesibilidad WCAG 2.1 AA) ── */
    .skip-nav { position:fixed; top:-100px; left:16px; z-index:99999; background:var(--teal); color:white; padding:10px 20px; border-radius:var(--radius-md); font-weight:700; font-size:0.9rem; text-decoration:none; transition:top 0.2s; }
    .skip-nav:focus { top:16px; }
    /* ── WCAG 2.2 AA — FOCUS VISIBLE ── */
    :focus-visible {
      outline: 3px solid var(--teal);
      outline-offset: 3px;
      border-radius: 4px;
    }
    a:focus-visible, button:focus-visible, [tabindex]:focus-visible,
    input:focus-visible, textarea:focus-visible, select:focus-visible {
      outline: 3px solid var(--teal);
      outline-offset: 3px;
    }
    /* Remove focus ring for mouse users */
    :focus:not(:focus-visible) { outline: none; }


    /* ── SCROLL PROGRESS BAR ── */
    .scroll-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--teal),var(--lavender)); width:0%; z-index:99999; transition:width 0.1s linear; }

    /* ── BACK TO TOP ── */
    .back-to-top { position:fixed; bottom:88px; right:88px; width:44px; height:44px; border-radius:50%; background:var(--gradient-teal); color:white; font-size:1.1rem; font-weight:700; border:none; cursor:pointer; z-index:7800; box-shadow:var(--shadow-teal); opacity:0; transform:translateY(16px); transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); pointer-events:none; }
    .back-to-top.visible { opacity:1; transform:translateY(0); pointer-events:auto; }
    .back-to-top:hover { transform:translateY(-3px) scale(1.08); }
    @media(max-width:768px) { .back-to-top { bottom:80px; right:72px; width:40px; height:40px; font-size:1rem; } }

    /* ══════════════════════════════════════
       AI CHAT WIDGET
    ══════════════════════════════════════ */
    .ai-chat-widget { position:fixed; bottom:24px; right:88px; z-index:8500; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }

    /* FAB button */
    .ai-chat-fab {
  position:relative; display:flex; align-items:center; gap:11px;
  background:linear-gradient(135deg,#1a0533 0%,#2d1060 40%,#4a1fa8 100%);
  color:white; border:none; border-radius:var(--radius-pill);
  padding:13px 20px 13px 13px; cursor:pointer;
  box-shadow:0 0 0 1px rgba(123,104,200,0.4), 0 8px 32px rgba(74,31,168,0.55), 0 0 60px rgba(123,104,200,0.15);
  font-family:inherit; font-weight:700; font-size:0.875rem;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  border:1px solid rgba(163,148,224,0.3);
}
    .ai-chat-fab:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 0 0 1px rgba(163,148,224,0.5), 0 14px 40px rgba(74,31,168,0.7), 0 0 80px rgba(123,104,200,0.2); }
    .ai-fab-icon { width:32px; height:32px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:linear-gradient(135deg,rgba(163,148,224,0.2),rgba(74,31,168,0.3)); border-radius:50%; border:1px solid rgba(163,148,224,0.25); position:relative; }
.ai-fab-icon::before { content:''; position:absolute; inset:-3px; border-radius:50%; border:1px solid rgba(163,148,224,0.15); animation:iconPulse 3s ease-in-out infinite; }
@keyframes iconPulse { 0%,100%{transform:scale(1);opacity:0.5;} 50%{transform:scale(1.3);opacity:0;} }
    .ai-fab-label { white-space:nowrap; }
    .ai-fab-ping { position:absolute; top:-3px; right:-3px; width:14px; height:14px; border-radius:50%; background:#10b981; border:2px solid white; animation:aiPing 2s infinite; }
    @keyframes aiPing { 0%,100%{transform:scale(1);opacity:1;} 50%{transform:scale(1.3);opacity:0.7;} }

    /* Chat window */
    .ai-chat-window { width:400px; height:min(640px,82vh); max-height:82vh; background:white; border-radius:20px; box-shadow:0 24px 80px rgba(13,27,42,0.22),0 0 0 1px rgba(123,104,200,0.15); display:flex; flex-direction:column; overflow:hidden; transform:scale(0.92) translateY(20px); opacity:0; pointer-events:none; transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1); transform-origin:bottom right; }
    .ai-chat-window.open { transform:scale(1) translateY(0); opacity:1; pointer-events:auto; }

    /* Header */
    .ai-chat-header { background:linear-gradient(135deg,#7b68c8,#5e4fa8); padding:14px 16px; display:flex; align-items:center; gap:12px; flex-shrink:0; }
    .ai-chat-avatar { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; border:2px solid rgba(255,255,255,0.3); }
    .ai-chat-header-info { flex:1; min-width:0; }
    .ai-chat-name { font-weight:700; color:white; font-size:0.875rem; }
    .ai-chat-status { display:flex; align-items:center; gap:5px; font-size:0.72rem; color:rgba(255,255,255,0.75); margin-top:2px; }
    .ai-status-dot { width:7px; height:7px; border-radius:50%; background:#10b981; flex-shrink:0; animation:aiPing 2s infinite; }
    .ai-chat-header-actions { display:flex; align-items:center; gap:6px; }
    .ai-lang-select { background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); color:white; border-radius:8px; padding:4px 6px; font-size:0.72rem; font-family:inherit; cursor:pointer; outline:none; }
    .ai-lang-select option { background:#5e4fa8; color:white; }
    .ai-chat-clear,.ai-chat-close { background:rgba(255,255,255,0.15); border:none; color:rgba(255,255,255,0.8); width:28px; height:28px; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.8rem; transition:background 0.2s; }
    .ai-chat-clear:hover,.ai-chat-close:hover { background:rgba(255,255,255,0.28); }

    /* Messages */
    .ai-chat-messages { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; }
    .ai-chat-messages::-webkit-scrollbar { width:4px; }
    .ai-chat-messages::-webkit-scrollbar-thumb { background:var(--mist); border-radius:100px; }
    .ai-msg { display:flex; gap:8px; align-items:flex-end; max-width:88%; animation:aiMsgIn 0.3s ease; }
    @keyframes aiMsgIn { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:translateY(0);} }
    .ai-msg.user { align-self:flex-end; flex-direction:row-reverse; }
    .ai-msg-avatar { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#7b68c8,#5e4fa8); display:flex; align-items:center; justify-content:center; font-size:0.75rem; color:white; flex-shrink:0; }
    .ai-msg-bubble { padding:10px 14px; border-radius:16px; font-size:0.85rem; line-height:1.55; max-width:100%; }
    .ai-msg.bot .ai-msg-bubble { background:var(--off-white); color:var(--ink); border-bottom-left-radius:4px; border:1px solid var(--mist); }
    .ai-msg.user .ai-msg-bubble { background:linear-gradient(135deg,#7b68c8,#5e4fa8); color:white; border-bottom-right-radius:4px; }
    .ai-msg-bubble a { color:var(--teal); text-decoration:underline; }
    .ai-msg-bubble strong { font-weight:700; }
    .ai-msg-bubble ul { margin:6px 0 0 16px; }
    .ai-msg-bubble li { margin-bottom:3px; }
    .ai-typing { display:flex; gap:5px; align-items:center; padding:12px 16px; }
    .ai-typing-dot { width:7px; height:7px; border-radius:50%; background:var(--soft); animation:aiTyping 1.2s infinite; }
    .ai-typing-dot:nth-child(2){ animation-delay:0.2s; }
    .ai-typing-dot:nth-child(3){ animation-delay:0.4s; }
    @keyframes aiTyping { 0%,60%,100%{transform:translateY(0);opacity:0.4;} 30%{transform:translateY(-6px);opacity:1;} }

    /* Quick replies */
    .ai-quick-replies { display:flex; gap:6px; flex-wrap:wrap; padding:10px 14px 4px; border-top:1px solid var(--mist); flex-shrink:0; }
    .ai-qr-btn { padding:5px 11px; border-radius:100px; border:1.5px solid var(--lavender-pale); background:white; color:var(--lavender); font-size:0.72rem; font-weight:600; cursor:pointer; font-family:inherit; transition:all 0.2s; white-space:nowrap; }
    .ai-qr-btn:hover { background:var(--lavender); color:white; border-color:var(--lavender); }

    /* Input */
    .ai-chat-input-area { display:flex; gap:8px; align-items:flex-end; padding:10px 14px 12px; border-top:1px solid var(--mist); flex-shrink:0; }
    .ai-chat-input { flex:1; border:1.5px solid var(--mist); border-radius:16px; padding:14px 16px; font-size:1rem; font-family:inherit; resize:none; outline:none; min-height:54px; max-height:200px; line-height:1.55; transition:border-color 0.2s; }
    .ai-chat-input:focus { border-color:var(--lavender); }
    .ai-chat-send { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#7b68c8,#5e4fa8); border:none; color:white; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.2s; }
    .ai-chat-send:hover { transform:scale(1.08); box-shadow:var(--shadow-lav); }
    .ai-chat-send:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
    .ai-chat-footer { text-align:center; font-size:0.65rem; color:var(--soft); padding:4px 14px 10px; flex-shrink:0; }

    @media(max-width:480px) {
      .ai-chat-widget { bottom:16px; right:16px; }
      .ai-chat-window { width:calc(100vw - 32px); max-height:70vh; }
      .ai-fab-label { display:none; }
      .ai-chat-fab { padding:13px; }
    }

    /* ── WHATSAPP FLOAT ── */
    .whatsapp-float { position:fixed; bottom:88px; left:24px; z-index:7900; display:flex; align-items:center; gap:10px; background:#25D366; color:white; border-radius:var(--radius-pill); padding:13px 18px 13px 16px; box-shadow:0 8px 28px rgba(37,211,102,0.45); text-decoration:none; font-weight:600; font-size:0.875rem; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); }
    .whatsapp-float:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 14px 40px rgba(37,211,102,0.55); }
    .whatsapp-label { white-space:nowrap; }
    .write-float { position:fixed; bottom:88px; left:24px; z-index:7900; line-height:0; text-decoration:none; filter:drop-shadow(0 10px 26px rgba(20,140,80,0.4)); transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1); }
    .write-float img { width:180px; height:auto; display:block; }
    .write-float:hover { transform:translateY(-3px) scale(1.04); filter:drop-shadow(0 16px 34px rgba(30,190,110,0.5)); }

    /* ── LANGUAGE / SETTINGS BAR ── */
    .settings-bar {
      position: fixed;
      bottom: 24px;
      right: 24px;
      z-index: 1100;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
    }
    .settings-fab {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--gradient-teal);
      color: white;
      font-size: 1.3rem;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 28px rgba(42,157,143,0.4);
      cursor: pointer;
      transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
      border: 2px solid rgba(255,255,255,0.3);
    }
    .settings-fab:hover { transform: scale(1.1) rotate(90deg); box-shadow: 0 12px 36px rgba(42,157,143,0.5); }
    .settings-panel {
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(28px);
      -webkit-backdrop-filter: blur(28px);
      border: 1px solid rgba(255,255,255,0.7);
      border-radius: 20px;
      box-shadow: 0 20px 60px rgba(13,27,42,0.2), inset 0 1px 0 rgba(255,255,255,0.9);
      padding: 20px;
      width: 240px;
      display: none;
      flex-direction: column;
      gap: 8px;
    }
    .settings-panel.open { display: flex; }
    .settings-panel-title { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--soft); margin-bottom: 4px; }
    .lang-btn {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 12px;
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--slate);
      cursor: pointer;
      transition: all 0.2s;
      border: 1.5px solid transparent;
    }
    .lang-btn:hover { background: var(--cloud); color: var(--ink); }
    .lang-btn.active { background: var(--teal-pale); border-color: var(--teal); color: var(--teal); }
    .lang-flag { font-size: 1.2rem; }

    /* ── NAVBAR ── */
    .navbar {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 1000;
      padding: 0 24px;
      transition: all 0.4s ease;
    }
    .navbar.scrolled {
      background: rgba(255,255,255,0.85);
      backdrop-filter: blur(28px) saturate(200%);
      -webkit-backdrop-filter: blur(28px) saturate(200%);
      box-shadow: 0 1px 0 rgba(13,27,42,0.06), 0 4px 20px rgba(13,27,42,0.08);
      border-bottom: 1px solid rgba(255,255,255,0.6);
    }
    .navbar-inner { max-width:1180px; margin:0 auto; height:72px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .nav-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
    .nav-logo-mark { width:42px; height:42px; background:#fff; border-radius:11px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-teal); overflow:hidden; padding:2px; }
    .nav-logo-mark img { width:100%; height:100%; object-fit:contain; display:block; }
    .nav-logo-text { font-family:'DM Serif Display',serif; font-size:1.3rem; color:var(--ink); letter-spacing:-0.01em; }
    .nav-logo-text span { color:var(--teal); }
    .nav-links { display:flex; align-items:center; gap:4px; list-style:none; }

    .nav-links a.nav-active { color: var(--teal) !important; font-weight: 700; }
        .nav-links a { font-size:0.875rem; font-weight:500; color:var(--slate); padding:8px 12px; border-radius:var(--radius-sm); transition:color 0.2s,background 0.2s; }
    .nav-links a:hover { color:var(--ink); background:var(--cloud); }

    /* Dropdown nav */
    .nav-dropdown { position: relative; }
    .nav-dropdown-menu {
      position: absolute;
      top: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      min-width: 220px;
      background: rgba(255,255,255,0.95);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      border: 1px solid rgba(255,255,255,0.7);
      border-radius: 16px;
      box-shadow: 0 20px 60px rgba(13,27,42,0.18), inset 0 1px 0 rgba(255,255,255,0.8);
      padding: 8px;
      display: none;
      flex-direction: column;
      z-index: 2000;
    }
    .nav-dropdown:hover .nav-dropdown-menu,
    .nav-dropdown-menu:hover { display: flex; }
    .nav-dropdown-menu a { padding: 10px 14px; border-radius: 10px; font-size: 0.85rem; font-weight: 500; color: var(--slate); transition: all 0.2s; display: flex; align-items: center; gap: 10px; }
    .nav-dropdown-menu a:hover { background: var(--cloud); color: var(--ink); }
    .nav-dropdown > a::after { content: ' ▾'; font-size: 0.7rem; }

    .nav-cta { display:flex; align-items:center; gap:12px; }
    .btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:var(--radius-pill); font-weight:600; font-size:0.875rem; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); white-space:nowrap; }
    .btn-primary {
      background: var(--gradient-teal);
      color: white;
      box-shadow: var(--shadow-teal), inset 0 1px 0 rgba(255,255,255,0.2);
    }
    .btn-primary:hover { transform:translateY(-2px) scale(1.03); box-shadow:0 16px 48px rgba(42,157,143,0.4); }
    .btn-ghost { color:var(--slate); }
    .btn-ghost:hover { color:var(--ink); background:var(--cloud); }
    .btn-outline { border:1.5px solid rgba(255,255,255,0.3); color:white; }
    .btn-outline:hover { background:rgba(255,255,255,0.15); border-color:rgba(255,255,255,0.5); }
    .btn-lg { padding:14px 28px; font-size:1rem; }
    .btn-white { background:white; color:var(--teal); box-shadow:var(--shadow-md); }
    .btn-white:hover { transform:translateY(-2px) scale(1.02); box-shadow:var(--shadow-lg); }
    .btn-glass {
      background: rgba(255,255,255,0.18);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.35);
      color: white;
      box-shadow: 0 4px 16px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.35);
    }
    .btn-glass:hover { background: rgba(255,255,255,0.28); transform: translateY(-2px); }

    /* ── HERO ── */
    .hero { min-height:100vh; background:var(--gradient-hero); display:flex; align-items:center; position:relative; overflow:hidden; padding-top:0; margin-top:0; }
    .hero-bg-orbs { position:absolute; inset:0; pointer-events:none; }
    .orb { position:absolute; border-radius:50%; filter:blur(80px); opacity:0.15; animation:floatOrb 8s ease-in-out infinite; }
    .orb-1 { width:600px; height:600px; background:var(--teal); top:-200px; right:-100px; animation-delay:0s; }
    .orb-2 { width:400px; height:400px; background:var(--lavender); bottom:-100px; left:10%; animation-delay:3s; }
    .orb-3 { width:300px; height:300px; background:var(--sky); top:40%; right:20%; animation-delay:1.5s; }
    @keyframes floatOrb { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(20px,-30px) scale(1.08);} }
    .hero-grid-overlay { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; }
    .hero-inner { position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto; padding:80px 24px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .hero-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:6px 14px 6px 8px; background:rgba(42,157,143,0.2); border:1px solid rgba(42,157,143,0.4); border-radius:var(--radius-pill); color:var(--teal-light); font-size:0.75rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:28px; }
    .hero-eyebrow-dot { width:6px; height:6px; background:var(--teal-light); border-radius:50%; animation:pulse 2s ease-in-out infinite; }
    @keyframes pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.5;transform:scale(0.8);} }
    .hero-headline { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(2.6rem,5.5vw,4.8rem); line-height:1.06; letter-spacing:-0.025em; color:white; margin-bottom:24px; }
    .hero-headline em { font-style:italic; color:var(--teal-light); }
    .hero-sub { font-size:1.125rem; line-height:1.7; color:rgba(255,255,255,0.72); margin-bottom:40px; max-width:480px; }
    .hero-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:56px; }
    .hero-stats { display:flex; gap:32px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.12); }
    .hero-stat-num { font-family:'DM Serif Display',serif; font-size:2rem; color:white; line-height:1; margin-bottom:4px; }
    .hero-stat-num span { color:var(--teal-light); }
    .hero-stat-label { font-size:0.8rem; color:rgba(255,255,255,0.55); font-weight:500; }
    .hero-visual { position:relative; }
    .hero-card-main { background:rgba(255,255,255,0.08); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:1px solid rgba(255,255,255,0.18); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.2); }
    .hero-image-placeholder { width:100%; height:380px; background:linear-gradient(135deg,rgba(42,157,143,0.3) 0%,rgba(74,144,217,0.2) 50%,rgba(123,104,200,0.3) 100%); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
    .hero-card-footer { padding:20px 24px; display:flex; align-items:center; justify-content:space-between; }
    .hero-card-badge { display:flex; align-items:center; gap:10px; }
    .badge-icon { width:40px; height:40px; background:var(--gradient-teal); border-radius:10px; display:flex; align-items:center; justify-content:center; }
    .badge-text-main { font-size:0.875rem; font-weight:600; color:white; }
    .badge-text-sub { font-size:0.75rem; color:rgba(255,255,255,0.5); }
    .hero-card-rating { display:flex; align-items:center; gap:6px; }
    .stars { color:#fbbf24; font-size:0.875rem; }
    .rating-text { font-size:0.8rem; color:rgba(255,255,255,0.6); }
    .float-card { position:absolute; background:rgba(255,255,255,0.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,0.7); border-radius:var(--radius-md); padding:14px 18px; box-shadow:0 12px 40px rgba(13,27,42,0.18), inset 0 1px 0 rgba(255,255,255,0.9); animation:floatCard 6s ease-in-out infinite; }
    .float-card-1 { top:-20px; left:-32px; animation-delay:0s; }
    .float-card-2 { bottom:60px; right:-28px; animation-delay:2s; }
    @keyframes floatCard { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);} }
    .float-card-inner { display:flex; align-items:center; gap:10px; }
    .float-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
    .float-card-label { font-size:0.7rem; color:var(--mid); font-weight:500; }
    .float-card-value { font-size:0.95rem; font-weight:700; color:var(--ink); }

    /* ── TRUST BAR ── */
    .trust-bar { background:var(--cloud); padding:28px 0; border-bottom:1px solid var(--mist); }
    .trust-bar-inner { display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap; }
    .trust-item { display:flex; align-items:center; gap:10px; color:var(--mid); font-size:0.875rem; font-weight:600; }
    .trust-icon { font-size:1.2rem; }
    .trust-divider { width:1px; height:20px; background:var(--mist); }

    /* ── SECTION HEADERS ── */
    .section-header { text-align:center; max-width:720px; margin:0 auto 64px; }
    .section-eyebrow { display:inline-block; padding:6px 14px; border-radius:var(--radius-pill); font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:16px; }
    .eyebrow-teal { background:var(--teal-pale); color:var(--teal); }
    .eyebrow-lav { background:var(--lavender-pale); color:var(--lavender); }
    .eyebrow-sky { background:var(--sky-pale); color:var(--sky); }
    .eyebrow-warm { background:var(--warm-pale); color:var(--warm); }
    .section-title { margin-bottom:16px; }
    .section-sub { color:var(--mid); font-size:1.05rem; line-height:1.7; }

    /* ── LOCATIONS ── */
    .locations { background: linear-gradient(135deg, #0d2035 0%, #1a3a5c 100%); padding: 80px 0; }
    .locations-header { text-align: center; margin-bottom: 56px; }
    .locations-header h2 { color: white; font-family: 'DM Serif Display', serif; font-size: clamp(2rem,4vw,3rem); margin-bottom: 12px; }
    .locations-header p { color: rgba(255,255,255,0.65); font-size: 1.05rem; }
    .locations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .location-card {
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      border: 1px solid rgba(255,255,255,0.16);
      border-radius: 20px;
      padding: 28px 24px;
      transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
      cursor: pointer;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
    }
    .location-card:hover { background: rgba(255,255,255,0.14); transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.25); }
    .location-city { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--teal-light); margin-bottom: 8px; }
    .location-name { font-weight: 700; font-size: 1.05rem; color: white; margin-bottom: 14px; }
    .location-detail { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; color: rgba(255,255,255,0.65); font-size: 0.85rem; line-height: 1.5; }
    .location-detail-icon { font-size: 0.9rem; flex-shrink: 0; margin-top: 1px; }
    .location-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: var(--radius-pill); background: rgba(42,157,143,0.25); border: 1px solid rgba(42,157,143,0.4); color: var(--teal-light); font-size: 0.8rem; font-weight: 600; margin-top: 14px; transition: all 0.2s; cursor: pointer; text-decoration: none; }
    .location-btn:hover { background: rgba(42,157,143,0.4); }

    /* ── ABOUT ── */
    .about { background:var(--off-white); }
    .about-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .about-visual { position:relative; }
    .about-photo { width:100%; aspect-ratio:3/4; border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--teal-pale),var(--lavender-pale)); position:relative; overflow:hidden; box-shadow:var(--shadow-xl); }
    .about-photo-inner { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
    .about-credential-card { position:absolute; bottom:-16px; right:-24px; background:rgba(255,255,255,0.95); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,0.8); border-radius:var(--radius-md); padding:18px 22px; box-shadow:0 16px 48px rgba(13,27,42,0.18), inset 0 1px 0 rgba(255,255,255,0.9); }
    .credential-list { list-style:none; }
    .credential-list li { display:flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:600; color:var(--slate); padding:4px 0; }
    .credential-dot { width:6px; height:6px; border-radius:50%; background:var(--teal); flex-shrink:0; }
    .about-content { padding:20px 0; }
    .about-name { font-family:'DM Serif Display',serif; font-size:2.4rem; color:var(--ink); margin-bottom:6px; letter-spacing:-0.02em; }
    .about-title { font-size:0.875rem; color:var(--teal); font-weight:600; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:24px; }
    .about-bio { color:var(--slate); line-height:1.8; margin-bottom:20px; }
    .about-mission { background:var(--teal-pale); border-left:3px solid var(--teal); padding:18px 20px; border-radius:0 var(--radius-sm) var(--radius-sm) 0; margin-bottom:32px; color:var(--slate); font-style:italic; line-height:1.7; }
    .about-achievements { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .achievement { display:flex; align-items:flex-start; gap:10px; }
    .achievement-icon { width:32px; height:32px; background:var(--teal-pale); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; margin-top:2px; }
    .achievement-text { font-size:0.85rem; font-weight:600; color:var(--slate); line-height:1.4; }

    /* ── SERVICES ── */
    .services { background:white; }
    .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .service-card { background:rgba(248,247,245,0.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,230,240,0.6); border-radius:var(--radius-lg); padding:32px 28px; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; position:relative; overflow:hidden; }
    .service-card::before { content:''; position:absolute; inset:0; background:var(--gradient-teal); opacity:0; transition:opacity 0.3s; border-radius:inherit; }
    .service-card:hover { transform:translateY(-6px) scale(1.01); box-shadow:0 24px 64px rgba(13,27,42,0.12); border-color:rgba(42,157,143,0.3); background:rgba(255,255,255,0.95); }
    .service-card:hover::before { opacity:0.03; }
    .service-icon { width:52px; height:52px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:18px; }
    .service-name { font-size:1.05rem; font-weight:700; color:var(--ink); margin-bottom:10px; }
    .service-desc { font-size:0.875rem; color:var(--mid); line-height:1.65; margin-bottom:20px; }
    .service-link { font-size:0.8rem; font-weight:700; color:var(--teal); display:flex; align-items:center; gap:6px; letter-spacing:0.04em; cursor:pointer; }

    /* ── STATS BAND ── */
    .stats-band { background:var(--ink); padding:72px 0; }
    .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:48px; text-align:center; }
    .stat-num { font-family:'DM Serif Display',serif; font-size:3.2rem; color:white; line-height:1; margin-bottom:8px; }
    .stat-num .accent { color:var(--teal-light); }
    .stat-label { font-size:0.875rem; color:rgba(255,255,255,0.55); font-weight:500; }

    /* ── EDUCATION CENTER ── */
    .education { background:var(--off-white); }
    .edu-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
    .edu-card { background:rgba(255,255,255,0.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-lg); padding:32px; display:flex; gap:20px; transition:all 0.3s; cursor:pointer; }
    .edu-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); background:white; }
    .edu-card-icon { width:52px; height:52px; flex-shrink:0; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.4rem; }
    .edu-card-title { font-weight:700; font-size:1.05rem; color:var(--ink); margin-bottom:8px; }
    .edu-card-desc { font-size:0.875rem; color:var(--mid); line-height:1.65; margin-bottom:14px; }
    .edu-card-tag { display:inline-block; padding:4px 10px; background:var(--cloud); border-radius:var(--radius-pill); font-size:0.7rem; font-weight:600; color:var(--mid); }

    /* ── PATHWAY ── */
    .pathway { background:white; }
    .pathway-steps { display:flex; flex-direction:column; gap:0; max-width:800px; margin:0 auto; }
    .pathway-step { display:grid; grid-template-columns:80px 1fr; gap:0; position:relative; }
    .pathway-step:not(:last-child) .step-line { position:absolute; left:39px; top:64px; bottom:0; width:2px; background:linear-gradient(to bottom,var(--teal),var(--lavender)); }
    .step-number { display:flex; flex-direction:column; align-items:center; padding-top:4px; }
    .step-num-circle { width:48px; height:48px; border-radius:50%; background:var(--gradient-teal); color:white; font-weight:700; font-size:1rem; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-teal); flex-shrink:0; z-index:1; }
    .step-content { padding:0 0 48px 24px; }
    .step-title { font-size:1.1rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
    .step-desc { font-size:0.875rem; color:var(--mid); line-height:1.65; margin-bottom:10px; }
    .step-detail { font-size:0.8rem; color:var(--soft); font-weight:500; }

    /* ── TEAM ── */
    .team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .team-card { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-lg); padding:28px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); }
    .team-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:rgba(42,157,143,0.25); }
    .team-avatar { width:96px; height:96px; border-radius:50%; display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; background:linear-gradient(135deg,#e0f4f2,#ece9f9); position:relative; }
    .team-info { display:flex; flex-direction:column; gap:4px; }
    .team-name { font-family:'DM Serif Display',serif; font-size:1.05rem; color:var(--ink); font-weight:400; }
    .team-title { font-size:0.8rem; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:0.06em; }
    .team-creds { font-size:0.75rem; color:var(--soft); font-weight:500; }
    .team-bio { font-size:0.82rem; color:var(--mid); line-height:1.6; margin-top:6px; }

    /* ── YRAILIS CARD ── */
    .yrailis-card { position:relative; background:white; border-radius:28px; overflow:hidden; border:2px solid transparent; background-clip:padding-box; margin-bottom:0; box-shadow:0 24px 80px rgba(42,157,143,0.14), 0 0 0 2px rgba(42,157,143,0.2); transition:all 0.35s ease; }
    .yrailis-card:hover { transform:translateY(-4px); box-shadow:0 32px 100px rgba(42,157,143,0.2), 0 0 0 2px rgba(42,157,143,0.4); }
    .yrailis-bg-pattern { position:absolute; inset:0; background:linear-gradient(135deg, rgba(42,157,143,0.04) 0%, rgba(123,104,200,0.04) 100%); pointer-events:none; }
    .yrailis-bg-pattern::before { content:''; position:absolute; top:-40px; right:-40px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(42,157,143,0.08),transparent 70%); }
    .yrailis-bg-pattern::after { content:''; position:absolute; bottom:-40px; left:-40px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(123,104,200,0.08),transparent 70%); }
    .yrailis-content { position:relative; z-index:1; display:grid; grid-template-columns:200px 1fr; gap:0; align-items:stretch; }
    .yrailis-avatar-wrap { background:linear-gradient(160deg,var(--teal-pale),var(--lavender-pale)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:40px 24px; border-right:1.5px solid rgba(42,157,143,0.12); }
    .yrailis-avatar { width:110px; height:110px; border-radius:50%; background:white; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 32px rgba(42,157,143,0.25), 0 0 0 4px rgba(255,255,255,0.8); overflow:hidden; }
    .yrailis-badge { background:linear-gradient(135deg,var(--teal),var(--lavender)); color:white; font-size:0.7rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; padding:5px 14px; border-radius:100px; white-space:nowrap; }
    .yrailis-info { padding:36px 40px; display:flex; flex-direction:column; gap:10px; }
    .yrailis-name { font-family:'DM Serif Display',serif; font-size:clamp(1.4rem,2.5vw,1.9rem); color:var(--ink); line-height:1.15; }
    .yrailis-role { font-size:0.82rem; font-weight:800; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; }
    .yrailis-divider { width:48px; height:3px; background:linear-gradient(135deg,var(--teal),var(--lavender)); border-radius:100px; margin:2px 0; }
    .yrailis-bio { font-size:0.9rem; color:var(--slate); line-height:1.72; }
    .yrailis-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
    .ytag { background:var(--off-white); border:1.5px solid var(--mist); border-radius:100px; padding:5px 13px; font-size:0.75rem; font-weight:600; color:var(--mid); }
    .yrailis-contact { display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
    .yrailis-btn { display:inline-flex; align-items:center; gap:7px; padding:10px 20px; border-radius:var(--radius-pill); background:linear-gradient(135deg,var(--teal),#227d72); color:white; font-size:0.82rem; font-weight:700; text-decoration:none; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); box-shadow:0 4px 16px rgba(42,157,143,0.3); }
    .yrailis-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(42,157,143,0.45); }
    .yrailis-btn-outline { background:white; color:var(--teal); border:2px solid var(--teal); box-shadow:none; }
    .yrailis-btn-outline:hover { background:var(--teal-pale); box-shadow:0 4px 16px rgba(42,157,143,0.2); }
    @media(max-width:768px) {
      .yrailis-content { grid-template-columns:1fr; }
      .yrailis-avatar-wrap { padding:32px 24px; border-right:none; border-bottom:1.5px solid rgba(42,157,143,0.12); }
      .yrailis-info { padding:24px; }
    }

    /* ── INSURANCE ── */
    .insurance-logos-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-bottom:0; }
    .insurance-logo-card { background:var(--off-white); border:1.5px solid var(--mist); border-radius:var(--radius-md); padding:20px 12px; text-align:center; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; display:block; }
    .insurance-logo-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:rgba(42,157,143,0.3); background:white; }
    .ins-logo-icon { width:52px; height:52px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; font-size:0.75rem; font-weight:800; color:white; letter-spacing:0.02em; }
    .ins-logo-name { font-size:0.72rem; font-weight:600; color:var(--slate); line-height:1.4; }

    /* ── BOARD EXAM PREP v2 ── */
    .prep-tabs-nav { display:flex; gap:0; overflow-x:auto; }
    .prep-tab-nav { display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 20px; border:none; background:none; color:var(--mid); font-size:0.78rem; font-weight:600; cursor:pointer; border-bottom:3px solid transparent; transition:all 0.2s; font-family:inherit; white-space:nowrap; flex-shrink:0; }
    .prep-tab-nav .ptab-icon { font-size:1.2rem; }
    .prep-tab-nav .ptab-label { font-size:0.72rem; letter-spacing:0.04em; }
    .prep-tab-nav:hover { color:var(--teal); background:var(--teal-pale); }
    .prep-tab-nav.active { color:var(--teal); border-bottom-color:var(--teal); background:var(--teal-pale); }
    .prep-panel { animation:fadeInUp 0.3s ease; }
    .prep-back-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:var(--radius-pill); border:1.5px solid var(--mist); background:white; color:var(--mid); font-size:0.82rem; font-weight:600; cursor:pointer; margin-bottom:24px; font-family:inherit; transition:all 0.2s; }
    .prep-back-btn:hover { border-color:var(--teal); color:var(--teal); }
    .prep-section-title { font-family:'DM Serif Display',serif; font-size:1.7rem; color:var(--ink); margin-bottom:6px; }
    .prep-section-sub { color:var(--mid); font-size:0.875rem; line-height:1.6; }
    .quiz-header-row { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
    .quiz-score-display { text-align:center; background:var(--gradient-teal); border-radius:var(--radius-lg); padding:16px 24px; flex-shrink:0; }
    .qsd-score { font-family:'DM Serif Display',serif; font-size:1.8rem; color:white; line-height:1; }
    .qsd-label { font-size:0.7rem; color:rgba(255,255,255,0.7); font-weight:700; text-transform:uppercase; letter-spacing:0.08em; }

    /* Domain cards */
    .domain-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:32px; }
    .domain-card { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-md); padding:16px 12px; text-align:center; cursor:pointer; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); position:relative; }
    .domain-card:hover { border-color:var(--teal); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
    .domain-card.active { border-color:var(--teal); background:var(--teal-pale); }
    .dc-tag { position:absolute; top:8px; right:8px; font-size:0.62rem; font-weight:800; padding:2px 7px; border-radius:100px; }
    .dc-icon { font-size:1.6rem; margin:8px 0 6px; }
    .dc-name { font-size:0.72rem; font-weight:700; color:var(--slate); line-height:1.4; }
    .dc-count { font-size:0.65rem; color:var(--soft); margin-top:4px; font-weight:600; }

    /* Quiz arena */
    .quiz-arena { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-xl); overflow:hidden; }
    .quiz-progress-bar-wrap { height:4px; background:var(--mist); }
    .quiz-progress-bar-fill { height:100%; background:var(--gradient-teal); transition:width 0.4s ease; }
    .quiz-meta-row { display:flex; align-items:center; justify-content:space-between; padding:16px 28px; border-bottom:1px solid var(--mist); }
    .quiz-domain-badge { display:inline-block; padding:4px 12px; border-radius:100px; font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.08em; background:var(--lavender-pale); color:var(--lavender); }
    .quiz-counter { font-size:0.82rem; font-weight:600; color:var(--mid); }
    .quiz-card-new { padding:32px 28px 24px; }
    .qn-question { font-size:1.05rem; font-weight:600; color:var(--ink); line-height:1.65; margin-bottom:24px; }
    .qn-options { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
    .qn-opt { padding:14px 20px; border:1.5px solid var(--mist); border-radius:var(--radius-md); font-size:0.88rem; color:var(--slate); cursor:pointer; text-align:left; background:white; font-family:inherit; line-height:1.5; transition:all 0.18s; display:flex; align-items:flex-start; gap:12px; }
    .qn-opt:hover:not(:disabled) { border-color:var(--lavender); background:var(--lavender-pale); }
    .qn-opt.correct { background:#d1fae5; border-color:#10b981; color:#065f46; }
    .qn-opt.wrong { background:#fee2e2; border-color:#ef4444; color:#991b1b; }
    .qn-opt.revealed { opacity:0.55; background:var(--off-white); }
    .qn-opt-letter { font-weight:800; opacity:0.5; flex-shrink:0; width:20px; }
    .qn-feedback { padding:14px 18px; border-radius:var(--radius-md); font-size:0.85rem; line-height:1.65; }
    .qn-feedback.correct { background:#d1fae5; color:#065f46; border:1px solid #a7f3d0; }
    .qn-feedback.wrong { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
    .quiz-nav-row { display:flex; justify-content:space-between; padding:16px 28px; border-top:1px solid var(--mist); }
    .quiz-summary-new { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-xl); padding:56px 40px; text-align:center; }
    .score-ring { width:120px; height:120px; border-radius:50%; background:var(--gradient-teal); color:white; font-family:'DM Serif Display',serif; font-size:2rem; display:flex; align-items:center; justify-content:center; margin:16px auto; box-shadow:var(--shadow-teal); }

    /* Task List */
    .tco-domain { margin-bottom:24px; border:1.5px solid var(--mist); border-radius:var(--radius-lg); overflow:hidden; }
    .tco-domain-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:var(--ink); color:white; cursor:pointer; }
    .tco-domain-title { font-weight:700; font-size:0.95rem; }
    .tco-domain-meta { font-size:0.75rem; color:rgba(255,255,255,0.6); }
    .tco-tasks { display:none; }
    .tco-tasks.open { display:block; }
    .tco-task { padding:14px 20px; border-bottom:1px solid var(--mist); display:flex; gap:14px; align-items:flex-start; cursor:pointer; transition:background 0.15s; }
    .tco-task:hover { background:var(--teal-pale); }
    .tco-task:last-child { border-bottom:none; }
    .tco-task-id { font-size:0.75rem; font-weight:800; color:var(--teal); flex-shrink:0; width:36px; }
    .tco-task-text { font-size:0.85rem; color:var(--slate); line-height:1.5; flex:1; }
    .tco-task-tip { font-size:0.75rem; color:var(--mid); line-height:1.5; margin-top:6px; display:none; padding:10px 14px; background:var(--off-white); border-radius:var(--radius-sm); border-left:3px solid var(--teal); }
    .tco-task.open .tco-task-tip { display:block; }

    /* Study plan */
    .sp-progress-bar-wrap { height:8px; background:var(--mist); border-radius:100px; overflow:hidden; margin-bottom:4px; }
    .sp-progress-fill-new { height:100%; background:var(--gradient-teal); border-radius:100px; transition:width 0.5s ease; }
    .sp-stats-mini { font-size:0.85rem; font-weight:600; color:var(--mid); white-space:nowrap; align-self:center; }
    .sp-phase-block { margin-bottom:32px; }
    .sp-phase-title { font-family:'DM Serif Display',serif; font-size:1.1rem; color:var(--ink); padding:10px 0 12px; border-bottom:2px solid var(--mist); margin-bottom:16px; }
    .sp-weeks-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
    .sp-card { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-md); padding:18px 16px; transition:all 0.2s; }
    .sp-card.done { background:var(--teal-pale); border-color:var(--teal); }
    .sp-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
    .sp-card-week { font-size:0.7rem; font-weight:800; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; }
    .sp-check { width:24px; height:24px; border-radius:50%; border:2px solid var(--mist); background:white; display:flex; align-items:center; justify-content:center; font-size:0.8rem; cursor:pointer; transition:all 0.2s; color:transparent; }
    .sp-card.done .sp-check { background:var(--teal); border-color:var(--teal); color:white; }
    .sp-card-topic { font-weight:700; color:var(--ink); font-size:0.88rem; margin-bottom:6px; }
    .sp-card-tasks { font-size:0.77rem; color:var(--mid); line-height:1.6; }
    .sp-card-hours { font-size:0.72rem; font-weight:700; color:var(--lavender); margin-top:8px; }

    /* Graphs v2 */
    .graphs-tabs-new { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
    .graph-tab-new { padding:9px 18px; border-radius:var(--radius-pill); font-size:0.82rem; font-weight:700; border:1.5px solid var(--mist); background:white; color:var(--mid); cursor:pointer; font-family:inherit; transition:all 0.2s; }
    .graph-tab-new.active { background:var(--ink); color:white; border-color:var(--ink); }
    .graph-panel-new { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-xl); padding:28px; }
    .graph-desc-new { font-size:0.875rem; color:var(--mid); line-height:1.65; padding:14px 18px; background:var(--off-white); border-radius:var(--radius-md); border-left:3px solid var(--teal); margin-bottom:20px; }
    .graph-legend-new { display:flex; gap:16px; flex-wrap:wrap; margin-top:14px; margin-bottom:20px; }
    .gl-item { display:flex; align-items:center; gap:8px; font-size:0.78rem; color:var(--slate); }
    .gl-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; }
    .graph-concepts-new { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
    .gc-card { background:var(--off-white); border:1px solid var(--mist); border-radius:var(--radius-md); padding:16px; }
    .gc-title { font-weight:700; font-size:0.82rem; color:var(--ink); margin-bottom:5px; }
    .gc-body { font-size:0.76rem; color:var(--mid); line-height:1.55; }
    .graph-quiz-new { margin-top:24px; padding:20px; background:linear-gradient(135deg,var(--lavender-pale),var(--teal-pale)); border-radius:var(--radius-lg); }
    .graph-quiz-q { font-weight:700; color:var(--ink); font-size:0.9rem; margin-bottom:12px; }
    .graph-quiz-opts { display:flex; gap:10px; flex-wrap:wrap; }
    .graph-quiz-opt { padding:8px 16px; border-radius:var(--radius-pill); border:1.5px solid var(--lavender); background:white; font-size:0.8rem; font-weight:600; color:var(--lavender); cursor:pointer; font-family:inherit; transition:all 0.2s; }
    .graph-quiz-opt:hover { background:var(--lavender); color:white; }
    .graph-quiz-opt.gq-correct { background:#d1fae5; border-color:#10b981; color:#065f46; }
    .graph-quiz-opt.gq-wrong { background:#fee2e2; border-color:#ef4444; color:#991b1b; }

    /* Resources v2 */
    .resources-grid-new { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .res-card-new { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-lg); padding:20px; display:flex; flex-direction:column; gap:10px; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); text-decoration:none; }
    .res-card-new:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:rgba(42,157,143,0.3); }
    .res-icon-new { font-size:2rem; }
    .res-badge { display:inline-block; padding:3px 10px; border-radius:100px; font-size:0.65rem; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; }
    .rb-official { background:#fef3c7; color:#92400e; }
    .rb-free { background:var(--teal-pale); color:var(--teal); }
    .rb-paid { background:var(--lavender-pale); color:var(--lavender); }
    .rb-ptb { background:linear-gradient(135deg,#10b981,#0d9488); color:white; }
    .rb-bds { background:linear-gradient(135deg,#3b82f6,#1d4ed8); color:white; }
    .res-name-new { font-weight:700; color:var(--ink); font-size:0.9rem; line-height:1.3; }
    .res-desc-new { font-size:0.78rem; color:var(--mid); line-height:1.5; flex:1; }
    .res-price { font-size:0.75rem; font-weight:600; color:var(--teal); }

    /* Responsive prep */
    @media(max-width:1024px) { .domain-cards { grid-template-columns:repeat(3,1fr); } .resources-grid-new { grid-template-columns:repeat(2,1fr); } }
    @media(max-width:768px) { .domain-cards { grid-template-columns:repeat(2,1fr); } .sp-weeks-grid { grid-template-columns:1fr 1fr; } .graph-concepts-new { grid-template-columns:1fr; } .resources-grid-new { grid-template-columns:1fr; } .prep-tabs-nav { overflow-x:auto; } .quiz-card-new { padding:20px 16px; } .quiz-header-row { flex-direction:column; } }
    @media(max-width:480px) { .domain-cards { grid-template-columns:1fr 1fr; } .sp-weeks-grid { grid-template-columns:1fr; } }



    /* ══════════════════════════════════════
       RBT PRIMERA VEZ GUIDE
    ══════════════════════════════════════ */
    .rbt-phase-header { display:flex; align-items:center; gap:20px; margin-bottom:28px; }
    .rbt-phase-num { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'DM Serif Display',serif; font-size:1.5rem; color:white; font-weight:700; flex-shrink:0; box-shadow:0 8px 24px rgba(0,0,0,0.2); }
    .rbt-phase-label { font-size:0.68rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; color:var(--teal); margin-bottom:4px; }
    .rbt-phase-title { font-family:'DM Serif Display',serif; font-size:clamp(1.2rem,2.5vw,1.6rem); color:var(--ink); line-height:1.25; margin:0; }

    /* Step cards */
    .rbt-steps-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .rbt-step-card { background:white; border-radius:var(--radius-lg); overflow:hidden; border:1.5px solid var(--mist); }
    .rbt-step-img { height:200px; overflow:hidden; position:relative; }
    .rbt-step-body { padding:22px; }
    .rbt-step-num { display:inline-block; width:32px; height:32px; border-radius:50%; background:var(--gradient-teal); color:white; font-weight:800; font-size:0.85rem; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
    .rbt-step-title { font-family:'DM Serif Display',serif; font-size:1.1rem; color:var(--ink); margin-bottom:8px; }
    .rbt-step-desc { font-size:0.85rem; color:var(--mid); line-height:1.65; margin-bottom:12px; }
    .rbt-checklist { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
    .rbt-check-item { font-size:0.8rem; color:var(--slate); padding:4px 8px; background:var(--off-white); border-radius:6px; }
    .rbt-tip-box { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border-radius:8px; background:var(--off-white); border-left:3px solid; font-size:0.79rem; color:var(--slate); line-height:1.55; }
    .rbt-tip-icon { font-size:1rem; flex-shrink:0; }
    .rbt-warning-box { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:10px; background:#fef2f2; border:1.5px solid #fca5a5; font-size:0.82rem; color:#991b1b; line-height:1.6; margin-top:14px; }

    /* Hero phase */
    .rbt-hero-phase { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; }
    .rbt-hero-img { border-radius:var(--radius-lg); overflow:hidden; height:340px; position:relative; }
    .rbt-hero-overlay-text { position:absolute; right:0; top:0; bottom:0; width:48%; display:flex; flex-direction:column; justify-content:center; padding:28px 24px; }
    .rbt-hero-content { background:white; border-radius:var(--radius-lg); padding:28px; border:1.5px solid var(--mist); display:flex; flex-direction:column; gap:0; }
    .rbt-phase-steps { display:flex; flex-direction:column; gap:10px; margin-top:0; }
    .rps-item { display:flex; align-items:flex-start; gap:10px; font-size:0.83rem; color:var(--slate); line-height:1.55; }
    .rps-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:6px; }

    /* Demand example */
    .rbt-demand-example { margin-top:12px; }
    .rde-label { font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.07em; color:var(--mid); margin-bottom:8px; }
    .rde-steps { display:flex; flex-direction:column; gap:6px; }
    .rde-step { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; background:var(--off-white); border-left:3px solid; font-size:0.8rem; color:var(--slate); }
    .rde-icon { font-size:1rem; flex-shrink:0; }

    /* Preference visual */
    .rbt-preference-visual { background:var(--off-white); border-radius:10px; padding:14px; margin-top:12px; }

    /* Prompting hierarchy */
    .rbt-prompt-section { display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; }
    .rbt-prompt-intro { }
    .rbt-prompt-hierarchy { display:flex; flex-direction:column; gap:0; }
    .rbt-prompt-title { font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.08em; color:var(--mid); margin-bottom:12px; }
    .rph-item { padding:12px 16px; border-radius:10px; border:1.5px solid; margin-bottom:4px; }
    .rph-level { font-size:0.65rem; font-weight:800; text-transform:uppercase; letter-spacing:0.07em; color:var(--mid); margin-bottom:4px; }
    .rph-name { font-weight:700; font-size:0.88rem; color:var(--ink); margin-bottom:4px; }
    .rph-desc { font-size:0.78rem; color:var(--slate); line-height:1.5; margin-bottom:4px; }
    .rph-when { font-size:0.72rem; color:var(--soft); font-style:italic; }
    .rph-arrow { text-align:center; font-size:0.75rem; font-weight:700; color:var(--soft); padding:2px 0; letter-spacing:0.05em; }

    /* Session timeline */
    .rbt-session-timeline { display:flex; flex-direction:column; gap:0; position:relative; }
    .rst-item { display:grid; grid-template-columns:72px 16px 1fr; gap:0 16px; align-items:start; }
    .rst-time { font-size:0.78rem; font-weight:800; text-align:right; padding-top:18px; white-space:nowrap; }
    .rst-dot { width:16px; height:16px; border-radius:50%; flex-shrink:0; margin-top:20px; border:3px solid white; box-shadow:0 0 0 2px currentColor; }
    .rst-connector { width:2px; background:var(--mist); height:24px; margin-left:calc(72px + 24px); }
    .rst-content { background:white; border-radius:var(--radius-md); padding:16px; border:1.5px solid var(--mist); margin-bottom:0; }
    .rst-title { font-weight:700; color:var(--ink); font-size:0.9rem; margin-bottom:5px; }
    .rst-desc { font-size:0.8rem; color:var(--mid); line-height:1.6; margin-bottom:8px; }
    .rst-img-sm { height:120px; border-radius:8px; overflow:hidden; margin-top:8px; }
    .rst-tag { display:inline-block; padding:4px 10px; border-radius:100px; background:var(--teal-pale); color:var(--teal); font-size:0.7rem; font-weight:700; margin-top:8px; }

    /* Data section */
    .rbt-data-section { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
    .rbt-data-img { border-radius:var(--radius-lg); overflow:hidden; height:300px; }
    .rbt-data-types { display:flex; flex-direction:column; gap:10px; }
    .rdt-card { display:flex; align-items:center; gap:14px; padding:12px 14px; background:white; border-radius:10px; border:1.5px solid; }
    .rdt-icon { width:36px; height:36px; border-radius:8px; background:var(--off-white); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:1.1rem; flex-shrink:0; }
    .rdt-name { font-weight:700; font-size:0.85rem; color:var(--ink); margin-bottom:2px; }
    .rdt-desc { font-size:0.76rem; color:var(--mid); line-height:1.4; }
    .rbt-mastery-rule { display:flex; align-items:flex-start; gap:12px; padding:14px; background:linear-gradient(135deg,var(--teal-pale),var(--lavender-pale)); border-radius:10px; font-size:0.82rem; color:var(--slate); line-height:1.6; }

    /* Behavior grid */
    .rbt-behavior-section { }
    .rbt-behavior-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
    .rbg-card { background:white; border-radius:12px; padding:16px; border-left:4px solid; border-top:1.5px solid var(--mist); border-right:1.5px solid var(--mist); border-bottom:1.5px solid var(--mist); }
    .rbg-icon { font-size:1.8rem; margin-bottom:6px; }
    .rbg-title { font-weight:700; font-size:0.9rem; color:var(--ink); margin-bottom:3px; }
    .rbg-function { font-size:0.72rem; color:var(--soft); margin-bottom:10px; font-style:italic; }
    .rbg-do,.rbg-dont { font-size:0.78rem; color:var(--slate); line-height:1.5; margin-bottom:6px; }

    /* Progress timeline */
    .rbt-progress-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .rpt-item { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-lg); overflow:hidden; }
    .rpt-badge { text-align:center; padding:8px 12px; border-bottom:1.5px solid; font-size:0.75rem; font-weight:800; }
    .rpt-img { height:130px; overflow:hidden; }
    .rpt-content { padding:14px; }
    .rpt-title { font-weight:700; font-size:0.85rem; color:var(--ink); margin-bottom:8px; }
    .rpt-list { list-style:none; display:flex; flex-direction:column; gap:5px; }
    .rpt-list li { font-size:0.76rem; color:var(--slate); line-height:1.4; }
    .rpt-celebrate { font-size:0.72rem; color:var(--teal); font-weight:700; margin-top:10px; padding:6px 8px; background:var(--teal-pale); border-radius:6px; }

    /* Responsive */
    @media(max-width:1024px) {
      .rbt-steps-grid { grid-template-columns:1fr; }
      .rbt-hero-phase { grid-template-columns:1fr; }
      .rbt-prompt-section { grid-template-columns:1fr; }
      .rbt-data-section { grid-template-columns:1fr; }
      .rbt-progress-timeline { grid-template-columns:repeat(2,1fr); }
    }
    @media(max-width:640px) {
      .rbt-behavior-grid { grid-template-columns:1fr; }
      .rbt-progress-timeline { grid-template-columns:1fr; }
      .rbt-session-timeline .rst-item { grid-template-columns:60px 12px 1fr; }
    }

    /* ══════════════════════════════════════
       BCBA × RBT GALLERY
    ══════════════════════════════════════ */
    /* Bento grid */
    .bcba-bento {
      display:grid;
      grid-template-areas:
        "a a e"
        "b c e"
        "d f e";
      grid-template-columns:1fr 1fr 300px;
      grid-template-rows:260px 200px 220px;
      gap:14px;
    }
    .bento-cell { border-radius:18px; overflow:hidden; position:relative; cursor:pointer; } .bento-cell::after { content:"Leer más →"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.8); background:rgba(42,157,143,0.95); backdrop-filter:blur(8px); color:white; padding:10px 22px; border-radius:100px; font-size:0.78rem; font-weight:800; opacity:0; transition:all 0.3s; white-space:nowrap; letter-spacing:0.04em; pointer-events:none; z-index:5; } .bento-cell:hover::after { opacity:1; transform:translate(-50%,-50%) scale(1); }
    .bento-wide { }
    .bento-tall { }
    .bento-img-wrap { width:100%; height:100%; position:relative; }
    .bento-img-wrap img { width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease; }
    .bento-cell:hover .bento-img-wrap img { transform:scale(1.04); }
    .bento-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,42,0.75) 0%,rgba(13,27,42,0.1) 55%,transparent 100%);pointer-events:none; }
    .bento-badge { position:absolute;bottom:14px;left:14px;display:flex;align-items:center;gap:10px;background:rgba(13,27,42,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:8px 12px; }
    .bb-icon { font-size:1.2rem;flex-shrink:0; }
    .bb-title { font-weight:700;color:white;font-size:0.78rem;line-height:1.2; }
    .bb-sub { font-size:0.65rem;color:rgba(255,255,255,0.6);margin-top:1px; }
    .bento-quote { position:absolute;top:14px;right:14px;left:14px;background:rgba(13,27,42,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;padding:10px 12px;font-size:0.74rem;color:rgba(255,255,255,0.85);line-height:1.5;font-style:italic;border-left:2px solid #3fbfb0; }
    .bento-tag-float { position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:100px;font-size:0.68rem;font-weight:800;color:white;letter-spacing:0.04em; }

    /* Stats cards sobre la foto panorámica */
    .gallery-stat-card { background:rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.18);border-radius:14px;padding:18px 22px;text-align:center;min-width:110px; }
    .gsc-num { font-family:'DM Serif Display',serif;font-size:2rem;color:white;line-height:1; }
    .gsc-label { font-size:0.7rem;color:rgba(255,255,255,0.55);margin-top:4px;font-weight:600;line-height:1.4; }

    /* Proceso BCBA → RBT → Niño */
    .gallery-process-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
    .gps-step { display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;position:relative; }
    .gps-photo-wrap { width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,0.15);flex-shrink:0;box-shadow:0 8px 32px rgba(0,0,0,0.3);position:relative; }
    .gps-arrow-conn { font-size:2rem;color:rgba(255,255,255,0.25);position:absolute;right:-14px;top:45px;z-index:2; }
    .gps-role { font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em; }
    .gps-title { font-family:'DM Serif Display',serif;font-size:1.05rem;color:white;line-height:1.3; }
    .gps-desc { font-size:0.8rem;color:rgba(255,255,255,0.55);line-height:1.6;max-width:240px;margin:0 auto; }
    .gps-tags { display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:4px; }

    /* Responsive */
    @media(max-width:1024px) {
      .bcba-bento {
        grid-template-areas:"a a" "b c" "d e" "f e";
        grid-template-columns:1fr 1fr;
        grid-template-rows:220px 180px 220px 200px;
      }
      .gallery-process-steps { grid-template-columns:1fr; gap:32px; }
      .gps-arrow-conn { display:none; }
    }
    @media(max-width:640px) {
      .bcba-bento {
        grid-template-areas:"a" "b" "c" "d" "e" "f";
        grid-template-columns:1fr;
        grid-template-rows:repeat(6,220px);
      }
    }

    /* ── CARTOONS FOR KIDS ── */
    .cartoon-filter-btn { padding:8px 18px; border-radius:var(--radius-pill); border:1.5px solid var(--mist); background:white; color:var(--mid); font-size:0.8rem; font-weight:700; cursor:pointer; font-family:inherit; transition:all 0.2s; white-space:nowrap; }
    .cartoon-filter-btn:hover,.cartoon-filter-btn.active { background:var(--gradient-warm); color:white; border-color:transparent; box-shadow:0 4px 16px rgba(244,162,97,0.35); }
    .cartoon-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
    .cartoon-card { background:white; border-radius:20px; overflow:hidden; border:1.5px solid var(--mist); cursor:pointer; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); display:flex; flex-direction:column; }
    .cartoon-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(13,27,42,0.14); border-color:rgba(244,162,97,0.4); }
    .cartoon-card.hidden { display:none; }
    .cartoon-thumb { height:140px; position:relative; overflow:hidden; flex-shrink:0; }
    .cartoon-rating-badge { position:absolute; top:10px; left:10px; background:rgba(13,27,42,0.75); color:white; font-size:0.65rem; font-weight:800; padding:4px 10px; border-radius:100px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); white-space:nowrap; }
    .cartoon-body { padding:16px; flex:1; display:flex; flex-direction:column; gap:8px; }
    .cartoon-age-tag { display:inline-block; padding:3px 10px; border-radius:100px; font-size:0.65rem; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:2px; }
    .cartoon-title { font-family:'DM Serif Display',serif; font-size:1.05rem; color:var(--ink); line-height:1.25; }
    .cartoon-desc { font-size:0.8rem; color:var(--mid); line-height:1.55; flex:1; }
    .cartoon-skills { display:flex; flex-wrap:wrap; gap:5px; }
    .skill-tag { background:var(--off-white); border:1px solid var(--mist); border-radius:100px; padding:3px 9px; font-size:0.67rem; font-weight:600; color:var(--mid); white-space:nowrap; }
    .cartoon-aba-note { background:linear-gradient(135deg,rgba(42,157,143,0.07),rgba(123,104,200,0.07)); border-left:3px solid var(--teal); border-radius:0 8px 8px 0; padding:8px 10px; font-size:0.75rem; color:var(--slate); line-height:1.5; }
    .cartoon-footer { padding:12px 16px; border-top:1px solid var(--mist); display:flex; align-items:center; justify-content:space-between; gap:8px; flex-shrink:0; }
    .cartoon-link-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:100px; background:var(--teal); color:white; font-size:0.75rem; font-weight:700; text-decoration:none; transition:all 0.2s; white-space:nowrap; }
    .cartoon-link-btn:hover { opacity:0.88; transform:scale(1.03); }
    .cartoon-free-badge { font-size:0.7rem; font-weight:700; color:var(--teal); background:var(--teal-pale); padding:4px 8px; border-radius:100px; white-space:nowrap; }
    /* Cartoon modal */
    .cartoon-modal { position:fixed; inset:0; z-index:9200; background:rgba(13,27,42,0.6); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; transition:opacity 0.3s; }
    .cartoon-modal.open { opacity:1; pointer-events:auto; }
    .cartoon-modal-inner { background:white; border-radius:24px; max-width:560px; width:100%; max-height:85vh; overflow-y:auto; position:relative; box-shadow:0 32px 80px rgba(13,27,42,0.3); animation:fadeInUp 0.35s ease; }
    .cartoon-modal-close { position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%; background:var(--off-white); border:none; font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; transition:all 0.2s; }
    .cartoon-modal-close:hover { background:var(--mist); }
    @media(max-width:1200px){ .cartoon-grid { grid-template-columns:repeat(3,1fr); } }
    @media(max-width:768px){ .cartoon-grid { grid-template-columns:repeat(2,1fr); } }
    @media(max-width:480px){ .cartoon-grid { grid-template-columns:1fr; } }

    /* ── ASU GALLERY 2026 ── */
    .asu-gallery-section { margin-top:56px; }
    .asu-gallery-header { text-align:center; margin-bottom:36px; }
    .asu-badge { display:inline-flex; align-items:center; gap:14px; background:linear-gradient(135deg,#8C1D40,#FFC627); border-radius:var(--radius-pill); padding:12px 24px; margin-bottom:24px; box-shadow:0 8px 28px rgba(140,29,64,0.28); }
    .asu-badge-icon { font-size:1.6rem; }
    .asu-badge-title { font-weight:800; color:white; font-size:0.95rem; line-height:1.2; }
    .asu-badge-sub { font-size:0.75rem; color:rgba(255,255,255,0.85); font-weight:500; }
    .asu-gallery-title { font-family:'DM Serif Display',serif; font-size:clamp(1.6rem,3vw,2.4rem); color:var(--ink); margin-bottom:12px; }
    .asu-gallery-desc { color:var(--mid); font-size:0.95rem; max-width:580px; margin:0 auto; line-height:1.7; }

    .asu-photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; min-height:0; }
    .asu-photo-grid:empty { display:none; }
    .asu-photo-item { position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:1/1; cursor:pointer; background:var(--cloud); box-shadow:var(--shadow-sm); transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); }
    .asu-photo-item:hover { transform:scale(1.03); box-shadow:var(--shadow-md); }
    .asu-photo-item img { width:100%; height:100%; object-fit:cover; display:block; }
    .asu-photo-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(13,27,42,0.85),transparent); color:white; font-size:0.72rem; font-weight:600; padding:20px 10px 10px; opacity:0; transition:opacity 0.2s; }
    .asu-photo-item:hover .asu-photo-caption { opacity:1; }
    .asu-empty-state { grid-column:1/-1; text-align:center; padding:48px 24px; color:var(--mid); }

    .asu-upload-area { border:2.5px dashed var(--mist); border-radius:var(--radius-xl); padding:48px 32px; text-align:center; cursor:pointer; transition:all 0.25s; background:var(--off-white); }
    .asu-upload-area:hover, .asu-upload-area.drag-over { border-color:var(--teal); background:var(--teal-pale); transform:scale(1.005); }
    .asu-upload-icon { font-size:2.5rem; margin-bottom:12px; }
    .asu-upload-title { font-weight:700; color:var(--ink); font-size:1rem; margin-bottom:6px; }
    .asu-upload-sub { font-size:0.82rem; color:var(--mid); }

    .asu-name-form { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-lg); padding:28px 32px; text-align:center; margin-top:16px; }

    /* Lightbox */
    .asu-lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92); z-index:9800; align-items:center; justify-content:center; }
    .asu-lightbox.open { display:flex; }
    .asu-lb-content { position:relative; max-width:90vw; max-height:90vh; display:flex; flex-direction:column; align-items:center; gap:12px; }
    .asu-lb-content img { max-width:100%; max-height:78vh; border-radius:var(--radius-md); object-fit:contain; box-shadow:0 24px 64px rgba(0,0,0,0.5); }
    .asu-lb-caption { color:white; font-size:0.9rem; font-weight:600; text-align:center; }
    .asu-lb-close { position:fixed; top:20px; right:24px; background:rgba(255,255,255,0.15); border:none; color:white; font-size:1.4rem; width:44px; height:44px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; z-index:10; }
    .asu-lb-close:hover { background:rgba(255,255,255,0.28); }
    .asu-lb-prev, .asu-lb-next { position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.15); border:none; color:white; font-size:2rem; width:48px; height:48px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; z-index:10; }
    .asu-lb-prev { left:16px; } .asu-lb-next { right:16px; }
    .asu-lb-prev:hover, .asu-lb-next:hover { background:rgba(255,255,255,0.28); }
    .asu-lb-delete { background:rgba(220,50,50,0.85); border:none; color:white; padding:8px 18px; border-radius:var(--radius-pill); font-size:0.82rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background 0.2s; }
    .asu-lb-delete:hover { background:rgba(200,30,30,0.95); }

    @media(max-width:768px) { .asu-photo-grid { grid-template-columns:repeat(2,1fr); } .asu-badge { flex-direction:column; gap:8px; text-align:center; } }
    @media(max-width:480px) { .asu-photo-grid { grid-template-columns:1fr 1fr; gap:10px; } .asu-upload-area { padding:32px 16px; } }

    /* ── GENETICS ── */
    .genetics { background:linear-gradient(180deg,var(--ink) 0%,#0e2535 100%); }
    .genetics-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .genetics-title { color:white; margin-bottom:20px; }
    .genetics-intro { color:rgba(255,255,255,0.65); line-height:1.8; margin-bottom:32px; }
    .genetics-topics { display:flex; flex-direction:column; gap:16px; }
    .genetics-topic { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); padding:18px 20px; display:flex; gap:14px; align-items:flex-start; transition:all 0.25s; cursor:pointer; }
    .genetics-topic:hover { background:rgba(255,255,255,0.12); transform:translateX(4px); }
    .genetics-topic-icon { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
    .genetics-topic-title { font-weight:600; color:white; font-size:0.9rem; margin-bottom:4px; }
    .genetics-topic-desc { font-size:0.8rem; color:rgba(255,255,255,0.55); line-height:1.5; }
    .genetics-visual { display:flex; align-items:center; justify-content:center; }
    .dna-diagram { width:100%; max-width:420px; }

    /* ── FAQ ── */
    .faq { background:var(--off-white); }
    .faq-search { background:rgba(255,255,255,0.9); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1.5px solid rgba(220,230,240,0.6); border-radius:var(--radius-pill); padding:14px 20px; display:flex; align-items:center; gap:12px; max-width:520px; margin:0 auto 48px; box-shadow:var(--shadow-sm); }
    .faq-search input { flex:1; border:none; outline:none; font-family:inherit; font-size:0.9rem; color:var(--ink); background:transparent; }
    .faq-search input::placeholder { color:var(--soft); }
    .faq-categories { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
    .faq-cat { padding:8px 18px; border-radius:var(--radius-pill); font-size:0.8rem; font-weight:600; cursor:pointer; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); border:1.5px solid var(--mist); background:rgba(255,255,255,0.8); backdrop-filter:blur(8px); color:var(--slate); }
    .faq-cat.active,.faq-cat:hover { background:var(--teal); border-color:var(--teal); color:white; transform:translateY(-1px); box-shadow:0 4px 12px rgba(42,157,143,0.3); }
    .faq-list { max-width:760px; margin:0 auto; }
    .faq-item { background:rgba(255,255,255,0.85); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-md); margin-bottom:10px; overflow:hidden; transition:all 0.25s; }
    .faq-item:hover { box-shadow:var(--shadow-sm); background:rgba(255,255,255,0.95); }
    .faq-q { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; cursor:pointer; gap:16px; }
    .faq-q-text { font-weight:600; color:var(--ink); font-size:0.95rem; }
    .faq-arrow { width:28px; height:28px; border-radius:50%; background:rgba(238,241,246,0.8); display:flex; align-items:center; justify-content:center; font-size:0.75rem; color:var(--mid); flex-shrink:0; transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1); }
    .faq-item.open .faq-arrow { background:var(--teal); color:white; transform:rotate(180deg); }
    .faq-a { max-height:0; overflow:hidden; transition:max-height 0.4s ease,padding 0.3s; color:var(--slate); font-size:0.9rem; line-height:1.7; padding:0 24px; }
    .faq-item.open .faq-a { max-height:300px; padding:0 24px 20px; }

    /* ── TESTIMONIALS ── */
    .testimonials { background:white; }
    .testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .testi-card { background:rgba(248,247,245,0.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-lg); padding:32px 28px; transition:all 0.3s; }
    .testi-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); background:white; }
    .testi-stars { color:#fbbf24; font-size:1rem; margin-bottom:16px; }
    .testi-text { color:var(--slate); line-height:1.75; font-size:0.925rem; margin-bottom:24px; font-style:italic; }
    .testi-author { display:flex; align-items:center; gap:12px; }
    .testi-avatar { width:44px; height:44px; border-radius:50%; background:var(--gradient-teal); display:flex; align-items:center; justify-content:center; color:white; font-weight:700; font-size:1rem; }
    .testi-name { font-weight:700; font-size:0.875rem; color:var(--ink); }
    .testi-role { font-size:0.75rem; color:var(--soft); }

    /* ── BLOG ── */
    .blog { background:var(--off-white); }
    .blog-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; }
    .blog-card { background:rgba(255,255,255,0.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-lg); overflow:hidden; transition:all 0.3s; cursor:pointer; }
    .blog-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); background:white; }
    .blog-image { height:220px; background:linear-gradient(135deg,var(--teal-pale),var(--sky-pale)); display:flex; align-items:center; justify-content:center; font-size:3rem; overflow:hidden; }
    .blog-card:nth-child(2) .blog-image { background:linear-gradient(135deg,var(--lavender-pale),var(--sky-pale)); height:220px; font-size:2.4rem; overflow:hidden; }
    .blog-card:nth-child(3) .blog-image { background:linear-gradient(135deg,var(--warm-pale),var(--teal-pale)); height:220px; font-size:2.4rem; overflow:hidden; }
    .blog-body { padding:24px; }
    .blog-category { font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--teal); margin-bottom:10px; }
    .blog-title { font-weight:700; color:var(--ink); line-height:1.4; margin-bottom:12px; font-size:1rem; }
    .blog-excerpt { font-size:0.85rem; color:var(--mid); line-height:1.65; margin-bottom:16px; }
    .blog-meta { font-size:0.75rem; color:var(--soft); display:flex; align-items:center; gap:12px; }

    /* ── UNIVERSITIES ── */
    .universities { background:white; }
    .uni-state-btn { padding:6px 14px; border-radius:var(--radius-pill); font-size:0.78rem; font-weight:700; border:1.5px solid var(--mist); background:white; color:var(--mid); cursor:pointer; transition:all 0.2s; }
    .uni-state-btn:hover, .uni-state-btn.active { background:var(--teal); color:white; border-color:var(--teal); }

    /* Featured strip */
    .uni-featured-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
    .uni-feat-card { background:white; border-radius:var(--radius-md); overflow:hidden; border:1.5px solid var(--mist); transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; }
    .uni-feat-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:rgba(42,157,143,0.3); }
    .uni-feat-img { height:72px; overflow:hidden; position:relative; }
    .uni-feat-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
    .uni-feat-card:hover .uni-feat-img img { transform:scale(1.08); }
    .uni-feat-info { padding:10px 10px 10px; }
    .uni-feat-name { font-size:0.72rem; font-weight:700; color:var(--ink); line-height:1.3; margin-bottom:5px; }
    .uni-feat-colors { display:flex; gap:4px; margin-bottom:4px; }
    .uni-feat-colors span { width:14px; height:14px; border-radius:50%; display:block; }
    .uni-feat-type { font-size:0.62rem; color:var(--mid); font-weight:500; }
    @media(max-width:1024px) { .uni-featured-strip { grid-template-columns:repeat(3,1fr); } }
    .uni-card-pro { background:white; border:1.5px solid var(--mist); border-radius:var(--radius-md); overflow:hidden; transition:all 0.28s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; position:relative; }
    .uni-card-pro:hover { transform:translateY(-5px); box-shadow:0 16px 48px rgba(13,27,42,0.16); border-color:rgba(42,157,143,0.4); } .uni-card-pro:hover::after { content:"🔗 Open"; position:absolute; top:8px; right:8px; background:var(--teal); color:white; font-size:0.6rem; font-weight:800; padding:3px 8px; border-radius:100px; opacity:0.9; }
    .uni-card-img { height:82px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .uni-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
    .uni-card-pro:hover .uni-card-img img { transform:scale(1.06); }
    .uni-card-logo { width:48px; height:48px; border-radius:50%; background:white; display:flex; align-items:center; justify-content:center; font-size:1.4rem; box-shadow:0 4px 16px rgba(0,0,0,0.2); position:absolute; bottom:-16px; left:50%; transform:translateX(-50%); border:2px solid white; z-index:2; }
    .uni-card-body { padding:22px 10px 12px; text-align:center; }
    .uni-card-state { font-size:0.6rem; font-weight:800; color:var(--teal); text-transform:uppercase; letter-spacing:0.12em; margin-bottom:4px; }
    .uni-card-name { font-size:0.72rem; font-weight:700; color:var(--slate); line-height:1.4; margin-bottom:3px; }
    .uni-card-type { font-size:0.63rem; color:var(--soft); font-weight:600; }
    .uni-card-colors { display:flex; gap:4px; justify-content:center; margin-top:6px; }
    .uni-color-dot { width:10px; height:10px; border-radius:50%; border:1px solid rgba(0,0,0,0.1); }

    .uni-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:48px; }
    .uni-card { background:rgba(248,247,245,0.9); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-md); padding:24px 16px; text-align:center; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; }
    .uni-card:hover { transform:translateY(-4px) scale(1.02); box-shadow:var(--shadow-md); background:white; border-color:rgba(42,157,143,0.2); }
    .uni-logo { font-size:2rem; margin-bottom:10px; }
    .uni-name { font-size:0.75rem; font-weight:700; color:var(--slate); line-height:1.4; }
    .uni-rank { font-size:0.68rem; color:var(--soft); margin-top:4px; }

    /* ── CONTACT ── */
    .contact { background:var(--off-white); }
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
    .contact-tagline { font-family:'DM Serif Display',serif; font-size:2rem; color:var(--ink); margin-bottom:16px; letter-spacing:-0.02em; }
    .contact-desc { color:var(--mid); line-height:1.75; margin-bottom:32px; }
    .contact-items { display:flex; flex-direction:column; gap:20px; }
    .contact-item { display:flex; gap:14px; align-items:flex-start; }
    .contact-item-icon { width:44px; height:44px; background:var(--teal-pale); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
    .contact-item-icon--gold { width:58px; height:58px; background:linear-gradient(150deg,#0d1424 0%,#141c2e 100%); border:1px solid rgba(212,175,90,0.45); box-shadow:0 6px 18px rgba(0,0,0,0.25), inset 0 1px 0 rgba(212,175,90,0.18); padding:6px; }
    .contact-item-icon--gold img { width:100%; height:100%; object-fit:contain; display:block; }
    .contact-write-btn { display:inline-block; margin-top:22px; line-height:0; border:none; background:none; padding:0; cursor:pointer; transition:transform 0.2s ease, filter 0.2s ease; filter:drop-shadow(0 8px 22px rgba(20,120,70,0.28)); }
    .contact-write-btn img { width:230px; max-width:100%; height:auto; display:block; }
    .contact-write-btn:hover { transform:translateY(-2px); filter:drop-shadow(0 12px 28px rgba(30,180,110,0.42)); }
    .contact-item-label { font-size:0.75rem; color:var(--soft); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:3px; }
    .contact-item-value { font-weight:600; color:var(--ink); font-size:0.95rem; }
    .contact-form { background:rgba(255,255,255,0.92); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,0.7); border-radius:var(--radius-lg); padding:36px; box-shadow:0 20px 60px rgba(13,27,42,0.12), inset 0 1px 0 rgba(255,255,255,0.9); }
    .form-title { font-weight:700; font-size:1.2rem; color:var(--ink); margin-bottom:24px; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
    .form-field { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
    .form-label { font-size:0.78rem; font-weight:600; color:var(--slate); }
    .form-input { padding:12px 16px; border:1.5px solid var(--mist); border-radius:var(--radius-sm); font-family:inherit; font-size:0.9rem; color:var(--ink); background:var(--off-white); transition:all 0.2s; outline:none; }
    .form-input:focus { border-color:var(--teal); background:white; box-shadow:0 0 0 3px rgba(42,157,143,0.1); }
    select.form-input { cursor:pointer; }
    textarea.form-input { resize:vertical; min-height:100px; }
    .form-submit { width:100%; padding:14px; background:var(--gradient-teal); color:white; border-radius:var(--radius-md); font-weight:700; font-size:0.95rem; cursor:pointer; transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); box-shadow:var(--shadow-teal); }
    .form-submit:hover { transform:translateY(-2px) scale(1.01); box-shadow:0 16px 48px rgba(42,157,143,0.4); }

    /* ── GRADUATION ── */
    .graduation { background:white; }
    .grad-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:48px; }
    .grad-milestone { text-align:center; padding:28px 20px; background:rgba(248,247,245,0.9); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(220,230,240,0.5); border-radius:var(--radius-lg); transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; }
    .grad-milestone:hover { transform:translateY(-4px) scale(1.02); box-shadow:var(--shadow-md); background:white; }
    .grad-year { font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; }
    .grad-icon { font-size:2.5rem; margin-bottom:12px; }
    .grad-title { font-weight:700; font-size:0.95rem; color:var(--ink); margin-bottom:8px; }
    .grad-desc { font-size:0.8rem; color:var(--mid); line-height:1.55; }

    /* ── VIDEO CENTER ── */
    .videos { background:var(--ink); }
    .videos .section-eyebrow { background:rgba(42,157,143,0.2); color:var(--teal-light); }
    .videos .section-title { color:white; }
    .videos .section-sub { color:rgba(255,255,255,0.55); }
    .video-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; }
    .video-card { border-radius:var(--radius-lg); overflow:hidden; background:rgba(255,255,255,0.07); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,0.12); transition:all 0.3s; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,0.1); }
    .video-card:hover { transform:translateY(-4px); background:rgba(255,255,255,0.12); box-shadow:0 20px 60px rgba(0,0,0,0.3); }
    .video-thumb { aspect-ratio:16/9; background:linear-gradient(135deg,rgba(42,157,143,0.3),rgba(74,144,217,0.2)); display:flex; align-items:center; justify-content:center; position:relative; }
    .video-play { width:52px; height:52px; background:rgba(255,255,255,0.95); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--teal); font-size:1.3rem; box-shadow:0 8px 24px rgba(0,0,0,0.3); transition:transform 0.2s; }
    .video-card:hover .video-play { transform:scale(1.15); }
    .video-thumb-icon { position:absolute; top:12px; left:12px; font-size:2rem; }
    .video-duration { position:absolute; bottom:10px; right:12px; background:rgba(0,0,0,0.75); backdrop-filter:blur(4px); color:white; font-size:0.7rem; font-weight:600; padding:3px 7px; border-radius:4px; }
    .video-body { padding:18px 20px; }
    .video-cat { font-size:0.68rem; font-weight:700; color:var(--teal-light); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:6px; }
    .video-title { font-weight:600; color:white; font-size:0.9rem; line-height:1.45; margin-bottom:6px; }
    .video-meta { font-size:0.75rem; color:rgba(255,255,255,0.4); }

    /* ── FOOTER ── */
    footer { background:#080f17; color:rgba(255,255,255,0.6); padding:72px 0 32px; }
    .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px; }
    /* La rejilla principal del footer usa grid-template inline (4 columnas). En móvil
       las 4 columnas no caben y desbordan (scroll horizontal). El !important vence al
       estilo inline para colapsarlas a 2 y luego 1 columna. */
    @media(max-width:900px){ .footer-cols-grid{ grid-template-columns:1fr 1fr !important; gap:32px !important; } }
    @media(max-width:560px){ .footer-cols-grid{ grid-template-columns:1fr !important; } }
    /* ── FIX RESPONSIVE GLOBAL ──
       Varias rejillas del sitio definen grid-template-columns INLINE (columnas fijas),
       lo que vence a los @media responsivos y provoca scroll horizontal en móvil.
       Este bloque fuerza 1 columna en teléfonos para cualquier rejilla inline de
       columnas fijas, EXCLUYENDO las que usan minmax()/auto-fill (ya responsivas). */
    @media(max-width:640px){
      [style*="grid-template-columns:repeat("]:not([style*="minmax"]),
      [style*="grid-template-columns: repeat("]:not([style*="minmax"]),
      [style*="grid-template-columns:1fr 1fr"],
      [style*="grid-template-columns:1.6fr"],
      [style*="grid-template-columns:2fr"] { grid-template-columns:1fr !important; }
      /* Permitir que los items de rejilla se encojan por debajo de su min-content y
         que los títulos largos envuelvan (evita que un track 1fr crezca y desborde). */
      .contact-grid > *, .contact-info, .contact-tagline { min-width:0; overflow-wrap:break-word; }
    }
    .footer-tagline { font-size:0.875rem; line-height:1.7; margin-bottom:24px; max-width:280px; }
    .footer-social { display:flex; gap:10px; }
    .social-btn { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; text-decoration:none; border:1px solid rgba(255,255,255,0.08); }
    .social-btn:hover { background:var(--teal); color:white; transform:translateY(-3px) scale(1.08); border-color:var(--teal); box-shadow:0 8px 20px rgba(42,157,143,0.4); }
    .social-btn svg { fill:currentColor; }
    .footer-col-title { font-weight:700; color:white; font-size:0.875rem; margin-bottom:16px; }
    .footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-links a { font-size:0.8rem; color:rgba(255,255,255,0.5); transition:color 0.2s; cursor:pointer; }
    .footer-links a:hover { color:white; }
    .footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding-top:28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
    .footer-copy { font-size:0.78rem; color:rgba(255,255,255,0.35); }
    .footer-legal { display:flex; gap:20px; }
    .footer-legal a { font-size:0.78rem; color:rgba(255,255,255,0.35); transition:color 0.2s; cursor:pointer; }
    .footer-legal a:hover { color:rgba(255,255,255,0.7); }

    /* ── CTA BAND ── */
    .cta-band { background:var(--gradient-teal); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
    .cta-band::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
    .cta-band-content { position:relative; z-index:1; }
    .cta-band-title { font-family:'DM Serif Display',serif; font-size:2.6rem; color:white; margin-bottom:16px; letter-spacing:-0.02em; }
    .cta-band-sub { color:rgba(255,255,255,0.8); font-size:1.05rem; margin-bottom:36px; }
    .cta-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

    /* ── MODAL OVERLAY ── */
    .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(13,27,42,0.6);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      z-index: 9000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .modal-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
    .modal-box {
      background: rgba(255,255,255,0.96);
      backdrop-filter: blur(28px);
      -webkit-backdrop-filter: blur(28px);
      border: 1px solid rgba(255,255,255,0.8);
      border-radius: 24px;
      padding: 40px;
      max-width: 680px;
      width: 100%;
      max-height: 85vh;
      overflow-y: auto;
      box-shadow: 0 40px 100px rgba(13,27,42,0.3), inset 0 1px 0 rgba(255,255,255,0.9);
      position: relative;
      animation: modalIn 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    @keyframes modalIn { from{opacity:0;transform:scale(0.9) translateY(20px);} to{opacity:1;transform:scale(1) translateY(0);} }
    .modal-close {
      position: absolute;
      top: 16px; right: 16px;
      width: 36px; height: 36px;
      border-radius: 50%;
      background: var(--cloud);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      font-size: 1rem;
      color: var(--mid);
      transition: all 0.2s;
    }
    .modal-close:hover { background: var(--teal); color: white; }
    .modal-title { font-family:'DM Serif Display',serif; font-size:1.8rem; color:var(--ink); margin-bottom:16px; }
    .modal-body { color:var(--slate); line-height:1.8; font-size:0.95rem; }
    .modal-body h3 { font-size:1.1rem; font-weight:700; color:var(--ink); margin:20px 0 8px; }
    .modal-body p { margin-bottom:14px; }
    .modal-body ul { padding-left:20px; margin-bottom:14px; }
    .modal-body ul li { margin-bottom:6px; }

    /* ── COOKIE BANNER ── */
    .cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:8000; background:#0d1b2a; border-top:2px solid rgba(42,157,143,0.4); padding:14px 24px; transform:translateY(110%); transition:transform 0.45s cubic-bezier(0.34,1.56,0.64,1); box-shadow:0 -8px 40px rgba(0,0,0,0.4); }
    .cookie-banner-inner { max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
    .cookie-banner-left { display:flex; align-items:center; gap:14px; flex:1; min-width:260px; }
    .cookie-banner-icon { font-size:2rem; flex-shrink:0; }
    .cookie-banner-text strong { color:white; font-size:0.88rem; font-weight:700; }
    .cookie-banner-text p { color:rgba(255,255,255,0.55); font-size:0.76rem; line-height:1.5; margin:3px 0 0; }
    .cookie-banner-text a { color:#3fbfb0; cursor:pointer; text-decoration:underline; }
    .cookie-btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
    @media(max-width:640px){ .cookie-banner-inner{ flex-direction:column; align-items:stretch; } .cookie-btns{ justify-content:space-between; } }
    .cookie-banner-inner {
      max-width: 960px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }
    .cookie-banner.show { display: block; }
    @keyframes slideUpBar { from{opacity:0;transform:translateY(100%);} to{opacity:1;transform:translateY(0);} }
    .cookie-title { font-weight:700; color:white; font-size:0.9rem; white-space:nowrap; }
    .cookie-text { color:rgba(255,255,255,0.65); font-size:0.8rem; line-height:1.4; flex:1; min-width:180px; }
    .cookie-buttons { display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0; align-items:center; }
    .cookie-accept { padding:7px 16px; background:var(--gradient-teal); color:white; border-radius:var(--radius-pill); font-weight:600; font-size:0.8rem; cursor:pointer; transition:all 0.25s; border:none; box-shadow:0 4px 12px rgba(42,157,143,0.35); white-space:nowrap; }
    .cookie-accept:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(42,157,143,0.45); }
    .cookie-decline { padding:7px 14px; background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.7); border-radius:var(--radius-pill); font-weight:600; font-size:0.8rem; cursor:pointer; border:1px solid rgba(255,255,255,0.2); transition:all 0.2s; white-space:nowrap; }
    .cookie-decline:hover { background:rgba(255,255,255,0.15); }
    .cookie-manage { padding:7px 12px; background:transparent; color:rgba(255,255,255,0.5); border-radius:var(--radius-pill); font-weight:600; font-size:0.8rem; cursor:pointer; border:none; transition:all 0.2s; text-decoration:underline; white-space:nowrap; }
    .cookie-manage:hover { color:white; }

    /* ── NOTIFICATION TOAST ── */
    .toast {
      position: fixed;
      top: 100px;
      right: 24px;
      background: rgba(255,255,255,0.95);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,0.8);
      border-radius: 16px;
      padding: 16px 20px;
      box-shadow: 0 16px 48px rgba(13,27,42,0.16);
      z-index: 9999;
      display: flex;
      align-items: center;
      gap: 12px;
      max-width: 340px;
      transform: translateX(120%);
      transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    .toast.show { transform: translateX(0); }
    .toast-icon { font-size:1.4rem; }
    .toast-text { font-size:0.875rem; font-weight:600; color:var(--ink); }

    /* ── VIDEO MODAL ── */
    .video-modal-overlay {
      position: fixed; inset: 0;
      background: rgba(0,0,0,0.85);
      backdrop-filter: blur(12px);
      z-index: 9500;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .video-modal-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
    .video-modal-box {
      background: #000;
      border-radius: 20px;
      overflow: hidden;
      max-width: 800px;
      width: 90%;
      aspect-ratio: 16/9;
      position: relative;
      box-shadow: 0 40px 100px rgba(0,0,0,0.6);
    }
    .video-modal-inner { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0d2035,#1a3a5c); flex-direction:column; gap:16px; color:white; }
    .video-modal-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; cursor:pointer; color:white; font-size:1.1rem; transition:all 0.2s; }
    .video-modal-close:hover { background:rgba(255,255,255,0.35); }

    /* ── SERVICE DETAIL PAGE (overlay) ── */
    .page-overlay {
      position: fixed; inset: 0;
      background: var(--off-white);
      z-index: 800;
      overflow-y: auto;
      transform: translateX(110%);
      transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
      will-change: transform;
      visibility: hidden;
    }
    .page-overlay.open { visibility: visible; }
    .page-overlay.open { transform: translateX(0); }
    .page-overlay-inner { max-width: 860px; margin: 0 auto; padding: 120px 24px 80px; }
    .page-overlay-hero { background: var(--gradient-teal); padding: 80px 0; text-align: center; color: white; }
    .page-overlay h1 { font-family: 'DM Serif Display', serif; font-size: clamp(2rem,4vw,3rem); color: white; margin-bottom: 16px; }
    .page-overlay p { color: rgba(255,255,255,0.8); font-size: 1.1rem; max-width: 560px; margin: 0 auto; }
    .page-overlay-content { max-width: 860px; margin: 0 auto; padding: 64px 24px; }
    .page-overlay-content h2 { font-family: 'DM Serif Display', serif; font-size: 2rem; color: var(--ink); margin-bottom: 16px; }
    .page-overlay-content p { color: var(--slate); line-height: 1.8; margin-bottom: 16px; }

    /* ── SCROLL ANIMATIONS ── */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity 0.65s ease,transform 0.65s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .reveal-delay-1 { transition-delay:0.1s; }
    .reveal-delay-2 { transition-delay:0.2s; }
    .reveal-delay-3 { transition-delay:0.3s; }
    .reveal-delay-4 { transition-delay:0.4s; }

    /* ── HAMBURGER / MOBILE ── */
    .hamburger { display:none; flex-direction:column; gap:5px; padding:8px; cursor:pointer; }
    .hamburger span { display:block; height:2px; width:22px; background:var(--slate); border-radius:2px; transition:all 0.3s; }
    .hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
    .hamburger.open span:nth-child(2) { opacity:0; }
    .hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
    .mobile-menu { display:none; position:fixed; inset:0; background:rgba(255,255,255,0.97); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); z-index:999; padding:100px 24px 32px; flex-direction:column; gap:8px; }
    .mobile-menu.open { display:flex; }
    .mobile-menu a { font-size:1.1rem; font-weight:600; color:var(--ink); padding:14px 0; border-bottom:1px solid var(--cloud); }

    /* ── RESPONSIVE ── */
    @media (max-width:1024px) {
      .hero-inner { grid-template-columns:1fr; gap:48px; }
      .hero-visual { max-width:480px; margin:0 auto; }
      .about-inner { grid-template-columns:1fr; gap:48px; }
      .services-grid { grid-template-columns:1fr 1fr; }
      .stats-grid { grid-template-columns:2fr 2fr; gap:32px; }
      .blog-grid { grid-template-columns:1fr 1fr; }
      .blog-grid .blog-card:nth-child(3) { display:none; }
      .uni-grid { grid-template-columns:repeat(3,1fr); }
      .genetics-grid { grid-template-columns:1fr; gap:48px; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .team-grid { grid-template-columns:1fr 1fr; }
      .insurance-logos-grid { grid-template-columns:repeat(4,1fr); }
      #uniGrid { grid-template-columns:repeat(3,1fr) !important; }
      .locations-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:480px) {
      .hero-visual { display: none; }
      .hero-inner { grid-template-columns: 1fr; padding: 40px 18px 56px; }
      .hero-headline { font-size: 2.4rem; }
      .hero-sub { font-size: 1rem; }
      .hero-buttons .btn { width: 100%; justify-content: center; }
      .team-grid { grid-template-columns:1fr; }
      .insurance-logos-grid { grid-template-columns:repeat(2,1fr); }
      .stats-grid { grid-template-columns:1fr 1fr !important; }
    }
    @media (max-width:768px) {
      #audience .container > div:nth-child(2) { grid-template-columns:1fr !important; }
      #bcba-limitations .container > div:first-of-type { grid-template-columns:1fr !important; }
    }
    @media (max-width:768px) {
      .section { padding:64px 0; }
      .hero-inner { padding: 48px 20px 60px; }
      .hero-buttons { flex-direction: column; gap: 10px; }
      .hero-buttons .btn { justify-content: center; }
      .services-grid { grid-template-columns:1fr; }
      .stats-grid { grid-template-columns:1fr 1fr; }
      .testi-grid { grid-template-columns:1fr; }
      .video-grid { grid-template-columns:1fr; }
      .blog-grid { grid-template-columns:1fr; }
      .contact-grid { grid-template-columns:1fr; }
      .grad-timeline { grid-template-columns:1fr 1fr; }
      .uni-grid { grid-template-columns:repeat(2,1fr); }
      .edu-grid { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr; }
      .hero-stats { flex-wrap:wrap; gap:20px; }
      .form-row { grid-template-columns:1fr; }
      .locations-grid { grid-template-columns:1fr; }
      .cookie-banner { padding: 10px 14px; }
      .cookie-banner-inner { gap: 10px; }
      .cookie-text { font-size: 0.75rem; }
      .settings-bar { bottom:16px; right:16px; }
      .back-btn { top:80px; left:12px; font-size:0.8rem; padding:8px 14px; }
      .team-grid { grid-template-columns:1fr 1fr; }
      .insurance-logos-grid { grid-template-columns:repeat(3,1fr); }
      #uniGrid { grid-template-columns:repeat(2,1fr) !important; }
      .whatsapp-float { bottom:80px; left:16px; padding:12px 14px; }
      .whatsapp-label { display:none; }
      .write-float { bottom:80px; left:16px; }
      .write-float img { width:132px; }
    }
  
    /* Touch: remove 300ms tap delay on all platforms */
    a,button,input,select,label { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
    /* Mac Safari / iOS: prevent text size adjust */
    html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    /* Windows Edge: backdrop-filter fallback */
    @supports not (backdrop-filter:blur(1px)) {
      .navbar,.ai-chat-window,.glass,.glass-dark { background:rgba(13,27,42,0.97) !important; }
    }
    /* Firefox custom scrollbar */
    * { scrollbar-width:thin; scrollbar-color:rgba(42,157,143,0.35) transparent; }
    /* Safari: remove default input styling */
    input:not([type="checkbox"]):not([type="radio"]),textarea,select { -webkit-appearance:none; appearance:none; }
    /* Prevent iOS input zoom (keep font≥16px on mobile) */
    @media(max-width:768px){ input,select,textarea{ font-size:16px !important; } }
    /* Windows high contrast */
    @media(forced-colors:active){ .btn-primary,.btn-secondary{ border:2px solid ButtonText; } }
    /* Focus visible (keyboard nav — Mac/Windows) */
    *:focus-visible { outline:2px solid #2a9d8f; outline-offset:2px; }
    *:focus:not(:focus-visible) { outline:none; }
    /* Retina / HiDPI: crisp borders */
    @media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){ .team-card,.blog-card,.uni-card-pro{ border-width:0.5px; } }
    /* iOS overscroll on modals */
    .modal-body { -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
    /* Mac: sharper text */
    body { -moz-osx-font-smoothing:grayscale; }
    /* Safari: fix flex gap */
    .ai-quick-replies,.cookie-buttons { gap:6px; }
  
/* ── PAGE LOAD ANIMATION ── */
#pageLoader{position:fixed;inset:0;background:#0a1628;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:opacity 0.5s ease,visibility 0.5s ease;}
#pageLoader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-logo{font-family:'DM Serif Display',serif;font-size:2rem;color:#3fbfb0;letter-spacing:-0.02em;}
.loader-bar{width:200px;height:3px;background:rgba(255,255,255,0.1);border-radius:100px;overflow:hidden;}
.loader-bar-fill{height:100%;background:linear-gradient(90deg,#2a9d8f,#7b68c8);border-radius:100px;animation:loaderFill 1.4s ease forwards;}
@keyframes loaderFill{from{width:0}to{width:100%}}

/* ── AI CHAT MODES PANEL ── */
.ai-mode-strip{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,0.08);}
.ai-mode-strip::-webkit-scrollbar{display:none;}
.ai-mode-btn{flex-shrink:0;padding:4px 11px;border-radius:100px;border:1.5px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);font-size:0.68rem;font-weight:700;cursor:pointer;transition:all 0.2s;white-space:nowrap;font-family:inherit;}
.ai-mode-btn:hover,.ai-mode-btn.active{background:rgba(42,157,143,0.25);border-color:rgba(42,157,143,0.5);color:#3fbfb0;}

/* ── AI CHAT COPY / EXPORT BUTTONS ── */
.ai-msg-actions{display:none;gap:6px;margin-top:6px;}
.ai-bot-msg-wrap:hover .ai-msg-actions{display:flex;}
.ai-action-btn{padding:3px 8px;border-radius:6px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.55);font-size:0.65rem;font-weight:600;cursor:pointer;transition:all 0.15s;font-family:inherit;}
.ai-action-btn:hover{background:rgba(42,157,143,0.2);color:#3fbfb0;border-color:rgba(42,157,143,0.3);}
.ai-voice-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.85rem;transition:all 0.2s;flex-shrink:0;}
.ai-voice-btn:hover,.ai-voice-btn.listening{background:rgba(239,68,68,0.2);border-color:rgba(239,68,68,0.4);color:#ef4444;}
.ai-voice-btn.speaking{background:rgba(42,157,143,0.2);border-color:rgba(42,157,143,0.4);color:#3fbfb0;}

/* ── AI CHAT SEARCH BAR ── */
.ai-search-bar{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,0.08);display:none;}
.ai-search-bar.visible{display:flex;gap:8px;align-items:center;}
.ai-search-input{flex:1;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:6px 10px;font-size:0.78rem;color:white;font-family:inherit;outline:none;}
.ai-search-input::placeholder{color:rgba(255,255,255,0.3);}
.ai-search-input:focus{border-color:rgba(42,157,143,0.4);}

/* ── AI FILE ATTACH ── */
.ai-attach-preview{display:flex;gap:6px;flex-wrap:wrap;padding:6px 12px;border-top:1px solid rgba(255,255,255,0.07);}
.ai-attach-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(42,157,143,0.15);border:1px solid rgba(42,157,143,0.3);border-radius:100px;font-size:0.7rem;color:#3fbfb0;font-weight:600;}
.ai-attach-pill button{background:none;border:none;color:inherit;cursor:pointer;font-size:0.8rem;padding:0;line-height:1;}

/* ── PREMIUM BUTTON MICRO-ANIMATIONS ── */
.btn{position:relative;overflow:hidden;}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0);transition:background 0.2s;}
.btn:active::after{background:rgba(255,255,255,0.1);}
.btn-primary:hover{filter:brightness(1.08);}

/* ── READING PROGRESS BAR ── */
#readingProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#2a9d8f,#7b68c8,#f4a261);z-index:9999;width:0%;transition:width 0.1s linear;border-radius:0 2px 2px 0;}

/* ── PREMIUM SCROLL-TO-TOP ── */
.back-to-top{bottom:24px!important;right:24px!important;width:48px!important;height:48px!important;box-shadow:0 8px 24px rgba(42,157,143,0.35)!important;}

/* ── SOURCE BADGES (evidence-based) ── */
.source-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(42,157,143,0.1);border:1px solid rgba(42,157,143,0.25);border-radius:100px;font-size:0.65rem;font-weight:700;color:#3fbfb0;text-transform:uppercase;letter-spacing:0.06em;margin:2px;}
.source-badge::before{content:'📚';font-size:0.7rem;}

/* ── PREMIUM FORM VALIDATION ── */
.form-input.valid{border-color:#10b981!important;background:#f0fdf4!important;}
.form-input.invalid{border-color:#ef4444!important;background:#fff5f5!important;}
.form-validation-msg{font-size:0.72rem;margin-top:4px;padding:4px 8px;border-radius:6px;font-weight:600;}
.form-validation-msg.error{color:#dc2626;background:#fef2f2;}
.form-validation-msg.success{color:#065f46;background:#f0fdf4;}
.form-loading{display:inline-flex;align-items:center;gap:8px;}
.form-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── PREMIUM LIBRARY SECTION ── */
.library-card{background:white;border:1.5px solid var(--mist);border-radius:var(--radius-lg);padding:24px;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);cursor:pointer;position:relative;overflow:hidden;}
.library-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-teal);transform:scaleX(0);transition:transform 0.3s;transform-origin:left;}
.library-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(42,157,143,0.3);}
.library-card:hover::before{transform:scaleX(1);}
.lib-source-badge{font-size:0.65rem;font-weight:800;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:0.08em;}
.lib-badge-cdc{background:#e0f2fe;color:#0369a1;}
.lib-badge-bacb{background:#e0f4f2;color:#0f766e;}
.lib-badge-nih{background:#ede9fe;color:#5b21b6;}
.lib-badge-jaba{background:#fef3c7;color:#92400e;}
.lib-badge-aap{background:#fce7f3;color:#9d174d;}

/* ── PREMIUM ACCORDION ── */
.faq-item{border-radius:var(--radius-md);overflow:hidden;border:1.5px solid var(--mist);margin-bottom:8px;transition:border-color 0.2s;}
.faq-item.open{border-color:rgba(42,157,143,0.3);}
.faq-item.open .faq-q{background:linear-gradient(135deg,rgba(42,157,143,0.06),rgba(123,104,200,0.03));}
.faq-search-wrap{position:relative;margin-bottom:24px;}
.faq-search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--soft);}
.faq-search-input{width:100%;padding:12px 14px 12px 42px;border:1.5px solid var(--mist);border-radius:var(--radius-md);font-size:0.9rem;font-family:inherit;background:white;transition:border-color 0.2s;outline:none;}
.faq-search-input:focus{border-color:var(--teal);}

/* ── LEGAL FOOTNOTE STYLE ── */
.legal-footnote{font-size:0.72rem;color:var(--soft);line-height:1.6;padding:14px 16px;background:var(--cloud);border-radius:var(--radius-sm);border-left:3px solid var(--mist);margin-top:24px;}
.legal-footnote strong{color:var(--mid);}

/* ── PREMIUM BLOG CARDS ── */
.blog-card{transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(13,27,42,0.12);}
.blog-meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;}
.blog-read-time{display:inline-flex;align-items:center;gap:4px;font-size:0.72rem;color:var(--soft);font-weight:600;}
.blog-share-row{display:flex;gap:6px;margin-top:12px;}
.share-btn-sm{width:28px;height:28px;border-radius:6px;border:1px solid var(--mist);background:white;display:flex;align-items:center;justify-content:center;font-size:0.7rem;cursor:pointer;transition:all 0.2s;color:var(--mid);}
.share-btn-sm:hover{background:var(--teal);color:white;border-color:var(--teal);}

/* ── PREMIUM NOTIFICATION BADGE ── */
.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:100px;font-size:0.6rem;font-weight:800;color:white;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white;animation:notifPulse 2s infinite;}
@keyframes notifPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}

/* ── PREMIUM TOOLTIP ── */
[data-tooltip]{position:relative;}
[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#0d1b2a;color:white;font-size:0.7rem;font-weight:600;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;z-index:9999;}
[data-tooltip]:hover::after{opacity:1;}

/* ── SKIP NAVIGATION PREMIUM ── */
.skip-nav{position:fixed;top:-100%;left:16px;z-index:99999;background:var(--teal);color:white;padding:8px 16px;border-radius:0 0 8px 8px;font-weight:700;font-size:0.85rem;transition:top 0.2s;}
.skip-nav:focus{top:0;}

/* ── BREADCRUMB ── */
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:0.78rem;color:var(--soft);flex-wrap:wrap;}
.breadcrumb-sep{color:var(--mist);}
.breadcrumb a{color:var(--teal);font-weight:600;}

/* ── PREMIUM TABLE ── */
.premium-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.premium-table th{background:var(--ink);color:white;padding:12px 16px;font-size:0.78rem;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:0.08em;}
.premium-table td{padding:11px 16px;font-size:0.85rem;color:var(--slate);border-bottom:1px solid var(--mist);}
.premium-table tr:last-child td{border-bottom:none;}
.premium-table tr:nth-child(even) td{background:rgba(248,247,245,0.5);}
.premium-table tr:hover td{background:var(--teal-pale);}

/* ── DARK MODE PREMIUM ── */
body.dark-mode .library-card{background:#0f1f35;border-color:rgba(255,255,255,0.08);color:rgba(255,255,255,0.85);}
body.dark-mode .faq-search-input{background:#0f1f35;border-color:rgba(255,255,255,0.12);color:white;}
body.dark-mode .form-input.valid{background:#0d2018!important;border-color:#10b981!important;}

/* ── PREMIUM RESPONSIVE FIXES ── */
@media(max-width:480px){
  .ai-mode-strip{padding:6px 8px;}
  .ai-mode-btn{padding:3px 8px;font-size:0.62rem;}
  .bcba-bento{display:flex;flex-direction:column;}
  .bento-cell{min-height:200px;}
  .domain-cards{grid-template-columns:repeat(3,1fr)!important;}
}
@media(max-width:768px){
  .audience .container > div:nth-child(2){grid-template-columns:1fr!important;}
  #bcba-limitations .container div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important;}
}
@media(min-width:1600px){
  .container{max-width:1320px;}
  .container-wide{max-width:1520px;}
}

/* ── ULTRA-WIDE ── */
@media(min-width:2000px){
  .hero-inner{max-width:1600px;margin:0 auto;}
}

/* ── PRINT STYLES ── */
@media print{
  .navbar,.ai-chat-widget,.settings-bar,.back-to-top,.scroll-progress,#pageLoader,.whatsapp-float,.write-float,.cookie-banner{display:none!important;}
  body{font-size:12pt;color:#000;}
  .container{max-width:100%;}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
}

/* ── HIGH CONTRAST ── */
@media(prefers-contrast:high){
  .btn-primary{border:2px solid white;}
  .form-input{border-width:2px;}
}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
@media(max-width:768px){
  #hero { min-height:75vh; }
  #hero h1 { font-size:clamp(2rem,8vw,2.8rem); }
}
@media(max-width:480px){
  #hero { min-height:70vh; }
}
.prog-tab.active { background:var(--ink) !important; color:white !important; border-color:var(--ink) !important; }
.prog-tab:not(.active):hover { background:var(--cloud) !important; color:var(--ink) !important; }
@media(max-width:768px){
  #prog-frequency .grid-2, #prog-skills .grid-2, #prog-duration .grid-2, #prog-domains .grid-2 { grid-template-columns:1fr !important; }
}
/* Gallery filters */
.gal-filter { padding:9px 20px;border-radius:100px;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.6);font-size:0.8rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all 0.2s;white-space:nowrap; }
.gal-filter:hover { background:rgba(255,255,255,0.12); color:white; }
.gal-filter.active { background:var(--gradient-teal);color:white;border-color:transparent;box-shadow:var(--shadow-teal); }

/* Gallery items */
.gal-item { break-inside:avoid;margin-bottom:14px;border-radius:14px;overflow:hidden;cursor:pointer;position:relative;background:#1a2a3a; }
.gal-item img { width:100%;display:block;transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);object-fit:cover; }
.gal-item:hover img { transform:scale(1.05); }
.gal-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,42,0.85),transparent 60%);opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:14px; }
.gal-item:hover .gal-overlay { opacity:1; }
.gal-tag { background:rgba(42,157,143,0.9);backdrop-filter:blur(8px);color:white;padding:5px 12px;border-radius:100px;font-size:0.72rem;font-weight:800;letter-spacing:0.04em;white-space:nowrap; }
.gal-item.hidden { display:none; }

@media(max-width:1024px){ #abaGalleryGrid { columns:3; } }
@media(max-width:768px){ #abaGalleryGrid { columns:2; } }
@media(max-width:480px){ #abaGalleryGrid { columns:1; } }

/* ══ DARK PREMIUM SECTIONS ══ */
.section-dark-premium {
  position: relative;
  background: linear-gradient(145deg, #060d1a 0%, #0a1628 35%, #07192f 65%, #0b1220 100%);
  overflow: hidden;
}

/* Animated star/particle background */
.section-dark-premium::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,0.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 40%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 10%, rgba(255,255,255,0.7) 0%, transparent 100%),
    radial-gradient(1px 1px at 55% 55%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,0.5) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 85% 45%, rgba(255,255,255,0.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 15% 70%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 30% 85%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 60% 75%, rgba(255,255,255,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 80% 90%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 5%  50%, rgba(255,255,255,0.35) 0%, transparent 100%),
    radial-gradient(2px 2px at 90% 5%,  rgba(255,255,255,0.55) 0%, transparent 100%),
    radial-gradient(1px 1px at 45% 92%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 72% 60%, rgba(255,255,255,0.35) 0%, transparent 100%),
    radial-gradient(2px 2px at 18% 30%, rgba(63,191,176,0.4) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 65% 35%, rgba(123,104,200,0.35) 0%, transparent 100%),
    radial-gradient(1px 1px at 50% 80%, rgba(74,144,217,0.3) 0%, transparent 100%);
  pointer-events: none;
  z-index: 0;
  animation: starsTwinkle 8s ease-in-out infinite alternate;
}

/* Nebula glow overlay */
.section-dark-premium::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 40% at 20% 50%, rgba(42,157,143,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 30%, rgba(123,104,200,0.07) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 50% 80%, rgba(74,144,217,0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

@keyframes starsTwinkle {
  0%   { opacity: 0.7; }
  50%  { opacity: 1; }
  100% { opacity: 0.8; }
}

/* All content inside dark premium must be above the bg layers */
.section-dark-premium > * { position: relative; z-index: 1; }
.section-dark-premium .container { position: relative; z-index: 1; }

/* Text color overrides for dark premium sections */
.section-dark-premium .section-title,
.section-dark-premium h2,
.section-dark-premium h3 { color: white !important; }

.section-dark-premium .section-sub,
.section-dark-premium p { color: rgba(255,255,255,0.65) !important; }

.section-dark-premium .dark-eyebrow {
  background: rgba(255,255,255,0.08) !important;
  color: #3fbfb0 !important;
  border: 1px solid rgba(63,191,176,0.25) !important;
}

/* Education cards — glassmorphism on dark */
.section-dark-premium .edu-card {
  background: rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.08) !important;
  transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1) !important;
}
.section-dark-premium .edu-card:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(63,191,176,0.35) !important;
  transform: translateY(-5px) scale(1.02) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(63,191,176,0.2) !important;
}
.section-dark-premium .edu-card-title { color: white !important; }
.section-dark-premium .edu-card-desc { color: rgba(255,255,255,0.6) !important; }
.section-dark-premium .edu-card-tag {
  background: rgba(63,191,176,0.15) !important;
  color: #3fbfb0 !important;
  border: 1px solid rgba(63,191,176,0.2) !important;
}

/* Blog cards — glass dark */
.section-dark-premium .blog-card {
  background: rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
}
.section-dark-premium .blog-card:hover {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(63,191,176,0.3) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.45) !important;
}
.section-dark-premium .blog-title { color: white !important; }
.section-dark-premium .blog-excerpt { color: rgba(255,255,255,0.55) !important; }
.section-dark-premium .blog-category {
  background: rgba(123,104,200,0.2) !important;
  color: #a394e0 !important;
}
.section-dark-premium .blog-meta { color: rgba(255,255,255,0.35) !important; }

/* View All button */
.section-dark-premium .btn-primary {
  box-shadow: 0 8px 32px rgba(42,157,143,0.35) !important;
}

/* Animated floating orbs */
.dp-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(80px);
  animation: dpOrbFloat 12s ease-in-out infinite alternate;
}
.dp-orb-1 { width:320px; height:320px; background:rgba(42,157,143,0.12); top:-80px; left:-80px; animation-delay:0s; }
.dp-orb-2 { width:280px; height:280px; background:rgba(123,104,200,0.1); top:30%; right:-60px; animation-delay:-4s; }
.dp-orb-3 { width:240px; height:240px; background:rgba(74,144,217,0.09); bottom:-60px; left:30%; animation-delay:-8s; }

@keyframes dpOrbFloat {
  0%   { transform: translate(0,0) scale(1); }
  33%  { transform: translate(20px,-15px) scale(1.05); }
  66%  { transform: translate(-15px,20px) scale(0.97); }
  100% { transform: translate(10px,10px) scale(1.02); }
}
/* ---- Study Hub scoped styles (prefijo sh-) ---- */
#study-hub{padding:88px 0;background:radial-gradient(1100px 560px at 50% -8%,var(--teal-pale),transparent 60%),linear-gradient(180deg,#f6f8fb,#eef2f8);}
#study-hub .wrap,#checkout .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.sh-eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:var(--teal-pale);padding:7px 16px;border-radius:100px;margin-bottom:16px;}
#study-hub h2,#checkout h2{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);line-height:1.08;text-align:center;letter-spacing:-.5px;}
.sh-sub{text-align:center;max-width:640px;margin:14px auto 0;color:var(--mid);font-size:1.04rem;line-height:1.6;}
.sh-head{text-align:center;margin-bottom:38px;}
.sh-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:26px 0 6px;}
.sh-stat{background:rgba(255,255,255,.75);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:14px 22px;box-shadow:var(--shadow-md);text-align:center;min-width:120px;}
.sh-stat b{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--teal);display:block;line-height:1;}
.sh-stat span{font-size:.76rem;color:var(--mid);}
/* mode cards */
.sh-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px;}
@media(max-width:900px){.sh-modes{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.sh-modes{grid-template-columns:1fr;}}
.sh-mode{background:rgba(255,255,255,.8);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:26px 22px;box-shadow:var(--shadow-md);cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;text-align:center;}
.sh-mode:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);}
.sh-mode .ic{font-size:2.2rem;margin-bottom:10px;display:block;}
.sh-mode h3{font-family:'DM Serif Display',serif;font-size:1.28rem;margin-bottom:6px;}
.sh-mode p{font-size:.84rem;color:var(--mid);line-height:1.45;}
.sh-mode .go{margin-top:14px;display:inline-block;font-size:.8rem;font-weight:700;color:var(--teal);}
/* quiz panel */
.sh-panel{margin-top:36px;background:#fff;border-radius:26px;box-shadow:var(--shadow-xl);overflow:hidden;display:none;}
.sh-panel.active{display:block;animation:shFade .4s ease;}
@keyframes shFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.sh-panel-top{background:var(--gradient-hero);color:#fff;padding:20px 26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.sh-panel-top .t{font-family:'DM Serif Display',serif;font-size:1.25rem;}
.sh-meta{display:flex;gap:18px;align-items:center;font-size:.85rem;}
.sh-timer{background:rgba(63,191,176,.22);border:1px solid rgba(63,191,176,.4);padding:6px 13px;border-radius:100px;font-weight:700;font-variant-numeric:tabular-nums;}
.sh-progressbar{height:6px;background:#eef1f6;}
.sh-progressbar i{display:block;height:100%;width:0;background:var(--gradient-teal);transition:width .3s;}
.sh-q{padding:32px 30px;}
.sh-q .cat{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--lavender);background:var(--lavender-pale);padding:4px 12px;border-radius:100px;margin-bottom:14px;}
.sh-q .qtext{font-size:1.18rem;font-weight:600;line-height:1.5;margin-bottom:22px;color:var(--ink);}
.sh-opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:#f7f9fc;border:1.5px solid #e6ecf3;border-radius:14px;padding:15px 18px;margin-bottom:11px;cursor:pointer;font-size:.95rem;font-family:inherit;color:#33465c;transition:.18s;}
.sh-opt:hover{border-color:var(--teal-light);background:var(--teal-pale);}
.sh-opt .k{width:26px;height:26px;flex-shrink:0;border-radius:8px;background:#fff;border:1.5px solid #d5deea;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;color:var(--mid);}
.sh-opt.correct{border-color:var(--teal);background:var(--teal-pale);}
.sh-opt.correct .k{background:var(--teal);color:#fff;border-color:var(--teal);}
.sh-opt.wrong{border-color:#e07b7b;background:#fdecec;}
.sh-opt.wrong .k{background:#e07b7b;color:#fff;border-color:#e07b7b;}
.sh-opt:disabled{cursor:default;}
.sh-rationale{margin-top:6px;padding:16px 18px;border-radius:14px;background:var(--sky-pale);border-left:4px solid var(--sky);font-size:.9rem;line-height:1.55;color:#294b6b;display:none;}
.sh-rationale.show{display:block;animation:shFade .3s;}
.sh-rationale b{color:var(--sky);}
.sh-q-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px;flex-wrap:wrap;}
.sh-btn{padding:12px 24px;border-radius:12px;font-weight:700;font-size:.9rem;font-family:inherit;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s;}
.sh-btn:hover{transform:translateY(-2px);}
.sh-btn.teal{background:var(--gradient-teal);color:#fff;box-shadow:var(--shadow-teal);}
.sh-btn.ghost{background:var(--cloud);color:var(--ink);}
.sh-btn.warm{background:var(--gradient-warm);color:#fff;}
.sh-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}
/* results */
.sh-result{padding:44px 30px;text-align:center;display:none;}
.sh-result.show{display:block;animation:shFade .4s;}
.sh-ring{width:150px;height:150px;margin:0 auto 18px;position:relative;}
.sh-ring svg{transform:rotate(-90deg);}
.sh-ring .pct{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.sh-ring .pct b{font-family:'DM Serif Display',serif;font-size:2.4rem;line-height:1;}
.sh-ring .pct span{font-size:.72rem;color:var(--mid);}
.sh-result h3{font-family:'DM Serif Display',serif;font-size:1.8rem;margin-bottom:8px;}
.sh-result .rmsg{color:var(--mid);max-width:460px;margin:0 auto 22px;}
.sh-break{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-bottom:26px;}
.sh-break div b{font-family:'DM Serif Display',serif;font-size:1.5rem;display:block;}
.sh-break .ok b{color:var(--teal);}.sh-break .no b{color:#e07b7b;}.sh-break .sk b{color:var(--warm);}
.sh-break div span{font-size:.76rem;color:var(--mid);}
/* flashcards */
.sh-fc-wrap{max-width:560px;margin:34px auto 0;}
.sh-fc{perspective:1400px;height:280px;cursor:pointer;}
.sh-fc-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;}
.sh-fc.flip .sh-fc-inner{transform:rotateY(180deg);}
.sh-fc-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center;box-shadow:var(--shadow-lg);}
.sh-fc-front{background:var(--gradient-hero);color:#fff;}
.sh-fc-front .term{font-family:'DM Serif Display',serif;font-size:1.9rem;}
.sh-fc-front .hint{position:absolute;bottom:18px;font-size:.74rem;color:rgba(255,255,255,.55);}
.sh-fc-back{background:#fff;color:var(--ink);transform:rotateY(180deg);border:1px solid #e6ecf3;}
.sh-fc-back .def{font-size:1rem;line-height:1.55;color:#33465c;}
.sh-fc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px;}
.sh-fc-count{font-size:.85rem;color:var(--mid);font-weight:600;}
/* glossary */
.sh-gloss{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.sh-gloss .g{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.6);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm);}
.sh-gloss .g b{display:block;font-size:.95rem;color:var(--teal);margin-bottom:4px;}
.sh-gloss .g span{font-size:.82rem;color:#4a5b70;line-height:1.45;}
.sh-search{display:block;width:100%;max-width:460px;margin:0 auto;padding:14px 20px;border-radius:100px;border:1.5px solid #e0e6ef;font-size:.95rem;font-family:inherit;box-shadow:var(--shadow-sm);}
.sh-search:focus{outline:none;border-color:var(--teal-light);}
.sh-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--mid);background:none;border:none;cursor:pointer;font-family:inherit;margin-bottom:6px;}

/* ---- Checkout scoped styles ---- */
#checkout{padding:88px 0;background:linear-gradient(180deg,#eef2f8,#f6f8fb);}
.co-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:26px;margin-top:38px;align-items:start;}
@media(max-width:860px){.co-grid{grid-template-columns:1fr;}}
.co-card{background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);padding:30px 30px;}
.co-card h3{font-family:'DM Serif Display',serif;font-size:1.4rem;margin-bottom:4px;}
.co-card .desc{font-size:.85rem;color:var(--mid);margin-bottom:20px;}
.co-methods{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.co-pay{height:38px;display:flex;align-items:center;justify-content:center;padding:0 12px;background:#fff;border:1.5px solid #e6ecf3;border-radius:10px;transition:.2s;cursor:pointer;}
.co-pay:hover{border-color:var(--teal-light);box-shadow:var(--shadow-sm);}
.co-pay svg{height:22px;width:auto;display:block;}
.co-field{margin-bottom:16px;}
.co-field label{display:block;font-size:.78rem;font-weight:700;color:var(--mid);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.co-field input{width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid #e0e6ef;font-size:.95rem;font-family:inherit;background:#fbfcfe;}
.co-field input:focus{outline:none;border-color:var(--teal-light);background:#fff;}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.co-cardbox{position:relative;}
.co-cardbox .brand{position:absolute;right:14px;top:38px;height:24px;}
.co-secure{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--teal);background:var(--teal-pale);padding:10px 14px;border-radius:10px;margin:6px 0 18px;}
.co-btn{width:100%;padding:16px;border-radius:14px;border:none;background:var(--gradient-teal);color:#fff;font-weight:800;font-size:1rem;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-teal);transition:transform .2s;}
.co-btn:hover{transform:translateY(-2px);}
.co-apple{background:#000;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;}
.co-note{font-size:.72rem;color:var(--mid);text-align:center;margin-top:14px;line-height:1.5;}
/* summary */
.co-sum{background:var(--gradient-hero);color:#fff;border-radius:22px;padding:28px 26px;box-shadow:var(--shadow-xl);position:sticky;top:90px;}
.co-sum h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#bfe9e2;margin-bottom:16px;}
.co-plan{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.co-plan .pn{font-family:'DM Serif Display',serif;font-size:1.2rem;}
.co-plan .pp{font-weight:700;}
.co-plansel{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.co-plansel button{text-align:left;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px;color:#fff;font-family:inherit;cursor:pointer;font-size:.88rem;display:flex;justify-content:space-between;transition:.2s;}
.co-plansel button.sel{border-color:var(--teal-light);background:rgba(63,191,176,.18);}
.co-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;font-size:1.05rem;}
.co-total b{font-family:'DM Serif Display',serif;font-size:2rem;}
.co-badges{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;opacity:.85;}
.co-badges span{font-size:.72rem;display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.75);}
.co-guar{font-size:.78rem;color:rgba(255,255,255,.7);margin-top:14px;line-height:1.5;}
.sh-track{display:flex;justify-content:center;gap:12px;margin:28px 0 4px;flex-wrap:wrap;}
.sh-trk{font-family:inherit;font-weight:700;font-size:.92rem;padding:12px 26px;border-radius:100px;border:1.5px solid #d9e2ee;background:#fff;color:var(--mid);cursor:pointer;transition:.2s;box-shadow:var(--shadow-sm);}
.sh-trk:hover{border-color:var(--teal-light);}
.sh-trk.sel{background:var(--gradient-teal);color:#fff;border-color:transparent;box-shadow:var(--shadow-teal);}
.sh-areasel{font-family:inherit;font-size:.88rem;padding:9px 16px;border-radius:100px;border:1.5px solid #e0e6ef;background:#fff;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);}
.sh-areasel:focus{outline:none;border-color:var(--teal-light);}
.sh-qimg{margin:0 0 16px;text-align:center;}
.sh-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sh-mcol{display:flex;flex-direction:column;gap:10px;}
.sh-mterm,.sh-mdef{text-align:left;font-family:inherit;font-size:.85rem;line-height:1.35;padding:13px 15px;border-radius:12px;border:1.5px solid #e0e6ef;background:#fff;color:#33465c;cursor:pointer;transition:.15s;}
.sh-mterm{font-weight:700;color:var(--ink);}
.sh-mterm:hover,.sh-mdef:hover{border-color:var(--teal-light);}
.sh-mterm.sel{background:var(--sky-pale);border-color:var(--sky);}
.sh-mterm.done,.sh-mdef.done{background:var(--teal-pale);border-color:var(--teal);color:#1c6b60;cursor:default;opacity:.72;}
.sh-mdef.shake{animation:shShake .4s;border-color:#e07b7b;}
@keyframes shShake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}
/* (regla intrusa de exportación de chat eliminada: body max-width:700px, .user/.bot/.role/.footer) */
  @keyframes orvSkel { 0%{background-position:-200% 0;} 100%{background-position:200% 0;} }
  .orv-skel { background:linear-gradient(90deg,#eef2f7 25%,#f7fafc 37%,#eef2f7 63%); background-size:200% 100%; animation:orvSkel 1.3s infinite; border-radius:10px; }
  .orv-dash-card { background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:16px 18px; box-shadow:0 2px 10px rgba(13,27,42,0.05); }
  .orv-dash-stat .v { font-size:1.7rem; font-weight:800; color:#2a9d8f; line-height:1; }
  .orv-dash-stat .l { font-size:0.72rem; color:#8a97a8; margin-top:5px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; }

/* ═══ ORVEXIA custom · barra superior azul+verde claro + cuadros más pequeños ═══ */
.navbar, .navbar.scrolled {
  background: linear-gradient(90deg,#0e2f5c 0%,#12706a 62%,#37c9a6 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.20) !important;
  border-bottom: 1px solid rgba(255,255,255,0.14) !important;
}
.nav-logo-text { color:#ffffff !important; font-size:1.12rem !important; }
.nav-logo-text span { color:#8affdc !important; }
.nav-links a { color:rgba(255,255,255,0.95) !important; font-weight:600 !important; }
.nav-links a:hover, .nav-links a.nav-active { color:#0e2f5c !important; background:#8affdc !important; }
.nav-cta .btn-ghost { color:#ffffff !important; border-color:rgba(255,255,255,0.55) !important; }
.nav-cta .btn-ghost:hover { background:rgba(255,255,255,0.15) !important; }
/* ═══ 3 cuadros superpuestos sobre el banner (zona central) ═══ */
#credential-paths { position:relative; }
.cred-overlay {
  position:absolute;
  top:13.5%;
  left:35%;
  transform:none;
  width:35%;
  max-width:580px;
  z-index:3;
  padding:0 !important;
}
.cred-overlay .section-header { display:none !important; }
.cred-overlay .section-eyebrow { padding:3px 11px !important; font-size:0.6rem !important; margin-bottom:0 !important; }
.cred-overlay .section-title { font-size:1.5rem !important; margin-top:6px !important; line-height:1.08 !important; }
.cred-overlay .section-sub { font-size:0.74rem !important; margin-top:5px !important; line-height:1.3 !important; }
.credential-grid { max-width:none !important; margin:0 !important; gap:13px !important; }
.credential-grid > div { padding:12px 15px !important; gap:6px !important; border-radius:15px !important; box-shadow:0 14px 34px rgba(0,0,0,0.45) !important; }
.credential-grid > div > div:first-child > div { width:38px !important; height:38px !important; font-size:1.15rem !important; border-radius:11px !important; }
.credential-grid > div > div:first-child > span { font-size:0.54rem !important; padding:3px 8px !important; }
.credential-grid > div > div:nth-child(2) > div { font-size:0.64rem !important; margin-bottom:4px !important; }
.credential-grid h3 { font-size:0.94rem !important; margin-bottom:7px !important; line-height:1.18 !important; }
.credential-grid p { font-size:0.7rem !important; line-height:1.42 !important; margin-bottom:9px !important; }
.credential-grid ul { gap:5px !important; }
.credential-grid li { font-size:0.68rem !important; gap:6px !important; }
.credential-grid a.btn { padding:10px 14px !important; font-size:0.76rem !important; }
/* Respaldo en pantallas angostas: los cuadros bajan y se apilan */
@media (max-width: 1000px) {
  #credential-paths { padding:0 0 44px !important; }
  .cred-overlay { position:static !important; transform:none !important; width:auto !important; max-width:1040px !important; margin:28px auto 0 !important; padding:0 24px !important; }
  .cred-overlay .section-title { font-size:1.6rem !important; }
  .cred-overlay .section-sub { font-size:0.9rem !important; }
  .credential-grid { grid-template-columns:1fr !important; gap:16px !important; max-width:520px !important; margin:24px auto 0 !important; }
  .credential-grid > div { padding:22px !important; }
  .credential-grid h3 { font-size:1.15rem !important; }
  .credential-grid p { font-size:0.86rem !important; }
  .credential-grid li { font-size:0.82rem !important; }
  .credential-grid a.btn { padding:12px 18px !important; font-size:0.9rem !important; }
}

/* ═══ ORVEXIA custom · íconos de imagen (barra + tarjetas de modos) ═══ */
.nav-ico{
  width:32px; height:32px; border-radius:9px; object-fit:contain;
  display:inline-block; vertical-align:middle; margin-right:8px;
  box-shadow:0 3px 10px rgba(0,0,0,.22);
}
.nav-links a{ display:inline-flex; align-items:center; }
.mobile-menu .nav-ico{ width:38px; height:38px; margin-right:10px; }
.sh-mode img.ic{
  width:60px; height:60px; border-radius:15px; object-fit:cover;
  display:block; margin:0 auto 12px; box-shadow:0 8px 20px rgba(13,27,42,.22);
}

/* ═══ ORVEXIA custom · Career Roadmap timeline (RBT → BCaBA → BCBA) ═══ */
.rm-timeline{ position:relative; max-width:840px; margin:46px auto 0; }
.rm-line{ position:absolute; left:27px; top:14px; bottom:14px; width:3px;
  background:linear-gradient(180deg, var(--teal), rgba(42,157,143,.18));
  border-radius:3px; box-shadow:0 0 18px rgba(42,157,143,.55); }
.rm-stage{ position:relative; display:flex; gap:24px; margin-bottom:28px; }
.rm-stage:last-child{ margin-bottom:0; }
.rm-node{ flex-shrink:0; width:56px; height:56px; border-radius:50%;
  background:var(--gradient-teal); color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:.82rem; letter-spacing:.02em; z-index:2;
  box-shadow:0 0 0 6px rgba(42,157,143,.12), 0 8px 24px rgba(42,157,143,.38); }
.rm-card{ flex:1; background:#fff; border:1px solid rgba(42,157,143,.16); border-radius:18px;
  padding:22px 24px; box-shadow:0 14px 40px rgba(13,27,42,.08); }
.rm-badge{ display:inline-block; font-size:.66rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--teal); background:rgba(42,157,143,.1); padding:5px 12px; border-radius:100px; }
.rm-title{ font-family:'DM Serif Display',serif; font-size:1.4rem; color:var(--ink); margin:12px 0 8px; line-height:1.15; }
.rm-desc{ font-size:.92rem; color:var(--mid); line-height:1.6; margin-bottom:16px; }
.rm-reqs{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px; }
.rm-req{ display:flex; gap:9px; align-items:flex-start; background:var(--cloud,#f5f8fa); border-radius:12px; padding:11px 12px; }
.rm-req-ic{ font-size:1.12rem; line-height:1; }
.rm-req b{ display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--teal); margin-bottom:3px; }
.rm-req span{ font-size:.78rem; color:var(--mid); line-height:1.42; }
.rm-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.rm-tags span{ font-size:.72rem; font-weight:600; color:var(--slate); background:rgba(42,157,143,.08);
  border:1px solid rgba(42,157,143,.2); padding:5px 11px; border-radius:100px; }
.rm-note{ text-align:center; font-size:.8rem; color:var(--soft); margin-top:24px; }
.rm-note a{ color:var(--teal); font-weight:600; }
@media(max-width:640px){
  .rm-reqs{ grid-template-columns:1fr; }
  .rm-stage{ gap:14px; }
  .rm-node{ width:48px; height:48px; font-size:.72rem; }
  .rm-line{ left:23px; }
  .rm-card{ padding:18px 18px; }
}

/* ═══ ORVEXIA custom · Career Roadmap · timeline ALTERNADA (zigzag) ═══ */
.tl{ position:relative; max-width:980px; margin:50px auto 0; }
.tl-line{ position:absolute; left:50%; top:6px; bottom:6px; width:3px; transform:translateX(-50%);
  background:linear-gradient(180deg, var(--teal), rgba(42,157,143,.18));
  box-shadow:0 0 18px rgba(42,157,143,.5); border-radius:3px; }
.tl-item{ position:relative; width:50%; box-sizing:border-box; padding-bottom:34px; }
.tl-item.right{ left:50%; padding-left:46px; padding-right:6px; }
.tl-item.left{ left:0; padding-right:46px; padding-left:6px; text-align:right; }
.tl-node{ position:absolute; top:2px; width:48px; height:48px; border-radius:50%;
  background:var(--gradient-teal); color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:1.05rem; z-index:2;
  box-shadow:0 0 0 6px rgba(42,157,143,.12), 0 8px 22px rgba(42,157,143,.4); }
.tl-item.right .tl-node{ left:-24px; }
.tl-item.left .tl-node{ right:-24px; }
.tl-card{ position:relative; background:#fff; border:1px solid rgba(42,157,143,.16); border-radius:18px;
  padding:20px 24px; box-shadow:0 14px 40px rgba(13,27,42,.08); }
/* flechita hacia la línea */
.tl-card::before{ content:""; position:absolute; top:16px; width:14px; height:14px; background:#fff;
  border:1px solid rgba(42,157,143,.16); transform:rotate(45deg); }
.tl-item.right .tl-card::before{ left:-8px; border-right:none; border-top:none; }
.tl-item.left  .tl-card::before{ right:-8px; border-left:none; border-bottom:none; }
.tl-title{ font-family:'DM Serif Display',serif; font-size:1.32rem; color:var(--ink); margin-bottom:8px; line-height:1.15; }
.tl-desc{ font-size:.9rem; color:var(--mid); line-height:1.6; margin-bottom:12px; }
.tl-detail{ font-size:.8rem; font-weight:600; color:var(--teal); background:rgba(42,157,143,.08);
  border:1px solid rgba(42,157,143,.18); border-radius:100px; padding:6px 13px; display:inline-block; }
@media(max-width:760px){
  .tl-line{ left:24px; transform:none; }
  .tl-item, .tl-item.right, .tl-item.left{ width:100%; left:0; text-align:left;
    padding-left:64px; padding-right:0; }
  .tl-item.right .tl-node, .tl-item.left .tl-node{ left:0; right:auto; }
  .tl-item.right .tl-card::before, .tl-item.left .tl-card::before{ left:-8px; right:auto;
    border-right:none; border-top:none; border-left:1px solid rgba(42,157,143,.16); border-bottom:1px solid rgba(42,157,143,.16); }
}

/* ═══ ORVEXIA custom · sello Secure Payment en el checkout ═══ */
.co-seal{ display:block; width:128px; height:128px; margin:0 auto 16px; border-radius:24px;
  box-shadow:0 16px 40px rgba(0,0,0,.28); }
@media(max-width:520px){ .co-seal{ width:104px; height:104px; } }

/* ═══ ORVEXIA custom · botón Settings animado (engranaje elite) ═══ */
.nav-set{ display:inline-flex; align-items:center; }
.set-ico{ position:relative; width:33px; height:33px; border-radius:9px; background:#fff;
  display:inline-flex; align-items:center; justify-content:center; vertical-align:middle;
  margin-right:8px; overflow:hidden; transition:transform .12s ease, box-shadow .25s ease;
  box-shadow:0 3px 10px rgba(0,0,0,.22), 0 0 5px rgba(59,130,246,.4);
  animation:setPulse 3s ease-in-out infinite; }
.set-gear{ width:27px; height:27px; object-fit:contain; display:block;
  transform-origin:50% 50%; will-change:transform; }
@keyframes setPulse{
  0%,100%{ box-shadow:0 3px 10px rgba(0,0,0,.22), 0 0 5px rgba(59,130,246,.4); }
  50%{ box-shadow:0 3px 12px rgba(0,0,0,.24), 0 0 15px rgba(59,130,246,.75); } }
.set-ico.glow{ animation-play-state:paused;
  box-shadow:0 4px 16px rgba(0,0,0,.26), 0 0 22px rgba(59,130,246,1) !important; }
.set-ico.press{ transform:scale(.9); }
@media (prefers-reduced-motion: reduce){
  .set-ico{ animation:none; } .set-gear{ transform:none !important; } }

/* ═══════════ MORPH FAB · Settings ⇄ Back-to-top (gold + emerald) ═══════════ */
/* El back-to-top clásico queda reemplazado por el botón morph */
#backToTop{ display:none !important; }

.morph-fab{
  position:relative;
  width:60px; height:60px;
  padding:3px;
  border:none; border-radius:50%;
  cursor:pointer;
  -webkit-appearance:none; appearance:none;
  background:conic-gradient(from 218deg,
    #6b4a16 0%, #f6df8c 14%, #cf9f37 30%, #8a5f1a 48%,
    #f3d778 66%, #b7862c 82%, #6b4a16 100%);
  box-shadow:
    0 10px 26px rgba(0,0,0,.55),
    0 0 16px rgba(212,175,55,.45),
    0 0 30px rgba(0,197,199,.20);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
  z-index:2;
}
.morph-fab::after{ /* aura dorada + teal */
  content:''; position:absolute; inset:-6px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.28), rgba(0,197,199,.12) 55%, transparent 72%);
  filter:blur(4px); z-index:-1; opacity:.9; pointer-events:none;
}
.morph-fab:hover{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 14px 32px rgba(0,0,0,.6), 0 0 22px rgba(212,175,55,.6), 0 0 40px rgba(0,197,199,.3);
}
.morph-fab:active{ transform:translateY(-1px) scale(1.02); }
.morph-fab:focus-visible{ outline:2px solid #f3d778; outline-offset:3px; }

.morph-glass{
  position:relative; display:block;
  width:100%; height:100%; border-radius:50%; overflow:hidden;
  background:radial-gradient(circle at 50% 32%,
    #17685c 0%, #0d4a41 42%, #073029 72%, #041d1a 100%);
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.18),
    inset 0 -9px 20px rgba(0,197,199,.40),
    inset 0 0 0 1px rgba(0,0,0,.35);
}
.morph-glass::before{ /* reflejo superior glossy */
  content:''; position:absolute; top:6%; left:14%;
  width:72%; height:40%; border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:.5; pointer-events:none;
}

.morph-icon{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .35s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
  will-change:opacity, transform;
}
.morph-icon svg{ width:27px; height:27px; filter:drop-shadow(0 1px 1px rgba(0,0,0,.45)); }

.morph-gear{ opacity:1; transform:rotate(0deg) scale(1); }
.morph-arrow{ opacity:0; transform:translateY(9px) scale(.55); }
.morph-fab:not(.scrolled):hover .morph-gear{ transform:rotate(75deg) scale(1.05); }
.morph-fab.scrolled .morph-gear{ opacity:0; transform:rotate(120deg) scale(.5); }
.morph-fab.scrolled .morph-arrow{ opacity:1; transform:translateY(0) scale(1); }
.morph-fab.scrolled:hover .morph-arrow{ transform:translateY(-3px) scale(1.05); }

@media (max-width:768px){
  .morph-fab{ width:52px; height:52px; }
  .morph-icon svg{ width:24px; height:24px; }
}
@media (prefers-reduced-motion: reduce){
  .morph-fab, .morph-icon{ transition:none; }
}

/* ═══════════ ANIMATED GLASS ICONS · trust badges (edu/exam/global/ai) ═══════════ */
.orv-ico{width:82px;height:82px;margin:0 auto;position:relative;display:block}
.orv-ico .ov{width:100%;height:100%;overflow:visible;display:block}
.orv-book{filter:drop-shadow(0 4px 14px rgba(60,160,255,.45))}
.orv-cap{filter:drop-shadow(0 4px 14px rgba(150,120,240,.45))}
.orv-globe{filter:drop-shadow(0 4px 15px rgba(70,160,255,.5))}
.orv-ai{filter:drop-shadow(0 4px 14px rgba(255,90,180,.42))}
/* click press (all icons) */
.orv-press{animation:orvPress .28s ease-out}
@keyframes orvPress{0%{transform:scale(1)}30%{transform:scale(.96)}65%{transform:scale(1.02)}100%{transform:scale(1)}}

/* ── BOOK ── */
.orv-book .ov{perspective:520px}
.bk-pageL,.bk-pageR,.bk-flip{transform-box:fill-box}
.bk-pageL{transform-origin:right center}
.bk-pageR{transform-origin:left center}
.bk-flip{transform-origin:left center;opacity:0}
.bk-glow{opacity:0}
.orv-book.play .bk-pageL{animation:bkOpenL .9s ease-in-out both}
.orv-book.play .bk-pageR{animation:bkOpenR .9s ease-in-out both}
.orv-book.play .bk-flip{animation:bkFlip 1.15s ease-in-out both}
.orv-book.play .bk-glow{animation:bkGlow 1s ease-in-out .3s both}
@keyframes bkOpenL{0%{transform:rotateY(78deg)}100%{transform:rotateY(0)}}
@keyframes bkOpenR{0%{transform:rotateY(-78deg)}100%{transform:rotateY(0)}}
@keyframes bkFlip{0%,18%{transform:rotateY(0);opacity:0}26%{opacity:.75}52%{transform:rotateY(-152deg);opacity:.5}53%{opacity:0}66%{transform:rotateY(0);opacity:.7}92%{transform:rotateY(-152deg);opacity:.3}100%{opacity:0}}
@keyframes bkGlow{0%{opacity:0;transform:scale(.5)}40%{opacity:.9}100%{opacity:0;transform:scale(1.35)}}
.orv-tile:hover .orv-book .bk-flip{animation:bkHover .8s ease-in-out}
@keyframes bkHover{0%{opacity:0;transform:rotateY(0)}22%{opacity:.75}80%{opacity:.35;transform:rotateY(-152deg)}100%{opacity:0;transform:rotateY(-152deg)}}

/* ── GRAD CAP ── */
.cp-cap,.cp-tassel{transform-box:fill-box}
.cp-cap{transform-origin:center}
.cp-tassel{transform-origin:center top}
.cp-shine{stroke-dasharray:22 210;opacity:0}
.orv-cap.play .cp-cap{animation:cpTilt .8s ease-in-out both}
.orv-cap.play .cp-tassel{animation:cpSwing 1s ease-in-out both}
.orv-cap.play .cp-shine{animation:cpShine .85s ease-in-out both}
@keyframes cpTilt{0%{transform:rotate(0)}35%{transform:rotate(8deg)}68%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
@keyframes cpSwing{0%,100%{transform:rotate(0)}30%{transform:rotate(15deg)}60%{transform:rotate(-10deg)}82%{transform:rotate(4deg)}}
@keyframes cpShine{0%{stroke-dashoffset:0;opacity:0}20%{opacity:.9}100%{stroke-dashoffset:-232;opacity:0}}
.orv-tile:hover .orv-cap .cp-tassel{animation:cpSwing .9s ease-in-out}

/* ── GLOBE ── */
.gl-globe,.gl-orbit{transform-box:fill-box;transform-origin:center}
.gl-dot{opacity:0}
.orv-globe.play .gl-globe{animation:glSpin 1s ease-in-out both}
.orv-globe.play .gl-orbit{animation:glOrbit 1s ease-in-out both}
.orv-globe.play .gl-dot{animation:glDot .8s ease-in-out .3s both}
.orv-globe.play .gl-dot.d2{animation-delay:.45s}
@keyframes glSpin{0%{transform:rotate(-30deg) scale(.9);opacity:.55}100%{transform:rotate(0) scale(1);opacity:1}}
@keyframes glOrbit{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes glDot{0%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.5)}100%{opacity:.9;transform:scale(1)}}
.orv-tile:hover .orv-globe .gl-orbit{animation:glOrbit 3.2s linear}
.orv-tile:hover .orv-globe .gl-globe{animation:glNudge 1.2s ease-in-out}
@keyframes glNudge{0%,100%{transform:rotate(0)}50%{transform:rotate(10deg)}}

/* ── AI BRAIN ── */
.ai-chip,.ov{transform-box:fill-box}.ai-chip{transform-origin:center}
.ai-l{stroke-dasharray:210;stroke-dashoffset:0}
.ai-p{opacity:0}
.orv-ai.play .ai-l{stroke-dashoffset:210;animation:aiTrace .7s ease-in-out forwards}
.orv-ai.play .ai-l:nth-of-type(1){animation-delay:.05s}
.orv-ai.play .ai-l:nth-of-type(2){animation-delay:.25s}
.orv-ai.play .ai-l:nth-of-type(3){animation-delay:.45s}
@keyframes aiTrace{to{stroke-dashoffset:0}}
.orv-ai.play .ai-chip{animation:aiChip 1s ease-in-out both}
@keyframes aiChip{0%{opacity:.2;transform:scale(.75)}42%{opacity:1;transform:scale(1.1)}100%{transform:scale(1)}}
.orv-ai.play .ov{animation:aiPulse 1s ease-in-out both}
@keyframes aiPulse{0%,100%{filter:none}50%{filter:drop-shadow(0 0 9px rgba(120,180,255,.85))}}
.orv-ai.play .ai-p.p1{animation:aiPart1 1s ease-out .45s both}
.orv-ai.play .ai-p.p2{animation:aiPart2 1s ease-out .55s both}
@keyframes aiPart1{0%{opacity:0;transform:translate(0,0)}30%{opacity:1}100%{opacity:0;transform:translate(-15px,-15px)}}
@keyframes aiPart2{0%{opacity:0;transform:translate(0,0)}30%{opacity:1}100%{opacity:0;transform:translate(17px,-11px)}}
.orv-tile:hover .orv-ai .ai-l{animation:aiTrace .6s ease-in-out}

@media (prefers-reduced-motion: reduce){.orv-ico,.orv-ico *{animation:none!important}.bk-flip,.cp-shine,.gl-dot,.ai-p{opacity:0}}

/* ── Badges como PNG (idénticos al render) · animación de conjunto ── */
.orv-ico img.ov{width:100%;height:100%;object-fit:contain;display:block}
.orv-ico{transition:transform .35s cubic-bezier(.34,1.56,.64,1), filter .35s ease}
.orv-ico.play{animation:orvBadgeIn .8s ease-out both}
@keyframes orvBadgeIn{0%{opacity:0;transform:translateY(12px) scale(.82)}60%{opacity:1}100%{opacity:1;transform:none}}
.orv-tile:hover .orv-book{transform:scale(1.06)}
.orv-tile:hover .orv-cap{transform:rotate(-5deg) scale(1.05)}
.orv-tile:hover .orv-globe{transform:rotate(9deg) scale(1.05)}
.orv-tile:hover .orv-ai{transform:scale(1.06)}
.orv-tile:hover .orv-ico{filter:brightness(1.12) drop-shadow(0 3px 13px rgba(120,170,255,.5))}
@media (prefers-reduced-motion: reduce){.orv-ico.play{animation:none}.orv-ico{transition:none}}

/* De-duplicacion: secciones de estudio viejas ocultas (contenido migrado a study-elite.html). Reversible: quita esta regla para volver a mostrarlas. */
#study-hub,#board-prep{display:none!important;}
