/* B.P. Jain Skill Development Centre — shared theme system */

[x-cloak]{display:none !important}

html{
  background:var(--theme-canvas);
  --theme-copy-muted:rgba(34,27,47,.78);
  --theme-copy-soft:rgba(34,27,47,.68);
  --theme-copy-faint:rgba(34,27,47,.5);
  --theme-panel-border:rgba(255,255,255,.58);
  --theme-panel-bg:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,250,245,.88) 100%);
  --theme-panel-bg-soft:linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(255,248,241,.84) 100%);
  --theme-chip-bg:rgba(255,255,255,.82);
  --theme-chip-border:rgba(34,27,47,.08);
  --theme-section-band:linear-gradient(180deg, rgba(255,255,255,.86) 0%, var(--theme-surface) 100%);
  --theme-section-band-alt:
    radial-gradient(circle at top left, rgba(124,77,255,.08), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(0,184,169,.06), transparent 18rem),
    linear-gradient(180deg, var(--theme-surface-alt) 0%, var(--theme-canvas) 100%);
}

html.menu-open,
body.menu-open{
  overflow:hidden;
  height:100%;
}

body.menu-open{
  position:fixed;
  inset:0;
  width:100%;
}

body,
.theme-body{
  position:relative;
  min-height:100vh;
  color:var(--theme-ink);
  background:
    radial-gradient(circle at top left, rgba(124,77,255,.18) 0, rgba(124,77,255,0) 24rem),
    radial-gradient(circle at top right, rgba(0,184,169,.12) 0, rgba(0,184,169,0) 28rem),
    radial-gradient(circle at bottom right, rgba(255,79,135,.08) 0, rgba(255,79,135,0) 26rem),
    linear-gradient(180deg, var(--theme-surface-soft) 0%, var(--theme-canvas) 38%, var(--theme-surface-alt) 100%);
  -webkit-font-smoothing:antialiased;
}

.theme-body::before,
.theme-body::after{
  content:'';
  position:fixed;
  z-index:-1;
  border-radius:999px;
  filter:blur(8px);
  opacity:.7;
  pointer-events:none;
}

.theme-body::before{
  top:5rem;
  left:-7rem;
  width:18rem;
  height:18rem;
  background:radial-gradient(circle, rgba(0,184,169,.2) 0%, rgba(0,184,169,0) 72%);
}

.theme-body::after{
  right:-8rem;
  bottom:8rem;
  width:24rem;
  height:24rem;
  background:radial-gradient(circle, rgba(255,79,135,.18) 0%, rgba(255,79,135,0) 74%);
}

h1,h2,h3,h4,.font-display{
  font-family:var(--theme-font-display);
  letter-spacing:-.03em;
}

p,li,a,button,input,select,textarea{
  font-family:var(--theme-font-body);
  letter-spacing:-.01em;
}

a{
  transition:color .2s ease, transform .2s ease, opacity .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

img{
  image-rendering:auto;
}

/* ---------- Shared shells ---------- */
.theme-section{
  position:relative;
  overflow:hidden;
}

.theme-section::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background:
    linear-gradient(135deg, rgba(255,255,255,.38), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 20% 16%, rgba(124,77,255,.1), transparent 18rem);
}

.theme-surface{
  background:var(--theme-section-band);
}

.theme-cream{
  background:var(--theme-section-band-alt);
}

.theme-shell{
  position:relative;
  border:1px solid var(--theme-panel-border);
  border-radius:var(--theme-radius-lg);
  background:var(--theme-panel-bg);
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(14px);
}

.theme-shell-dark{
  border-color:rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(32,24,47,.95) 0%, rgba(24,18,37,.96) 100%);
}

.theme-badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem 1rem;
  border-radius:var(--theme-radius-pill);
  border:1px solid rgba(255,255,255,.48);
  background:rgba(255,255,255,.72);
  color:var(--theme-ink);
  box-shadow:0 16px 35px -24px rgba(34,27,47,.3);
  backdrop-filter:blur(10px);
}

.theme-badge-ghost{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

.theme-ring{
  position:relative;
}

.theme-ring::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,107,44,.5), rgba(255,79,135,.25), rgba(0,184,169,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

/* ---------- Brand ---------- */
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  min-width:0;
  padding:.72rem 1.18rem;
  border-radius:var(--theme-radius-pill);
  border:1px solid rgba(255,255,255,.62);
  background:linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,247,240,.88) 100%);
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(16px);
  text-decoration:none;
  color:inherit;
}

.brand-logo-feature{
  padding:1rem 1.5rem;
  border-radius:2rem;
  background:
    radial-gradient(circle at top left, rgba(255,191,54,.22), transparent 9rem),
    linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,247,240,.94) 100%);
  box-shadow:var(--theme-shadow-lift);
}

.brand-logo-compact{
  gap:.88rem;
  padding:.55rem 1rem;
  border-radius:1.2rem;
}

.brand-logo:hover,
.brand-logo:focus-visible{
  transform:translateY(-2px);
  box-shadow:var(--theme-shadow-lift);
}

.nav-header-top .brand-logo{
  border-color:rgba(255,255,255,.14);
  background:
    linear-gradient(135deg, rgba(10,7,18,.96), rgba(24,18,37,.92)),
    linear-gradient(90deg, rgba(255,107,44,.12), rgba(124,77,255,.1), rgba(0,184,169,.08));
  box-shadow:0 20px 44px -28px rgba(10,7,18,.58);
}

.nav-header-top .brand-logo-title{
  color:#fff;
}

.nav-header-top .brand-logo-sub{
  color:rgba(255,255,255,.72);
}

.nav-header-scrolled .brand-logo{
  border-color:rgba(255,255,255,.62);
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,247,240,.88) 100%);
  box-shadow:var(--theme-shadow-soft);
}

.nav-header-scrolled .brand-logo-title{
  color:var(--theme-ink);
}

.nav-header-scrolled .brand-logo-sub{
  color:var(--theme-muted);
}

.brand-mark,
.footer-brand-mark{
  display:grid;
  place-items:center;
  width:2.9rem;
  height:2.9rem;
  border-radius:1.15rem;
  background:var(--theme-gradient-main);
  overflow:hidden;
  box-shadow:var(--theme-shadow-glow);
}

.brand-mark-img,
.footer-brand-mark-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.brand-logo-copy,
.footer-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.brand-logo-title,
.footer-brand-title{
  display:block;
  font-size:1.1rem;
  line-height:1;
  font-weight:800;
}

.brand-logo-title{
  color:var(--theme-ink);
}

.brand-logo-feature .brand-logo-title{
  font-size:1.55rem;
  font-weight:700;
}

.brand-logo-sub,
.footer-brand-sub{
  display:block;
  margin-top:.18rem;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.brand-logo-sub{
  color:var(--theme-muted);
}

.brand-logo-feature .brand-logo-sub{
  margin-top:.3rem;
  font-size:.9rem;
  letter-spacing:.22em;
}

.brand-logo-inline .brand-logo-copy{
  display:block;
  white-space:nowrap;
}

.brand-logo-inline .brand-logo-title,
.brand-logo-inline .brand-logo-sub{
  display:inline;
}

.brand-logo-inline .brand-logo-sub{
  margin-left:.5rem;
  margin-top:0;
  font-size:1.08rem;
  letter-spacing:.08em;
}

.brand-logo-compact .brand-mark{
  width:2.4rem;
  height:2.4rem;
  border-radius:.9rem;
}

.brand-logo-compact .brand-logo-title{
  font-size:1.05rem;
}

.brand-logo-compact .brand-logo-sub{
  margin-top:.12rem;
  font-size:.64rem;
  letter-spacing:.16em;
}

.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  padding:.6rem 1rem;
  border-radius:var(--theme-radius-pill);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  box-shadow:0 18px 34px -24px rgba(0,0,0,.35);
  color:#fff;
  text-decoration:none;
}

.footer-brand:hover,
.footer-brand:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,255,255,.12);
}

.footer-brand-title,
.footer-brand-sub{
  color:#fff;
}

.footer-brand-sub{
  color:rgba(255,255,255,.74);
}

@media(min-width:640px){
  .brand-mark,
  .footer-brand-mark{ width:3.1rem;height:3.1rem }
  .brand-logo-title,
  .footer-brand-title{ font-size:1.1rem }
  .brand-logo-sub,
  .footer-brand-sub{ font-size:.78rem }
}

