/* =====================================================================
   CHANAKYA THE GURU — SHARED STYLES (change once, applies to all pages)
   Website default = LIGHT. Dark mode via html.dark (toggle in header).
   Header & footer are always dark coloured.
   ===================================================================== */
body{font-family:'Plus Jakarta Sans',sans-serif;background:#ffffff;color:#1e293b;transition:background-color .25s,color .25s}
:root{color-scheme:light}
html.dark{color-scheme:dark}
.font-serif-chanakya{font-family:'Cinzel',serif}
.font-hindi{font-family:'Rozha One',serif}
.gold-gradient-text{background:linear-gradient(135deg,#b45309,#d97706 45%,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---------- header dropdowns (dark header) ---------- */
.nav-parent{position:relative}
.nav-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:270px;background:#0f172a;border:1px solid rgba(251,191,36,.25);border-radius:1rem;padding:.5rem;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 20px 50px -12px rgba(0,0,0,.6);z-index:60}
.nav-parent:hover .nav-drop,.nav-parent:focus-within .nav-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-drop a{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:.7rem;font-size:13px;font-weight:600;color:#cbd5e1}
.nav-drop a:hover{background:rgba(251,191,36,.12);color:#fde68a}
.nav-drop a small{display:block;font-weight:400;color:#94a3b8;font-size:11px}
.mob-sub{overflow:hidden}

/* ---------- running ticker ---------- */
.ticker-track{animation:ticker 34s linear infinite}
.ticker-wrap:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- testimonial marquee (slow, right → left) ---------- */
.t-track{animation:tScroll 80s linear infinite}
.t-viewport:hover .t-track{animation-play-state:paused}
@keyframes tScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Home review ribbon: deliberately continuous, with no hover pause. */
.home-review-track{animation:homeReviewScroll 72s linear infinite;will-change:transform}
@keyframes homeReviewScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* seamless loop: items carry their own right margin so the copied half starts exactly at -50% */
.result-track{animation:tScroll 45s linear infinite;will-change:transform}
.result-item{margin-right:1rem}
.result-viewport{padding-left:1rem}

/* 3D look: layered soft shadows + lift on hover */
.ctg-3d,.ctg-card{box-shadow:0 1px 2px rgba(15,23,42,.06),0 6px 14px -4px rgba(15,23,42,.12),0 18px 34px -16px rgba(15,23,42,.22);transition:transform .25s ease,box-shadow .25s ease}
.ctg-3d:hover,.ctg-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(15,23,42,.08),0 12px 24px -6px rgba(15,23,42,.18),0 28px 48px -18px rgba(15,23,42,.32)}
main img{box-shadow:0 8px 22px -10px rgba(15,23,42,.35)}
html.dark .ctg-3d,html.dark .ctg-card{box-shadow:0 1px 2px rgba(0,0,0,.4),0 8px 18px -6px rgba(0,0,0,.6),0 22px 40px -18px rgba(0,0,0,.75)}

/* ---------- colored 3D icons (social icons intentionally stay clean) ---------- */
.ctg-icon3d{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 6px rgba(0,0,0,.16),0 6px 14px -6px rgba(15,23,42,.35),0 2px 0 rgba(15,23,42,.12);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.ctg-icon3d::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 46%)}
.ctg-icon3d svg,.ctg-icon3d i,.ctg-icon3d .lucide{position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
a:hover .ctg-icon3d,button:hover .ctg-icon3d,div:hover > .ctg-icon3d{transform:translateY(-1px);filter:brightness(1.05)}
.ctg-icon3d-amber{background:linear-gradient(145deg,#fcd34d 0%,#f59e0b 55%,#d97706 100%);color:#451a03!important;border-color:rgba(146,64,14,.3)}
.ctg-icon3d-emerald{background:linear-gradient(145deg,#6ee7b7 0%,#10b981 55%,#047857 100%);color:#ffffff!important;border-color:rgba(6,78,59,.35)}
.ctg-icon3d-blue{background:linear-gradient(145deg,#93c5fd 0%,#2563eb 55%,#1e40af 100%);color:#ffffff!important;border-color:rgba(30,58,138,.4)}
.ctg-icon3d-purple{background:linear-gradient(145deg,#c4b5fd 0%,#7c3aed 55%,#5b21b6 100%);color:#ffffff!important;border-color:rgba(76,29,149,.4)}
.ctg-icon3d-orange{background:linear-gradient(145deg,#fdba74 0%,#f97316 55%,#c2410c 100%);color:#ffffff!important;border-color:rgba(124,45,18,.35)}
.ctg-icon3d-teal{background:linear-gradient(145deg,#5eead4 0%,#0d9488 55%,#0f766e 100%);color:#ffffff!important;border-color:rgba(19,78,74,.4)}
.ctg-icon3d-rose{background:linear-gradient(145deg,#fda4af 0%,#e11d48 55%,#9f1239 100%);color:#ffffff!important;border-color:rgba(136,19,55,.4)}
.ctg-icon3d-slate{background:linear-gradient(145deg,#475569 0%,#1e293b 60%,#0f172a 100%);color:#fcd34d!important;border-color:rgba(0,0,0,.5)}
html.dark .ctg-icon3d{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.35),0 8px 18px -6px rgba(0,0,0,.7),0 2px 0 rgba(0,0,0,.4)}
svg.lucide{
  color:#fff!important;
  background:linear-gradient(145deg,#93c5fd 0%,#2563eb 58%,#1e40af 100%);
  border:1px solid rgba(30,58,138,.4);
  border-radius:.35em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 4px rgba(15,23,42,.24),0 3px 7px -3px rgba(15,23,42,.5),0 1px 0 rgba(15,23,42,.2);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
svg.lucide:is(.lucide-book-open,.lucide-book-check,.lucide-book,.lucide-file-text,.lucide-library,.lucide-notebook){
  color:#451a03!important;background:linear-gradient(145deg,#fde68a 0%,#f59e0b 58%,#d97706 100%);border-color:rgba(146,64,14,.35)
}
svg.lucide:is(.lucide-stethoscope,.lucide-heart-pulse,.lucide-dna,.lucide-shield-check){
  color:#fff!important;background:linear-gradient(145deg,#6ee7b7 0%,#10b981 58%,#047857 100%);border-color:rgba(6,78,59,.4)
}
svg.lucide:is(.lucide-calculator,.lucide-cpu,.lucide-atom,.lucide-monitor-check,.lucide-laptop){
  color:#fff!important;background:linear-gradient(145deg,#93c5fd 0%,#2563eb 58%,#1e40af 100%);border-color:rgba(30,58,138,.4)
}
svg.lucide:is(.lucide-graduation-cap,.lucide-school,.lucide-building-2,.lucide-users,.lucide-user,.lucide-briefcase){
  color:#fff!important;background:linear-gradient(145deg,#c4b5fd 0%,#7c3aed 58%,#5b21b6 100%);border-color:rgba(76,29,149,.4)
}
svg.lucide:is(.lucide-phone,.lucide-phone-call,.lucide-mail,.lucide-message-circle,.lucide-message-square-heart,.lucide-map-pin,.lucide-send){
  color:#fff!important;background:linear-gradient(145deg,#5eead4 0%,#0d9488 58%,#0f766e 100%);border-color:rgba(19,78,74,.4)
}
svg.lucide:is(.lucide-medal,.lucide-award,.lucide-trophy,.lucide-star,.lucide-party-popper){
  color:#fff!important;background:linear-gradient(145deg,#fdba74 0%,#f97316 58%,#c2410c 100%);border-color:rgba(124,45,18,.4)
}
svg.lucide:is(.lucide-bed-double,.lucide-hotel,.lucide-camera,.lucide-image,.lucide-heart){
  color:#fff!important;background:linear-gradient(145deg,#fda4af 0%,#e11d48 58%,#9f1239 100%);border-color:rgba(136,19,55,.4)
}
.ctg-icon3d svg.lucide{
  color:inherit!important;background:transparent;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))
}
.ctg-clean-icon svg{color:inherit!important;background:transparent!important;border:0!important;box-shadow:none!important}

/* Teacher portraits are square and fill the card's width. */
.faculty-photo{aspect-ratio:1;width:100%;overflow:hidden}
.faculty-photo img{box-shadow:none}
/* Teacher cards: TWO per line on phones, FOUR per line on desktop. */
.faculty-grid,.faculty-grid-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
@media (min-width:640px){
  .faculty-grid,.faculty-grid-4{gap:1rem}
  .faculty-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px){
  .faculty-grid:not(.faculty-grid-4){grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
}
@media (min-width:1100px){
  .faculty-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
}
/* compact typography so two cards always fit side-by-side on a phone */
@media (max-width:639px){
  .faculty-card{border-radius:.9rem!important}
  .faculty-card>div:last-child{padding:.55rem .45rem .7rem!important}
  .faculty-card h3,.faculty-card h4{font-size:.8rem!important;line-height:1.2!important;margin-top:.2rem!important}
  .faculty-card p{font-size:.63rem!important;line-height:1.32!important}
  .faculty-card .inline-block{font-size:.5rem!important;letter-spacing:.01em!important}
  .faculty-photo{aspect-ratio:1/1}
}
.result-viewport:hover .result-track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.result-track{animation:none}}
@media (max-width:767px){.banner-arrow{display:none!important}}
/* home banners: image only */
#bannerSlider .banner-slide > div{display:none!important}

/* ---------- banners & motion ---------- */
.banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.banner-slide.active{opacity:1;visibility:visible;z-index:10}
.banner-dot{transition:all .3s}
.banner-dot.active{width:2rem;background:#fbbf24}
.page-enter{animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.pulse-ring{animation:pulseRing 2s infinite}
@media (max-width:639px){#bannerSlider .banner-slide p{display:none}#bannerSlider .banner-slide h2{font-size:1.3rem;line-height:1.25}}
@media (prefers-reduced-motion:reduce){.t-track,.ticker-track{animation:none}}
input[type=range]{accent-color:#f59e0b}
/* syllabus accordion: rotate chevron when a unit is open; hide native marker */
details summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(180deg)}
.chev{transition:transform .2s ease}
.ctg-hover:hover{background-color:#f8fafc}
html.dark .ctg-hover:hover{background-color:#14213a}

/* ---------- shared component classes ---------- */
.ctg-card{background:#fff;border:1px solid #e2e8f0}
.ctg-input{width:100%;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.625rem .875rem;font-size:.875rem;color:#0f172a;outline:none}
.ctg-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.ctg-input::placeholder{color:#94a3b8}

/* ---------- Store: class-wise resource library and book cards ---------- */
.store-page{min-height:60vh;padding-bottom:4rem}
.store-hero{max-width:1400px;margin:0 auto;padding:4rem 1.5rem 2.25rem;text-align:center}
.store-eyebrow{display:inline-block;color:#a16207;font-size:.7rem;font-weight:800;letter-spacing:.16em}
.store-hero h1{margin:.75rem 0;font-family:'Cinzel',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.12;color:#0f172a}
.store-hero h1 span{color:#d97706}
.store-hero>p{max-width:700px;margin:.75rem auto 0;color:#64748b;line-height:1.7}
.store-controls{max-width:1100px;margin:0 auto 2rem;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,1fr) 210px 210px;gap:.75rem}
.store-search{display:flex;align-items:center;gap:.7rem;min-width:0;padding:0 .9rem;border:1px solid #cbd5e1;border-radius:.9rem;background:#fff;color:#64748b}
.store-search>span{font-size:1.6rem;line-height:1}
.store-search input{width:100%;min-width:0;padding:.85rem 0;border:0;outline:0;background:transparent;color:#0f172a;font:inherit}
.store-controls select{min-width:0;padding:.8rem .9rem;border:1px solid #cbd5e1;border-radius:.9rem;background:#fff;color:#334155;font:inherit}
.store-results-section,.store-recommendations{max-width:1400px;margin:0 auto;padding:0 1.5rem}
.store-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.store-results-heading h2,.store-section-heading h2{margin:0;font-size:1.45rem;font-weight:900;color:#0f172a}
.store-results-heading>span{color:#64748b;font-size:.82rem;font-weight:700}
.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.store-book-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 8px 25px -18px rgba(15,23,42,.55);transition:transform .2s ease,box-shadow .2s ease}
.store-book-card:hover{transform:translateY(-3px);box-shadow:0 15px 28px -18px rgba(15,23,42,.5)}
.store-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;margin:1rem 1rem 0;padding:1rem;border-radius:.55rem 1rem 1rem .55rem;color:#fff;box-shadow:inset 7px 0 0 rgba(255,255,255,.18),0 8px 18px -10px rgba(15,23,42,.45)}
.store-cover:after{position:absolute;top:0;right:0;width:1.2rem;height:100%;border-radius:0 1rem 1rem 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18));content:""}
.store-cover>span,.store-cover>i{font-size:.59rem;font-style:normal;font-weight:800;letter-spacing:.1em}
.store-cover>strong{max-width:90%;font-family:'Cinzel',serif;font-size:1.3rem;font-weight:900;line-height:1.1;text-transform:uppercase}
.cover-amber{background:linear-gradient(145deg,#fbbf24,#b45309)}
.cover-blue{background:linear-gradient(145deg,#60a5fa,#1e3a8a)}
.cover-emerald{background:linear-gradient(145deg,#34d399,#065f46)}
.cover-purple{background:linear-gradient(145deg,#a78bfa,#4c1d95)}
.cover-rose{background:linear-gradient(145deg,#fb7185,#9f1239)}
.cover-teal{background:linear-gradient(145deg,#2dd4bf,#115e59)}
.store-book-copy{padding:1rem}
.store-tag{display:inline-flex;max-width:100%;padding:.3rem .55rem;border:1px solid #fde68a;border-radius:999px;background:#fffbeb;color:#92400e;font-size:.65rem;font-weight:800}
.store-book-copy h3{margin:.55rem 0 .25rem;color:#0f172a;font-size:1rem;font-weight:900;line-height:1.3}
.store-book-copy p{min-height:2.5rem;margin:0;color:#64748b;font-size:.78rem;line-height:1.55}
.store-action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem;padding:.7rem .85rem;border-radius:.75rem;font-size:.8rem;font-weight:800;text-decoration:none;transition:filter .2s ease}
.store-action:hover{filter:brightness(.95)}
.request-action{background:#0f172a;color:#fff}
.buy-action{background:#d97706;color:#fff}
.store-empty{margin:1rem 0;padding:2rem;border:1px dashed #cbd5e1;border-radius:1rem;color:#64748b;text-align:center}
.store-note{max-width:1100px;margin:2rem auto 0;padding:0 1.5rem;color:#64748b;font-size:.8rem;line-height:1.6;text-align:center}
.store-class-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:1000px;margin:1.5rem auto 0;padding:0 1rem}
.store-class-nav a{padding:.55rem .8rem;border:1px solid #cbd5e1;border-radius:999px;color:#475569;font-size:.76rem;font-weight:800;text-decoration:none}
.store-class-nav a:hover,.store-class-nav a.is-current{border-color:#f59e0b;background:#fffbeb;color:#92400e}
.store-page>.store-class-nav{margin:1.25rem auto 0}
.store-recommendations{margin:0 auto 2rem;padding:1.5rem;border:1px solid #fde68a;border-radius:1.5rem;background:linear-gradient(135deg,#fffbeb,#fff 70%)}
.store-section-heading{text-align:center}
.store-section-heading>span{color:#a16207;font-size:.65rem;font-weight:900;letter-spacing:.16em}
.store-section-heading h2{margin:.35rem 0}
.store-section-heading p{margin:.3rem 0 1rem;color:#64748b;font-size:.82rem}
.mentor-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.mentor-pick{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid #f1f5f9;border-radius:1rem;background:#fff}
.mentor-initial{display:grid;place-items:center;flex:0 0 2.7rem;height:2.7rem;border-radius:50%;font-weight:900}
.mentor-amber{background:#fef3c7;color:#92400e}.mentor-blue{background:#dbeafe;color:#1e40af}.mentor-emerald{background:#d1fae5;color:#065f46}.mentor-purple{background:#ede9fe;color:#5b21b6}
.mentor-pick small,.mentor-pick strong{display:block}
.mentor-pick small{color:#a16207;font-size:.65rem;font-weight:800}
.mentor-pick strong{margin-top:.12rem;color:#0f172a;font-size:.76rem}
.mentor-pick p{margin:.2rem 0 0;color:#64748b;font-size:.65rem;line-height:1.4}
.paid-tag{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}
.paid-book-card .store-cover{min-height:220px;margin:1rem 1rem 0}
.store-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:1100px;margin:0 auto;padding:0 1.5rem 4rem}
.store-hub-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1rem;padding:1.25rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;box-shadow:0 12px 35px -26px rgba(15,23,42,.5);color:inherit;text-decoration:none}
.store-hub-card .store-book-art{grid-row:span 2;display:grid;place-items:center;min-height:130px;border-radius:.5rem .9rem .9rem .5rem;background:linear-gradient(145deg,#fbbf24,#b45309);color:#fff;font-family:'Cinzel',serif;font-size:1.1rem;font-weight:900;box-shadow:inset 7px 0 0 rgba(255,255,255,.18)}
.paid-hub .store-book-art{background:linear-gradient(145deg,#60a5fa,#1e3a8a)}
.store-hub-card small,.store-hub-card strong,.store-hub-card em{display:block}
.store-hub-card small{color:#a16207;font-size:.62rem;font-weight:900;letter-spacing:.12em}
.store-hub-card strong{margin:.35rem 0;color:#0f172a;font-size:1.05rem;font-weight:900}
.store-hub-card em{color:#64748b;font-size:.76rem;font-style:normal;line-height:1.5}
.store-hub-card>b{grid-column:2;color:#b45309;font-size:.78rem}
html.dark .store-hero h1,html.dark .store-results-heading h2,html.dark .store-section-heading h2,html.dark .store-book-copy h3,html.dark .mentor-pick strong,html.dark .store-hub-card strong{color:#f1f5f9}
html.dark .store-search,html.dark .store-controls select,html.dark .store-book-card,html.dark .mentor-pick,html.dark .store-recommendations,html.dark .store-hub-card{border-color:#22304d;background:#0f172a}
html.dark .store-search input{color:#f1f5f9}
html.dark .store-controls select{color:#e2e8f0}
html.dark .store-recommendations{background:linear-gradient(135deg,#101d33,#0f172a 70%)}
html.dark .store-tag{border-color:#854d0e;background:#422006;color:#fde68a}
html.dark .paid-tag{border-color:#1e40af;background:#172554;color:#bfdbfe}
html.dark .store-class-nav a{border-color:#334155;color:#cbd5e1}
html.dark .store-class-nav a:hover,html.dark .store-class-nav a.is-current{background:#422006;color:#fde68a}
html.dark .store-hub-card .store-book-art{color:#fff}
@media(max-width:900px){.store-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mentor-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.store-hero{padding:2.8rem 1rem 1.5rem}.store-controls{grid-template-columns:1fr;padding:0 1rem}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.store-results-section,.store-recommendations{padding-left:1rem;padding-right:1rem}.store-cover{min-height:145px;margin:.65rem .65rem 0;padding:.7rem}.store-cover>strong{font-size:1rem}.store-book-copy{padding:.7rem}.store-book-copy h3{font-size:.83rem}.store-book-copy p{font-size:.68rem}.store-action{padding:.62rem .65rem;font-size:.7rem}.mentor-picks{grid-template-columns:1fr}.store-hub{grid-template-columns:1fr;padding:0 1rem 3rem}.store-hub-card{grid-template-columns:78px minmax(0,1fr);padding:.9rem}.store-hub-card .store-book-art{min-height:115px}.paid-book-card .store-cover{min-height:175px}}
@media(prefers-reduced-motion:reduce){.store-book-card{transition:none}}

/* ================= DARK MODE (opt-in, default is light) ============= */
html.dark body{background:#080f1d;color:#e2e8f0}
html.dark .bg-white{background-color:#0f172a!important}
html.dark .ctg-card{background:#0f172a;border-color:#22304d}
html.dark .bg-slate-50{background-color:#0b1424!important}
html.dark .bg-slate-100{background-color:#14213a!important}
html.dark .bg-slate-200{background-color:#1b2c4a!important}
html.dark .bg-amber-50,html.dark .bg-emerald-50,html.dark .bg-blue-50,html.dark .bg-purple-50,html.dark .bg-teal-50,html.dark .bg-orange-50,html.dark .bg-rose-50,html.dark .bg-pink-50,html.dark .bg-cyan-50{background-color:#101d33!important}
html.dark .bg-amber-50\/70,html.dark .bg-emerald-50\/70,html.dark .bg-blue-50\/70,html.dark .bg-purple-50\/70,html.dark .bg-teal-50\/70,html.dark .bg-orange-50\/70,html.dark .bg-rose-50\/70,html.dark .bg-pink-50\/70{background-color:#101d33!important}
html.dark .bg-amber-50\/60,html.dark .bg-emerald-50\/60,html.dark .bg-blue-50\/60,html.dark .bg-purple-50\/60{background-color:#101d33!important}
html.dark .bg-white\/90{background-color:rgba(15,23,42,.9)!important}
html.dark .bg-white\/95{background-color:rgba(15,23,42,.95)!important}
html.dark .bg-amber-100,html.dark .bg-emerald-100,html.dark .bg-blue-100,html.dark .bg-purple-100,html.dark .bg-teal-100,html.dark .bg-orange-100,html.dark .bg-rose-100{background-color:rgba(245,158,11,.16)!important}
html.dark .bg-emerald-100{background-color:rgba(16,185,129,.16)!important}
html.dark .bg-blue-100{background-color:rgba(59,130,246,.16)!important}
html.dark .bg-purple-100{background-color:rgba(168,85,247,.16)!important}
html.dark .bg-teal-100{background-color:rgba(20,184,166,.16)!important}
html.dark .bg-orange-100{background-color:rgba(249,115,22,.16)!important}
html.dark .bg-slate-900{background-color:#0a1122!important}
html.dark .bg-slate-950{background-color:#05090f!important}
html.dark .text-slate-900{color:#f1f5f9!important}
html.dark .text-slate-800{color:#e2e8f0!important}
html.dark .text-slate-700{color:#cbd5e1!important}
html.dark .text-slate-600{color:#b3c0d1!important}
html.dark .text-slate-500{color:#94a3b8!important}
html.dark .text-slate-400{color:#cbd5e1!important}
html.dark .text-slate-300{color:#e2e8f0!important}
html.dark .text-white{color:#ffffff!important}
html.dark .text-amber-800,html.dark .text-amber-700,html.dark .text-amber-600{color:#fcd34d!important}
html.dark .text-emerald-800,html.dark .text-emerald-700,html.dark .text-emerald-600{color:#6ee7b7!important}
html.dark .text-blue-800,html.dark .text-blue-700,html.dark .text-blue-600,html.dark .text-blue-900{color:#93c5fd!important}
html.dark .text-purple-800,html.dark .text-purple-700{color:#d8b4fe!important}
html.dark .text-teal-700,html.dark .text-teal-800{color:#5eead4!important}
html.dark .text-orange-700,html.dark .text-orange-800{color:#fdba74!important}
html.dark .text-rose-800,html.dark .text-rose-700{color:#fda4af!important}
html.dark .border-slate-100,html.dark .border-slate-200,html.dark .border-slate-300{border-color:#22304d!important}
html.dark .border-amber-200,html.dark .border-amber-300{border-color:rgba(245,158,11,.4)!important}
html.dark .border-emerald-200,html.dark .border-emerald-300{border-color:rgba(16,185,129,.4)!important}
html.dark .border-blue-200,html.dark .border-blue-300{border-color:rgba(59,130,246,.4)!important}
html.dark .ctg-input{background:#0b1424;border-color:#2a3b5c;color:#e2e8f0}
html.dark .ctg-input::placeholder{color:#64748b}
html.dark select.ctg-input option{background:#0b1424;color:#e2e8f0}
html.dark .shadow-sm,html.dark .shadow-md{box-shadow:0 4px 14px -6px rgba(0,0,0,.6)}
html.dark .placeholder-slate-400::placeholder{color:#64748b}
html.dark .bg-amber-400{background-color:#fbbf24!important}
html.dark ::-webkit-scrollbar{width:10px;height:10px}
html.dark ::-webkit-scrollbar-track{background:#0b1424}
html.dark ::-webkit-scrollbar-thumb{background:#2a3b5c;border-radius:8px}

/* =====================================================================
   HEADER LAYERING
   The offer ticker + logo row scroll away. Only the menu bar stays sticky.
   ===================================================================== */
.ctg-header{display:contents}
/* The third header row is the only persistent header element while scrolling. */
#site-header .ctg-subbar{position:sticky!important;top:0;z-index:70;width:100%}
.nav-drop{z-index:90}
.nav-parent.open .nav-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
#bannerSlider{position:relative;z-index:0;isolation:isolate;overflow:hidden}

/* row 1: logo centred, actions right — columns can shrink on phones */
.ctg-row1{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem}
.ctg-actions{min-width:0}
.ctg-plate{display:block;max-width:100%;height:auto;background:#fff;border-radius:14px;padding:3px}
.ctg-header-logo{width:clamp(190px,28vw,350px);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.ctg-footer-logo{width:clamp(130px,18vw,220px);box-shadow:0 6px 20px rgba(0,0,0,.25)}
@media (max-width:639px){.ctg-header-logo{width:49vw;max-width:190px}}
@media (max-width:359px){.ctg-header-logo{width:42vw}}

/* mobile drawer: opens under the header, scrolls, never covers the whole phone */
.ctg-mobile{position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 64px);overflow-y:auto;z-index:100;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}

/* open/closed pill never pushes the header wider than the screen */
#openPill{min-width:0;max-width:62%}
#openPill [data-status-text]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* banner text sizing on phones (16:9 box stays) */
@media (max-width:639px){
  #bannerSlider .banner-slide .p-6{padding:1rem}
  #bannerSlider .banner-slide h2{font-size:1.2rem;line-height:1.25}
  #bannerSlider .banner-slide .gap-2>:nth-child(n+2){display:none}
  #bannerSlider .banner-slide .mt-3{margin-top:.4rem}
}

/* =====================================================================
   DARK MODE — light/neutral surfaces and gradient sections go dark
   (text colour is also auto-corrected by assets/js/site.js)
   ===================================================================== */
html.dark [class*="bg-gradient-to-b"]:not(.absolute),
html.dark [class*="bg-gradient-to-br"]:not(.absolute){background-image:none!important;background-color:#0f172a!important}
html.dark .shadow-md,html.dark .shadow-lg,html.dark .shadow-xl{box-shadow:0 10px 30px -10px rgba(0,0,0,.7)}
/* =====================================================================
   SOCIAL FEED EMBEDS (RESPONSIVE)
   • Container fills 100% of column width on desktop and mobile
   • Heights clamp cleanly; inner scroll allows viewing all posts
   • Touch-safe margins allow page scrolling on phones without getting trapped
   ===================================================================== */
.feed-embed{
  position:relative;
  width:100%;
  max-width:100%;
  height:500px;
  max-height:65vh;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.feed-embed iframe{
  width:100%!important;
  min-width:100%!important;
  height:100%!important;
  display:block;
  border:0;
}
@media (max-width:639px){
  .feed-embed{
    height:420px;
    max-height:60vh;
    border-radius:1rem;
  }
}
html.dark .feed-embed{background:#0b1424;border-color:#22304d}

/* the logo image keeps its own white plate in dark mode (its lettering is dark) */
html.dark .ctg-plate{background-color:#ffffff!important}

/* dark-mode gaps: light hover states + brighter gradient headline */
html.dark .hover\:bg-white:hover{background-color:#0f172a!important}
html.dark .hover\:bg-slate-50:hover{background-color:#14213a!important}
html.dark .hover\:bg-slate-100:hover{background-color:#1b2c4a!important}
html.dark .gold-gradient-text{background:linear-gradient(135deg,#fde68a,#fbbf24 45%,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Homepage-only CTGian scripted course assistant. */
.ctgian-launcher{position:fixed;left:1.25rem;bottom:1.25rem;z-index:45;display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem;border:0;border-radius:9999px;background:#0f172a;color:#fff;box-shadow:0 10px 30px -8px rgba(15,23,42,.55);font:inherit;font-weight:800;cursor:pointer}
.ctgian-launcher:hover{transform:translateY(-2px)}
.ctgian-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:none;border-radius:9999px;background:#fbbf24;color:#0f172a;font-size:.85rem;font-weight:900}
.ctgian-panel{position:fixed;left:1.25rem;bottom:5.75rem;z-index:45;width:min(22rem,calc(100vw - 2rem));overflow:hidden;border:1px solid #cbd5e1;border-radius:1.25rem;background:#fff;box-shadow:0 20px 55px -18px rgba(15,23,42,.5);color:#0f172a}
.ctgian-header{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;background:#0f172a;color:#fff}
.ctgian-header p{margin:0}
.ctgian-messages{display:flex;flex-direction:column;gap:.65rem;max-height:15rem;overflow-y:auto;padding:.9rem}
.ctgian-message{max-width:92%;padding:.65rem .8rem;border-radius:1rem;background:#f1f5f9;color:#1e293b;font-size:.78rem;line-height:1.5;white-space:pre-wrap}
.ctgian-message-user{align-self:flex-end;background:#fef3c7;color:#451a03}
.ctgian-quick-questions{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 .9rem .75rem}
.ctgian-quick-questions button{padding:.35rem .6rem;border:1px solid #cbd5e1;border-radius:9999px;background:#fff;color:#334155;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer}
.ctgian-quick-questions button:hover{border-color:#f59e0b;background:#fffbeb}
.ctgian-form{display:flex;gap:.45rem;padding:.7rem .8rem;border-top:1px solid #e2e8f0}
.ctgian-form input{min-width:0;flex:1;border:1px solid #cbd5e1;border-radius:.65rem;padding:.6rem .7rem;color:#0f172a;font:inherit;font-size:.75rem}
.ctgian-form input:focus{outline:2px solid #f59e0b;outline-offset:1px}
.ctgian-form button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;border:0;border-radius:.65rem;background:#fbbf24;color:#0f172a;cursor:pointer}
@media(max-width:639px){.ctgian-launcher{left:.75rem;bottom:.75rem}.ctgian-panel{left:.75rem;right:.75rem;bottom:5rem;width:auto}}
@media(prefers-reduced-motion:reduce){.ctgian-launcher{transition:none}}

/* =====================================================================
   REAL SOCIAL ICONS (CLEAN — NO BACKGROUND BOX, JUST PURE ICONS)
   Pure brand-colored / light icons with subtle hover lift and scale
   ===================================================================== */
.ctg-social-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
}
.ctg-clean-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:transform 0.2s cubic-bezier(.34,1.56,.64,1),filter 0.2s ease,opacity 0.2s ease;
  cursor:pointer;
  padding:0;
}
.ctg-clean-icon svg{
  width:32px;
  height:32px;
  display:block;
  transition:transform 0.2s ease;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}
.ctg-clean-icon:hover{
  transform:translateY(-4px) scale(1.15);
  filter:brightness(1.15);
}
.ctg-clean-icon:active{
  transform:translateY(0) scale(0.96);
}

/* Individual brand colors on SVG fills/strokes */
.ctg-icon-yt svg{fill:#ff0000}
.ctg-icon-li svg{fill:#0a66c2}
.ctg-icon-fb svg{fill:#1877f2}
.ctg-icon-x svg{fill:#ffffff}
.ctg-icon-call svg{fill:#f59e0b}
.ctg-icon-wa svg{fill:#25d366}

/* Instagram gradient icon via linearGradient inside SVG */
.ctg-icon-ig svg path,
.ctg-icon-ig svg rect,
.ctg-icon-ig svg circle,
.ctg-icon-ig svg line{
  stroke:url(#ctgIgGrad);
}

@media (max-width:639px){
  .ctg-social-bar{gap:0.75rem}
  .ctg-clean-icon{width:38px;height:38px}
  .ctg-clean-icon svg{width:28px;height:28px}
}

/* Footer is intentionally permanent dark mode and permanent white text. */
.ctg-footer,.ctg-footer *{color:#ffffff!important}
.ctg-footer .ctg-footer-call{color:#ffffff!important}
.ctg-footer a:hover{color:#ffffff!important}