@media(min-width:1024px){
  .brand-logo-feature .brand-mark{
    width:4.3rem;
    height:4.3rem;
    border-radius:1.4rem;
  }
}

@media(max-width:639px){
  .brand-logo-compact{
    max-width:calc(100% - 4.5rem);
  }

  .brand-logo-compact .brand-logo-sub{
    letter-spacing:.1em;
  }
}

/* ---------- Sticky header shell ---------- */
.nav-header{
  border-bottom:1px solid transparent;
}

.nav-header::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s ease;
}

.nav-header-top{
  border-bottom-color:transparent;
  background:linear-gradient(180deg, rgba(12,9,20,.34) 0%, rgba(12,9,20,0) 100%);
}

.nav-header-scrolled{
  border-bottom-color:rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(10,7,18,.92) 0%, rgba(18,13,29,.82) 100%);
  backdrop-filter:blur(24px) saturate(165%);
  box-shadow:0 20px 54px -30px rgba(10,7,18,.72);
}

.nav-header-scrolled::before{
  opacity:1;
  background:
    linear-gradient(90deg, rgba(255,107,44,.12), rgba(255,79,135,.08) 34%, rgba(124,77,255,.08) 68%, rgba(0,184,169,.1) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
}

/* ---------- Navigation ---------- */
.nav-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.7rem .95rem;
  border-radius:1rem;
  font-size:.94rem;
  font-weight:700;
  color:var(--theme-ink);
}

.nav-bar-shell{
  padding:.65rem .7rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(9,7,18,.98), rgba(23,17,35,.96)),
    linear-gradient(90deg, rgba(255,107,44,.2), rgba(255,79,135,.16), rgba(124,77,255,.18), rgba(0,184,169,.14));
  box-shadow:0 26px 62px -28px rgba(10,7,18,.76);
  backdrop-filter:blur(22px) saturate(165%);
}

.nav-bar-shell-compact{
  padding:.45rem .5rem;
  gap:.1rem;
}

.nav-bar-shell-compact .nav-link{
  padding:.56rem .68rem;
  font-size:.84rem;
}

.nav-bar-shell-compact .btn-primary{
  padding:.72rem 1rem;
  font-size:.84rem;
}

/* ---------- Vibrant navbar overrides (playful & artistic) ---------- */
.nav-bar-shell{
  position:relative;
  overflow:visible;
  isolation:isolate;
}

.nav-bar-shell::before{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 8% 50%, rgba(255,191,54,.22), transparent 18%),
    radial-gradient(circle at 36% 18%, rgba(255,79,135,.2), transparent 24%),
    radial-gradient(circle at 72% 20%, rgba(124,77,255,.18), transparent 22%),
    radial-gradient(circle at 94% 70%, rgba(0,184,169,.2), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  transform:translateY(0);
  filter:blur(18px) saturate(138%);
  opacity:1;
  pointer-events:none;
  animation:nav-blob-float 10s linear infinite;
  z-index:-1;
}

.nav-bar-shell::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  pointer-events:none;
}

.nav-link{
  position:relative;
  overflow:visible;
  z-index:1;
  transition:transform .22s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
  color:rgba(255,255,255,.9);
}

.nav-link::after{
  content:'';
  position:absolute;
  left:14%;
  right:14%;
  bottom:6px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, #ff6b2c, #ff4f87, #7c4dff, #00b8a9);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .35s cubic-bezier(.2,.9,.2,1), opacity .2s;
  opacity:0.95;
}

.nav-link:hover::after,
.nav-link:focus-visible::after{
  transform:scaleX(1);
}

.nav-link:hover,
.nav-link:focus-visible{
  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04)),
    linear-gradient(90deg, rgba(255,107,44,.12), rgba(0,184,169,.1));
  box-shadow:0 14px 30px -22px rgba(0,0,0,.34);
  transform:translateY(-2px);
}

.brand-mark{
  position:relative;
  overflow:visible;
}

.brand-mark::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from 120deg, #ff6b2c, #ff4f87, #7c4dff, #00b8a9, #ff6b2c);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.28;
  filter:blur(6px) saturate(120%);
  animation:brand-spin 12s linear infinite;
}

@keyframes nav-blob-float{
  0%{ transform:translateY(-6%) rotate(0deg) }
  50%{ transform:translateY(-2%) rotate(6deg) }
  100%{ transform:translateY(-6%) rotate(0deg) }
}

@keyframes brand-spin{
  from{ transform:rotate(0deg) }
  to{ transform:rotate(360deg) }
}

/* Desktop: compact & professional overrides */
@media(min-width:1280px){
  .nav-bar-shell{
    padding:.35rem .45rem;
    border-radius:1rem;
    background:
      linear-gradient(135deg, rgba(9,7,18,.99), rgba(21,15,32,.97)),
      linear-gradient(90deg, rgba(255,107,44,.18), rgba(255,79,135,.14), rgba(124,77,255,.16), rgba(0,184,169,.12));
    box-shadow:0 20px 46px -24px rgba(10,7,18,.72);
  }

  .nav-link{
    padding:.45rem .6rem;
    font-size:.92rem;
    border-radius:.6rem;
  }

  .nav-link::after{ bottom:4px; left:18%; right:18%; height:3px }

  .brand-logo-feature{
    padding:.6rem .9rem;
    border-radius:1.1rem;
  }

  .brand-mark::after{
    opacity:.12;
    filter:blur(3px) saturate(110%);
    animation-duration:36s;
  }

  .nav-link:hover,
  .nav-link:focus-visible{
    transform:translateY(-2px) rotate(0deg) scale(1.01);
  }
}



.nav-link:hover,
.nav-link:focus-visible{
  color:#fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.05)),
    linear-gradient(90deg, rgba(255,107,44,.18), rgba(124,77,255,.12), rgba(0,184,169,.1));
  box-shadow:0 16px 34px -24px rgba(0,0,0,.34);
  transform:translateY(-1px);
}

.nav-toggle{
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(34,27,47,.92), rgba(46,32,62,.88)),
    linear-gradient(135deg, rgba(255,107,44,.16), rgba(124,77,255,.14), rgba(0,184,169,.14));
  color:#fff;
  box-shadow:0 18px 42px -28px rgba(20,14,32,.52);
  backdrop-filter:blur(18px) saturate(160%);
}

.nav-toggle:hover,
.nav-toggle:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 22px 50px -28px rgba(34,27,47,.45);
}

.dropdown{
  position:absolute;
  top:calc(100% + .55rem);
  left:0;
  padding:.6rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:1.35rem;
  background:
    linear-gradient(180deg, rgba(30,22,43,.96) 0%, rgba(39,28,56,.94) 100%);
  box-shadow:0 26px 60px -28px rgba(20,14,32,.62);
  backdrop-filter:blur(20px) saturate(150%);
  z-index:60;
}

.drop-item{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.7rem .8rem;
  border-radius:.95rem;
  font-size:.9rem;
  color:rgba(255,255,255,.9);
}

.drop-item:hover,
.drop-item:focus-visible{
  background:linear-gradient(135deg, rgba(255,107,44,.18), rgba(124,77,255,.14), rgba(0,184,169,.12));
  color:#fff;
}

.course-icon,
.drop-icon,
.m-sub-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.95rem;
  height:1.95rem;
  border-radius:1rem;
  margin-right:.7rem;
  flex:0 0 auto;
}

.course-icon-mobile,
.m-sub-icon{
  width:1.75rem;
  height:1.75rem;
}

.m-item{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  padding:.95rem .9rem;
  border:1px solid rgba(255,255,255,.86);
  border-radius:1.15rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 28px -22px rgba(34,27,47,.26);
  backdrop-filter:blur(14px);
  font-family:var(--theme-font-display);
  font-size:1.06rem;
  font-weight:700;
  color:var(--theme-ink);
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.m-item.is-open,
.m-item:hover,
.m-item:focus-visible{
  background:rgba(255,255,255,1);
  border-color:rgba(255,255,255,.95);
  box-shadow:0 18px 34px -22px rgba(34,27,47,.24);
}

.m-sub{
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.75);
  border-radius:1rem;
  background:rgba(255,255,255,.98);
  margin:.45rem 0;
  padding:.72rem .85rem;
  font-size:.92rem;
  color:var(--theme-muted);
  box-shadow:0 10px 24px -22px rgba(34,27,47,.22);
  backdrop-filter:blur(12px);
}

.m-sub:hover,
.m-sub:focus-visible{
  color:var(--theme-brand-dark);
  background:rgba(255,255,255,.92);
}

.m-group{
  margin:.5rem 0 .7rem;
  padding:.35rem;
  border:1px solid rgba(255,255,255,.82);
  border-radius:1.25rem;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}

.mobile-menu-overlay{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(24px);
}

.mobile-menu-shell{
  position:relative;
  display:flex;
  align-items:stretch;
  justify-content:center;
  min-height:100vh;
  width:100%;
  padding:1rem;
}

.mobile-menu-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(100%, 32rem);
  max-height:calc(100vh - 2rem);
  border:1px solid rgba(255,255,255,.8);
  border-radius:2rem;
  background:#fff;
  box-shadow:0 32px 80px -38px rgba(34,27,47,.45);
  backdrop-filter:blur(24px) saturate(140%);
  overflow:hidden;
}

.mobile-menu-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.2rem 1.2rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.34);
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.12));
}

.mobile-menu-kicker{
  margin:0 0 .25rem;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--theme-brand-dark);
}

.mobile-menu-close{
  display:grid;
  place-items:center;
  width:2.7rem;
  height:2.7rem;
  border:1px solid rgba(255,255,255,.58);
  border-radius:999px;
  background:rgba(255,255,255,.52);
  color:var(--theme-ink);
  box-shadow:0 14px 28px -22px rgba(34,27,47,.28);
  backdrop-filter:blur(12px);
}

.mobile-menu-scroll{
  overflow-y:auto;
  padding:1rem 1rem 1.25rem;
}

.mobile-menu-stack{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

.mobile-contact-card{
  margin-top:.35rem;
  padding:1rem 1rem 1.1rem;
  border:1px solid rgba(255,255,255,.52);
  border-radius:1.5rem;
  background:rgba(255,255,255,.52);
  box-shadow:0 18px 34px -24px rgba(34,27,47,.24);
  backdrop-filter:blur(14px);
}

/* ---------- Buttons ---------- */
.btn-primary,
.btn-outline,
.btn-white{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.85rem 1.45rem;
  border-radius:var(--theme-radius-pill);
  font-size:.94rem;
  font-weight:800;
  line-height:1;
}

.btn-primary{
  border:1px solid rgba(255,255,255,.28);
  background:var(--theme-gradient-main);
  color:#fff;
  box-shadow:var(--theme-shadow-glow);
}

.btn-primary:hover,
.btn-primary:focus-visible{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 26px 50px -24px rgba(255,107,44,.58);
}

.btn-primary:disabled{
  opacity:.7;
  transform:none;
}

.btn-outline{
  border:1.5px solid rgba(34,27,47,.14);
  background:rgba(255,255,255,.74);
  color:var(--theme-ink);
  box-shadow:0 12px 28px -24px rgba(34,27,47,.32);
  backdrop-filter:blur(10px);
}

.btn-outline:hover,
.btn-outline:focus-visible{
  background:var(--theme-ink);
  color:#fff;
  transform:translateY(-2px);
}

.btn-white{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.94);
  color:var(--theme-ink);
  box-shadow:0 18px 42px -28px rgba(34,27,47,.45);
}

.btn-white:hover,
.btn-white:focus-visible{
  transform:translateY(-2px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(0,184,169,.58);
  outline-offset:3px;
  border-radius:.75rem;
}

/* ---------- Forms ---------- */
.lbl{
  display:block;
  margin-bottom:.42rem;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--theme-muted);
}

.inp{
  width:100%;
  border:1.5px solid rgba(34,27,47,.1);
  border-radius:1.15rem;
  padding:.85rem 1rem;
  font-size:.95rem;
  background:rgba(255,255,255,.9);
  color:var(--theme-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.inp:focus{
  border-color:rgba(255,107,44,.52);
  box-shadow:0 0 0 5px rgba(255,107,44,.12);
  outline:none;
}

.inp::placeholder{
  color:rgba(111,100,129,.68);
}

/* ---------- Footer ---------- */
.f-head{
  font-family:var(--theme-font-display);
  font-size:1.08rem;
  font-weight:700;
  color:#fff;
  margin-bottom:1rem;
}

.f-link{
  color:rgba(255,255,255,.72);
}

.f-link:hover,
.f-link:focus-visible{
  color:#fff;
}

.social{
  display:grid;
  place-items:center;
  width:2.7rem;
  height:2.7rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}

.social:hover,
.social:focus-visible{
  background:rgba(255,255,255,.16);
  transform:translateY(-2px);
}

/* ---------- Decorative ---------- */
.squiggle{
  display:none !important;
}

.squiggle.mx-auto{
  margin-left:auto;
  margin-right:auto;
}

.squiggle-turq{ filter:hue-rotate(120deg) saturate(1.2) }

.blob{
  position:absolute;
  border-radius:42% 58% 63% 37% / 47% 38% 62% 53%;
  opacity:.7;
  pointer-events:none;
  filter:blur(3px);
}

.blob-soft{
  opacity:.28;
  filter:blur(0);
}

.tape{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%) rotate(-3deg);
  width:78px;
  height:22px;
  background:rgba(255,191,54,.75);
  border-radius:4px;
}

.hero-orbit{
  position:absolute;
  border-radius:999px;
  border:1px dashed rgba(255,255,255,.16);
  pointer-events:none;
}

.section-dots{
  background-image:radial-gradient(rgba(124,77,255,.18) 1px, transparent 1px);
  background-size:14px 14px;
}

/* ---------- Cards ---------- */
.card{
  position:relative;
  background:var(--theme-panel-bg-soft);
  border:1px solid var(--theme-panel-border);
  border-radius:1.7rem;
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(12px);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,107,44,.18), rgba(255,255,255,0) 38%, rgba(124,77,255,.14));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.card:hover,
.card:focus-within{
  transform:translateY(-8px);
  box-shadow:var(--theme-shadow-lift);
}

.card-warm{
  background:
    radial-gradient(circle at top right, rgba(255,191,54,.18), transparent 10rem),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,246,238,.94));
}

.proof-card{
  position:relative;
  overflow:hidden;
}

.testimonial-outcomes{
  background:
    radial-gradient(circle at top left, rgba(124,77,255,.08), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,248,241,.95) 100%);
}

.stat-card{
  position:relative;
  overflow:hidden;
}

.course-card-thumb{
  position:relative;
  overflow:hidden;
}

.course-card-thumb::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,107,44,.15), rgba(0,184,169,.12));
  pointer-events:none;
}

.course-card-thumb-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(16,14,31,.04) 0%, rgba(20,15,35,.8) 100%);
  pointer-events:none;
}

.course-card-copy{
  position:absolute;
  inset-inline:0;
  bottom:0;
  padding:1.45rem 1.25rem 1.15rem;
  color:#fff;
}

.course-card-copy h3{
  margin:.7rem 0 0;
  font-size:1.78rem;
  line-height:1;
}

.course-card-copy p{
  margin:.72rem 0 0;
  color:rgba(255,255,255,.84);
}

.course-card-copy .explore-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
  padding:.72rem 1rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:.85rem;
  font-weight:700;
  opacity:1;
  transform:none;
  transition:opacity .25s ease, transform .25s ease;
  backdrop-filter:blur(8px);
}

.group:hover .course-card-copy .explore-badge,
.group:focus-visible .course-card-copy .explore-badge{
  opacity:1;
  transform:translateY(0);
}

.frame{
  position:relative;
  background:rgba(255,255,255,.92);
  padding:.6rem;
  border-radius:1rem;
  box-shadow:0 18px 44px -22px rgba(34,27,47,.38);
  transition:transform .3s ease, z-index 0s;
  line-height:0;
}

.frame::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.58);
  pointer-events:none;
}

.frame:hover{
  transform:rotate(0deg) scale(1.03) !important;
  z-index:20;
}

.art-wall-section{
  background:
    linear-gradient(180deg, rgba(246,239,229,.98) 0%, rgba(238,229,216,.98) 100%);
}

.art-wall-section::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.58;
  background:
    linear-gradient(90deg, rgba(146,119,93,.05) 0, rgba(146,119,93,0) 18%, rgba(146,119,93,.04) 52%, rgba(146,119,93,0) 78%, rgba(146,119,93,.05) 100%),
    linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 22%),
    repeating-linear-gradient(180deg, rgba(118,92,69,.035) 0 2px, transparent 2px 12px);
}

.art-wall-frame{
  position:relative;
  padding:1.12rem;
  border-radius:1.02rem;
  background:
    linear-gradient(145deg, #8f6944 0%, #714f33 14%, #b08a61 30%, #6a4a31 53%, #47311f 78%, #876544 100%);
  box-shadow:
    0 8px 14px -10px rgba(34,27,47,.18),
    0 22px 38px -24px rgba(34,27,47,.24),
    0 42px 72px -48px rgba(34,27,47,.28),
    inset 0 1px 0 rgba(255,245,228,.28),
    inset 0 -2px 0 rgba(62,42,25,.34);
  transition:transform .3s ease, box-shadow .3s ease;
  overflow:hidden;
}

.art-wall-frame::before{
  content:'';
  position:absolute;
  inset:.16rem;
  border-radius:.82rem;
  border:1px solid rgba(255,238,214,.22);
  box-shadow:
    inset 0 0 0 1px rgba(79,55,34,.34),
    inset 0 0 18px rgba(255,229,195,.1);
  pointer-events:none;
}

.art-wall-frame::after{
  content:'';
  position:absolute;
  inset:.54rem;
  border-radius:.56rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,0) 24%, rgba(0,0,0,.08) 100%);
  mix-blend-mode:soft-light;
  pointer-events:none;
}

.art-wall-frame:hover,
.art-wall-frame:focus-within{
  transform:translateY(-6px) rotate(0deg) !important;
  box-shadow:
    0 14px 22px -12px rgba(34,27,47,.22),
    0 30px 50px -28px rgba(34,27,47,.28),
    0 54px 92px -56px rgba(34,27,47,.32),
    inset 0 1px 0 rgba(255,245,228,.3),
    inset 0 -2px 0 rgba(62,42,25,.38);
  z-index:20;
}

.art-wall-mat{
  position:relative;
  padding:1rem;
  border-radius:.46rem;
  background:
    linear-gradient(180deg, #fcfaf6 0%, #f1e7d9 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 0 0 1px rgba(126,97,72,.12),
    inset 0 -10px 18px rgba(188,167,145,.08),
    0 10px 18px -16px rgba(34,27,47,.14);
}

.art-wall-mat::before{
  content:'';
  position:absolute;
  inset:-.46rem;
  border-radius:.62rem;
  background:linear-gradient(145deg, rgba(112,79,50,.94), rgba(69,48,31,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,239,215,.18),
    inset 0 -1px 0 rgba(44,29,18,.32);
  z-index:-1;
}

.art-wall-image{
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  border-radius:.18rem;
  object-fit:cover;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 3px 8px -6px rgba(34,27,47,.18);
}

.art-wall-mat::after{
  content:'';
  position:absolute;
  inset:.56rem;
  border:1px solid rgba(130,101,75,.07);
  border-radius:.28rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
  pointer-events:none;
}

.art-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  align-items:start;
}

@media (min-width:640px){
  .art-gallery-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (min-width:1024px){
  .art-gallery-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.art-gallery-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,242,234,.96) 100%);
  box-shadow:0 16px 38px -26px rgba(34,27,47,.24);
}

.art-gallery-frame{
  padding:.72rem;
  border-radius:1.2rem;
  background:
    linear-gradient(145deg, rgba(115,81,51,.96), rgba(76,53,35,.98));
}

.art-gallery-frame::after{
  content:'';
  position:absolute;
  inset:.22rem;
  border-radius:1rem;
  border:1px solid rgba(255,239,215,.18);
  box-shadow:inset 0 0 0 1px rgba(69,48,30,.28);
  pointer-events:none;
}

.art-gallery-image{
  aspect-ratio:4 / 5;
  border-radius:.7rem;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 6px 16px -12px rgba(34,27,47,.22);
}

.art-gallery-card .photo-card-button{
  min-height:100%;
}

.building-story-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  grid-auto-rows:minmax(180px, auto);
  align-items:stretch;
}

.building-story-grid-compact{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.9rem;
  grid-auto-rows:auto;
}

.building-story-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  border-radius:1.8rem;
  border:1px solid rgba(34,27,47,.08);
  background:#fff;
  box-shadow:0 24px 48px -30px rgba(34,27,47,.3);
}

.building-story-card-feature{
  grid-column:span 2;
  min-height:340px;
}

.building-story-card-tall{
  grid-row:span 2;
}

.building-story-card-wide{
  grid-column:span 2;
}

.building-story-grid-compact .building-story-card{
  min-height:160px;
  border-radius:1.35rem;
  box-shadow:0 16px 34px -26px rgba(34,27,47,.24);
}

.building-story-grid-compact .building-story-card-feature,
.building-story-grid-compact .building-story-card-tall,
.building-story-grid-compact .building-story-card-wide{
  grid-column:auto;
  grid-row:auto;
  min-height:160px;
}

.building-story-grid-compact .building-story-card-feature{
  min-height:160px;
}

.building-story-grid-compact .building-story-copy{
  padding:.85rem .9rem .9rem;
}

.building-story-grid-compact .building-story-title{
  font-size:.95rem;
  line-height:1.3;
}

.building-story-grid-compact .building-story-card::after{
  background:
    linear-gradient(180deg, rgba(17,12,26,0) 28%, rgba(17,12,26,.12) 52%, rgba(17,12,26,.68) 100%);
}

@media (min-width:768px){
  .building-story-grid-compact{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (min-width:1280px){
  .building-story-grid-compact{
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }
}

.building-story-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease, filter .35s ease;
}

.building-story-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(17,12,26,0) 16%, rgba(17,12,26,.16) 48%, rgba(17,12,26,.82) 100%);
  pointer-events:none;
}

.building-story-card:hover .building-story-image{
  transform:scale(1.04);
  filter:saturate(1.06) brightness(1.02);
}

.building-story-copy{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:1;
  padding:1.2rem 1.2rem 1.3rem;
  color:#fff;
}

.building-story-title{
  font-family:var(--theme-font-display);
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:-.02em;
}

.building-story-text{
  margin-top:.35rem;
  max-width:26rem;
  font-size:.9rem;
  line-height:1.55;
  color:rgba(255,255,255,.86);
}

@media (max-width:767px){
  .building-story-grid{
    grid-template-columns:1fr;
  }

  .building-story-card-feature,
  .building-story-card-wide{
    grid-column:auto;
  }

  .building-story-card-tall{
    grid-row:auto;
    min-height:260px;
  }

  .building-story-grid-compact .building-story-card,
  .building-story-grid-compact .building-story-card-feature,
  .building-story-grid-compact .building-story-card-tall,
  .building-story-grid-compact .building-story-card-wide{
    min-height:170px;
  }
}

.photo-card{
  position:relative;
  border-radius:1.2rem;
  background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,248,241,.92) 100%);
  box-shadow:0 18px 42px -26px rgba(34,27,47,.3);
}

.photo-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.58);
  pointer-events:none;
  z-index:2;
}

.photo-card-button{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:inherit;
  line-height:0;
  isolation:isolate;
}

.photo-card-button::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(34,27,47,.12)),
    radial-gradient(circle at 18% 14%, rgba(255,191,54,.16), transparent 34%),
    radial-gradient(circle at 82% 78%, rgba(255,79,135,.12), transparent 28%);
  opacity:.85;
  mix-blend-mode:soft-light;
  pointer-events:none;
  transition:opacity .3s ease;
  z-index:1;
}

.photo-card-image{
  width:100%;
  filter:saturate(1.06) contrast(1.04) brightness(1.01);
  transition:transform .4s ease, filter .35s ease;
}

.photo-card-glow{
  position:absolute;
  inset:auto 10% 0;
  height:30%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.3) 0%, rgba(255,255,255,0) 72%);
  opacity:.6;
  filter:blur(16px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
  z-index:1;
}

.photo-card:hover,
.photo-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 24px 54px -28px rgba(34,27,47,.36);
}

.photo-card:hover .photo-card-image,
.photo-card:focus-within .photo-card-image{
  transform:scale(1.035);
  filter:saturate(1.1) contrast(1.07) brightness(1.03);
}

.photo-card:hover .photo-card-button::before,
.photo-card:focus-within .photo-card-button::before{
  opacity:1;
}

.photo-card:hover .photo-card-glow,
.photo-card:focus-within .photo-card-glow{
  opacity:.85;
  transform:translateY(-2px);
}

.video-card{
  overflow:hidden;
  border-radius:1.7rem;
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,249,244,.92) 100%);
  box-shadow:var(--theme-shadow-soft);
}

.video-card button{
  display:block;
  width:100%;
  text-align:left;
  cursor:pointer;
}

.video-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#111;
}

.video-thumb video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.video-preview{
  position:relative;
  display:grid;
  place-items:center;
  min-height:14rem;
  overflow:hidden;
}

.video-preview::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--theme-gradient-main);
  opacity:.88;
}

.video-preview-brand::after{
  content:'';
  position:absolute;
  inset:1.5rem;
  border-radius:1.8rem;
  border:1px solid rgba(255,255,255,.18);
}

.video-play{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:4rem;
  height:4rem;
  border-radius:9999px;
  background:rgba(255,255,255,.95);
  color:var(--theme-brand);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.4);
}

.video-play i{transform:translateX(.05rem)}

.video-modal{
  max-height:80vh;
  width:100%;
  border-radius:1.7rem;
  background:#000;
}

.video-modal-caption{
  margin-top:1rem;
  font-size:.95rem;
  color:#fff;
  opacity:.84;
}

.tab-bar{
  gap:.65rem;
}

.tab-pill{
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  color:var(--theme-ink);
  box-shadow:none;
  backdrop-filter:none;
  font-weight:700;
}

.tab-pill:hover,
.tab-pill:focus-visible{
  transform:translateY(-1px);
}

.tab-pill-active{
  border-color:rgba(255,255,255,.28);
  background:var(--theme-gradient-main);
  color:#fff !important;
  box-shadow:var(--theme-shadow-glow);
}

.tab-pill-active:hover,
.tab-pill-active:focus-visible{
  box-shadow:0 26px 50px -24px rgba(255,107,44,.58);
}

.tab-pill-inactive{
  border-color:rgba(34,27,47,.1);
  background:rgba(255,255,255,.88);
  color:rgba(34,27,47,.82) !important;
  box-shadow:0 14px 28px -24px rgba(34,27,47,.22);
}

.tab-pill-inactive:hover,
.tab-pill-inactive:focus-visible{
  border-color:rgba(255,107,44,.18);
  background:rgba(255,255,255,.98);
  color:var(--theme-ink) !important;
  box-shadow:0 18px 34px -24px rgba(34,27,47,.28);
}

/* ---------- Helpers ---------- */
.section-title-wrap{
  max-width:42rem;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--theme-muted);
}

.eyebrow::before{
  content:'';
  width:1.75rem;
  height:1px;
  background:linear-gradient(90deg, var(--theme-brand), transparent);
}

.info-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem .82rem;
  border-radius:999px;
  background:var(--theme-chip-bg);
  color:var(--theme-ink);
  border:1px solid var(--theme-chip-border);
  box-shadow:0 14px 30px -24px rgba(34,27,47,.28);
}

.theme-copy-muted{
  color:var(--theme-copy-muted) !important;
}

.theme-copy-soft{
  color:var(--theme-copy-soft) !important;
}

.theme-copy-faint{
  color:var(--theme-copy-faint) !important;
}

.theme-panel{
  border:1px solid var(--theme-panel-border);
  background:var(--theme-panel-bg);
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(14px);
}

.theme-panel-soft{
  border:1px solid var(--theme-panel-border);
  background:var(--theme-panel-bg-soft);
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(14px);
}

.theme-chip{
  border:1px solid var(--theme-chip-border);
  background:var(--theme-chip-bg);
  color:var(--theme-copy-soft);
}

.theme-divider{
  border-color:var(--theme-chip-border) !important;
}

.theme-tint-card{
  position:relative;
  border:1px solid var(--theme-panel-border);
  background:
    linear-gradient(180deg, rgba(var(--theme-tint-rgb, 255,255,255), .22) 0%, rgba(var(--theme-tint-rgb, 255,255,255), .1) 100%),
    var(--theme-panel-bg-soft);
  box-shadow:var(--theme-shadow-soft);
  backdrop-filter:blur(12px);
}

.theme-tint-card::before{
  content:'';
  position:absolute;
  inset:auto -1.5rem -1.5rem auto;
  width:7rem;
  height:7rem;
  border-radius:999px;
  background:rgba(var(--theme-tint-rgb, 255,255,255), .12);
  pointer-events:none;
}

.theme-tint-grape{ --theme-tint-rgb:124,77,255; }
.theme-tint-turq{ --theme-tint-rgb:0,184,169; }
.theme-tint-brand{ --theme-tint-rgb:255,107,44; }
.theme-tint-coral{ --theme-tint-rgb:255,79,135; }
.theme-tint-sunny{ --theme-tint-rgb:255,191,54; }
.theme-tint-leaf{ --theme-tint-rgb:53,181,106; }
.theme-tint-sky{ --theme-tint-rgb:77,167,255; }

.gradient-text{
  background:var(--theme-gradient-main);
  -webkit-background-clip:text;
  color:transparent;
}

.cta-burst{
  position:relative;
  overflow:hidden;
}

.cta-burst::before{
  content:'';
  position:absolute;
  inset:-30% auto auto -12%;
  width:18rem;
  height:18rem;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,191,54,.24), rgba(255,191,54,0) 68%);
}

.cta-burst::after{
  content:'';
  position:absolute;
  right:-12%;
  bottom:-32%;
  width:20rem;
  height:20rem;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,79,135,.26), rgba(255,79,135,0) 68%);
}

.no-scrollbar,
.no-bar{
  scrollbar-width:none;
}

.no-scrollbar::-webkit-scrollbar,
.no-bar::-webkit-scrollbar{
  display:none;
}

/* ---------- Homepage creative component demos ---------- */
.home-art-marquee{
  position:relative;
  min-height:clamp(320px, 48vw, 520px);
  border-radius:1.7rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.72), rgba(255,255,255,0) 30%),
    linear-gradient(135deg, rgba(255,107,44,.1), rgba(124,77,255,.08), rgba(0,184,169,.08));
}

.mp-root{
  position:relative;
  overflow:hidden;
  width:100%;
  height:100%;
  touch-action:pan-y;
}

.mp-stage{
  position:relative;
  will-change:transform;
}

.mp-path{
  position:absolute;
  inset:0;
  color:rgba(34,27,47,.18);
  pointer-events:none;
}

.mp-item{
  position:absolute;
  top:0;
  left:0;
  backface-visibility:hidden;
  offset-rotate:0deg;
}

.mp-grab{
  cursor:grab;
}

.mp-card{
  display:block;
  width:104px;
  aspect-ratio:3 / 4;
  overflow:hidden;
  border-radius:1.2rem;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 50px -26px rgba(34,27,47,.38);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}

.mp-card:hover{
  transform:scale(1.1);
  box-shadow:0 28px 56px -24px rgba(34,27,47,.44);
}

.mp-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.home-art-coverflow{
  width:100%;
  padding-inline:clamp(.75rem, 2vw, 1.5rem);
}

.cf-root{
  width:100%;
  --cf-card:clamp(220px, 24vw, 360px);
}

.cf-frame{
  position:relative;
}

.cf-viewport{
  overflow:hidden;
  padding-block:2.5rem;
  cursor:grab;
  outline:none;
  touch-action:pan-y;
}

.cf-viewport:active{
  cursor:grabbing;
}

.cf-viewport:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(34,27,47,.16);
  border-radius:20px;
}

.cf-track{
  position:relative;
  height:var(--cf-card);
  transform-style:preserve-3d;
}

.cf-card{
  position:absolute;
  left:50%;
  top:0;
  width:var(--cf-card);
  aspect-ratio:1 / 1;
  overflow:hidden;
  padding:.8rem;
  border-radius:1.5rem;
  background:
    linear-gradient(145deg, #8f6944 0%, #714f33 14%, #b08a61 30%, #6a4a31 53%, #47311f 78%, #876544 100%);
  border:1px solid rgba(255,239,215,.24);
  box-shadow:
    0 16px 28px -16px rgba(34,27,47,.24),
    0 30px 60px -26px rgba(34,27,47,.36),
    inset 0 1px 0 rgba(255,245,228,.24),
    inset 0 -1px 0 rgba(62,42,25,.34);
  will-change:transform;
  cursor:pointer;
}

.cf-card::before{
  content:'';
  position:absolute;
  inset:.22rem;
  border-radius:1.22rem;
  border:1px solid rgba(255,239,215,.18);
  box-shadow:inset 0 0 0 1px rgba(69,48,30,.24);
  pointer-events:none;
}

.cf-card::after{
  content:'';
  position:absolute;
  inset:.8rem;
  border-radius:.92rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 24%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(0,0,0,.08));
  pointer-events:none;
}

.cf-card-media{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:.92rem;
  line-height:0;
  isolation:isolate;
}

.cf-card-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:.92rem;
  user-select:none;
  -webkit-user-drag:none;
  filter:saturate(1.06) contrast(1.04) brightness(1.01);
  transition:transform .4s ease, filter .35s ease;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 8px 20px -14px rgba(34,27,47,.28);
}

.cf-card-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(34,27,47,.12)),
    radial-gradient(circle at 18% 14%, rgba(255,191,54,.16), transparent 34%),
    radial-gradient(circle at 82% 78%, rgba(255,79,135,.12), transparent 28%);
  opacity:.85;
  mix-blend-mode:soft-light;
  pointer-events:none;
  transition:opacity .3s ease;
  z-index:1;
}

.cf-card-glow{
  position:absolute;
  inset:auto 10% 0;
  height:30%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.3) 0%, rgba(255,255,255,0) 72%);
  opacity:.6;
  filter:blur(16px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
  z-index:1;
}

.cf-card:hover .cf-card-image,
.cf-card:focus-within .cf-card-image{
  transform:scale(1.035);
  filter:saturate(1.1) contrast(1.07) brightness(1.03);
}

.cf-card:hover .cf-card-overlay,
.cf-card:focus-within .cf-card-overlay{
  opacity:1;
}

.cf-card:hover .cf-card-glow,
.cf-card:focus-within .cf-card-glow{
  opacity:.85;
  transform:translateY(-2px);
}

.cf-nav{
  position:absolute;
  top:50%;
  z-index:200;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border-radius:9999px;
  color:var(--theme-ink);
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 20px 38px -24px rgba(34,27,47,.34);
  backdrop-filter:blur(10px);
  transition:background .2s ease, transform .2s ease;
}

.cf-nav:hover{
  background:#fff;
  transform:translateY(-50%) scale(1.04);
}

.cf-prev{
  left:.25rem;
}

.cf-next{
  right:.25rem;
}

.cf-caption{
  margin-top:1.5rem;
  text-align:center;
}

.cf-title{
  font-family:var(--theme-font-display);
  font-size:1.55rem;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--theme-ink);
}

.cf-subtitle{
  margin-top:.25rem;
  font-size:.95rem;
  color:var(--theme-muted);
}

.cf-meta{
  margin:1rem auto 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem 1.5rem;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--theme-muted);
}

.cf-meta dt{
  opacity:.7;
}

.cf-meta dd{
  margin:.15rem 0 0;
  color:var(--theme-ink);
  letter-spacing:.06em;
}

.cf-dots{
  margin-top:1.25rem;
  display:flex;
  justify-content:center;
  gap:.5rem;
}

.cf-dot{
  width:.58rem;
  height:.58rem;
  border-radius:9999px;
  background:var(--theme-ink);
  opacity:.22;
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}

.cf-dot.is-active{
  opacity:1;
  transform:scale(1.15);
  background:var(--theme-brand);
}

html[data-ui-theme="ocean-carnival"] .home-art-marquee{
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.72), rgba(255,255,255,0) 30%),
    linear-gradient(135deg, rgba(0,194,255,.12), rgba(20,98,255,.08), rgba(0,211,167,.08));
}

html[data-ui-theme="garden-canvas"] .home-art-marquee{
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.72), rgba(255,255,255,0) 30%),
    linear-gradient(135deg, rgba(255,205,87,.14), rgba(93,187,99,.1), rgba(255,124,88,.08));
}

html[data-ui-theme="midnight-neon"] .home-art-marquee,
html[data-ui-theme="midnight-neon"] .cf-card{
  border-color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(0,245,212,.14), transparent 12rem),
    radial-gradient(circle at bottom left, rgba(255,77,157,.14), transparent 14rem),
    linear-gradient(180deg, rgba(20,24,48,.94) 0%, rgba(29,18,58,.92) 100%);
  color:#fff;
  box-shadow:0 28px 68px -36px rgba(0,0,0,.74);
}

html[data-ui-theme="midnight-neon"] .cf-card::before{
  border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

html[data-ui-theme="midnight-neon"] .mp-path{
  color:rgba(255,255,255,.14);
}

html[data-ui-theme="midnight-neon"] .mp-card,
html[data-ui-theme="midnight-neon"] .cf-nav{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.08);
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .cf-title,
html[data-ui-theme="midnight-neon"] .cf-meta dd{
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .cf-subtitle,
html[data-ui-theme="midnight-neon"] .cf-meta{
  color:rgba(246,243,255,.72);
}

/* ---------- Theme switcher ---------- */
.theme-switcher{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:120;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.8rem;
}

.theme-switcher-toggle{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:.95rem 1.15rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(12,9,20,.96), rgba(25,18,39,.92)),
    linear-gradient(90deg, rgba(255,107,44,.16), rgba(124,77,255,.14), rgba(0,184,169,.14));
  color:#fff;
  box-shadow:0 24px 60px -28px rgba(10,7,18,.72);
  backdrop-filter:blur(20px) saturate(160%);
  font-size:.92rem;
  font-weight:800;
}

.theme-switcher-toggle-icon{
  width:.9rem;
  height:.9rem;
  border-radius:999px;
  background:conic-gradient(from 180deg, #ff6b2c, #ff4f87, #7c4dff, #00b8a9, #ffbf36, #ff6b2c);
  box-shadow:0 0 0 4px rgba(255,255,255,.1), 0 10px 24px -14px rgba(255,255,255,.45);
}

.theme-switcher-panel{
  width:min(20rem, calc(100vw - 2rem));
  padding:1rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:1.6rem;
  background:
    linear-gradient(180deg, rgba(17,13,28,.98), rgba(27,19,43,.95));
  box-shadow:0 30px 70px -30px rgba(10,7,18,.78);
  backdrop-filter:blur(22px) saturate(165%);
}

.theme-switcher-head{
  margin-bottom:.85rem;
}

.theme-switcher-kicker{
  margin:0 0 .22rem;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.64);
}

.theme-switcher-title{
  margin:0;
  color:#fff;
  font-family:var(--theme-font-display);
  font-size:1.18rem;
  font-weight:700;
}

.theme-switcher-list{
  display:grid;
  gap:.65rem;
}

.theme-option{
  display:flex;
  align-items:center;
  gap:.8rem;
  width:100%;
  padding:.78rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:1.15rem;
  background:rgba(255,255,255,.04);
  color:#fff;
  text-align:left;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.theme-option:hover,
.theme-option:focus-visible,
.theme-option.is-active{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.09);
  box-shadow:0 18px 34px -24px rgba(0,0,0,.45);
}

.theme-option-swatch{
  flex:0 0 auto;
  width:2.9rem;
  height:2.9rem;
  border-radius:1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42), 0 16px 28px -20px rgba(0,0,0,.5);
}

.theme-option-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.theme-option-copy strong{
  font-family:var(--theme-font-display);
  font-size:1rem;
  font-weight:700;
}

.theme-option-copy small{
  margin-top:.12rem;
  color:rgba(255,255,255,.68);
  font-size:.78rem;
}

.theme-option-swatch-sunset{
  background:linear-gradient(135deg, #ff9a3d 0%, #ff4f87 48%, #7c4dff 100%);
}

.theme-option-swatch-ocean{
  background:linear-gradient(135deg, #00c2ff 0%, #00d3a7 42%, #1462ff 100%);
}

.theme-option-swatch-garden{
  background:linear-gradient(135deg, #ffcd57 0%, #5dbb63 46%, #ff7c58 100%);
}

.theme-option-swatch-neon{
  background:linear-gradient(135deg, #111935 0%, #7c4dff 38%, #00f5d4 64%, #ff4d9d 100%);
}

@media (max-width:640px){
  .theme-switcher{
    right:.8rem;
    bottom:.8rem;
  }

  .theme-switcher-toggle{
    padding:.85rem 1rem;
  }
}

/* ---------- Theme variants ---------- */
html[data-ui-theme="sunset-pop"]{
  --theme-font-display:'Syne', system-ui, sans-serif;
  --theme-font-body:'Outfit', system-ui, sans-serif;
  --theme-font-accent:'Caveat', cursive;
}

html[data-ui-theme="sunset-pop"] body,
html[data-ui-theme="sunset-pop"] .theme-body{
  background:
    radial-gradient(circle at 10% 10%, rgba(255,191,54,.28) 0, rgba(255,191,54,0) 24rem),
    radial-gradient(circle at 88% 14%, rgba(255,79,135,.22) 0, rgba(255,79,135,0) 26rem),
    radial-gradient(circle at 80% 82%, rgba(124,77,255,.16) 0, rgba(124,77,255,0) 26rem),
    linear-gradient(180deg, #fff5e9 0%, #fde4ec 42%, #ede2ff 100%);
}

html[data-ui-theme="ocean-carnival"]{
  --theme-font-display:'Fraunces', Georgia, serif;
  --theme-font-body:'Outfit', system-ui, sans-serif;
  --theme-font-accent:'Caveat', cursive;
}

html[data-ui-theme="ocean-carnival"] body,
html[data-ui-theme="ocean-carnival"] .theme-body{
  background:
    radial-gradient(circle at 16% 12%, rgba(0,194,255,.2) 0, rgba(0,194,255,0) 22rem),
    radial-gradient(circle at 84% 18%, rgba(0,211,167,.18) 0, rgba(0,211,167,0) 22rem),
    radial-gradient(circle at 72% 82%, rgba(20,98,255,.16) 0, rgba(20,98,255,0) 24rem),
    linear-gradient(180deg, #ecfbff 0%, #ddfff7 44%, #e7edff 100%);
}

html[data-ui-theme="garden-canvas"]{
  --theme-font-display:'Comfortaa', system-ui, sans-serif;
  --theme-font-body:'Manrope', system-ui, sans-serif;
  --theme-font-accent:'Caveat', cursive;
}

html[data-ui-theme="garden-canvas"] body,
html[data-ui-theme="garden-canvas"] .theme-body{
  background:
    radial-gradient(circle at 15% 14%, rgba(255,205,87,.22) 0, rgba(255,205,87,0) 22rem),
    radial-gradient(circle at 86% 12%, rgba(93,187,99,.2) 0, rgba(93,187,99,0) 24rem),
    radial-gradient(circle at 74% 82%, rgba(255,124,88,.18) 0, rgba(255,124,88,0) 24rem),
    linear-gradient(180deg, #fff8e7 0%, #eff9ec 46%, #ffece2 100%);
}

html[data-ui-theme="midnight-neon"]{
  --theme-font-display:'Syne', system-ui, sans-serif;
  --theme-font-body:'Outfit', system-ui, sans-serif;
  --theme-font-accent:'Caveat', cursive;
  --theme-copy-muted:rgba(246,243,255,.84);
  --theme-copy-soft:rgba(246,243,255,.74);
  --theme-copy-faint:rgba(246,243,255,.58);
  --theme-panel-border:rgba(255,255,255,.09);
  --theme-panel-bg:linear-gradient(180deg, rgba(20,24,48,.92) 0%, rgba(29,18,58,.9) 100%);
  --theme-panel-bg-soft:linear-gradient(180deg, rgba(18,22,44,.94) 0%, rgba(26,17,54,.9) 100%);
  --theme-chip-bg:rgba(255,255,255,.08);
  --theme-chip-border:rgba(255,255,255,.12);
  --theme-section-band:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(15,18,40,.08) 100%);
  --theme-section-band-alt:
    radial-gradient(circle at top left, rgba(124,77,255,.12), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(0,245,212,.08), transparent 18rem),
    linear-gradient(180deg, rgba(12,16,36,.08) 0%, rgba(37,18,71,.08) 100%);
}

html[data-ui-theme="midnight-neon"] body,
html[data-ui-theme="midnight-neon"] .theme-body{
  color:#f6f3ff;
  background:
    radial-gradient(circle at 12% 18%, rgba(124,77,255,.22) 0, rgba(124,77,255,0) 24rem),
    radial-gradient(circle at 86% 12%, rgba(0,245,212,.18) 0, rgba(0,245,212,0) 22rem),
    radial-gradient(circle at 78% 78%, rgba(255,77,157,.18) 0, rgba(255,77,157,0) 24rem),
    linear-gradient(180deg, #0d122b 0%, #171338 48%, #251247 100%);
}

html[data-ui-theme="midnight-neon"] .theme-body::before{
  background:radial-gradient(circle, rgba(0,245,212,.16) 0%, rgba(0,245,212,0) 72%);
}

html[data-ui-theme="midnight-neon"] .theme-body::after{
  background:radial-gradient(circle, rgba(255,77,157,.18) 0%, rgba(255,77,157,0) 74%);
}

html[data-ui-theme="ocean-carnival"] .theme-section::before{
  background:
    linear-gradient(135deg, rgba(255,255,255,.45), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 18% 16%, rgba(0,194,255,.12), transparent 18rem);
}

html[data-ui-theme="garden-canvas"] .theme-section::before{
  background:
    linear-gradient(135deg, rgba(255,255,255,.38), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 20% 16%, rgba(93,187,99,.12), transparent 18rem);
}

html[data-ui-theme="midnight-neon"] .theme-section::before{
  opacity:.3;
  background:
    linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 20% 16%, rgba(124,77,255,.14), transparent 18rem);
}

html[data-ui-theme="ocean-carnival"] .theme-surface,
html[data-ui-theme="ocean-carnival"] .theme-cream,
html[data-ui-theme="garden-canvas"] .theme-surface,
html[data-ui-theme="garden-canvas"] .theme-cream,
html[data-ui-theme="midnight-neon"] .theme-surface,
html[data-ui-theme="midnight-neon"] .theme-cream{
  background:transparent;
}

html[data-ui-theme="sunset-pop"] .card,
html[data-ui-theme="sunset-pop"] .theme-shell{
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,242,235,.92) 100%);
}

html[data-ui-theme="ocean-carnival"] .card,
html[data-ui-theme="ocean-carnival"] .theme-shell,
html[data-ui-theme="ocean-carnival"] .mobile-menu-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(236,251,255,.9) 100%);
}

html[data-ui-theme="garden-canvas"] .card,
html[data-ui-theme="garden-canvas"] .theme-shell,
html[data-ui-theme="garden-canvas"] .mobile-menu-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(248,255,242,.92) 100%);
}

html[data-ui-theme="midnight-neon"] .card,
html[data-ui-theme="midnight-neon"] .theme-shell,
html[data-ui-theme="midnight-neon"] .mobile-menu-panel,
html[data-ui-theme="midnight-neon"] .m-item,
html[data-ui-theme="midnight-neon"] .m-sub,
html[data-ui-theme="midnight-neon"] .m-group,
html[data-ui-theme="midnight-neon"] .mobile-contact-card,
html[data-ui-theme="midnight-neon"] .photo-card,
html[data-ui-theme="midnight-neon"] .video-card{
  border-color:rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(20,24,48,.92) 0%, rgba(29,18,58,.9) 100%);
  color:#f6f3ff;
  box-shadow:0 28px 68px -36px rgba(0,0,0,.74);
}

html[data-ui-theme="midnight-neon"] .card::before{
  background:linear-gradient(135deg, rgba(0,245,212,.22), rgba(255,255,255,0) 38%, rgba(255,77,157,.22));
}

html[data-ui-theme="ocean-carnival"] .card::before{
  background:linear-gradient(135deg, rgba(0,194,255,.18), rgba(255,255,255,0) 38%, rgba(20,98,255,.16));
}

html[data-ui-theme="garden-canvas"] .card::before{
  background:linear-gradient(135deg, rgba(93,187,99,.18), rgba(255,255,255,0) 38%, rgba(255,124,88,.16));
}

html[data-ui-theme="ocean-carnival"] .btn-primary{
  background:linear-gradient(135deg, #00c2ff 0%, #00d3a7 46%, #1462ff 100%);
  box-shadow:0 24px 50px -24px rgba(20,98,255,.42);
}

html[data-ui-theme="garden-canvas"] .btn-primary{
  background:linear-gradient(135deg, #ffcd57 0%, #ff7c58 40%, #5dbb63 100%);
  box-shadow:0 24px 50px -24px rgba(93,187,99,.42);
}

html[data-ui-theme="midnight-neon"] .btn-primary,
html[data-ui-theme="midnight-neon"] .tab-pill-active{
  background:linear-gradient(135deg, #7c4dff 0%, #00f5d4 48%, #ff4d9d 100%);
  box-shadow:0 24px 56px -26px rgba(124,77,255,.62);
}

html[data-ui-theme="ocean-carnival"] .btn-outline{
  background:rgba(255,255,255,.82);
  color:#0f315e;
}

html[data-ui-theme="garden-canvas"] .btn-outline{
  background:rgba(255,253,247,.84);
  color:#35573c;
}

html[data-ui-theme="midnight-neon"] .btn-outline,
html[data-ui-theme="midnight-neon"] .btn-white,
html[data-ui-theme="midnight-neon"] .info-chip,
html[data-ui-theme="midnight-neon"] .theme-badge,
html[data-ui-theme="midnight-neon"] .alumni-outcome-card{
  border-color:var(--theme-chip-border);
  background:var(--theme-chip-bg);
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .alumni-outcome-card{
  box-shadow:0 20px 44px -28px rgba(0,0,0,.45);
}

html[data-ui-theme="ocean-carnival"] .nav-header-scrolled,
html[data-ui-theme="ocean-carnival"] .nav-bar-shell,
html[data-ui-theme="ocean-carnival"] .dropdown{
  background:
    linear-gradient(135deg, rgba(8,31,62,.96), rgba(6,62,88,.94)),
    linear-gradient(90deg, rgba(0,194,255,.18), rgba(0,211,167,.16), rgba(20,98,255,.16));
}

html[data-ui-theme="garden-canvas"] .nav-header-scrolled,
html[data-ui-theme="garden-canvas"] .nav-bar-shell,
html[data-ui-theme="garden-canvas"] .dropdown{
  background:
    linear-gradient(135deg, rgba(42,55,24,.94), rgba(80,61,29,.92)),
    linear-gradient(90deg, rgba(93,187,99,.16), rgba(255,205,87,.14), rgba(255,124,88,.14));
}

html[data-ui-theme="midnight-neon"] .nav-header-scrolled,
html[data-ui-theme="midnight-neon"] .nav-bar-shell,
html[data-ui-theme="midnight-neon"] .dropdown,
html[data-ui-theme="midnight-neon"] .theme-switcher-toggle,
html[data-ui-theme="midnight-neon"] .theme-switcher-panel{
  background:
    linear-gradient(135deg, rgba(8,12,28,.98), rgba(20,11,44,.96)),
    linear-gradient(90deg, rgba(124,77,255,.18), rgba(0,245,212,.14), rgba(255,77,157,.16));
}

html[data-ui-theme="midnight-neon"] .nav-header-scrolled .brand-logo{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(135deg, rgba(8,12,28,.96), rgba(24,14,50,.92)),
    linear-gradient(90deg, rgba(124,77,255,.18), rgba(0,245,212,.12), rgba(255,77,157,.14));
  box-shadow:0 22px 48px -28px rgba(0,0,0,.62);
}

html[data-ui-theme="midnight-neon"] .nav-header-scrolled .brand-logo-title{
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .nav-header-scrolled .brand-logo-sub{
  color:rgba(246,243,255,.72);
}

html[data-ui-theme="midnight-neon"] .nav-header-scrolled .brand-mark{
  box-shadow:0 18px 40px -22px rgba(124,77,255,.55);
}

html[data-ui-theme="ocean-carnival"] footer{
  background:linear-gradient(135deg, #0a3769 0%, #004f71 48%, #0c2353 100%);
}

html[data-ui-theme="garden-canvas"] footer{
  background:linear-gradient(135deg, #45642d 0%, #6b4a2a 52%, #38553a 100%);
}

html[data-ui-theme="midnight-neon"] footer{
  background:linear-gradient(135deg, #090f24 0%, #161035 46%, #250f45 100%);
}

html[data-ui-theme="ocean-carnival"] .social,
html[data-ui-theme="garden-canvas"] .social,
html[data-ui-theme="midnight-neon"] .social{
  background:rgba(255,255,255,.1);
}

html[data-ui-theme="ocean-carnival"] .blob,
html[data-ui-theme="ocean-carnival"] .hero-orbit{
  filter:hue-rotate(110deg) saturate(1.2);
}

html[data-ui-theme="garden-canvas"] .blob,
html[data-ui-theme="garden-canvas"] .hero-orbit{
  filter:hue-rotate(185deg) saturate(1.1);
}

html[data-ui-theme="midnight-neon"] .blob,
html[data-ui-theme="midnight-neon"] .hero-orbit,
html[data-ui-theme="midnight-neon"] .squiggle{
  filter:hue-rotate(210deg) saturate(1.4);
}

html[data-ui-theme="midnight-neon"] .nav-link,
html[data-ui-theme="midnight-neon"] .drop-item,
html[data-ui-theme="midnight-neon"] .f-link,
html[data-ui-theme="midnight-neon"] .mobile-menu-kicker,
html[data-ui-theme="midnight-neon"] .lbl,
html[data-ui-theme="midnight-neon"] .eyebrow,
html[data-ui-theme="midnight-neon"] .course-card-copy p,
html[data-ui-theme="midnight-neon"] p,
html[data-ui-theme="midnight-neon"] li{
  color:rgba(246,243,255,.82);
}

html[data-ui-theme="midnight-neon"] h1,
html[data-ui-theme="midnight-neon"] h2,
html[data-ui-theme="midnight-neon"] h3,
html[data-ui-theme="midnight-neon"] h4,
html[data-ui-theme="midnight-neon"] .brand-logo-title,
html[data-ui-theme="midnight-neon"] .brand-logo-sub,
html[data-ui-theme="midnight-neon"] .f-head,
html[data-ui-theme="midnight-neon"] .theme-switcher-title{
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .inp{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.07);
  color:#fff;
}

html[data-ui-theme="midnight-neon"] .inp::placeholder{
  color:rgba(246,243,255,.52);
}

/* ---------- Scroll reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s ease, transform .7s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:none;
}

.course-emoji-marquee{
  position:relative;
  overflow:hidden;
  width:100%;
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.course-emoji-track{
  display:flex;
  width:max-content;
  gap:.85rem;
  align-items:center;
  animation:course-emoji-scroll 28s linear infinite;
}

.course-emoji-marquee:hover .course-emoji-track,
.course-emoji-marquee:focus-within .course-emoji-track{
  animation-play-state:paused;
}

.course-marquee-item{
  flex:0 0 auto;
  padding:.55rem .75rem;
  border:1px solid rgba(34,27,47,.06);
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 28px -22px rgba(34,27,47,.24);
  color:var(--theme-ink);
  white-space:nowrap;
}

.course-marquee-item:hover,
.course-marquee-item:focus-visible{
  color:var(--theme-ink);
}

.course-marquee-item .course-icon{
  margin-right:0;
}

.course-marquee-item span:last-child{
  font-size:.9rem;
  font-weight:600;
}

@keyframes course-emoji-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media (prefers-reduced-motion:reduce){
  .course-emoji-track{
    animation:none;
  }
  .reveal{opacity:1;transform:none;transition:none}
  .card:hover,
  .frame:hover,
  .art-wall-frame:hover,
  .btn-primary:hover,
  .btn-outline:hover,
  .btn-white:hover{
    transform:none;
  }
}
