
/* DAK CSS: global.css */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --teal: #00BCD4; --teal-dark: #0097A7; --teal-light: #E0F7FA;
  --purple: #6B3FA0; --purple-light: #8B5CC8; --purple-pale: #F3EEF9;
  --orange: #F5A623; --yellow: #FDD835;
  --navy: #1A2332; --navy-light: #243144; --navy-muted: #2E3D52;
  --white: #FFFFFF; --gray: #F5F7FA; --gray-2: #E8ECF1;
  --text: #1A2332; --text-muted: #6B7280;
  --radius: 16px; --radius-sm: 10px;
  --shadow: 0 2px 16px rgba(0,0,0,0.06);
  --shadow-md: 0 6px 28px rgba(0,0,0,0.09);
  --shadow-lg: 0 14px 48px rgba(0,0,0,0.11);
}

html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--text); background: var(--white); overflow-x: hidden; line-height: 1.6; }
body[dir="rtl"] { font-family: 'Noto Sans Arabic', 'DM Sans', sans-serif; }
body[dir="rtl"] .nav-links, body[dir="rtl"] .topbar-left, body[dir="rtl"] .topbar-right,
body[dir="rtl"] .hero-actions, body[dir="rtl"] .hero-stats, body[dir="rtl"] .footer-bottom-links { flex-direction: row-reverse; }
body[dir="rtl"] .breadcrumb { flex-direction: row-reverse; }
body[dir="rtl"] .footer-grid { direction: rtl; }
body[dir="rtl"] .why-content .section-label, body[dir="rtl"] .why-content .section-title { text-align: right; }

/* TOPBAR */
.topbar { background: var(--navy); color: rgba(255,255,255,0.7); padding: 8px 48px; display: flex; justify-content: center; align-items: center; gap: 16px; font-size: 12.5px; }
.topbar-left { display: flex; gap: 22px; }
.topbar a { color: rgba(255,255,255,0.65); text-decoration: none; display: flex; align-items: center; gap: 6px; transition: color 0.2s; font-size: 12.5px; }
.topbar a:hover { color: var(--teal); }
.topbar-right { display: flex; gap: 10px; align-items: center; }
.btn-portal { color: var(--teal) !important; border: 1px solid rgba(0,188,212,0.45); padding: 4px 13px; border-radius: 5px; font-weight: 600; transition: all 0.2s !important; }
.btn-portal:hover { background: var(--teal) !important; color: var(--navy) !important; }

/* NAV */
nav { position: sticky; top: 0; z-index: 200; background: rgba(255,255,255,0.98); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(0,0,0,0.06); padding: 0 48px; display: flex; align-items: center; justify-content: space-between; height: 72px; transition: box-shadow 0.3s; }
nav.scrolled { box-shadow: 0 4px 28px rgba(0,0,0,0.07); }
.logo { display: flex; align-items: center; text-decoration: none; }
.logo img { height: 64px; width: auto; object-fit: contain; }
.nav-links { display: flex; gap: 2px; align-items: center; }
.nav-links a { text-decoration: none; color: var(--text); font-size: 13.5px; font-weight: 500; padding: 7px 12px; border-radius: 8px; transition: background 0.2s, color 0.2s; }
.nav-links a:hover { background: var(--gray); color: var(--purple); }
.nav-links a.active { color: var(--teal-dark); font-weight: 600; }
.nav-cta { background: var(--purple) !important; color: var(--white) !important; padding: 8px 18px !important; border-radius: 8px !important; font-weight: 600 !important; margin-left: 4px; transition: background 0.2s, transform 0.15s !important; }
.nav-cta:hover { background: var(--purple-light) !important; transform: translateY(-1px); }
.lang-toggle { background: none; border: 1.5px solid var(--gray-2); color: var(--text-muted); font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 7px; cursor: pointer; transition: all 0.2s; margin-left: 4px; font-family: 'DM Sans', sans-serif; }
.lang-toggle:hover { border-color: var(--teal); color: var(--teal); }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 24px; height: 2px; background: var(--navy); border-radius: 2px; transition: all 0.3s; }
.mobile-menu { display: none; position: fixed; top: 72px; left: 0; right: 0; background: var(--white); border-bottom: 1px solid var(--gray-2); padding: 14px 20px 20px; z-index: 199; box-shadow: 0 8px 32px rgba(0,0,0,0.1); flex-direction: column; gap: 3px; }
.mobile-menu.open { display: flex; }
.mobile-menu a { text-decoration: none; color: var(--text); font-size: 15px; font-weight: 500; padding: 10px 12px; border-radius: 8px; transition: background 0.2s; }
.mobile-menu a:hover { background: var(--gray); }
.mobile-menu .nav-cta { margin: 8px 0 0; text-align: center; border-radius: 8px !important; }

/* LAYOUT */
.section { padding: 96px 48px; }
.section-gray { background: var(--gray); }
.container { max-width: 1120px; margin: 0 auto; }
.section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal-dark); margin-bottom: 10px; text-align: center; }
.section-title { font-family: 'Playfair Display', serif; font-size: clamp(26px, 3vw, 42px); font-weight: 800; color: var(--navy); line-height: 1.2; text-align: center; margin-bottom: 14px; }
.section-sub { color: var(--text-muted); font-size: 15.5px; line-height: 1.72; max-width: 520px; margin: 0 auto 52px; text-align: center; }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 10px; font-weight: 600; font-size: 14px; text-decoration: none; cursor: pointer; border: none; transition: transform 0.2s, box-shadow 0.2s, background 0.2s; font-family: 'DM Sans', sans-serif; }
.btn:hover { transform: translateY(-2px); }
.btn-teal { background: var(--teal); color: var(--navy); }
.btn-teal:hover { box-shadow: 0 8px 24px rgba(0,188,212,0.28); background: var(--teal-dark); color: var(--white); }
.btn-purple { background: var(--purple); color: var(--white); }
.btn-purple:hover { box-shadow: 0 8px 24px rgba(107,63,160,0.28); background: var(--purple-light); }
.btn-ghost { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.22); }
.btn-ghost:hover { border-color: rgba(255,255,255,0.55); background: rgba(255,255,255,0.07); }
.btn-outline { background: transparent; color: var(--navy); border: 1.5px solid var(--gray-2); }
.btn-outline:hover { border-color: var(--teal); color: var(--teal); }

/* REVEAL */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.65s ease, transform 0.65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: 0.1s; } .d2 { transition-delay: 0.2s; } .d3 { transition-delay: 0.3s; }

/* PAGE HERO */
.page-hero { background: var(--navy); padding: 80px 48px 72px; position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; top: -80px; left: -80px; width: 420px; height: 420px; background: radial-gradient(circle, rgba(0,188,212,0.11), transparent 70%); border-radius: 50%; }
.page-hero::after { content: ''; position: absolute; bottom: -60px; right: -40px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(107,63,160,0.14), transparent 70%); border-radius: 50%; }
.page-hero-inner { max-width: 1120px; margin: 0 auto; position: relative; }
.page-hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(0,188,212,0.1); border: 1px solid rgba(0,188,212,0.28); color: var(--teal); padding: 5px 14px; border-radius: 100px; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 18px; }
.page-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(30px, 4vw, 52px); font-weight: 900; color: var(--white); line-height: 1.15; margin-bottom: 14px; }
.page-hero h1 .accent { color: var(--teal); }
.page-hero p { font-size: 15.5px; color: rgba(255,255,255,0.58); max-width: 520px; line-height: 1.72; }
.breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 12.5px; margin-bottom: 22px; }
.breadcrumb a { color: rgba(255,255,255,0.4); text-decoration: none; transition: color 0.2s; }
.breadcrumb a:hover { color: var(--teal); }
.breadcrumb span { color: rgba(255,255,255,0.2); }
.breadcrumb strong { color: rgba(255,255,255,0.7); }

/* FORMS */
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--navy); margin-bottom: 6px; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px 15px; border-radius: 9px; border: 1.5px solid var(--gray-2); background: var(--white); font-size: 13.5px; color: var(--text); font-family: 'DM Sans', sans-serif; outline: none; transition: border-color 0.2s, box-shadow 0.2s; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,188,212,0.09); }
.form-group textarea { resize: vertical; min-height: 118px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-success { background: rgba(0,188,212,0.08); border: 1.5px solid rgba(0,188,212,0.28); color: var(--teal-dark); padding: 14px 18px; border-radius: 9px; font-weight: 500; font-size: 13.5px; display: none; margin-top: 14px; }

/* FOOTER — with school photo background */
.footer {
  position: relative;
  color: rgba(255,255,255,0.75);
  padding: 64px 48px 30px;
  overflow: hidden;
}
.footer::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url('https://pub-b5e786ccffef42dab45b515750b94ca0.r2.dev/schools/ChIJjcwFCEIBjj4Rm-IN/1-aada63d402.jpg');
  background-size: cover; background-position: center;
  filter: brightness(0.25) saturate(0.6);
  z-index: 0;
}
.footer::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,35,50,0.85) 0%, rgba(26,35,50,0.95) 100%);
  z-index: 1;
}
.footer > * { position: relative; z-index: 2; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; max-width: 1120px; margin: 0 auto 44px; }
.footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; text-decoration: none; }
.footer-logo img { height: 52px; width: auto; filter: brightness(0) invert(1); opacity: 0.9; }
.footer-desc { font-size: 13px; line-height: 1.72; margin-bottom: 18px; color: rgba(255,255,255,0.6); }
.footer-contact { font-size: 13px; line-height: 1.9; color: rgba(255,255,255,0.6); }
.footer-contact a { color: var(--teal); text-decoration: none; }
.footer-col h4 { color: var(--white); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { color: rgba(255,255,255,0.5); text-decoration: none; font-size: 13px; transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--teal); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; max-width: 1120px; margin: 0 auto; font-size: 12px; color: rgba(255,255,255,0.4); }
.footer-bottom-links { display: flex; gap: 16px; }
.footer-bottom-links a { color: rgba(255,255,255,0.35); text-decoration: none; transition: color 0.2s; }
.footer-bottom-links a:hover { color: var(--teal); }

/* RESPONSIVE */
@media (max-width: 960px) {
  .topbar { display: none; }
  nav { padding: 0 20px; }
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .section { padding: 64px 20px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer { padding: 48px 20px 24px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
  .page-hero { padding: 56px 20px 52px; }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 580px) { .footer-grid { grid-template-columns: 1fr; } }

/* Footer brand name (replaces broken logo img) */
.footer-brand-name {
  font-family: 'Playfair Display', serif;
  font-size: 18px; font-weight: 900;
  color: var(--white); margin-bottom: 14px;
  line-height: 1.2;
}
.footer-brand-name span {
  display: block; font-size: 11px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400; color: rgba(255,255,255,0.45);
  letter-spacing: 0.07em; text-transform: uppercase; margin-top: 3px;
}

/* ── iCAMPUS APP SECTION ── */
.icampus-section {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-muted) 100%);
  padding: 72px 48px;
}
.icampus-inner {
  max-width: 1120px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 48px; flex-wrap: wrap;
}
.icampus-text { flex: 1; min-width: 280px; }
.icampus-icon { font-size: 48px; margin-bottom: 16px; }
.icampus-text h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(24px, 2.8vw, 36px); font-weight: 800;
  color: var(--white); margin-bottom: 12px;
}
.icampus-text p {
  font-size: 15px; color: rgba(255,255,255,0.58);
  line-height: 1.72; max-width: 440px;
}
.icampus-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.store-btn {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 22px; border-radius: 12px;
  text-decoration: none; transition: transform 0.2s, box-shadow 0.2s;
  min-width: 180px;
}
.store-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(0,0,0,0.3); }
.store-btn.apple { background: var(--white); }
.store-btn.google { background: var(--teal); }
.store-icon { font-size: 28px; flex-shrink: 0; }
.store-btn.apple .store-icon { color: #000; }
.store-btn.google .store-icon { color: var(--navy); font-size: 22px; }
.store-text { display: flex; flex-direction: column; }
.store-text span { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; }
.store-btn.apple .store-text span { color: #666; }
.store-btn.google .store-text span { color: rgba(26,35,50,0.65); }
.store-text strong { font-size: 16px; font-weight: 700; line-height: 1.2; }
.store-btn.apple .store-text strong { color: #000; }
.store-btn.google .store-text strong { color: var(--navy); }

@media(max-width:768px) {
  .icampus-section { padding: 56px 20px; }
  .icampus-inner { flex-direction: column; text-align: center; }
  .icampus-text p { max-width: 100%; }
  .icampus-btns { justify-content: center; }
}

.portal-big {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; padding: 16px 28px; border-radius: 12px;
  font-weight: 700; font-size: 15px;
  text-decoration: none; transition: transform 0.2s, opacity 0.2s;
  margin-top: 8px; border: 2px solid rgba(255,255,255,0.4);
  color: var(--white); background: rgba(255,255,255,0.15);
}
.portal-big:hover { transform: translateY(-2px); background: rgba(255,255,255,0.25); }

/* Nav portal buttons - same style as Apply Now */
.nav-portal-btn {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 8px;
  background: var(--purple);
  border: none;
  transition: all 0.2s;
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.nav-portal-btn:hover {
  background: var(--purple-dark, #5a2d8a);
  transform: translateY(-1px);
}

/* Fix topbar display:none since we removed it */
.topbar { display: none !important; }

/* ── COMPREHENSIVE RESPONSIVE FIXES ── */

/* Hide portal buttons in nav on tablet/mobile - show in mobile menu instead */
@media (max-width: 960px) {
  .nav-portal-btn { display: none; }
}

/* Mobile menu portal links */
.mobile-menu .nav-portal-btn {
  display: flex;
  text-decoration: none;
  color: var(--teal);
  font-size: 15px;
  font-weight: 600;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0,188,212,0.25);
  margin: 2px 0;
  transition: background 0.2s;
}
.mobile-menu .nav-portal-btn:hover { background: var(--teal-light); }

/* Fix branch hero on mobile */
@media (max-width: 600px) {
  .branch-hero { padding: 48px 16px 44px !important; }
  .branch-hero h1 { font-size: 32px !important; }
  .info-grid { grid-template-columns: 1fr !important; }
  .portal-big { font-size: 13px !important; padding: 12px 16px !important; }
}

/* Fix iCampus section on mobile */
@media (max-width: 600px) {
  .icampus-section { padding: 48px 16px !important; }
  .icampus-inner { flex-direction: column; text-align: center; gap: 28px; }
  .store-btn { min-width: 160px; }
  .icampus-btns { justify-content: center; }
}

/* Fix nav on very small screens */
@media (max-width: 380px) {
  nav { padding: 0 12px !important; }
  .logo img { height: 52px !important; }
}

/* Fix hero on mobile */
@media (max-width: 960px) {
  .hero-left { padding: 48px 16px !important; }
  .hero-stats { gap: 16px !important; flex-wrap: wrap; }
  .stat-num { font-size: 22px !important; }
}

/* Fix cards on tablet */
@media (max-width: 768px) {
  .branches-grid { grid-template-columns: 1fr !important; gap: 16px; }
  .branch-card { padding: 32px 24px !important; }
  .why-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .why-visual { grid-template-columns: 1fr 1fr !important; padding: 28px 20px !important; }
}

/* Fix footer on mobile */
@media (max-width: 580px) {
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px; }
  .footer { padding: 40px 16px 24px !important; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
}

/* Fix forms on mobile */
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr !important; }
  .admission-grid { grid-template-columns: 1fr !important; }
  .contact-grid { grid-template-columns: 1fr !important; }
  .maps-grid { grid-template-columns: 1fr !important; }
  .admission-form-card { padding: 28px 18px !important; }
  .contact-form-card { padding: 28px 18px !important; }
}

/* Fix programmes page on mobile */
@media (max-width: 600px) {
  .prog-full-card { grid-template-columns: 1fr !important; }
  .subject-grid { grid-template-columns: 1fr !important; }
  .curriculum-grid { grid-template-columns: 1fr !important; }
  .prog-full-left { padding: 32px 20px !important; }
  .prog-full-right { padding: 28px 20px !important; }
}

/* Fix facilities on mobile */
@media (max-width: 600px) {
  .facilities-grid { grid-template-columns: 1fr !important; }
  .bus-grid { grid-template-columns: 1fr !important; }
  .activities-grid { grid-template-columns: 1fr 1fr !important; }
}

/* Fix about page on mobile */
@media (max-width: 600px) {
  .mission-grid { grid-template-columns: 1fr !important; }
  .mission-card.values { grid-column: span 1 !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  .team-grid { grid-template-columns: 1fr !important; }
  .branch-detail-grid { grid-template-columns: 1fr !important; }
}

/* Fix section padding on small mobile */
@media (max-width: 480px) {
  .section { padding: 48px 16px !important; }
  .page-hero { padding: 48px 16px 44px !important; }
  .page-hero h1 { font-size: 28px !important; }
  .newsletter { padding: 56px 16px !important; }
}

/* ── ACCREDITATION STRIP ── */
.accred-strip {
  background: #f8f9fb;
  border-top: 1px solid #e8ecf1;
  border-bottom: 1px solid #e8ecf1;
  padding: 32px 48px;
}
.accred-inner {
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.accred-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #9ca3af;
  white-space: nowrap;
  flex-shrink: 0;
  writing-mode: horizontal-tb;
  border-right: 1px solid #e8ecf1;
  padding-right: 40px;
  min-width: 90px;
  line-height: 1.6;
}
.accred-logos {
  display: flex;
  align-items: center;
  flex: 1;
  flex-wrap: wrap;
  gap: 0;
}
.accred-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  transition: opacity 0.25s, transform 0.25s;
  flex-shrink: 0;
}
.accred-item:first-child { padding-left: 0; }
.accred-item:hover { opacity: 0.85; transform: translateY(-1px); }
.accred-logo-box { display: flex; align-items: center; justify-content: center; }
.accred-logo-box svg { display: block; }
.accred-img {
  height: 56px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
  transition: opacity 0.25s;
}
.accred-img-ministry {
  height: 52px;
  max-width: 260px;
}
.accred-item:hover .accred-img { opacity: 0.85; }

/* Est. box */
.accred-est {
  flex-direction: column;
  text-align: center;
  gap: 0;
  border: 1.5px solid #e8ecf1;
  border-radius: 10px;
  padding: 10px 20px;
  background: white;
}
.est-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #9ca3af;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.est-year {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1;
}
.est-sub {
  font-size: 8px;
  color: #9ca3af;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
}

.accred-divider {
  width: 1px;
  height: 48px;
  background: #e8ecf1;
  flex-shrink: 0;
}

@media (max-width: 960px) {
  .accred-strip { padding: 24px 20px; }
  .accred-inner { gap: 20px; }
  .accred-label { border-right: none; border-bottom: 1px solid #e8ecf1; padding-right: 0; padding-bottom: 12px; width: 100%; min-width: unset; }
  .accred-logos { justify-content: center; gap: 0; }
  .accred-item { padding: 8px 16px; }
}
@media (max-width: 600px) {
  .accred-divider { display: none; }
  .accred-logos { gap: 8px; justify-content: center; }
  .accred-item { padding: 10px 14px; background: white; border: 1px solid #e8ecf1; border-radius: 10px; }
  .accred-item:first-child { padding-left: 14px; }
}
.apps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 32px;
}
.app-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.app-icon-wrap {
  font-size: 48px;
}
.app-name {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 6px;
}
.app-desc {
  font-size: 13.5px;
  color: rgba(255,255,255,0.6);
  line-height: 1.65;
}
.app-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}
@media(max-width:768px) {
  .apps-grid { grid-template-columns: 1fr; }
  .app-btns { flex-direction: column; }
  .store-btn { min-width: unset; width: 100%; }
}

/* Apps section title teal color */
.icampus-section .section-title {
  color: var(--teal) !important;
}
.icampus-section .section-label {
  color: var(--teal) !important;
}
.icampus-section .section-sub {
  color: rgba(255,255,255,0.6) !important;
}

/* ── ACADEMIC CALENDAR ── */
.calendar-wrap {
  background: var(--white);
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--shadow-lg);
  max-width: 780px;
  margin: 0 auto;
}
.cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.cal-month-year {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--navy);
  text-align: center;
  flex: 1;
}
.cal-nav {
  background: var(--teal);
  color: var(--white);
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, transform 0.2s;
  font-weight: 700;
}
.cal-nav:hover { background: var(--teal-dark); transform: scale(1.1); }
.cal-legend {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.leg-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--text-muted);
  font-weight: 500;
}
.leg-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 4px;
}
.cal-day-header {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 8px 4px;
}
.cal-day-header.cal-weekend { color: #e53e3e; }
.cal-body {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.cal-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy);
  cursor: default;
  position: relative;
  transition: background 0.15s;
}
.cal-day.empty { background: transparent; }
.cal-day.weekend { color: #e53e3e; opacity: 0.6; }
.cal-day.today {
  background: var(--navy);
  color: var(--white);
  font-weight: 700;
}
.cal-day.holiday { background: rgba(0,188,212,0.15); color: var(--teal-dark); font-weight: 700; }
.cal-day.event { background: rgba(107,63,160,0.12); color: var(--purple); font-weight: 700; }
.cal-day.exam { background: rgba(245,166,35,0.18); color: #b7791f; font-weight: 700; }
.cal-day:not(.empty):not(.weekend):hover { background: var(--gray-2); }
@media(max-width:600px) {
  .calendar-wrap { padding: 20px 12px; }
  .cal-month-year { font-size: 17px; }
  .cal-day { font-size: 11px; border-radius: 6px; }
}

/* ══════════════════════════════════════
   PREMIUM EFFECTS - DAK Website
══════════════════════════════════════ */

/* 1. SCROLL REVEAL */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* 2. GLASSMORPHISM CARDS */
.glass-card {
  background: rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
}

/* 3. HOVER EFFECTS on cards */
.branch-card {
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.35s ease !important;
}
.branch-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.25) !important;
}

.why-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
}
.why-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.12) !important;
  background: var(--white) !important;
}

.ql-card {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s ease !important;
}
.ql-card:hover {
  transform: translateY(-6px) scale(1.03) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.2) !important;
}

.app-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.app-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2) !important;
}

/* 4. GRADIENT ANIMATION on hero */
.hero-left {
  background-size: 200% 200% !important;
  animation: gradientShift 8s ease infinite !important;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* 5. NAV smooth on scroll */
#navbar {
  transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease !important;
}
#navbar.scrolled {
  background: rgba(255,255,255,0.97) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.08) !important;
  padding: 0 48px !important;
  height: 64px !important;
}

/* 6. Smooth image hover in carousel */
.photo-slide {
  transition: transform 0.6s ease !important;
}
.photo-slide:hover {
  transform: scale(1.02) !important;
}

/* 7. Button hover lift */
.btn, .nav-cta, .store-btn, .nav-portal-btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease !important;
}
.btn:hover, .nav-cta:hover, .store-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
}

/* 8. Footer link hover */
.footer a {
  transition: color 0.2s ease, padding-left 0.2s ease !important;
}
.footer a:hover {
  color: var(--teal) !important;
  padding-left: 4px !important;
}

/* 9. Logo - no animation, stays clean */
.logo img {
  transition: none !important;
}

/* 10. Section label pulse */
.section-label {
  animation: labelPulse 3s ease-in-out infinite !important;
}
@keyframes labelPulse {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}



.orb-bg.teal {
  background: radial-gradient(circle, rgba(0,188,212,0.55) 0%, rgba(0,188,212,0.15) 60%, transparent 100%);
}
.orb-bg.purple {
  background: radial-gradient(circle, rgba(107,63,160,0.50) 0%, rgba(107,63,160,0.12) 60%, transparent 100%);
}
.orb-bg.gold {
  background: radial-gradient(circle, rgba(245,166,35,0.45) 0%, rgba(245,166,35,0.10) 60%, transparent 100%);
}
.orb-bg.yellow {
  background: radial-gradient(circle, rgba(253,216,53,0.40) 0%, rgba(253,216,53,0.08) 60%, transparent 100%);
}

@keyframes orbFloat {
  0%, 100% { transform: translateY(0px) scale(1); opacity: 0.7; }
  33% { transform: translateY(-25px) scale(1.06); opacity: 1; }
  66% { transform: translateY(15px) scale(0.96); opacity: 0.8; }
}

/* Make sure content stays above orbs */
.section > .container,
.section-gray > .container,
.page-hero > .page-hero-inner {
  position: relative;
  z-index: 1;
}

/* ── BACK TO TOP ── */
.back-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--purple);
  color: var(--white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(107,63,160,0.35);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.3s, transform 0.3s, background 0.2s;
  pointer-events: none;
  z-index: 999;
}
.back-to-top.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
.back-to-top:hover { background: var(--purple-light); }
@media (max-width: 600px) {
  .back-to-top { bottom: 20px; right: 20px; width: 40px; height: 40px; }
}

/* ── NEWS SECTION ── */
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 8px;
}
.news-card {
  background: var(--white);
  border-radius: 18px;
  padding: 28px 26px;
  border: 1px solid var(--gray-2);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
  overflow: hidden;
}
.news-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  background: var(--teal);
  border-radius: 4px 0 0 4px;
  opacity: 0;
  transition: opacity 0.3s;
}
.news-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}
.news-card:hover::before { opacity: 1; }
.news-date {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--teal-dark);
}
.news-title-text {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.4;
  margin: 0;
}
.news-excerpt {
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1.7;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-tag {
  display: inline-block;
  background: var(--teal-light);
  color: var(--teal-dark);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 100px;
  width: fit-content;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  .news-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .news-grid { grid-template-columns: 1fr; }
}

/* ── NEWS SECTION COMPACT ── */
.news-section { padding: 56px 48px !important; }
@media (max-width: 960px) { .news-section { padding: 40px 20px !important; } }


/* ── DAK AI ASSISTANT ── */
.dak-ai-bubble{position:fixed;bottom:88px;right:32px;background:var(--purple);color:var(--white);border:none;border-radius:50%;width:68px;height:68px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 24px rgba(107,63,160,0.5);z-index:998;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s;user-select:none;animation:dakBotWiggle 3s ease-in-out infinite;}
.dak-ai-bubble:hover{transform:translateY(-4px) scale(1.12);box-shadow:0 12px 36px rgba(107,63,160,0.55);}
@keyframes dakBotWiggle{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}}
.dak-ai-label{display:none;}
.dak-ai-chat{position:fixed;bottom:160px;right:32px;width:360px;max-height:520px;background:var(--white);border-radius:20px;box-shadow:0 16px 56px rgba(0,0,0,0.18);display:flex;flex-direction:column;overflow:hidden;z-index:997;opacity:0;transform:translateY(20px) scale(0.97);pointer-events:none;transition:opacity 0.25s,transform 0.25s;}
.dak-ai-chat.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}
.dak-ai-header{background:var(--purple);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.dak-ai-avatar{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dak-ai-name{font-size:14px;font-weight:700;color:var(--white);}
.dak-ai-status{font-size:11px;color:rgba(255,255,255,0.7);margin-top:1px;}
.dak-ai-close{background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:16px;padding:4px;line-height:1;transition:color 0.2s;}
.dak-ai-close:hover{color:var(--white);}
.dak-ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}
.dak-msg{max-width:88%;font-size:13.5px;line-height:1.6;padding:10px 14px;border-radius:14px;}
.dak-msg-bot{background:var(--gray);color:var(--navy);align-self:flex-start;border-bottom-left-radius:4px;}
.dak-msg-user{background:var(--purple);color:var(--white);align-self:flex-end;border-bottom-right-radius:4px;}
.dak-ai-suggestions{padding:8px 12px 6px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--gray-2);flex-shrink:0;}
.dak-ai-suggestions button{background:var(--gray);border:none;border-radius:100px;padding:5px 12px;font-size:11.5px;color:var(--navy);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.2s;white-space:nowrap;}
.dak-ai-suggestions button:hover{background:var(--gray-2);}
.dak-ai-input-row{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--gray-2);flex-shrink:0;}
.dak-ai-input-row input{flex:1;border:1.5px solid var(--gray-2);border-radius:10px;padding:9px 14px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color 0.2s;color:var(--navy);}
.dak-ai-input-row input:focus{border-color:var(--purple);}
.dak-send-btn{background:var(--purple);border:none;border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background 0.2s;}
.dak-send-btn:hover{background:var(--purple-light);}
@media(max-width:600px){.dak-ai-chat{width:calc(100vw - 24px);right:12px;bottom:140px;}.dak-ai-bubble{right:12px;bottom:80px;}}




/* ── DAK ASSISTANT CHEERFUL CHAT EFFECTS ── */
.dak-ai-chat{
  isolation:isolate;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 60px rgba(26,35,50,.22),0 0 0 1px rgba(107,63,160,.08);
}
.dak-ai-chat::before{
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(0,188,212,.16),transparent 24%),
    radial-gradient(circle at 78% 12%,rgba(245,166,35,.12),transparent 22%),
    radial-gradient(circle at 78% 82%,rgba(107,63,160,.12),transparent 26%);
  opacity:.72;
  animation:dakChatAurora 9s ease-in-out infinite alternate;
}
.dak-ai-chat::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    radial-gradient(circle,rgba(0,188,212,.20) 0 2px,transparent 3px),
    radial-gradient(circle,rgba(107,63,160,.16) 0 2px,transparent 3px);
  background-size:72px 72px,96px 96px;
  background-position:12px 24px,46px 8px;
  opacity:.20;
  animation:dakChatFloatDots 18s linear infinite;
}
.dak-ai-header,
.dak-ai-messages,
.dak-ai-suggestions,
.dak-ai-input-row{
  position:relative;
  z-index:1;
}
.dak-ai-header{
  overflow:hidden;
  background:linear-gradient(135deg,#2b255b 0%,#6b3fa0 70%,#7b4db5 100%);
}
.dak-ai-header::before{
  content:"";
  position:absolute;
  top:-80%;
  left:-45%;
  width:70%;
  height:260%;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.28),transparent);
  transform:rotate(18deg);
  animation:dakHeaderShine 5.6s ease-in-out infinite;
  pointer-events:none;
}
.dak-ai-avatar{
  position:relative;
  box-shadow:0 0 0 1px rgba(255,255,255,.30),0 0 22px rgba(0,188,212,.28);
  animation:dakAvatarBreathe 2.8s ease-in-out infinite;
}
.dak-ai-avatar::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.26);
  opacity:.65;
  animation:dakAvatarRing 2.8s ease-in-out infinite;
}
.dak-ai-name::after{
  content:" ✨";
  opacity:.85;
  font-size:.82em;
}
.dak-ai-messages{
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.98)),
    radial-gradient(circle at 8% 18%,rgba(0,188,212,.08),transparent 28%);
}
.dak-msg{
  position:relative;
  animation:dakMsgPop .34s cubic-bezier(.2,.95,.2,1) both;
}
.dak-msg-bot{
  background:linear-gradient(135deg,#f7fbff 0%,#eef7fb 100%);
  border:1px solid rgba(0,188,212,.10);
  box-shadow:0 8px 22px rgba(26,35,50,.06);
}
.dak-msg-bot::before{
  content:"";
  position:absolute;
  left:-5px;
  bottom:7px;
  width:10px;
  height:10px;
  background:#eef7fb;
  border-left:1px solid rgba(0,188,212,.10);
  border-bottom:1px solid rgba(0,188,212,.10);
  transform:rotate(45deg);
  border-radius:2px;
}
.dak-msg-user{
  background:linear-gradient(135deg,#6b3fa0,#7d4ec1);
  box-shadow:0 8px 22px rgba(107,63,160,.18);
}
.dak-ai-suggestions button{
  position:relative;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(26,35,50,.05);
  border:1px solid rgba(26,35,50,.06);
}
.dak-ai-suggestions button::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:translateX(-120%);
  transition:transform .45s ease;
}
.dak-ai-suggestions button:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:rgba(0,188,212,.22);
  box-shadow:0 8px 20px rgba(0,188,212,.10);
}
.dak-ai-suggestions button:hover::after{
  transform:translateX(120%);
}
.dak-ai-input-row{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.dak-ai-input-row input:focus{
  box-shadow:0 0 0 4px rgba(107,63,160,.10);
}
.dak-send-btn{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#6b3fa0,#7b4db5);
  box-shadow:0 8px 20px rgba(107,63,160,.20);
}
.dak-send-btn:hover{
  background:linear-gradient(135deg,#7b4db5,#6b3fa0);
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(107,63,160,.26);
}
.dak-send-btn::after{
  content:"";
  position:absolute;
  width:80%;
  height:80%;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  transform:scale(0);
  opacity:0;
}
.dak-send-btn.is-spark::after{
  animation:dakSendRipple .48s ease-out;
}
.dak-chat-sparkle{
  position:absolute;
  z-index:3;
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,#00bcd4,#f5a623);
  pointer-events:none;
  box-shadow:0 0 14px rgba(0,188,212,.45);
  animation:dakChatSparkle .78s ease-out forwards;
}
.dak-typing .dak-dot{
  animation:dakTypingHappy 1s ease-in-out infinite;
}
.dak-typing .dak-dot:nth-child(2){animation-delay:.12s}
.dak-typing .dak-dot:nth-child(3){animation-delay:.24s}

@keyframes dakChatAurora{0%{transform:translate3d(-2%,0,0) rotate(0deg)}100%{transform:translate3d(2%,2%,0) rotate(6deg)}}
@keyframes dakChatFloatDots{0%{background-position:12px 24px,46px 8px}100%{background-position:84px 96px,142px 104px}}
@keyframes dakHeaderShine{0%,45%{transform:translateX(-80%) rotate(18deg);opacity:0}62%{opacity:1}100%{transform:translateX(260%) rotate(18deg);opacity:0}}
@keyframes dakAvatarBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes dakAvatarRing{0%,100%{transform:scale(.92);opacity:.42}50%{transform:scale(1.16);opacity:.08}}
@keyframes dakMsgPop{0%{opacity:0;transform:translateY(8px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dakSendRipple{0%{transform:scale(0);opacity:.5}100%{transform:scale(2.2);opacity:0}}
@keyframes dakChatSparkle{0%{opacity:1;transform:translate(0,0) scale(.8)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(0)}}
@keyframes dakTypingHappy{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-4px);opacity:1}}

@media (prefers-reduced-motion: reduce){
  .dak-ai-chat::before,
  .dak-ai-chat::after,
  .dak-ai-header::before,
  .dak-ai-avatar,
  .dak-ai-avatar::after,
  .dak-msg,
  .dak-typing .dak-dot{
    animation:none!important;
  }
}
@media(max-width:600px){
  .dak-ai-chat::after{opacity:.13}
  .dak-ai-header::before{display:none}
  .dak-ai-suggestions button:hover{transform:none}
}


/* ── CHILD FUTURE JOURNEY ── */
.journey-section { background: var(--gray); }
.journey-wrap { max-width: 680px; margin: 0 auto; }
.journey-form { background: var(--white); border-radius: 20px; padding: 32px; border: 1px solid var(--gray-2); }
.journey-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.journey-field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.journey-field input, .journey-field select { width: 100%; padding: 12px 16px; border: 1.5px solid var(--gray-2); border-radius: 10px; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--navy); background: var(--white); outline: none; transition: border-color 0.2s; }
.journey-field input:focus, .journey-field select:focus { border-color: var(--purple); }
.journey-btn { width: 100%; padding: 14px; background: var(--purple); color: var(--white); border: none; border-radius: 10px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background 0.2s, transform 0.15s; }
.journey-btn:hover { background: var(--purple-light); transform: translateY(-1px); }

.journey-result { display: none; }
.journey-result.show { display: block; }

.journey-header { background: var(--navy); border-radius: 16px; padding: 28px 24px; margin-bottom: 16px; text-align: center; color: var(--white); }
.journey-header-label { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: 8px; }
.journey-header-name { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 900; margin-bottom: 6px; }
.journey-header-sub { font-size: 13px; color: rgba(255,255,255,0.5); }
.journey-header-badge { display: inline-block; background: rgba(0,188,212,0.15); border: 1px solid rgba(0,188,212,0.3); color: var(--teal); font-size: 11px; padding: 4px 14px; border-radius: 20px; margin-top: 12px; }

.journey-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.journey-stat { background: var(--white); border-radius: 12px; padding: 16px; text-align: center; border: 1px solid var(--gray-2); }
.journey-stat-num { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 900; color: var(--navy); }
.journey-stat-lbl { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

.journey-timeline { position: relative; padding-left: 32px; margin-bottom: 20px; }
.journey-timeline::before { content: ''; position: absolute; left: 10px; top: 8px; bottom: 8px; width: 2px; background: var(--gray-2); border-radius: 2px; }
.j-milestone { position: relative; margin-bottom: 14px; opacity: 0; transform: translateX(-16px); transition: opacity 0.5s ease, transform 0.5s ease; }
.j-milestone.visible { opacity: 1; transform: translateX(0); }
.j-milestone::before { content: ''; position: absolute; left: -26px; top: 16px; width: 12px; height: 12px; border-radius: 50%; background: var(--purple); border: 2px solid var(--white); box-shadow: 0 0 0 2px var(--purple); z-index: 1; }
.j-milestone.cambridge::before { background: #003087; box-shadow: 0 0 0 2px #003087; }
.j-milestone.graduation::before { background: var(--teal); box-shadow: 0 0 0 2px var(--teal); width: 16px; height: 16px; left: -28px; top: 14px; }
.j-card { background: var(--white); border: 1px solid var(--gray-2); border-radius: 12px; padding: 14px 16px; transition: box-shadow 0.2s; }
.j-card:hover { box-shadow: var(--shadow-md); }
.j-milestone.cambridge .j-card { border-left: 3px solid #003087; border-radius: 0 12px 12px 0; }
.j-milestone.graduation .j-card { border-left: 3px solid var(--teal); border-radius: 0 12px 12px 0; }
.j-year { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 3px; }
.j-title { font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.j-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }
.j-badge { display: inline-block; font-size: 10px; padding: 2px 9px; border-radius: 20px; margin-top: 6px; font-weight: 600; }
.j-badge.cambridge { background: #E6F1FB; color: #185FA5; }
.j-badge.start { background: var(--purple-pale); color: var(--purple); }
.j-badge.grad { background: var(--teal-light); color: var(--teal-dark); }

.journey-cta { background: var(--purple); border-radius: 14px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.journey-cta-title { font-size: 15px; font-weight: 700; color: var(--white); }
.journey-cta-sub { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; }
.journey-reset { width: 100%; padding: 11px; background: none; border: 1px solid var(--gray-2); border-radius: 10px; font-size: 13px; color: var(--text-muted); cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background 0.2s; }
.journey-reset:hover { background: var(--gray); }

@media(max-width:600px) {
  .journey-fields { grid-template-columns: 1fr; }
  .journey-stats { grid-template-columns: 1fr 1fr; }
  .journey-form { padding: 20px; }
}

/* ── JOURNEY GENERATOR ── */
.journey-form { max-width: 620px; margin: 0 auto 40px; }
.journey-inputs { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; }
.journey-input-group { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 160px; }
.journey-input-group label { font-size: 13px; font-weight: 600; color: var(--navy); }
.journey-input-group input { padding: 12px 15px; border-radius: 9px; border: 1.5px solid var(--gray-2); font-size: 14px; font-family: 'DM Sans', sans-serif; outline: none; transition: border-color 0.2s; color: var(--navy); background: var(--white); }
.journey-input-group input:focus { border-color: var(--purple); }

.journey-result { max-width: 720px; margin: 0 auto; background: var(--white); border-radius: 24px; box-shadow: var(--shadow-lg); overflow: hidden; animation: fadeUp 0.5s ease; }
.journey-header { background: var(--navy); padding: 32px 40px; text-align: center; }
.journey-child-name { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 900; color: var(--white); margin-bottom: 6px; }
.journey-child-sub { font-size: 13px; color: rgba(255,255,255,0.5); letter-spacing: 0.08em; text-transform: uppercase; }
.journey-timeline { padding: 40px; display: flex; flex-direction: column; gap: 0; }
.journey-step { display: flex; gap: 20px; }
.journey-step-left { display: flex; flex-direction: column; align-items: center; width: 52px; flex-shrink: 0; }
.journey-step-dot { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; border: 3px solid; }
.journey-step-line { width: 2px; flex: 1; min-height: 20px; margin: 6px 0; }
.journey-step:last-child .journey-step-line { display: none; }
.journey-step-right { padding-bottom: 28px; flex: 1; padding-top: 8px; }
.journey-step-year { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; }
.journey-step-title { font-family: 'Playfair Display', serif; font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.journey-step-age { font-size: 13px; color: var(--text-muted); margin-bottom: 6px; }
.journey-step-desc { font-size: 13.5px; color: var(--text-muted); line-height: 1.6; }
.journey-badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 100px; margin-top: 6px; letter-spacing: 0.05em; }
.journey-footer { background: var(--gray); padding: 28px 40px; text-align: center; }
.journey-footer-text { font-size: 15px; color: var(--text-muted); margin-bottom: 16px; }

@media (max-width: 600px) {
  .journey-inputs { flex-direction: column; }
  .journey-timeline { padding: 24px 20px; }
  .journey-header { padding: 24px 20px; }
  .journey-footer { padding: 20px; }
  .journey-child-name { font-size: 22px; }
}

/* ── MINISTRY AGE TABLE ── */
.age-table-wrap { max-width: 760px; margin: 0 auto; }
.age-table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.06); }
.age-table thead { background: var(--navy); }
.age-table thead th { padding: 16px 20px; color: var(--white); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; text-align: left; }
.age-table tbody td { padding: 14px 20px; font-size: 14px; color: var(--navy); border-top: 1px solid var(--gray-2); }
.age-table tbody tr:hover { background: var(--gray); }
.age-table tbody td:first-child { font-weight: 700; }
.age-table-note { font-size: 12px; color: var(--text-muted); margin-top: 14px; font-style: italic; text-align: center; }
html[lang="ar"] .age-table thead th { text-align: right; }
@media (max-width: 600px) {
  .age-table thead th { padding: 12px 12px; font-size: 11px; }
  .age-table tbody td { padding: 12px 12px; font-size: 13px; }
}

/* Journey note */
.journey-note { font-size: 12px; color: var(--text-muted); text-align: center; margin-top: 12px; font-style: italic; }


/* === Logo Upgrade === */
.navbar {
  height: 100px;
  display: flex;
  align-items: center;
}

.navbar .logo img {
  height: 85px;
  width: auto;
  transition: transform 0.3s ease;
}

.navbar .logo img:hover {
  transform: scale(1.04);
}

.navbar.scrolled {
  height: 75px;
}

.navbar.scrolled .logo img {
  height: 60px;
}

@media (max-width: 768px) {
  .navbar {
    height: 80px;
  }

  .navbar .logo img {
    height: 64px;
  }
}


/* ── HOMEPAGE ADMISSIONS SECTION ── */
.home-adm-head{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:end;margin-bottom:26px;}
.home-adm-title{margin-bottom:0}
.home-adm-sub{margin:0;max-width:520px;text-align:left}
.home-adm-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;}
.home-adm-panel{background:var(--white);border:1px solid var(--gray-2);border-radius:22px;box-shadow:var(--shadow);}
.home-adm-table-panel{padding:30px 30px 24px;}
.home-adm-panel-top h3,.home-adm-side-block h3{font-family:'Playfair Display',serif;font-size:28px;color:var(--navy);margin-bottom:10px;}
.home-adm-panel-top p,.home-adm-side-block p{font-size:14px;line-height:1.75;color:var(--text-muted);}
.home-adm-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(0,188,212,0.10);border:1px solid rgba(0,188,212,0.18);color:var(--teal-dark);padding:7px 14px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.home-adm-chip.accent-purple{background:rgba(107,63,160,0.09);border-color:rgba(107,63,160,0.14);color:var(--purple);}
.home-adm-table-wrap{margin-top:20px;overflow:auto;}
.home-adm-age-table{min-width:100%;box-shadow:none;border:1px solid var(--gray-2);}
.home-adm-age-table tbody tr:nth-child(even){background:#fafbfc}
.home-adm-age-table tbody tr:hover{background:var(--gray)}
.home-adm-age-table tbody tr:nth-child(3) td:first-child{color:var(--purple);}
.home-adm-side-panel{background:linear-gradient(180deg,#ffffff 0%, #faf8ff 100%);padding:22px;display:flex;flex-direction:column;gap:18px;}
.home-adm-side-block{border:1px solid var(--gray-2);border-radius:18px;padding:24px;background:var(--white);}
.home-adm-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px;}
.home-adm-card{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border-radius:14px;background:var(--gray);border:1px solid transparent;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.home-adm-card:hover{transform:translateY(-2px);border-color:rgba(107,63,160,0.14);box-shadow:0 10px 22px rgba(26,35,50,0.06);}
.home-adm-card span{font-size:18px;line-height:1;margin-top:2px;flex-shrink:0;}
.home-adm-card strong{font-size:14px;line-height:1.55;color:var(--navy);}
.home-adm-side-cta{background:linear-gradient(135deg,var(--navy),#25324a);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:18px;}
.home-adm-cta-title{font-family:'Playfair Display',serif;font-size:24px;color:var(--white);margin-bottom:6px;}
.home-adm-cta-sub{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,0.68);}
.btn-white{background:var(--white);color:var(--navy);}
.btn-white:hover{background:#f7f9fc;}
html[lang="ar"] .home-adm-sub,html[lang="ar"] .home-adm-title,html[lang="ar"] .home-adm-head .section-label{text-align:right !important;}

/* Logo sizing refinement */
nav{height:96px;align-items:center;}
nav .logo img{height:84px;width:auto;object-fit:contain;transition:transform .3s ease, height .3s ease;}
nav .logo img:hover{transform:scale(1.03);}
nav.scrolled{height:76px !important;}
nav.scrolled .logo img{height:62px;}
@media (max-width: 960px){.home-adm-head,.home-adm-grid{grid-template-columns:1fr;}}
@media (max-width: 768px){nav{height:80px;}nav .logo img{height:62px !important;}nav.scrolled .logo img{height:54px !important;}.home-adm-table-panel,.home-adm-side-panel{padding:20px;}.home-adm-side-block{padding:20px;}.home-adm-panel-top h3,.home-adm-side-block h3,.home-adm-cta-title{font-size:22px;}}


/* === Admission Requirements Visual Refresh === */
body:has(.home-adm-grid) .section > .container > .home-adm-head,
body:has(.home-adm-grid) .section > .container > .home-adm-grid {
  position: relative;
}

.home-adm-head {
  background: linear-gradient(135deg, rgba(0,188,212,0.08) 0%, rgba(107,63,160,0.06) 100%);
  border: 1px solid rgba(0,188,212,0.12);
  border-radius: 24px;
  padding: 24px 28px;
  margin-bottom: 30px;
}

.home-adm-head .section-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(26,35,50,0.04);
}

.home-adm-title {
  color: var(--navy);
}

.home-adm-grid {
  align-items: stretch;
}

.home-adm-panel {
  border-color: rgba(26,35,50,0.08);
}

.home-adm-table-panel {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.home-adm-panel-top h3,
.home-adm-side-block h3 {
  color: var(--navy);
}

.home-adm-table-wrap {
  border-radius: 18px;
}

.home-adm-age-table {
  border: 1px solid rgba(26,35,50,0.08);
  border-radius: 18px;
  overflow: hidden;
}

.home-adm-age-table thead {
  background: linear-gradient(135deg, var(--navy) 0%, #24324a 100%);
}

.home-adm-age-table tbody tr:nth-child(even) {
  background: rgba(26,35,50,0.025);
}

.home-adm-age-table tbody tr:hover {
  background: rgba(0,188,212,0.08);
}

.home-adm-age-table tbody tr:nth-child(3) {
  background: rgba(0,188,212,0.10);
}

.home-adm-age-table tbody tr:nth-child(3) td {
  font-weight: 700;
}

.home-adm-age-table tbody tr:nth-child(3) td:first-child {
  color: var(--teal-dark);
}

.age-table-note {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(0,188,212,0.07);
  color: var(--navy);
  font-style: normal;
}

.home-adm-side-panel {
  background: linear-gradient(180deg, rgba(0,188,212,0.05) 0%, rgba(107,63,160,0.06) 100%);
  border: 1px solid rgba(107,63,160,0.10);
}

.home-adm-side-block {
  border-color: rgba(26,35,50,0.08);
  box-shadow: 0 10px 28px rgba(26,35,50,0.04);
}

.home-adm-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border: 1px solid rgba(0,188,212,0.10);
}

.home-adm-card:hover {
  border-color: rgba(0,188,212,0.28);
  box-shadow: 0 12px 26px rgba(0,188,212,0.10);
}

.home-adm-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(0,188,212,0.10);
}

.home-adm-side-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #1f2f46 58%, var(--purple) 100%);
  box-shadow: 0 18px 34px rgba(26,35,50,0.18);
}

.home-adm-cta-title {
  color: #ffffff;
}

.home-adm-cta-sub {
  color: rgba(255,255,255,0.78);
}

@media (max-width: 768px) {
  .home-adm-head {
    padding: 20px;
    border-radius: 20px;
  }

  .age-table-note {
    display: block;
    text-align: center;
  }
}

/* ── SCHOOL UNIFORM SECTION ── */
.uniform-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}
.uniform-card {
  background: var(--white);
  border-radius: 16px;
  padding: 24px;
  border-top: 5px solid;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s, box-shadow 0.3s;
}
.uniform-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.uniform-kg { border-color: #00BCD4; }
.uniform-primary { border-color: #6B3FA0; }
.uniform-secondary { border-color: #F5A623; }
.uniform-stage-badge {
  display: inline-block;
  background: var(--gray);
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 100px;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.uniform-kg .uniform-stage-badge { background: #E0F7FA; color: #00838F; }
.uniform-primary .uniform-stage-badge { background: #EEEDFE; color: #3C3489; }
.uniform-secondary .uniform-stage-badge { background: #FAEEDA; color: #854F0B; }
.uniform-card h4 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 16px;
}
.uniform-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.uniform-card ul li {
  position: relative;
  padding: 7px 0 7px 22px;
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.5;
}
.uniform-card ul li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 7px;
  color: var(--teal);
  font-weight: 700;
  font-size: 14px;
}

.uniform-extras {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
.uniform-extra-card {
  background: var(--white);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  border: 1px solid var(--gray-2);
}
.uniform-icon {
  font-size: 36px;
  margin-bottom: 10px;
}
.uniform-extra-title {
  font-weight: 700;
  color: var(--navy);
  font-size: 15px;
  margin-bottom: 4px;
}
.uniform-extra-sub {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}

.uniform-note {
  background: #FFF4E0;
  border-left: 4px solid #F5A623;
  padding: 18px 22px;
  border-radius: 10px;
  margin-bottom: 24px;
}
.uniform-note strong {
  display: block;
  color: #854F0B;
  font-size: 14px;
  margin-bottom: 6px;
}
.uniform-note p {
  color: #5a3a0a;
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0;
}

.uniform-store {
  background: linear-gradient(135deg, #1A2332 0%, #2a3548 100%);
  border-radius: 16px;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  color: var(--white);
}
.uniform-store-icon {
  font-size: 48px;
  flex-shrink: 0;
}
.uniform-store-info { flex: 1; }
.uniform-store-title {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 4px;
  font-weight: 600;
}
.uniform-store-name {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 4px;
}
.uniform-store-addr {
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 10px;
  line-height: 1.5;
}
.uniform-store-phone {
  display: inline-block;
  background: var(--teal);
  color: var(--navy);
  padding: 9px 18px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 13.5px;
  text-decoration: none;
  transition: background 0.2s;
}
.uniform-store-phone:hover { background: var(--teal-dark); }

html[dir="rtl"] .uniform-card { border-top: 5px solid; }
html[dir="rtl"] .uniform-card ul li { padding: 7px 22px 7px 0; }
html[dir="rtl"] .uniform-card ul li::before { left: auto; right: 0; }
html[dir="rtl"] .uniform-note { border-left: none; border-right: 4px solid #F5A623; }

@media (max-width: 768px) {
  .uniform-grid, .uniform-extras { grid-template-columns: 1fr; }
  .uniform-store { flex-direction: column; text-align: center; }
}


/* and / or separator styling */
.uniform-card ul li.uni-sep,
.uniform-card ul li[data-i18n$="_kg2"],
.uniform-card ul li[data-i18n$="_pri2"],
.uniform-card ul li[data-i18n$="_pri5"],
.uniform-card ul li[data-i18n$="_sec4"] {
  text-align: center;
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
  padding: 2px 0;
  opacity: 0.7;
}
.uniform-card ul li[data-i18n$="_kg2"]::before,
.uniform-card ul li[data-i18n$="_pri2"]::before,
.uniform-card ul li[data-i18n$="_pri5"]::before,
.uniform-card ul li[data-i18n$="_sec4"]::before {
  display: none;
}

/* ── UNIFORM OFFICIAL POSTER ── */
.uniform-official-poster {
  max-width: 820px;
  margin: 30px auto;
  background: var(--white);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  text-align: center;
}
.uniform-poster-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 14px;
}
.uniform-poster-img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}

/* ── UNIFORM POSTER — PRO STYLE ── */
.uniform-poster-wrap {
  max-width: 640px;
  margin: 0 auto 36px;
  background: var(--white);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 20px 60px rgba(26, 35, 50, 0.12);
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: zoom-in;
}
.uniform-poster-wrap::before {
  content: '🔍';
  position: absolute;
  top: 36px;
  right: 36px;
  width: 40px;
  height: 40px;
  background: rgba(26, 35, 50, 0.75);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  z-index: 2;
}
.uniform-poster-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 80px rgba(26, 35, 50, 0.18);
}
.uniform-poster-wrap:hover::before {
  opacity: 1;
}
.uniform-poster-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}

@media (max-width: 600px) {
  .uniform-poster-wrap { padding: 14px; border-radius: 18px; }
  .uniform-poster-wrap::before { top: 24px; right: 24px; }
}


/* Newsletter form success — over navy bg */
.nl-form-success {
  display: none;
  max-width: 440px;
  margin: 16px auto 0;
  background: rgba(0, 188, 212, 0.12);
  border: 1.5px solid rgba(0, 188, 212, 0.35);
  color: var(--teal);
  padding: 14px 18px;
  border-radius: 9px;
  font-weight: 500;
  font-size: 13.5px;
  text-align: center;
  position: relative;
  animation: nlFadeIn 0.4s ease;
}
@keyframes nlFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── FIND YOUR PATH BANNER ── */
.fyp-banner-section { padding: 60px 0; }
.fyp-banner {
  background: linear-gradient(135deg, #6B3FA0 0%, #1A2332 100%);
  border-radius: 24px;
  padding: 56px 60px;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  overflow: hidden;
}
.fyp-banner::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -50px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(0,188,212,0.15), transparent 70%);
  pointer-events: none;
}
.fyp-banner-content { flex: 1; position: relative; z-index: 1; }
.fyp-banner-badge {
  display: inline-block;
  background: rgba(0,188,212,0.15);
  border: 1px solid rgba(0,188,212,0.3);
  color: var(--teal);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 100px;
  letter-spacing: 0.05em;
  margin-bottom: 18px;
}
.fyp-banner-title {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 900;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 14px;
}
.fyp-banner-desc {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
  margin-bottom: 26px;
  max-width: 540px;
}
.fyp-banner-btn {
  display: inline-block;
  background: var(--teal);
  color: var(--navy);
  padding: 16px 32px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
}
.fyp-banner-btn:hover {
  background: #00A5BB;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,188,212,0.4);
}
.fyp-banner-visual { position: relative; z-index: 1; }
.fyp-banner-icon {
  font-size: 110px;
  filter: drop-shadow(0 8px 30px rgba(0,188,212,0.3));
  animation: fypIconFloat 4s ease-in-out infinite;
}
@keyframes fypIconFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(5deg); }
}
@media (max-width: 800px) {
  .fyp-banner { padding: 36px 28px; flex-direction: column; text-align: center; gap: 20px; }
  .fyp-banner-title { font-size: 26px; }
  .fyp-banner-desc { font-size: 14px; }
  .fyp-banner-icon { font-size: 80px; }
}

/* ── DAK BOT TYPING INDICATOR ── */
.dak-typing {
  display: flex !important;
  align-items: center;
  gap: 6px;
  padding: 14px 18px !important;
  width: fit-content;
}
.dak-dot {
  width: 8px;
  height: 8px;
  background: var(--purple);
  border-radius: 50%;
  opacity: 0.5;
  animation: dakDotBounce 1.3s infinite ease-in-out;
}
.dak-dot:nth-child(1) { animation-delay: 0s; }
.dak-dot:nth-child(2) { animation-delay: 0.2s; }
.dak-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes dakDotBounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-6px); opacity: 1; }
}

/* ── MOBILE TAP TARGET IMPROVEMENTS ── */
@media (max-width: 768px) {
  .footer-contact { line-height: 2.4; }
  .footer-contact a { 
    display: inline-block; 
    padding: 6px 0; 
    min-height: 32px;
    line-height: 1.4;
  }
  .footer-bottom-links { gap: 20px; flex-wrap: wrap; }
  .footer-bottom-links a { 
    display: inline-block; 
    padding: 8px 4px; 
    min-height: 36px;
    line-height: 1.4;
  }
  .breadcrumb a { 
    display: inline-block; 
    padding: 6px 4px; 
    min-height: 32px;
  }
  .footer-col ul li a { 
    display: inline-block; 
    padding: 6px 0; 
    min-height: 32px;
    line-height: 1.4;
  }
  /* Find Your Path footer programme links */
  footer ul li a { padding: 6px 0; display: inline-block; min-height: 32px; }
}

/* ── MORE MOBILE TAP TARGETS ── */
@media (max-width: 768px) {
  /* DAK Bot improvements */
  .dak-ai-close { 
    width: 36px !important; 
    height: 36px !important; 
    font-size: 18px !important; 
  }
  .dak-suggestion {
    min-height: 38px;
    padding: 10px 16px !important;
    font-size: 14px !important;
  }
  /* Branch cards phone/email */
  .branch-row a, .branch-info a {
    display: inline-block;
    padding: 6px 0;
    min-height: 32px;
    line-height: 1.5;
  }
  .branch-row {
    line-height: 1.7;
  }
}

/* ── FUTURE VISION BANNER ── */
.fv-banner-section { padding: 0 0 60px; }
.fv-banner {
  background: linear-gradient(135deg, #00BCD4 0%, #6B3FA0 100%);
  border-radius: 24px;
  padding: 56px 60px;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  overflow: hidden;
}
.fv-banner::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -50px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(253, 216, 53, 0.18), transparent 70%);
  pointer-events: none;
}
.fv-banner-content { flex: 1; position: relative; z-index: 1; }
.fv-banner-badge {
  display: inline-block;
  background: rgba(253, 216, 53, 0.18);
  border: 1px solid rgba(253, 216, 53, 0.4);
  color: #FDD835;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 100px;
  letter-spacing: 0.05em;
  margin-bottom: 18px;
}
.fv-banner-title {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 900;
  color: white;
  line-height: 1.25;
  margin-bottom: 14px;
}
.fv-banner-desc {
  font-size: 15px;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  margin-bottom: 26px;
  max-width: 540px;
}
.fv-banner-btn {
  display: inline-block;
  background: white;
  color: var(--purple);
  padding: 16px 32px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
}
.fv-banner-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.2);
}
.fv-banner-visual { position: relative; z-index: 1; }
.fv-banner-icon {
  font-size: 110px;
  filter: drop-shadow(0 8px 30px rgba(253, 216, 53, 0.4));
  animation: fvIconFloat 5s ease-in-out infinite;
}
@keyframes fvIconFloat {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-12px) rotate(3deg); }
}
@media (max-width: 800px) {
  .fv-banner { padding: 36px 28px; flex-direction: column; text-align: center; gap: 20px; }
  .fv-banner-title { font-size: 24px; }
  .fv-banner-desc { font-size: 14px; }
  .fv-banner-icon { font-size: 80px; }
}

/* ────────────────────────────────────────────────
   WHATSAPP FLOATING BUTTON
   ──────────────────────────────────────────────── */
.wa-fab {
  position: fixed;
  bottom: 24px;
  left: 24px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25D366;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45);
  cursor: pointer;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  border: none;
  animation: waPulse 2.5s infinite;
}
.wa-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 10px 32px rgba(37, 211, 102, 0.6);
}
.wa-fab svg {
  width: 32px;
  height: 32px;
  fill: white;
}
@keyframes waPulse {
  0%, 100% { box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45); }
  50% { box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45), 0 0 0 12px rgba(37, 211, 102, 0); }
}

/* WhatsApp menu (popup) */
.wa-menu {
  position: fixed;
  bottom: 100px;
  left: 24px;
  width: 290px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
  z-index: 1001;
  overflow: hidden;
  opacity: 0;
  transform: translateY(15px) scale(0.95);
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.wa-menu.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}
.wa-menu-header {
  background: #075E54;
  color: white;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.wa-menu-header-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wa-menu-header-icon svg { width: 22px; height: 22px; fill: white; }
.wa-menu-header-text {
  font-family: 'DM Sans', sans-serif;
  flex: 1;
  min-width: 0;
}
.wa-menu-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 2px;
  line-height: 1.2;
}
.wa-menu-status {
  font-size: 11.5px;
  opacity: 0.85;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wa-menu-status::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #4CD964;
  border-radius: 50%;
}
html[lang="ar"] .wa-menu-title { font-family: 'Noto Sans Arabic', sans-serif; }

.wa-menu-body {
  padding: 14px 16px;
  background: #ECE5DD;
}
.wa-greeting {
  background: white;
  padding: 12px 14px;
  border-radius: 0 8px 8px 8px;
  font-size: 13.5px;
  color: #303030;
  font-family: 'DM Sans', sans-serif;
  line-height: 1.5;
  margin-bottom: 14px;
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
}
html[lang="ar"] .wa-greeting { font-family: 'Noto Sans Arabic', sans-serif; }
.wa-greeting::before {
  content: '';
  position: absolute;
  top: 0;
  left: -8px;
  border-style: solid;
  border-width: 0 8px 8px 0;
  border-color: transparent white transparent transparent;
}
html[dir="rtl"] .wa-greeting { border-radius: 8px 0 8px 8px; }
html[dir="rtl"] .wa-greeting::before {
  left: auto; right: -8px;
  border-width: 0 0 8px 8px;
  border-color: transparent transparent transparent white;
}

.wa-options { display: flex; flex-direction: column; gap: 8px; }
.wa-option {
  background: white;
  border: none;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  text-align: left;
  font-family: 'DM Sans', sans-serif;
  transition: all 0.2s;
  text-decoration: none;
  color: inherit;
}
html[lang="ar"] .wa-option { font-family: 'Noto Sans Arabic', sans-serif; text-align: right; }
.wa-option:hover {
  background: #25D366;
  color: white;
  transform: translateX(2px);
}
html[dir="rtl"] .wa-option:hover { transform: translateX(-2px); }
.wa-option-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #25D366;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  transition: all 0.2s;
}
.wa-option:hover .wa-option-icon {
  background: white;
  color: #25D366;
}
.wa-option-text { flex: 1; min-width: 0; }
.wa-option-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #303030;
  margin-bottom: 2px;
  transition: color 0.2s;
}
.wa-option:hover .wa-option-name { color: white; }
.wa-option-number {
  font-size: 12px;
  color: #888;
  transition: color 0.2s;
}
.wa-option:hover .wa-option-number { color: rgba(255, 255, 255, 0.85); }

.wa-menu-footer {
  background: #f8f8f8;
  padding: 8px 16px;
  text-align: center;
  font-size: 11px;
  color: #888;
  font-family: 'DM Sans', sans-serif;
  border-top: 1px solid #eee;
}

/* Backdrop */
.wa-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  z-index: 999;
  pointer-events: none;
  transition: background 0.3s;
}
.wa-backdrop.open {
  background: rgba(0, 0, 0, 0.18);
  pointer-events: all;
}

/* WhatsApp always stays on the left side */
html[dir="rtl"] .wa-fab { left: 24px; right: auto; }
html[dir="rtl"] .wa-menu { left: 24px; right: auto; }

/* Mobile */
@media (max-width: 640px) {
  .wa-fab { width: 54px; height: 54px; bottom: 18px; left: 18px; }
  .wa-fab svg { width: 28px; height: 28px; }
  html[dir="rtl"] .wa-fab { left: 18px; right: auto; }
  .wa-menu { left: 12px; right: 12px; bottom: 90px; width: auto; }
  html[dir="rtl"] .wa-menu { left: 12px; right: 12px; }
}

/* ══════════════════════════════════════
   DAK POLISHED MOTION SYSTEM - v103
   Elegant, lightweight, and safe animations
══════════════════════════════════════ */
body.motion-ready { opacity: 0; }
body.motion-ready.page-loaded { opacity: 1; transition: opacity .38s ease; }

.motion-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}
.motion-reveal.motion-visible,
.reveal.visible,
.reveal-left.visible,
.reveal-right.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.motion-reveal.motion-from-left { transform: translate3d(-26px, 0, 0); }
.motion-reveal.motion-from-right { transform: translate3d(26px, 0, 0); }
.motion-reveal.motion-scale { transform: translate3d(0, 18px, 0) scale(.985); }
.motion-reveal.motion-scale.motion-visible { transform: translate3d(0, 0, 0) scale(1); }

.motion-card,
.news-card,
.ql-card,
.team-card,
.mission-card,
.branch-card,
.why-card,
.app-card,
.home-adm-card,
.month-card,
.key-card,
.cal-month,
.facility-card,
.activity-card,
.curriculum-card,
.subject-card,
.faq-item,
.contact-card,
.info-card {
  transform-style: preserve-3d;
  transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease, border-color .32s ease, background .32s ease;
}

@media (hover:hover) and (pointer:fine) {
  .motion-card:hover,
  .news-card:hover,
  .ql-card:hover,
  .team-card:hover,
  .mission-card:hover,
  .home-adm-card:hover,
  .month-card:hover,
  .key-card:hover,
  .facility-card:hover,
  .activity-card:hover,
  .curriculum-card:hover,
  .subject-card:hover,
  .faq-item:hover,
  .contact-card:hover,
  .info-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 46px rgba(26,35,50,.14);
    border-color: rgba(0,188,212,.22);
  }
  .motion-card.motion-tilt:hover { transform: perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-7px); }
}

.btn,
.nav-cta,
.nav-portal-btn,
.store-btn,
.portal-big,
.carousel-btn,
.calendar-actions .btn {
  position: relative;
  overflow: hidden;
}
.btn::after,
.nav-cta::after,
.nav-portal-btn::after,
.store-btn::after,
.portal-big::after,
.calendar-actions .btn::after {
  content: '';
  position: absolute;
  inset: -40% auto -40% -70%;
  width: 55%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  opacity: 0;
  pointer-events: none;
}
@media (hover:hover) and (pointer:fine) {
  .btn:hover::after,
  .nav-cta:hover::after,
  .nav-portal-btn:hover::after,
  .store-btn:hover::after,
  .portal-big:hover::after,
  .calendar-actions .btn:hover::after {
    animation: dakShine .75s ease forwards;
    opacity: 1;
  }
}
@keyframes dakShine { to { left: 120%; } }

.motion-orb-container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.motion-orb {
  position: absolute;
  width: clamp(130px, 18vw, 310px);
  height: clamp(130px, 18vw, 310px);
  border-radius: 999px;
  filter: blur(18px);
  opacity: .42;
  animation: dakOrbFloat 13s ease-in-out infinite;
}
.motion-orb.one { top: -70px; left: -60px; background: radial-gradient(circle, rgba(0,188,212,.35), transparent 68%); }
.motion-orb.two { right: -80px; bottom: -85px; background: radial-gradient(circle, rgba(107,63,160,.35), transparent 68%); animation-delay: -4s; }
.motion-orb.three { left: 48%; top: 16%; width: clamp(80px, 10vw, 160px); height: clamp(80px, 10vw, 160px); background: radial-gradient(circle, rgba(245,166,35,.22), transparent 70%); animation-delay: -8s; }
@keyframes dakOrbFloat {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  35% { transform: translate3d(14px,-18px,0) scale(1.05); }
  70% { transform: translate3d(-12px,12px,0) scale(.97); }
}
.hero-left > *,
.page-hero-inner,
.newsletter > *,
.icampus-inner,
.branch-hero > * { position: relative; z-index: 1; }

/* Elegant calendar motion */
.month-card { animation: dakMonthIn .55s cubic-bezier(.22,1,.36,1) both; }
.month-card:nth-child(2n) { animation-delay: .04s; }
.month-card:nth-child(3n) { animation-delay: .08s; }
@keyframes dakMonthIn {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.mini-cal td:not(.muted):not(:empty) { transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
@media (hover:hover) and (pointer:fine) {
  .mini-cal td:not(.muted):not(:empty):hover { transform: scale(1.08); box-shadow: 0 6px 18px rgba(26,35,50,.12); z-index: 2; }
}

/* Premium navigation and page polish */
#navbar.scrolled { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.logo img { transition: filter .25s ease !important; }
.footer a:hover { padding-left: 0 !important; }
html[dir="rtl"] .footer a:hover { padding-right: 0 !important; }
.section-label { animation: none !important; }

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  body.motion-ready { opacity: 1; }
  .motion-reveal, .reveal, .reveal-left, .reveal-right { opacity: 1 !important; transform: none !important; }
  .motion-orb-container { display: none !important; }
}

@media (max-width: 760px) {
  .motion-reveal { transform: translate3d(0, 18px, 0); }
  .motion-orb { filter: blur(22px); opacity: .28; }
}

/* Friendly visitor-following glow effect */
.dak-cursor-friend {
  position: fixed;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  transition: opacity .22s ease;
  will-change: transform;
}
.dak-cursor-friend.is-visible { opacity: 1; }
.dak-cursor-core, .dak-cursor-ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
}
.dak-cursor-core {
  inset: 13px;
  background: radial-gradient(circle, rgba(255,255,255,.96) 0 25%, rgba(0,188,212,.82) 42%, rgba(107,63,160,.72) 100%);
  box-shadow: 0 0 18px rgba(0,188,212,.34), 0 0 28px rgba(107,63,160,.20);
  animation: dakFriendlyPulse 2.4s ease-in-out infinite;
}
.dak-cursor-ring {
  border: 1px solid rgba(0,188,212,.30);
  background: radial-gradient(circle, rgba(0,188,212,.10), rgba(107,63,160,.07) 48%, transparent 72%);
  box-shadow: 0 8px 24px rgba(26,35,50,.08);
  animation: dakFriendlyFloat 3.8s ease-in-out infinite;
}
.dak-cursor-friend.is-clicking .dak-cursor-ring { animation: dakFriendlyClick .22s ease both; }
.dak-cursor-sparkle {
  position: fixed;
  width: 7px;
  height: 7px;
  left: 0;
  top: 0;
  margin: -3.5px 0 0 -3.5px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 9997;
  background: radial-gradient(circle, rgba(255,255,255,.98), rgba(245,166,35,.78) 42%, rgba(0,188,212,.10) 72%, transparent 100%);
  box-shadow: 0 0 12px rgba(245,166,35,.42), 0 0 16px rgba(0,188,212,.22);
  animation: dakSparkleDrift .75s ease-out forwards;
}
.dak-cursor-sparkle.is-strong {
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
  animation-duration: .9s;
}
@keyframes dakFriendlyPulse {
  0%,100% { transform: scale(1); opacity: .92; }
  50% { transform: scale(1.22); opacity: .68; }
}
@keyframes dakFriendlyFloat {
  0%,100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.10) rotate(7deg); }
}
@keyframes dakFriendlyClick {
  from { transform: scale(1); opacity: 1; }
  to { transform: scale(1.55); opacity: .32; }
}
@keyframes dakSparkleDrift {
  0% { opacity: .95; transform: translate3d(0,0,0) scale(.75); }
  100% { opacity: 0; transform: translate3d(var(--sx), var(--sy), 0) scale(1.35); }
}
@media (max-width: 900px), (hover:none), (pointer:coarse), (prefers-reduced-motion: reduce) {
  .dak-cursor-friend, .dak-cursor-sparkle { display: none !important; }
}

/* Whole-site joyful motion layer */
.dak-joy-layer {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  contain: layout paint;
}
.dak-floating-icon {
  position: absolute;
  left: var(--x);
  bottom: -56px;
  font-size: clamp(18px, 2vw, 28px);
  opacity: .13;
  filter: drop-shadow(0 10px 18px rgba(26,35,50,.10));
  animation: dakFloatUp var(--duration) linear infinite;
  animation-delay: var(--delay);
}
@keyframes dakFloatUp {
  0% { transform: translate3d(0, 0, 0) rotate(-8deg) scale(.92); opacity: 0; }
  10% { opacity: .14; }
  50% { transform: translate3d(28px, -52vh, 0) rotate(8deg) scale(1.05); opacity: .12; }
  90% { opacity: .09; }
  100% { transform: translate3d(-18px, -112vh, 0) rotate(-10deg) scale(.96); opacity: 0; }
}
.dak-word-bubble {
  position: absolute;
  left: var(--x);
  bottom: -80px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  color: rgba(58,36,101,.62);
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(0,188,212,.13);
  box-shadow: 0 12px 34px rgba(26,35,50,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  animation: dakBubbleRise var(--duration) ease-in-out infinite;
  animation-delay: var(--delay);
}
@keyframes dakBubbleRise {
  0%, 100% { transform: translate3d(0, 0, 0) scale(.94); opacity: 0; }
  12% { opacity: .32; }
  45% { transform: translate3d(-22px, -44vh, 0) scale(1); opacity: .24; }
  82% { opacity: .18; }
  96% { transform: translate3d(24px, -105vh, 0) scale(.98); opacity: 0; }
}
.dak-paper-plane {
  position: fixed;
  left: -70px;
  top: 22vh;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  font-size: 26px;
  color: rgba(0,188,212,.78);
  text-shadow: 0 10px 24px rgba(26,35,50,.14);
  transform: rotate(12deg);
  opacity: .78;
  animation: dakPlaneFly 28s ease-in-out infinite;
  animation-delay: 2.5s;
}
@keyframes dakPlaneFly {
  0%, 14% { transform: translate3d(-80px, 0, 0) rotate(12deg); opacity: 0; }
  18% { opacity: .72; }
  44% { transform: translate3d(48vw, 12vh, 0) rotate(4deg); opacity: .76; }
  70% { transform: translate3d(105vw, -6vh, 0) rotate(16deg); opacity: .18; }
  100% { transform: translate3d(105vw, -6vh, 0) rotate(16deg); opacity: 0; }
}
.dak-mini-mascot {
  position: fixed;
  right: 22px;
  bottom: 108px;
  z-index: 9996;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(237,250,253,.88));
  box-shadow: 0 16px 40px rgba(26,35,50,.14);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform .25s ease, box-shadow .25s ease;
  animation: dakMascotBreathe 3.8s ease-in-out infinite;
}
.dak-mascot-face { font-size: 27px; line-height: 1; }
.dak-mascot-wave {
  position: absolute;
  right: 46px;
  top: 9px;
  padding: 7px 10px;
  border-radius: 999px 999px 4px 999px;
  background: rgba(255,255,255,.94);
  color: #3a2465;
  border: 1px solid rgba(0,188,212,.16);
  box-shadow: 0 12px 28px rgba(26,35,50,.10);
  font-size: 11px;
  font-weight: 800;
  opacity: 0;
  transform: translateX(8px) scale(.96);
  animation: dakMascotWave 9s ease-in-out infinite;
}
.dak-mini-mascot:hover,
.dak-mini-mascot.is-happy {
  transform: translateY(-4px) rotate(-2deg);
  box-shadow: 0 20px 48px rgba(26,35,50,.18);
}
.dak-mini-mascot.is-happy .dak-mascot-wave,
.dak-mini-mascot:hover .dak-mascot-wave {
  opacity: 1;
  transform: translateX(0) scale(1);
}
@keyframes dakMascotBreathe {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@keyframes dakMascotWave {
  0%, 66%, 100% { opacity: 0; transform: translateX(8px) scale(.96); }
  70%, 83% { opacity: 1; transform: translateX(0) scale(1); }
  88% { opacity: 0; transform: translateX(8px) scale(.96); }
}
.dak-magic-sparkle {
  position: fixed;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 9995;
  background: radial-gradient(circle, #fff 0 25%, rgba(245,166,35,.88) 36%, rgba(0,188,212,.25) 70%, transparent 100%);
  box-shadow: 0 0 16px rgba(245,166,35,.42), 0 0 22px rgba(0,188,212,.20);
  animation: dakMagicSparkle .85s ease-out forwards;
}
@keyframes dakMagicSparkle {
  0% { opacity: .95; transform: translate3d(0,0,0) scale(.7) rotate(0deg); }
  100% { opacity: 0; transform: translate3d(var(--mx), var(--my), 0) scale(1.7) rotate(90deg); }
}
@media (max-width: 900px), (hover:none), (pointer:coarse) {
  .dak-paper-plane { animation-duration: 34s; opacity: .42; }
  .dak-word-bubble { display: none; }
  .dak-floating-icon { opacity: .08; }
  .dak-mini-mascot { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dak-joy-layer, .dak-mini-mascot, .dak-magic-sparkle { display: none !important; }
}

/* Box-only fun motion refinements: effects stay inside cards/buttons only */
.dak-cursor-friend,
.dak-cursor-sparkle,
.dak-joy-layer,
.dak-paper-plane,
.dak-mini-mascot,
.dak-word-bubble,
.dak-floating-icon {
  display: none !important;
}

.dak-box-joy-ready {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .32s cubic-bezier(.22,.61,.36,1), box-shadow .32s ease, filter .32s ease;
  will-change: transform, box-shadow;
}

.dak-box-joy-ready::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.12), transparent 60%);
  z-index: 0;
}

.dak-box-joy-ready:hover,
.dak-box-joy-ready:focus-within {
  transform: translateY(-4px) scale(1.012);
  box-shadow: 0 16px 34px rgba(26,35,50,.12), 0 8px 18px rgba(0,188,212,.08);
  animation: dakSoftPulseCard 2.2s ease-in-out infinite;
}

.dak-box-joy-ready:hover::after,
.dak-box-joy-ready:focus-within::after {
  opacity: 1;
  animation: dakSoftPulseGlow 2.2s ease-in-out infinite;
}

.dak-box-joy-ready::before,
  .dak-box-joy-ready::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -70px;
  top: -80px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0,188,212,.16), rgba(107,63,160,.08) 45%, transparent 72%);
  opacity: 0;
  transform: scale(.72);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
  z-index: 0;
}

.dak-box-joy-ready:hover::before,
.dak-box-joy-ready:focus-within::before {
  opacity: 1;
  transform: scale(1);
  animation: dakBoxGlowDrift 3.6s ease-in-out infinite;
}

.dak-box-joy-ready > *:not(.dak-box-fun-icon):not(.dak-box-sparkle) {
  position: relative;
  z-index: 1;
}

.dak-box-fun-icon {
  position: absolute;
  right: 15px;
  top: 13px;
  z-index: 0;
  font-size: 22px;
  line-height: 1;
  opacity: 0;
  transform: translate3d(12px, -10px, 0) rotate(-10deg) scale(.72);
  transition: opacity .32s ease, transform .32s ease;
  pointer-events: none;
  filter: drop-shadow(0 8px 16px rgba(26,35,50,.12));
}

.dak-box-joy-ready:hover .dak-box-fun-icon,
.dak-box-joy-ready:focus-within .dak-box-fun-icon {
  opacity: .38;
  transform: translate3d(0, 0, 0) rotate(4deg) scale(1);
  animation: dakBoxIconFloat 2.8s ease-in-out infinite;
}

.dak-box-sparkle {
  position: absolute;
  width: 8px;
  height: 8px;
  left: 0;
  top: 0;
  margin: -4px 0 0 -4px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 3;
  background: radial-gradient(circle, #fff 0 25%, rgba(245,166,35,.86) 38%, rgba(0,188,212,.24) 72%, transparent 100%);
  box-shadow: 0 0 14px rgba(245,166,35,.36), 0 0 18px rgba(0,188,212,.18);
  animation: dakBoxSparkle .82s ease-out forwards;
}

@keyframes dakBoxSparkle {
  0% { opacity: .95; transform: translate3d(0,0,0) scale(.7) rotate(0deg); }
  100% { opacity: 0; transform: translate3d(var(--bx), var(--by), 0) scale(1.55) rotate(90deg); }
}

@keyframes dakBoxIconFloat {
  0%,100% { transform: translate3d(0,0,0) rotate(4deg) scale(1); }
  50% { transform: translate3d(-4px,5px,0) rotate(-5deg) scale(1.06); }
}

@keyframes dakBoxGlowDrift {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-12px,12px,0) scale(1.06); }
}


@keyframes dakSoftPulseCard {
  0%,100% { transform: translateY(-4px) scale(1.012); }
  50% { transform: translateY(-6px) scale(1.02); }
}

@keyframes dakSoftPulseGlow {
  0%,100% { opacity: .55; }
  50% { opacity: .92; }
}
@media (max-width: 900px), (hover:none), (pointer:coarse), (prefers-reduced-motion: reduce) {
  .dak-box-fun-icon,
  .dak-box-sparkle,
  .dak-box-joy-ready::before {
    display: none !important;
    animation: none !important;
  }
}

/* Cute professional motion INSIDE boxes only */
.dak-box-joy-ready { contain: paint; }

/* icon-only motion inside each box */
.dak-box-fun-icon {
  right: 14px;
  top: 12px;
  font-size: 18px;
  opacity: 0;
}

.dak-box-joy-ready:hover .dak-box-fun-icon,
.dak-box-joy-ready:focus-within .dak-box-fun-icon {
  opacity: .26;
}

.dak-box-joy-ready.faq-item .dak-box-fun-icon,
.faq-item .dak-box-fun-icon {
  right: 44px;
  top: 50%;
  transform: translate3d(10px,-50%,0) rotate(-8deg) scale(.72);
}

.dak-box-joy-ready.faq-item:hover .dak-box-fun-icon,
.dak-box-joy-ready.faq-item:focus-within .dak-box-fun-icon,
.faq-item:hover .dak-box-fun-icon,
.faq-item:focus-within .dak-box-fun-icon {
  transform: translate3d(0,-50%,0) rotate(4deg) scale(1);
  opacity: .20;
}

@media (max-width: 900px), (hover:none), (pointer:coarse), (prefers-reduced-motion: reduce) {
  .dak-box-fun-icon { display: none !important; }
}


/* Premium hero motion — dark sections */
.hero-left,
.page-hero,
.branch-hero,
.fyp-hero,
.fv-hero {
  --hero-mx: 50%;
  --hero-my: 50%;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero-left::before,
.page-hero::before,
.branch-hero::before,
.fyp-hero::before,
.fv-hero::before {
  animation: dakHeroGlowA 11s ease-in-out infinite alternate;
}

.hero-left::after,
.page-hero::after,
.branch-hero::after,
.fyp-hero::after,
.fv-hero::after {
  animation: dakHeroGlowB 13s ease-in-out infinite alternate;
}

.dak-hero-spotlight {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .72;
  background:
    radial-gradient(circle at var(--hero-mx) var(--hero-my), rgba(255,255,255,.085), rgba(0,188,212,.045) 18%, transparent 38%);
  transition: opacity .3s ease;
  mix-blend-mode: screen;
}

.dak-hero-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.dak-hero-particle {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(0,188,212,.48);
  box-shadow: 0 0 18px rgba(0,188,212,.28);
  opacity: .28;
  animation: dakHeroParticleFloat var(--hero-speed, 11s) ease-in-out infinite;
  animation-delay: var(--hero-delay, 0s);
}

.dak-hero-particle:nth-child(3n) {
  background: rgba(245,166,35,.52);
  box-shadow: 0 0 18px rgba(245,166,35,.22);
}

.dak-hero-particle:nth-child(4n) {
  background: rgba(255,255,255,.45);
  box-shadow: 0 0 16px rgba(255,255,255,.18);
}

.hero-left > *:not(.dak-hero-particles):not(.dak-hero-spotlight),
.page-hero > *:not(.dak-hero-particles):not(.dak-hero-spotlight),
.branch-hero > *:not(.dak-hero-particles):not(.dak-hero-spotlight),
.fyp-hero > *:not(.dak-hero-particles):not(.dak-hero-spotlight),
.fv-hero > *:not(.dak-hero-particles):not(.dak-hero-spotlight) {
  position: relative;
  z-index: 1;
}

.page-hero-badge,
.page-hero h1,
.page-hero p,
.branch-hero-badge,
.branch-hero h1,
.branch-hero p,
.fyp-hero-badge,
.fyp-hero h1,
.fyp-hero p,
.fyp-hero-meta,
.fv-hero h1,
.fv-hero p {
  animation: dakHeroTextRise .72s cubic-bezier(.22,.61,.36,1) both;
}

.page-hero h1,
.branch-hero h1,
.fyp-hero h1,
.fv-hero h1 { animation-delay: .08s; }
.page-hero p,
.branch-hero p,
.fyp-hero p,
.fv-hero p { animation-delay: .16s; }
.fyp-hero-meta { animation-delay: .24s; }

@keyframes dakHeroGlowA {
  0% { transform: translate3d(0,0,0) scale(1); opacity: .88; }
  50% { transform: translate3d(24px,18px,0) scale(1.08); opacity: 1; }
  100% { transform: translate3d(-16px,26px,0) scale(1.03); opacity: .8; }
}

@keyframes dakHeroGlowB {
  0% { transform: translate3d(0,0,0) scale(1); opacity: .82; }
  50% { transform: translate3d(-28px,-18px,0) scale(1.1); opacity: 1; }
  100% { transform: translate3d(18px,-24px,0) scale(1.04); opacity: .78; }
}

@keyframes dakHeroParticleFloat {
  0%,100% { transform: translate3d(0,0,0) scale(.8); opacity: .12; }
  22% { opacity: .42; }
  50% { transform: translate3d(var(--hero-dx, 28px), var(--hero-dy, -34px), 0) scale(1.2); opacity: .34; }
  78% { opacity: .22; }
}

@keyframes dakHeroTextRise {
  from { opacity: 0; transform: translate3d(0,18px,0); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@media (prefers-reduced-motion: reduce), (max-width: 760px) {
  .dak-hero-particles,
  .dak-hero-spotlight { display: none !important; }
  .hero-left::before,
  .hero-left::after,
  .page-hero::before,
  .page-hero::after,
  .branch-hero::before,
  .branch-hero::after,
  .fyp-hero::before,
  .fyp-hero::after,
  .fv-hero::before,
  .fv-hero::after,
  .page-hero-badge,
  .page-hero h1,
  .page-hero p,
  .branch-hero-badge,
  .branch-hero h1,
  .branch-hero p,
  .fyp-hero-badge,
  .fyp-hero h1,
  .fyp-hero p,
  .fyp-hero-meta,
  .fv-hero h1,
  .fv-hero p {
    animation: none !important;
  }
}

/* Global premium polish pack */
.dak-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 99999;
  pointer-events: none;
  background: linear-gradient(90deg, var(--teal), var(--yellow), var(--purple));
  box-shadow: 0 0 18px rgba(0,188,212,.34);
  transform-origin: left center;
  transition: width .08s linear;
}

.dak-page-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 22% 22%, rgba(0,188,212,.16), transparent 34%),
    radial-gradient(circle at 78% 78%, rgba(107,63,160,.18), transparent 38%),
    var(--navy);
  opacity: 1;
  visibility: visible;
  transition: opacity .55s ease, visibility .55s ease;
}
.dak-page-loader.is-done { opacity: 0; visibility: hidden; }
.dak-loader-card {
  display: grid;
  place-items: center;
  gap: 16px;
  padding: 28px 32px;
  border-radius: 24px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
  animation: dakLoaderRise .75s cubic-bezier(.22,.61,.36,1) both;
}
.dak-loader-logo {
  width: 124px;
  height: auto;
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  padding: 10px 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.dak-loader-ring {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.18);
  border-top-color: var(--teal);
  border-right-color: var(--yellow);
  animation: dakLoaderSpin .92s linear infinite;
}
.dak-loader-text {
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
@keyframes dakLoaderSpin { to { transform: rotate(360deg); } }
@keyframes dakLoaderRise { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.nav-links a {
  position: relative;
  overflow: hidden;
}
.nav-links a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--teal), var(--purple));
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  transition: transform .26s ease, opacity .26s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after {
  transform: scaleX(1);
  opacity: 1;
}
.nav-links a.active {
  background: rgba(0,188,212,.08);
}
body[dir="rtl"] .nav-links a::after { transform-origin: right center; }

img:not(.logo):not(.dak-loader-logo):not(.calendar-brand img) {
  transition: transform .45s cubic-bezier(.22,.61,.36,1), filter .45s ease;
}
.slide-img,
.branch-image img,
.campus-image img,
.facility-card img,
.programme-image img,
.image-card img {
  will-change: transform, filter;
}
.slide:hover .slide-img,
.branch-image:hover img,
.campus-image:hover img,
.facility-card:hover img,
.programme-image:hover img,
.image-card:hover img {
  transform: scale(1.035);
  filter: saturate(1.06) brightness(1.03);
}

.back-to-top {
  box-shadow: 0 18px 42px rgba(0,188,212,.24), 0 6px 16px rgba(26,35,50,.16);
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease;
}
.back-to-top.visible { animation: dakBackTopFloat 3.2s ease-in-out infinite; }
.back-to-top:hover {
  transform: translateY(-5px) scale(1.04);
  box-shadow: 0 22px 52px rgba(0,188,212,.32), 0 8px 20px rgba(26,35,50,.18);
}
@keyframes dakBackTopFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -4px; } }

.dak-section-dots {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.dak-section-dots.is-visible { opacity: 1; pointer-events: auto; }
.dak-section-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(26,35,50,.28);
  box-shadow: 0 4px 12px rgba(26,35,50,.18);
  cursor: pointer;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.dak-section-dot.is-active {
  background: var(--teal);
  transform: scale(1.55);
  box-shadow: 0 0 0 6px rgba(0,188,212,.12), 0 0 18px rgba(0,188,212,.32);
}
body[dir="rtl"] .dak-section-dots { right: auto; left: 18px; }

@media (max-width: 900px), (prefers-reduced-motion: reduce) {
  .dak-page-loader { display: none !important; }
  .dak-section-dots { display: none !important; }
  .back-to-top.visible,
  .dak-loader-ring,
  .dak-loader-card { animation: none !important; }
  img { transition: none !important; }
}


/* DAK WhatsApp left-side lock */
.wa-fab,
html[dir="rtl"] .wa-fab {
  left: 24px !important;
  right: auto !important;
}
.wa-menu,
html[dir="rtl"] .wa-menu {
  left: 24px !important;
  right: auto !important;
}
@media (max-width: 640px) {
  .wa-fab,
  html[dir="rtl"] .wa-fab {
    left: 18px !important;
    right: auto !important;
  }
  .wa-menu,
  html[dir="rtl"] .wa-menu {
    left: 12px !important;
    right: 12px !important;
  }
}

/* ── POLISHED CHILD JOURNEY SECTION ── */
.journey-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(0,188,212,.10), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(107,63,160,.10), transparent 34%),
    linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%);
}
.journey-section::before{
  content:"";
  position:absolute;
  inset:70px auto auto -120px;
  width:300px;
  height:300px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(0,188,212,.12), transparent 70%);
  pointer-events:none;
}
.journey-section::after{
  content:"";
  position:absolute;
  right:-140px;
  bottom:-160px;
  width:380px;
  height:380px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(107,63,160,.12), transparent 72%);
  pointer-events:none;
}
.journey-section .container{position:relative;z-index:1}
.journey-showcase{
  max-width:980px;
  margin:42px auto 40px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:stretch;
}
.journey-visual{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  padding:30px;
  min-height:242px;
  background:linear-gradient(135deg,var(--navy),#263a56 58%,#34275e);
  box-shadow:0 22px 58px rgba(26,35,50,.16);
  color:#fff;
  isolation:isolate;
}
.journey-visual::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(135deg,rgba(0,188,212,.22),transparent 42%,rgba(245,166,35,.12));
  opacity:.7;
  z-index:-1;
}
.journey-orbit{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(.2px);
}
.journey-orbit-one{
  width:210px;height:210px;right:-70px;top:-80px;
  background:radial-gradient(circle,rgba(0,188,212,.28),transparent 68%);
  animation:journeyOrbitOne 8s ease-in-out infinite;
}
.journey-orbit-two{
  width:180px;height:180px;left:-70px;bottom:-70px;
  background:radial-gradient(circle,rgba(245,166,35,.20),transparent 70%);
  animation:journeyOrbitTwo 9s ease-in-out infinite;
}
.journey-visual-kicker{
  position:relative;
  z-index:1;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.journey-path-card{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:20px;
  backdrop-filter:blur(8px);
}
.path-row{display:flex;align-items:center;gap:14px}
.path-row strong{display:block;font-family:'Playfair Display',serif;font-size:20px;line-height:1.1;color:#fff}
.path-row small{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.58);line-height:1.35}
.path-dot{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:13px;flex-shrink:0;box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.path-dot.start{background:var(--teal);color:var(--navy)}
.path-dot.middle{background:var(--purple);color:#fff}
.path-dot.finish{background:var(--yellow);color:var(--navy)}
.path-line{width:2px;height:28px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.38));margin:7px 0 7px 18px;border-radius:99px}
.journey-mini-badges{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.journey-mini-badges span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);font-size:11px;font-weight:800;color:rgba(255,255,255,.72)}
.journey-showcase .journey-form{
  max-width:none;
  margin:0;
  padding:30px;
  border-radius:26px;
  box-shadow:0 18px 52px rgba(26,35,50,.10);
  border:1px solid rgba(26,35,50,.08);
  position:relative;
  overflow:hidden;
}
.journey-showcase .journey-form::before{
  content:"";
  position:absolute;
  right:-70px;top:-70px;width:190px;height:190px;border-radius:999px;
  background:radial-gradient(circle,rgba(0,188,212,.12),transparent 68%);
  pointer-events:none;
}
.journey-form-head{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--gray-2)}
.journey-form-icon{width:42px;height:42px;border-radius:14px;background:rgba(107,63,160,.10);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.journey-form-head strong{display:block;font-family:'Playfair Display',serif;font-size:22px;line-height:1.15;color:var(--navy)}
.journey-form-head small{display:block;margin-top:5px;color:var(--text-muted);font-size:12.5px;line-height:1.45}
.journey-showcase .journey-inputs{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px;align-items:end}
.journey-showcase .journey-input-group{min-width:0}
.journey-showcase .journey-input-group input{height:54px;border-radius:13px;background:#fbfcfe}
.journey-showcase .btn{grid-column:1 / span 2;min-height:54px;border-radius:13px;box-shadow:0 12px 24px rgba(107,63,160,.20)}
body[dir="rtl"] .journey-form-head{text-align:right}
body[dir="rtl"] .path-line{margin-right:18px;margin-left:0}
@keyframes journeyOrbitOne{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-16px,16px,0) scale(1.06)}}
@keyframes journeyOrbitTwo{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(18px,-14px,0) scale(1.08)}}
@media(max-width:900px){.journey-showcase{grid-template-columns:1fr;max-width:680px}.journey-visual{min-height:auto}.journey-showcase .journey-inputs{grid-template-columns:1fr 1fr}.journey-showcase .journey-input-group:first-child{grid-column:1 / -1}.journey-showcase .btn{grid-column:1 / -1}}
@media(max-width:560px){.journey-showcase{margin-top:30px}.journey-visual,.journey-showcase .journey-form{padding:22px;border-radius:22px}.journey-showcase .journey-inputs{grid-template-columns:1fr}.journey-form-head strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.journey-orbit{animation:none!important}}


/* === Premium Journey Section Redesign === */
.journey-premium-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(0,188,212,.10), transparent 32%),
    radial-gradient(circle at 84% 78%, rgba(107,63,160,.10), transparent 34%),
    linear-gradient(180deg,#f6f8fb 0%,#eef3f7 100%);
}
.journey-premium-section::before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-160px;top:100px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,188,212,.16), transparent 65%);
  animation:journeyAmbientFloat 9s ease-in-out infinite;
  pointer-events:none;
}
.journey-premium-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.86fr);
  gap:0;
  max-width:1060px;
  margin:38px auto 0;
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(26,35,50,.08);
  box-shadow:0 28px 70px rgba(26,35,50,.11);
  backdrop-filter:blur(14px);
}
.journey-story-panel{
  position:relative;
  min-height:390px;
  padding:38px;
  color:#fff;
  background:linear-gradient(135deg,#172233 0%,#182a43 55%,#3b2870 100%);
  overflow:hidden;
}
.journey-story-glow{
  position:absolute;inset:auto -80px -90px auto;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle, rgba(0,188,212,.45), transparent 66%);
  filter:blur(4px);
  animation:journeyGlowMove 7s ease-in-out infinite;
}
.journey-story-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:34px}
.journey-story-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(0,188,212,.13);border:1px solid rgba(0,188,212,.28);color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.journey-story-icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:25px;box-shadow:0 16px 28px rgba(0,0,0,.14)}
.journey-story-panel h3{position:relative;max-width:470px;font-family:'Playfair Display',serif;font-size:34px;line-height:1.08;font-weight:900;margin:0 0 14px;color:#fff}
.journey-story-panel p{position:relative;max-width:520px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.70);margin:0 0 28px}
.journey-stage-flow{position:relative;display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch;gap:0;margin-top:24px}
.journey-stage{position:relative;min-height:118px;padding:17px 15px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .25s ease, background .25s ease}
.journey-stage:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
.journey-stage span{display:inline-flex;width:34px;height:34px;border-radius:12px;align-items:center;justify-content:center;background:rgba(0,188,212,.16);color:var(--teal);font-size:11px;font-weight:900;margin-bottom:13px}
.journey-stage strong{display:block;color:#fff;font-size:15px;margin-bottom:5px}
.journey-stage small{display:block;color:rgba(255,255,255,.58);font-size:12px;line-height:1.45}
.journey-stage.finish span{background:rgba(245,166,35,.18);color:var(--yellow)}
.journey-flow-line{align-self:center;height:2px;background:linear-gradient(90deg,rgba(0,188,212,.25),rgba(245,166,35,.45));position:relative}
.journey-flow-line::after{content:"";position:absolute;right:-2px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--yellow);transform:translateY(-50%);box-shadow:0 0 14px rgba(245,166,35,.55)}
.journey-pill-row{position:relative;display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.journey-pill-row span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:800;color:rgba(255,255,255,.76)}
.journey-form-panel{position:relative;padding:38px;background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)}
.journey-form-panel::before{content:"";position:absolute;left:0;top:38px;bottom:38px;width:1px;background:linear-gradient(180deg,transparent,rgba(26,35,50,.10),transparent)}
.journey-form-panel .journey-form-head{display:flex;align-items:center;gap:14px;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--gray-2)}
.journey-form-panel .journey-form-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--purple),#8d63cb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 14px 28px rgba(107,63,160,.23)}
.journey-form-panel .journey-form-head strong{display:block;color:var(--navy);font-size:18px;margin-bottom:4px}
.journey-form-panel .journey-form-head small{display:block;color:var(--text-muted);line-height:1.5}
.journey-premium-inputs{display:grid;grid-template-columns:1fr 120px 120px;gap:14px;align-items:end}
.journey-premium-inputs .wide{grid-column:1 / -1}
.journey-premium-inputs .journey-input-group{min-width:0;display:flex;flex-direction:column;gap:8px}
.journey-premium-inputs label{font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--navy)}
.journey-premium-inputs input{height:54px;border-radius:15px;padding:0 16px;background:#fff;border:1.5px solid #dfe7ee;box-shadow:0 8px 22px rgba(26,35,50,.04);transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
.journey-premium-inputs input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(0,188,212,.12);transform:translateY(-1px)}
.journey-premium-btn{grid-column:1 / -1;height:56px;border-radius:16px;justify-content:center;font-size:15px;box-shadow:0 14px 30px rgba(107,63,160,.22)}
.journey-premium-result{margin-top:34px;border:1px solid rgba(26,35,50,.07)}
body[dir="rtl"] .journey-premium-inputs label{text-align:right}
body[dir="rtl"] .journey-form-panel::before{left:auto;right:0}
body[dir="rtl"] .journey-flow-line::after{right:auto;left:-2px}
@keyframes journeyAmbientFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-24px,28px,0) scale(1.08)}}
@keyframes journeyGlowMove{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-30px,-20px,0)}}
@media(max-width:980px){.journey-premium-card{grid-template-columns:1fr}.journey-form-panel::before{display:none}.journey-story-panel{min-height:auto}.journey-stage-flow{grid-template-columns:1fr;gap:12px}.journey-flow-line{height:28px;width:2px;margin:auto;background:linear-gradient(180deg,rgba(0,188,212,.25),rgba(245,166,35,.45))}.journey-flow-line::after{right:auto;left:50%;top:auto;bottom:-2px;transform:translateX(-50%)}}
@media(max-width:620px){.journey-story-panel,.journey-form-panel{padding:24px}.journey-story-panel h3{font-size:28px}.journey-premium-card{border-radius:22px}.journey-premium-inputs{grid-template-columns:1fr 1fr}.journey-premium-inputs .wide,.journey-premium-btn{grid-column:1 / -1}}
@media(prefers-reduced-motion:reduce){.journey-premium-section::before,.journey-story-glow{animation:none!important}}

/* Glowing Journey Path Redesign */
.journey-premium-card{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);
}
.journey-story-panel{
  min-height:470px;
  padding:42px 42px 36px;
}
.glowing-journey-path{
  position:relative;
  min-height:235px;
  margin-top:18px;
  border-radius:28px;
  background:
    radial-gradient(circle at 16% 78%, rgba(0,188,212,.18), transparent 22%),
    radial-gradient(circle at 52% 52%, rgba(255,255,255,.07), transparent 26%),
    radial-gradient(circle at 86% 22%, rgba(245,166,35,.18), transparent 24%);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.glowing-journey-path::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.22) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(0,188,212,.18) 0 1px, transparent 1.5px);
  background-size:46px 46px, 72px 72px;
  background-position:0 0, 18px 28px;
  opacity:.28;
  animation:journeyStarDrift 10s linear infinite;
}
.journey-road{
  position:absolute;
  inset:16px 18px 18px;
  width:calc(100% - 36px);
  height:calc(100% - 34px);
  overflow:visible;
}
.journey-road path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.journey-road-shadow{
  stroke:rgba(255,255,255,.12);
  stroke-width:18;
  filter:blur(6px);
}
.journey-road-line{
  stroke:url(#dummy);
  stroke-width:4;
  stroke-dasharray:9 12;
  animation:journeyDashMove 9s linear infinite;
}
.journey-road-line{
  stroke:rgba(0,188,212,.85);
  filter:drop-shadow(0 0 12px rgba(0,188,212,.42));
}
.journey-road-step{
  position:absolute;
  width:150px;
  padding:13px 13px 14px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 16px 28px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
  z-index:2;
  transition:transform .28s ease, background .28s ease, border-color .28s ease;
}
.journey-road-step:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.14);
  border-color:rgba(0,188,212,.38);
}
.journey-road-step .road-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(0,188,212,.22), rgba(255,255,255,.11));
  margin-bottom:10px;
  font-size:18px;
  box-shadow:0 0 22px rgba(0,188,212,.16);
}
.journey-road-step strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:900;
  margin-bottom:4px;
}
.journey-road-step small{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:11.5px;
  line-height:1.35;
}
.step-start{left:22px;bottom:22px;}
.step-grow{left:50%;top:50%;transform:translate(-50%,-50%);}
.step-grow:hover{transform:translate(-50%,-54%);}
.step-grad{right:22px;top:22px;}
.journey-moving-light{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:999px;
  background:var(--yellow);
  box-shadow:0 0 16px rgba(245,166,35,.85), 0 0 34px rgba(0,188,212,.35);
  z-index:3;
  offset-path:path('M42 158 C145 40 230 38 310 112 C392 188 490 176 578 48');
  offset-rotate:0deg;
  animation:journeyLightTravel 7s ease-in-out infinite;
  transform:translate(18px,16px);
}
.journey-path-pills{
  justify-content:center;
  margin-top:18px;
}
@keyframes journeyDashMove{to{stroke-dashoffset:-210}}
@keyframes journeyLightTravel{0%{offset-distance:0%;opacity:.25}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:.25}}
@keyframes journeyStarDrift{to{background-position:46px 46px, 90px 100px}}
body[dir="rtl"] .step-start{left:auto;right:22px}
body[dir="rtl"] .step-grad{right:auto;left:22px}
@media(max-width:980px){
  .journey-story-panel{min-height:auto;padding:32px}
  .glowing-journey-path{min-height:330px}
  .journey-road{display:none}
  .journey-moving-light{display:none}
  .journey-road-step{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:auto;margin:14px;display:flex;align-items:center;gap:12px}
  .journey-road-step .road-icon{margin-bottom:0;flex:0 0 38px}
}
@media(max-width:620px){.journey-story-panel{padding:24px}.glowing-journey-path{min-height:auto;padding:8px 0}.journey-road-step{margin:10px}}
@media(prefers-reduced-motion:reduce){.journey-road-line,.journey-moving-light,.glowing-journey-path::before{animation:none!important}}


/* Premium Guided Path Tools */
.path-tools-section {
  position: relative;
  padding: 88px 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(0,188,212,.10), transparent 34%),
    radial-gradient(circle at 90% 90%, rgba(107,63,160,.10), transparent 35%),
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);
  overflow: hidden;
}
.path-tools-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(26,35,50,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(26,35,50,.035) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at center, #000 0 34%, transparent 72%);
  pointer-events: none;
}
.path-tools-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 34px;
  align-items: stretch;
  max-width: 1120px;
  margin: 0 auto;
  padding: 28px;
  border-radius: 34px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(26,35,50,.08);
  box-shadow: 0 26px 70px rgba(26,35,50,.08);
  backdrop-filter: blur(14px);
  overflow: hidden;
  isolation: isolate;
}
.path-tools-panel::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -170px;
  top: -190px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0,188,212,.20), transparent 66%);
  z-index: -1;
  animation: pathGlowDrift 9s ease-in-out infinite;
}
.path-tools-panel::after {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  left: -190px;
  bottom: -210px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(107,63,160,.16), transparent 66%);
  z-index: -1;
  animation: pathGlowDrift 10s ease-in-out infinite reverse;
}
.path-tools-intro {
  min-height: 420px;
  border-radius: 26px;
  padding: 38px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(26,35,50,.94), rgba(32,48,75,.90)),
    radial-gradient(circle at 18% 18%, rgba(0,188,212,.28), transparent 38%),
    radial-gradient(circle at 88% 86%, rgba(107,63,160,.30), transparent 42%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.path-tools-intro::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  pointer-events: none;
}
.path-tools-intro .section-label {
  width: fit-content;
  color: var(--teal);
  border-color: rgba(0,188,212,.34);
  background: rgba(0,188,212,.10);
  margin-bottom: 22px;
}
.path-tools-intro h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 4.2vw, 58px);
  line-height: .98;
  font-weight: 900;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -.03em;
}
.path-tools-intro p {
  color: rgba(255,255,255,.74);
  line-height: 1.85;
  font-size: 16px;
  max-width: 440px;
  margin: 0;
}
.path-tools-route {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 34px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.path-tools-route i {
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, var(--teal), rgba(255,255,255,.20));
  display: inline-block;
}
.path-tools-grid {
  display: grid;
  gap: 18px;
}
.path-tool-card {
  position: relative;
  min-height: 198px;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  column-gap: 22px;
  align-items: center;
  padding: 30px;
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(26,35,50,.08);
  box-shadow: 0 18px 44px rgba(26,35,50,.07);
  text-decoration: none;
  color: var(--navy);
  overflow: hidden;
  transition: transform .32s cubic-bezier(.22,.61,.36,1), box-shadow .32s ease, border-color .32s ease;
}
.path-tool-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .08;
  background: linear-gradient(135deg, var(--teal), transparent 46%);
  pointer-events: none;
}
.path-tool-card.purple::before { background: linear-gradient(135deg, var(--purple), transparent 48%); }
.path-tool-card::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--teal), var(--purple));
  opacity: .8;
}
.path-tool-card:hover {
  transform: translateY(-6px) scale(1.01);
  border-color: rgba(0,188,212,.24);
  box-shadow: 0 26px 64px rgba(26,35,50,.12);
}
.path-tool-index {
  grid-row: 1 / 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 900;
  color: var(--teal-dark);
  background: rgba(0,188,212,.13);
  border: 1px solid rgba(0,188,212,.24);
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.52);
}
.path-tool-card.purple .path-tool-index {
  color: var(--purple);
  background: rgba(107,63,160,.11);
  border-color: rgba(107,63,160,.22);
}
.path-tool-icon {
  grid-column: 3;
  grid-row: 1 / 4;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--navy);
  font-size: 22px;
  box-shadow: 0 16px 34px rgba(26,35,50,.16);
  transition: transform .3s ease;
}
.path-tool-card:hover .path-tool-icon { transform: rotate(8deg) scale(1.06); }
.path-tool-card h3 {
  grid-column: 2;
  font-family: 'Playfair Display', serif;
  font-size: clamp(25px, 2.4vw, 34px);
  line-height: 1.05;
  font-weight: 900;
  color: var(--navy);
  margin: 0 0 10px;
}
.path-tool-card p {
  grid-column: 2;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--text-muted);
  margin: 0 0 18px;
}
.path-tool-action {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 11px 15px;
  border-radius: 999px;
  font-weight: 900;
  color: var(--navy);
  background: rgba(0,188,212,.12);
  border: 1px solid rgba(0,188,212,.22);
}
.path-tool-card.purple .path-tool-action {
  background: rgba(107,63,160,.10);
  border-color: rgba(107,63,160,.20);
}
.path-tool-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #fff;
  background: var(--navy);
  transition: transform .25s ease;
}
.path-tool-card:hover .path-tool-arrow { transform: translateX(4px); }
body[dir="rtl"] .path-tools-panel { direction: rtl; }
body[dir="rtl"] .path-tools-panel::before { right: auto; left: -170px; }
body[dir="rtl"] .path-tools-panel::after { left: auto; right: -190px; }
body[dir="rtl"] .path-tool-card { grid-template-columns: auto minmax(0, 1fr) 74px; }
body[dir="rtl"] .path-tool-index { grid-column: 3; }
body[dir="rtl"] .path-tool-icon { grid-column: 1; }
body[dir="rtl"] .path-tool-card h3,
body[dir="rtl"] .path-tool-card p,
body[dir="rtl"] .path-tool-action { grid-column: 2; }
body[dir="rtl"] .path-tool-card:hover .path-tool-arrow { transform: translateX(-4px); }
@keyframes pathGlowDrift {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-18px,14px,0) scale(1.06); }
}
@media (max-width: 960px) {
  .path-tools-panel { grid-template-columns: 1fr; padding: 18px; }
  .path-tools-intro { min-height: auto; padding: 32px; }
}
@media (max-width: 620px) {
  .path-tools-section { padding: 62px 0; }
  .path-tool-card { grid-template-columns: 1fr; gap: 14px; padding: 26px; }
  .path-tool-index,
  .path-tool-icon,
  .path-tool-card h3,
  .path-tool-card p,
  .path-tool-action { grid-column: 1 !important; grid-row: auto; }
  .path-tool-icon { position: absolute; top: 24px; right: 24px; width: 44px; height: 44px; }
  body[dir="rtl"] .path-tool-icon { right: auto; left: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .path-tools-panel::before,
  .path-tools-panel::after { animation: none !important; }
}


/* Compact premium redesign: Discover Your Child's Path */
.path-tools-section {
  padding: 64px 0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(0,188,212,.10), transparent 30%),
    radial-gradient(circle at 88% 100%, rgba(107,63,160,.08), transparent 34%),
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%) !important;
}
.path-tools-section::before { opacity: .45; }
.path-tools-panel {
  display: block !important;
  max-width: 1060px !important;
  padding: 34px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 20px 56px rgba(26,35,50,.075) !important;
}
.path-tools-panel::before {
  width: 260px !important;
  height: 260px !important;
  right: -80px !important;
  top: -100px !important;
  opacity: .82;
}
.path-tools-panel::after {
  width: 260px !important;
  height: 260px !important;
  left: -90px !important;
  bottom: -120px !important;
  opacity: .72;
}
.path-tools-intro {
  min-height: auto !important;
  padding: 0 0 26px !important;
  color: var(--navy) !important;
  background: transparent !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 28px !important;
  align-items: end !important;
  border-bottom: 1px solid rgba(26,35,50,.08);
  overflow: visible !important;
}
.path-tools-intro::before { display: none !important; }
.path-tools-intro .section-label {
  grid-column: 1;
  margin: 0 0 12px !important;
  color: var(--teal-dark) !important;
  background: rgba(0,188,212,.10) !important;
  border-color: rgba(0,188,212,.25) !important;
}
.path-tools-intro h2 {
  grid-column: 1;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.02 !important;
  margin: 0 0 10px !important;
  max-width: 640px;
}
.path-tools-intro p {
  grid-column: 1;
  color: var(--text-muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 580px !important;
}
.path-tools-route {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  margin-top: 0 !important;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(26,35,50,.04);
  border: 1px solid rgba(26,35,50,.07);
  color: rgba(26,35,50,.70) !important;
  white-space: nowrap;
}
.path-tools-route i {
  width: 28px !important;
  background: linear-gradient(90deg, var(--teal), var(--purple)) !important;
}
.path-tools-grid {
  margin-top: 26px;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px !important;
}
.path-tool-card {
  min-height: 190px !important;
  grid-template-columns: 56px minmax(0,1fr) 46px !important;
  column-gap: 18px !important;
  padding: 26px !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 36px rgba(26,35,50,.065) !important;
  background: rgba(255,255,255,.94) !important;
}
.path-tool-card::before {
  opacity: .10 !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(0,188,212,.30), transparent 36%),
    linear-gradient(135deg, rgba(0,188,212,.10), transparent 50%) !important;
}
.path-tool-card.purple::before {
  background:
    radial-gradient(circle at 8% 15%, rgba(107,63,160,.20), transparent 36%),
    linear-gradient(135deg, rgba(107,63,160,.10), transparent 50%) !important;
}
.path-tool-card::after { left: 20px !important; right: 20px !important; height: 3px !important; }
.path-tool-index {
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  font-size: 18px !important;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.60) !important;
}
.path-tool-icon {
  width: 44px !important;
  height: 44px !important;
  font-size: 18px !important;
  box-shadow: 0 12px 24px rgba(26,35,50,.14) !important;
}
.path-tool-card h3 {
  font-size: clamp(25px, 2.2vw, 32px) !important;
  margin-bottom: 8px !important;
}
.path-tool-card p {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 16px !important;
}
.path-tool-action {
  padding: 10px 14px !important;
  font-size: 13px;
}
.path-tool-arrow { width: 23px !important; height: 23px !important; }
body[dir="rtl"] .path-tools-intro { grid-template-columns: auto minmax(0, 1fr) !important; }
body[dir="rtl"] .path-tools-intro .section-label,
body[dir="rtl"] .path-tools-intro h2,
body[dir="rtl"] .path-tools-intro p { grid-column: 2; }
body[dir="rtl"] .path-tools-route { grid-column: 1; }
body[dir="rtl"] .path-tools-panel::before { right: auto !important; left: -80px !important; }
body[dir="rtl"] .path-tools-panel::after { left: auto !important; right: -90px !important; }
@media (max-width: 980px) {
  .path-tools-panel { padding: 24px !important; }
  .path-tools-intro { display: block !important; }
  .path-tools-route { margin-top: 18px !important; width: fit-content; }
  .path-tools-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .path-tools-section { padding: 50px 0 !important; }
  .path-tools-panel { padding: 18px !important; border-radius: 22px !important; }
  .path-tool-card { grid-template-columns: 1fr !important; min-height: auto !important; padding: 24px !important; }
  .path-tool-icon { position: absolute; top: 22px; right: 22px; }
  body[dir="rtl"] .path-tool-icon { right: auto; left: 22px; }
  .path-tools-route { white-space: normal; }
}

/* Elegant animated redesign: Discover Your Child's Path */
.path-tools-section {
  position: relative;
  padding: 70px 0 !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(0,188,212,.14), transparent 30%),
    radial-gradient(circle at 92% 92%, rgba(107,63,160,.16), transparent 34%),
    linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%) !important;
  overflow: hidden;
}

.path-tools-panel {
  position: relative;
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  gap: 22px !important;
  max-width: 1110px !important;
  padding: 26px !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    linear-gradient(135deg, rgba(16,28,45,.98), rgba(31,37,72,.96) 48%, rgba(78,46,126,.94)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 28px 70px rgba(26,35,50,.18) !important;
}

.path-tools-panel::before {
  content: "" !important;
  position: absolute !important;
  width: 420px !important;
  height: 420px !important;
  right: -160px !important;
  top: -180px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(0,188,212,.34), rgba(0,188,212,.12) 38%, transparent 70%) !important;
  opacity: .95 !important;
  animation: pathToolsGlowOne 8s ease-in-out infinite !important;
  pointer-events: none !important;
}

.path-tools-panel::after {
  content: "" !important;
  position: absolute !important;
  width: 360px !important;
  height: 360px !important;
  left: -145px !important;
  bottom: -170px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(245,166,35,.20), rgba(107,63,160,.18) 42%, transparent 72%) !important;
  opacity: .9 !important;
  animation: pathToolsGlowTwo 9s ease-in-out infinite !important;
  pointer-events: none !important;
}

.path-tools-intro {
  position: relative !important;
  z-index: 1 !important;
  min-height: 0 !important;
  padding: 38px 34px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  color: #fff !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 26px !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
  overflow: hidden !important;
}

.path-tools-intro::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.20) 1px, transparent 1.5px),
    linear-gradient(120deg, transparent 0%, rgba(0,188,212,.10) 45%, transparent 70%);
  background-size: 34px 34px, 100% 100%;
  opacity: .18 !important;
  animation: pathToolsParticles 14s linear infinite !important;
  pointer-events: none !important;
}

.path-tools-intro .section-label {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 16px !important;
  color: var(--teal) !important;
  background: rgba(0,188,212,.12) !important;
  border: 1px solid rgba(0,188,212,.34) !important;
}

.path-tools-intro h2 {
  position: relative !important;
  z-index: 1 !important;
  color: #fff !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.02 !important;
  margin: 0 0 16px !important;
  max-width: 560px !important;
}

.path-tools-intro p {
  position: relative !important;
  z-index: 1 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  max-width: 500px !important;
}

.path-tools-route {
  position: relative !important;
  z-index: 1 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin-top: 28px !important;
  padding: 11px 14px !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.path-tools-route i {
  width: 34px !important;
  background: linear-gradient(90deg, var(--teal), rgba(255,255,255,.22), var(--purple)) !important;
  animation: pathRoutePulse 2.8s ease-in-out infinite !important;
}

.path-tools-grid {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}

.path-tool-card {
  position: relative !important;
  min-height: 0 !important;
  padding: 28px !important;
  border-radius: 24px !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) 48px !important;
  column-gap: 18px !important;
  align-items: center !important;
  background: rgba(255,255,255,.93) !important;
  border: 1px solid rgba(255,255,255,.70) !important;
  box-shadow: 0 18px 42px rgba(3,10,20,.16) !important;
  overflow: hidden !important;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}

.path-tool-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 26px 56px rgba(3,10,20,.22) !important;
  border-color: rgba(0,188,212,.34) !important;
}

.path-tool-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(0,188,212,.14), transparent 42%),
    linear-gradient(90deg, rgba(0,188,212,.055), transparent 48%) !important;
  pointer-events: none !important;
}

.path-tool-card.purple::before {
  background:
    radial-gradient(circle at 0% 0%, rgba(107,63,160,.14), transparent 42%),
    linear-gradient(90deg, rgba(107,63,160,.055), transparent 48%) !important;
}

.path-tool-card::after {
  content: "" !important;
  position: absolute !important;
  left: 26px !important;
  right: 26px !important;
  bottom: 0 !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--teal), #5574c9, var(--purple)) !important;
  transform: scaleX(.42) !important;
  transform-origin: left !important;
  transition: transform .45s ease !important;
}

.path-tool-card:hover::after { transform: scaleX(1) !important; }

.path-tool-index {
  position: relative !important;
  z-index: 1 !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 17px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  color: var(--teal-dark) !important;
  background: rgba(0,188,212,.12) !important;
  border: 1px solid rgba(0,188,212,.26) !important;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.58) !important;
}

.path-tool-card.purple .path-tool-index {
  color: var(--purple) !important;
  background: rgba(107,63,160,.10) !important;
  border-color: rgba(107,63,160,.25) !important;
}

.path-tool-card h3 {
  position: relative !important;
  z-index: 1 !important;
  color: var(--navy) !important;
  font-size: clamp(25px, 2.45vw, 36px) !important;
  line-height: 1.06 !important;
  margin: 0 0 10px !important;
}

.path-tool-card p {
  position: relative !important;
  z-index: 1 !important;
  color: var(--text-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  max-width: 460px !important;
  margin: 0 0 16px !important;
}

.path-tool-icon {
  position: relative !important;
  z-index: 1 !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--navy) !important;
  box-shadow: 0 14px 28px rgba(26,35,50,.18) !important;
}

.path-tool-action {
  position: relative !important;
  z-index: 1 !important;
  grid-column: 2 !important;
  width: fit-content !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}

@keyframes pathToolsGlowOne {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-28px,30px,0) scale(1.08); }
}
@keyframes pathToolsGlowTwo {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(34px,-24px,0) scale(1.06); }
}
@keyframes pathToolsParticles {
  from { background-position: 0 0, 0 0; }
  to { background-position: 68px 68px, 0 0; }
}
@keyframes pathRoutePulse {
  0%,100% { opacity: .55; transform: scaleX(.8); }
  50% { opacity: 1; transform: scaleX(1.08); }
}

body[dir="rtl"] .path-tools-panel { direction: rtl; }
body[dir="rtl"] .path-tool-card { grid-template-columns: 48px minmax(0,1fr) 58px !important; }
body[dir="rtl"] .path-tool-index { grid-column: 3; }
body[dir="rtl"] .path-tool-icon { grid-column: 1; }
body[dir="rtl"] .path-tool-action { grid-column: 2 !important; }
body[dir="rtl"] .path-tool-card::after { transform-origin: right !important; }

@media (max-width: 980px) {
  .path-tools-panel { grid-template-columns: 1fr !important; padding: 20px !important; }
  .path-tools-intro { padding: 30px !important; }
}
@media (max-width: 620px) {
  .path-tools-section { padding: 50px 0 !important; }
  .path-tools-panel { border-radius: 24px !important; }
  .path-tool-card,
  body[dir="rtl"] .path-tool-card {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }
  .path-tool-icon { position: absolute !important; top: 22px !important; right: 22px !important; }
  body[dir="rtl"] .path-tool-icon { right: auto !important; left: 22px !important; }
  .path-tool-action { grid-column: 1 !important; }
}


/* ── PREMIUM SCHOOL APPS SECTION ── */
.premium-apps-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(0,188,212,.16), transparent 30%),
    radial-gradient(circle at 88% 82%, rgba(107,63,160,.20), transparent 32%),
    linear-gradient(135deg, #111d2d 0%, #243142 100%);
  padding: 86px 48px;
}
.premium-apps-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at 50% 35%, black, transparent 75%);
  pointer-events: none;
}
.premium-apps-section::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  right: -110px;
  top: 45px;
  background: radial-gradient(circle, rgba(0,188,212,.16), transparent 66%);
  animation: premiumAppsGlow 7s ease-in-out infinite;
  pointer-events: none;
}
.apps-section-head {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 760px;
  margin: 0 auto 38px;
}
.premium-apps-section .section-title {
  color: #fff !important;
  font-size: clamp(32px, 4vw, 54px);
  margin: 10px 0 12px;
}
.premium-apps-section .section-sub {
  color: rgba(255,255,255,.68) !important;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.apps-showcase {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 26px;
  max-width: 1160px;
  margin: 0 auto;
}
.premium-app-card {
  position: relative;
  min-height: 350px;
  padding: 34px;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.125), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.premium-app-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.10) 42%, transparent 72%);
  transform: translateX(-110%);
  transition: transform .75s ease;
  pointer-events: none;
}
.premium-app-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0,188,212,.34);
  box-shadow: 0 30px 84px rgba(0,0,0,.26), 0 0 42px rgba(0,188,212,.10);
}
.premium-app-card:hover::before { transform: translateX(110%); }
.app-card-glow {
  position: absolute;
  width: 230px;
  height: 230px;
  right: -75px;
  top: -85px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0,188,212,.24), transparent 66%);
  opacity: .72;
  pointer-events: none;
  animation: appCardGlow 6s ease-in-out infinite;
}
.bus-card .app-card-glow {
  background: radial-gradient(circle, rgba(107,63,160,.28), transparent 66%);
}
.app-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 42px;
}
.premium-app-card .app-icon-wrap {
  width: 76px;
  height: 76px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  font-size: 34px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 18px 30px rgba(0,0,0,.14);
}
.app-badge {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--teal);
  background: rgba(0,188,212,.10);
  border: 1px solid rgba(0,188,212,.22);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.premium-app-card .app-name {
  font-size: clamp(27px, 2.6vw, 38px);
  margin-bottom: 12px;
}
.premium-app-card .app-desc {
  max-width: 560px;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255,255,255,.70);
}
.app-feature-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 24px;
}
.app-feature-row span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.76);
  font-size: 12px;
  font-weight: 800;
}
.premium-app-card .app-btns { margin-top: auto; }
.premium-app-card .store-btn {
  border-radius: 16px;
  min-width: 190px;
  box-shadow: 0 14px 28px rgba(0,0,0,.16);
}
.premium-app-card .store-btn.google {
  background: linear-gradient(135deg, var(--teal), #11a9d6);
}
@keyframes premiumAppsGlow { 0%,100% { transform: translate3d(0,0,0) scale(1); opacity:.70; } 50% { transform: translate3d(-28px,22px,0) scale(1.08); opacity:.92; } }
@keyframes appCardGlow { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-18px,24px,0) scale(1.08); } }
@media(max-width:900px){
  .premium-apps-section { padding: 68px 20px; }
  .apps-showcase { grid-template-columns: 1fr; }
  .premium-app-card { min-height: auto; padding: 28px; }
  .premium-app-card .app-btns { flex-direction: column; }
  .premium-app-card .store-btn { width: 100%; min-width: 0; }
}

/* ── DAK ASSISTANT PREMIUM REFINEMENT ── */
.dak-ai-bubble{
  width:70px !important;
  height:70px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#7b4bc2 0%,#5b3297 56%,#10bfd0 145%) !important;
  box-shadow:0 18px 42px rgba(107,63,160,.34),0 0 0 8px rgba(107,63,160,.08) !important;
  animation:dakBotSoftFloat 4.5s ease-in-out infinite !important;
  overflow:visible !important;
}
.dak-ai-bubble::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,0) 42%,rgba(0,188,212,.22));
  pointer-events:none;
}
.dak-ai-bubble::after{
  content:"";
  position:absolute;
  right:10px;
  top:10px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#18d36b;
  border:2px solid #fff;
  box-shadow:0 0 12px rgba(24,211,107,.75);
}
.dak-ai-bubble .dak-bot-mark{
  position:relative;
  z-index:1;
  filter:drop-shadow(0 8px 16px rgba(26,35,50,.22));
  transition:transform .28s ease;
}
.dak-ai-bubble:hover{
  transform:translateY(-5px) scale(1.055) !important;
  box-shadow:0 22px 52px rgba(107,63,160,.42),0 0 0 10px rgba(0,188,212,.08) !important;
}
.dak-ai-bubble:hover .dak-bot-mark{transform:rotate(-3deg) scale(1.04)}
@keyframes dakBotSoftFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

.dak-ai-chat{
  width:390px !important;
  max-height:560px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(26,35,50,.08) !important;
  box-shadow:0 28px 80px rgba(26,35,50,.22),0 0 0 1px rgba(255,255,255,.62) inset !important;
  backdrop-filter:blur(18px);
}
.dak-ai-header{
  background:linear-gradient(135deg,#162235 0%,#6B3FA0 100%) !important;
  padding:18px 20px !important;
  min-height:86px;
  position:relative;
  overflow:hidden;
}
.dak-ai-header::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-105px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,188,212,.32),transparent 62%);
  pointer-events:none;
}
.dak-ai-avatar{
  width:42px !important;
  height:42px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.dak-ai-avatar svg{display:none !important;}
.dak-ai-avatar::before{
  content:"";
  width:24px;
  height:20px;
  border-radius:9px;
  background:#fff;
  box-shadow:0 -6px 0 -3px #fff;
  display:block;
  position:relative;
}
.dak-ai-avatar::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  border-radius:999px;
  background:#6B3FA0;
  box-shadow:9px 0 0 #6B3FA0,4.5px 8px 0 -1px #6B3FA0;
}
.dak-ai-name{font-size:15px !important;font-weight:800 !important;letter-spacing:.01em;}
.dak-ai-status{font-size:12px !important;color:rgba(255,255,255,.78) !important;}
.dak-ai-close{
  width:34px;height:34px;border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.78) !important;
  font-size:17px !important;
  position:relative;z-index:1;
}
.dak-ai-close:hover{background:rgba(255,255,255,.18) !important;color:#fff !important;}
.dak-ai-messages{
  padding:18px !important;
  background:linear-gradient(180deg,#f9fbfd 0%,#fff 100%);
}
.dak-msg{
  font-size:14px !important;
  line-height:1.65 !important;
  padding:13px 16px !important;
  border-radius:18px !important;
}
.dak-msg-bot{
  background:#f3f6fa !important;
  color:#162235 !important;
  border:1px solid rgba(26,35,50,.05);
  border-bottom-left-radius:7px !important;
}
.dak-msg-user{
  background:linear-gradient(135deg,#6B3FA0,#7d55bd) !important;
  border-bottom-right-radius:7px !important;
  box-shadow:0 10px 20px rgba(107,63,160,.20);
}
.dak-ai-suggestions{
  padding:12px 16px 10px !important;
  gap:8px !important;
  background:#fff;
  border-top:1px solid rgba(26,35,50,.07) !important;
}
.dak-ai-suggestions button{
  background:#f4f6fa !important;
  border:1px solid rgba(26,35,50,.06) !important;
  padding:7px 12px !important;
  font-size:12px !important;
  font-weight:650;
}
.dak-ai-suggestions button:hover{
  background:rgba(0,188,212,.12) !important;
  border-color:rgba(0,188,212,.24) !important;
  color:#006876 !important;
}
.dak-ai-input-row{
  padding:12px 16px 16px !important;
  background:#fff;
  border-top:1px solid rgba(26,35,50,.07) !important;
}
.dak-ai-input-row input{
  height:46px;
  border-radius:16px !important;
  background:#fff !important;
  border:1.5px solid rgba(26,35,50,.10) !important;
  font-size:14px !important;
}
.dak-ai-input-row input:focus{
  border-color:rgba(107,63,160,.55) !important;
  box-shadow:0 0 0 4px rgba(107,63,160,.08);
}
.dak-send-btn{
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#6B3FA0,#7d55bd) !important;
  box-shadow:0 10px 22px rgba(107,63,160,.22);
}
.dak-send-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#7d55bd,#6B3FA0) !important;}
@media(max-width:600px){
  .dak-ai-chat{width:calc(100vw - 24px) !important;right:12px !important;bottom:140px !important;border-radius:24px !important;}
  .dak-ai-bubble{right:14px !important;bottom:82px !important;width:64px !important;height:64px !important;border-radius:22px !important;}
}


/* ── PROFESSIONAL DAK ASSISTANT BUBBLE ── */
.dak-ai-bubble{
  width:64px !important;
  height:64px !important;
  border-radius:22px !important;
  right:30px !important;
  bottom:88px !important;
  background:linear-gradient(145deg,#142136 0%,#243651 48%,#6B3FA0 100%) !important;
  box-shadow:0 18px 42px rgba(26,35,50,.28),0 0 0 1px rgba(255,255,255,.10) inset !important;
  animation:dakAssistantFloat 4.8s ease-in-out infinite !important;
  overflow:hidden !important;
}
.dak-ai-bubble::before{
  content:"AI";
  position:absolute;
  inset:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  background:
    radial-gradient(circle at 30% 20%, rgba(0,188,212,.25), transparent 38%),
    rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-family:"DM Sans",sans-serif;
  font-size:17px;
  font-weight:900;
  letter-spacing:.04em;
  z-index:1;
}
.dak-ai-bubble::after{
  content:"";
  position:absolute;
  right:10px;
  top:10px;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#22d889;
  border:2px solid #fff;
  box-shadow:0 0 14px rgba(34,216,137,.75);
  z-index:2;
}
.dak-ai-bubble .dak-bot-mark,
.dak-ai-bubble svg{
  display:none !important;
}
.dak-ai-bubble:hover{
  transform:translateY(-5px) scale(1.045) !important;
  box-shadow:0 24px 58px rgba(26,35,50,.35),0 0 0 8px rgba(0,188,212,.08) !important;
}
@keyframes dakAssistantFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@media(max-width:640px){
  .dak-ai-bubble{right:18px !important;bottom:86px !important;width:58px !important;height:58px !important;border-radius:20px !important;}
  .dak-ai-bubble::before{font-size:15px;inset:10px;border-radius:15px;}
}

/* ── RESTORE CLASSIC BOT BUBBLE + CLEANER CHAT AVATAR ── */
.dak-ai-bubble{
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  right:32px !important;
  bottom:88px !important;
  background:linear-gradient(145deg,#7b4bc2 0%,#6B3FA0 62%,#56308c 100%) !important;
  box-shadow:0 14px 34px rgba(107,63,160,.38),0 0 0 8px rgba(107,63,160,.08) !important;
  overflow:visible !important;
  animation:dakBotWiggle 3.8s ease-in-out infinite !important;
}
.dak-ai-bubble::before{
  content:"" !important;
  position:absolute !important;
  inset:-6px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%) !important;
  border:none !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.dak-ai-bubble::after{
  content:"" !important;
  position:absolute !important;
  right:7px !important;
  top:8px !important;
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#20d982 !important;
  border:2px solid #fff !important;
  box-shadow:0 0 12px rgba(32,217,130,.75) !important;
  z-index:3 !important;
}
.dak-ai-bubble .dak-bot-mark,
.dak-ai-bubble svg{
  display:block !important;
  position:relative !important;
  z-index:2 !important;
  width:43px !important;
  height:43px !important;
  filter:drop-shadow(0 8px 14px rgba(26,35,50,.24)) !important;
}
.dak-ai-bubble:hover{
  transform:translateY(-5px) scale(1.10) !important;
  box-shadow:0 18px 44px rgba(107,63,160,.48),0 0 0 10px rgba(0,188,212,.08) !important;
}
.dak-ai-bubble:hover .dak-bot-mark,
.dak-ai-bubble:hover svg{transform:rotate(-3deg) scale(1.04) !important;}

.dak-ai-avatar{
  width:44px !important;
  height:44px !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.10)) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(26,35,50,.18) !important;
  position:relative !important;
  overflow:hidden !important;
}
.dak-ai-avatar svg{display:none !important;}
.dak-ai-avatar::before{
  content:"" !important;
  width:26px !important;
  height:21px !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:52% !important;
  transform:translate(-50%,-50%) !important;
}
.dak-ai-avatar::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:4px !important;
  height:4px !important;
  border-radius:999px !important;
  background:#6B3FA0 !important;
  box-shadow:9px 0 0 #6B3FA0,4.5px 8px 0 -1px #6B3FA0 !important;
  transform:translate(-6.5px,-4px) !important;
}
.dak-ai-header::before{
  content:"";
  position:absolute;
  left:31px;
  top:18px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#20d982;
  border:2px solid rgba(255,255,255,.85);
  box-shadow:0 0 12px rgba(32,217,130,.7);
  z-index:2;
}
@media(max-width:640px){
  .dak-ai-bubble{right:14px !important;bottom:82px !important;width:62px !important;height:62px !important;border-radius:50% !important;}
  .dak-ai-bubble .dak-bot-mark,.dak-ai-bubble svg{width:39px !important;height:39px !important;}
}


/* Footer — cleaner premium layout */
.footer {
  background: #172435;
  padding: 74px 48px 32px !important;
}
.footer::before {
  filter: brightness(.34) saturate(.75) !important;
  transform: scale(1.02);
}
.footer::after {
  background:
    radial-gradient(circle at 10% 10%, rgba(0,188,212,.16), transparent 34%),
    radial-gradient(circle at 92% 20%, rgba(107,63,160,.18), transparent 36%),
    linear-gradient(180deg, rgba(18,29,44,.90), rgba(18,29,44,.96)) !important;
}
.footer-grid {
  grid-template-columns: minmax(280px, 1.45fr) 1fr 1fr !important;
  max-width: 1180px !important;
  gap: 34px !important;
  align-items: stretch;
}
.footer-grid > div {
  min-width: 0;
}
.footer-grid > div:first-child,
.footer-col {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  padding: 26px 26px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
}
.footer-brand-name {
  font-size: 22px !important;
  margin-bottom: 12px !important;
  letter-spacing: -.01em;
}
.footer-brand-name span {
  color: rgba(255,255,255,.62) !important;
  margin-top: 5px !important;
}
.footer-desc {
  color: rgba(255,255,255,.68) !important;
  font-size: 14px !important;
  max-width: 460px;
}
.footer-contact {
  display: grid;
  gap: 9px;
  color: rgba(255,255,255,.74) !important;
  line-height: 1.75 !important;
}
.footer-contact a {
  color: #17d4e7 !important;
  font-weight: 700;
}
.footer-col h4 {
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.footer-col ul li { margin-bottom: 10px !important; }
.footer-col ul li a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.66) !important;
  font-size: 14px !important;
  min-height: 30px;
}
.footer-col ul li a::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--teal), var(--purple));
  opacity: .75;
  flex: 0 0 auto;
}
.footer-col ul li a:hover {
  color: #17d4e7 !important;
  padding-left: 0 !important;
}
.footer-bottom {
  max-width: 1180px !important;
  margin-top: 8px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.11) !important;
  color: rgba(255,255,255,.54) !important;
}
.footer-bottom-links a {
  color: rgba(255,255,255,.58) !important;
  font-weight: 600;
}
.footer-bottom-links a:hover { color: #17d4e7 !important; padding-left: 0 !important; }
html[dir="rtl"] .footer-col ul li a:hover { padding-right: 0 !important; }
@media(max-width: 960px){
  .footer { padding: 54px 20px 28px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  .footer-grid > div:first-child, .footer-col { padding: 22px !important; }
}

/* Footer compact correction — smaller, cleaner, closer to the original size */
.footer {
  padding: 46px 48px 24px !important;
  background: #172435 !important;
}
.footer::before { opacity: .18 !important; filter: brightness(.42) saturate(.75) !important; }
.footer::after {
  background:
    radial-gradient(circle at 12% 18%, rgba(0,188,212,.12), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(107,63,160,.12), transparent 30%),
    linear-gradient(180deg, rgba(18,29,44,.92), rgba(18,29,44,.97)) !important;
}
.footer-grid {
  grid-template-columns: 1.6fr .85fr .85fr !important;
  max-width: 1120px !important;
  gap: 54px !important;
  align-items: start !important;
  margin-bottom: 28px !important;
}
.footer-grid > div:first-child,
.footer-col {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.footer-brand-name {
  font-size: 18px !important;
  margin-bottom: 12px !important;
}
.footer-brand-name span {
  font-size: 11px !important;
  margin-top: 3px !important;
  color: rgba(255,255,255,.55) !important;
}
.footer-desc {
  font-size: 13px !important;
  line-height: 1.65 !important;
  max-width: 420px !important;
  margin-bottom: 14px !important;
  color: rgba(255,255,255,.62) !important;
}
.footer-contact {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,.62) !important;
}
.footer-contact a { color: var(--teal) !important; font-weight: 700 !important; }
.footer-col h4 {
  font-size: 11.5px !important;
  letter-spacing: .12em !important;
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  color: rgba(255,255,255,.9) !important;
}
.footer-col ul li { margin-bottom: 9px !important; }
.footer-col ul li a {
  display: inline-block !important;
  min-height: 0 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.58) !important;
  font-weight: 500 !important;
}
.footer-col ul li a::before { content: none !important; }
.footer-col ul li a:hover { color: var(--teal) !important; }
.footer-bottom {
  max-width: 1120px !important;
  margin-top: 0 !important;
  padding-top: 18px !important;
  font-size: 12px !important;
  color: rgba(255,255,255,.42) !important;
}
.footer-bottom-links { gap: 18px !important; }
.footer-bottom-links a {
  color: rgba(255,255,255,.48) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.footer-bottom-links a:hover { color: var(--teal) !important; }
@media(max-width: 960px){
  .footer { padding: 40px 20px 22px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}


/* Bot bubble — clear professional robot icon */
.dak-ai-bubble{
  width:70px !important;
  height:70px !important;
  border-radius:50% !important;
  right:32px !important;
  bottom:88px !important;
  background:linear-gradient(145deg,#7b4bc2 0%,#6B3FA0 62%,#56308c 100%) !important;
  box-shadow:0 16px 38px rgba(107,63,160,.42),0 0 0 8px rgba(107,63,160,.08) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  animation:dakBotGentleFloat 4s ease-in-out infinite !important;
}
.dak-ai-bubble::before{
  content:"" !important;
  position:absolute !important;
  inset:-7px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(255,255,255,.20),transparent 70%) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.dak-ai-bubble::after{
  content:"" !important;
  position:absolute !important;
  right:7px !important;
  top:8px !important;
  width:11px !important;
  height:11px !important;
  border-radius:999px !important;
  background:#20d982 !important;
  border:2px solid #fff !important;
  box-shadow:0 0 12px rgba(32,217,130,.75) !important;
  z-index:4 !important;
}
.dak-ai-bubble .dak-bot-mark,
.dak-ai-bubble svg{
  display:block !important;
  position:relative !important;
  z-index:2 !important;
  width:47px !important;
  height:47px !important;
  filter:drop-shadow(0 9px 16px rgba(26,35,50,.24)) !important;
  transition:transform .25s ease !important;
}
.dak-ai-bubble:hover{
  transform:translateY(-5px) scale(1.08) !important;
  box-shadow:0 20px 48px rgba(107,63,160,.50),0 0 0 10px rgba(0,188,212,.08) !important;
}
.dak-ai-bubble:hover .dak-bot-mark,
.dak-ai-bubble:hover svg{transform:rotate(-2deg) scale(1.04) !important;}
@keyframes dakBotGentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:640px){
  .dak-ai-bubble{right:14px !important;bottom:82px !important;width:64px !important;height:64px !important;}
  .dak-ai-bubble .dak-bot-mark,.dak-ai-bubble svg{width:43px !important;height:43px !important;}
}


/* === v160 Mobile responsiveness audit fixes === */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; }
* { -webkit-tap-highlight-color: rgba(0,188,212,.12); }

html[lang="ar"] .btn,
html[lang="ar"] .lang-toggle,
html[lang="ar"] .nav-links a,
html[lang="ar"] .mobile-menu a,
html[lang="ar"] input,
html[lang="ar"] textarea,
html[lang="ar"] select,
html[lang="ar"] .footer,
html[lang="ar"] .section-label,
html[lang="ar"] .page-hero-badge,
html[lang="ar"] .dak-ai-chat,
html[lang="ar"] .dak-msg { font-family: 'Noto Sans Arabic', 'DM Sans', sans-serif; }

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] .form-group label,
html[dir="rtl"] .footer-desc,
html[dir="rtl"] .footer-contact,
html[dir="rtl"] .footer-col ul li a,
html[dir="rtl"] .section-sub,
html[dir="rtl"] .page-hero p { text-align: right; }

@media (max-width: 768px) {
  nav { height: 68px !important; padding: 0 16px !important; }
  .logo img, nav .logo img { height: 54px !important; max-width: 155px !important; object-fit: contain !important; }
  nav.scrolled .logo img { height: 50px !important; }
  .hamburger { display: flex !important; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .mobile-menu { top: 68px !important; max-height: calc(100vh - 68px); overflow-y: auto; padding: 12px 16px 18px !important; }
  .mobile-menu a, .mobile-menu .lang-toggle { min-height: 44px; display: flex; align-items: center; }
  .section { padding: 54px 16px !important; }
  .container { width: 100%; max-width: 100%; }
  .section-title, .page-hero h1 { font-size: clamp(30px, 8.2vw, 38px) !important; line-height: 1.15 !important; }
  html[lang="ar"] .section-title, html[lang="ar"] .page-hero h1 { line-height: 1.32 !important; }
  .section-sub { margin-bottom: 32px !important; max-width: 100%; }
  .page-hero { padding: 46px 16px 42px !important; }
  .page-hero-badge { max-width: 100%; white-space: normal; line-height: 1.45; }
  .breadcrumb { flex-wrap: wrap; gap: 8px; }
  .btn, .nav-cta, .btn-teal, .btn-purple, .btn-outline, .btn-ghost { width: 100%; justify-content: center; text-align: center; min-height: 46px; }
  .footer { padding: 42px 16px 24px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; margin-bottom: 28px !important; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
  html[dir="rtl"] .footer-bottom { align-items: flex-end; }
  .footer-bottom-links { width: 100%; justify-content: flex-start; gap: 14px !important; }
  html[dir="rtl"] .footer-bottom-links { justify-content: flex-end; }
  .form-row, .contact-grid, .maps-grid, .admission-grid, .info-grid { grid-template-columns: 1fr !important; }
  .form-group input, .form-group textarea, .form-group select { font-size: 16px !important; }
  .age-table-wrap, .table-wrap, .summary-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 640px) {
  .hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-left { padding: 48px 16px !important; }
  .hero-title { font-size: clamp(32px, 10.2vw, 43px) !important; line-height: 1.13 !important; letter-spacing: -.02em !important; }
  html[lang="ar"] .hero-title { line-height: 1.28 !important; }
  .hero-desc { font-size: 14.5px !important; line-height: 1.8 !important; max-width: 100% !important; }
  .hero-actions { flex-direction: column; gap: 10px !important; }
  .hero-stats { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; margin-top: 30px !important; }
  .hero-stat { padding: 12px 10px !important; }
  .hero-right { height: 260px !important; min-height: 260px !important; }
  .hero-pill { left: 14px !important; right: 14px !important; bottom: 14px !important; width: auto !important; }
  .programmes-grid, .ql-grid, .branches-grid, .why-grid, .news-grid, .apps-grid, .team-grid, .values-grid, .mission-grid, .facilities-grid, .bus-grid, .curriculum-grid, .subject-grid { grid-template-columns: 1fr !important; }
  .activities-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .branch-card, .why-card, .ql-card, .news-card, .app-card, .team-card, .mission-card, .facility-card, .contact-card, .info-card, .key-card { padding: 22px 18px !important; border-radius: 18px !important; }
  .newsletter, .icampus-section, .fyp-banner-section, .fv-banner-section { padding-left: 16px !important; padding-right: 16px !important; }
  .newsletter-card, .fyp-banner, .fv-banner { border-radius: 22px !important; padding: 24px 18px !important; }
  .fyp-banner-icon, .fv-banner-icon { font-size: 58px !important; }
  .journey-premium-card, .journey-showcase { margin-left: 0 !important; margin-right: 0 !important; border-radius: 20px !important; }
  .journey-story-panel, .journey-form-panel, .journey-visual, .journey-showcase .journey-form { padding: 22px 18px !important; }
  .journey-premium-inputs, .journey-showcase .journey-inputs { grid-template-columns: 1fr !important; }
  .journey-stage-flow { grid-template-columns: 1fr !important; }
  .age-table { min-width: 520px; }
  .home-adm-age-table { min-width: 560px; }
  .home-adm-table-panel { overflow-x: auto; }
  .dak-ai-chat { width: calc(100vw - 24px) !important; right: 12px !important; left: 12px !important; bottom: 92px !important; height: min(620px, calc(100vh - 118px)) !important; max-height: calc(100vh - 118px) !important; border-radius: 18px !important; }
  .dak-ai-bubble { right: 16px !important; bottom: 22px !important; }
  .wa-fab, html[dir="rtl"] .wa-fab { left: 16px !important; bottom: 22px !important; right: auto !important; width: 52px !important; height: 52px !important; }
  .wa-menu, html[dir="rtl"] .wa-menu { left: 10px !important; right: 10px !important; bottom: 84px !important; width: auto !important; }
  .back-to-top { right: 16px !important; bottom: 82px !important; }
}

@media (max-width: 390px) {
  .hero-title { font-size: 32px !important; }
  .page-hero h1, .section-title { font-size: 29px !important; }
  .section { padding-left: 14px !important; padding-right: 14px !important; }
  .activities-grid { grid-template-columns: 1fr !important; }
  .hero-stats { grid-template-columns: 1fr 1fr !important; }
}

@media (hover:none), (pointer:coarse) {
  .dak-box-joy-ready:hover, .dak-box-joy-ready:focus-within, .motion-card:hover, .news-card:hover, .ql-card:hover, .team-card:hover, .mission-card:hover, .home-adm-card:hover, .month-card:hover, .key-card:hover, .facility-card:hover, .activity-card:hover, .curriculum-card:hover, .subject-card:hover, .faq-item:hover, .contact-card:hover, .info-card:hover { transform: none !important; animation: none !important; }
  .dak-box-sparkle, .dak-box-fun-icon, .dak-hero-particles, .dak-hero-spotlight { display: none !important; }
}

/* === v161: Child Journey mobile fix === */
@media (max-width: 700px) {
  .journey-premium-section {
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .journey-premium-section .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow: hidden !important;
  }
  .journey-premium-card {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 26px auto 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  .journey-story-panel {
    display: none !important;
  }
  .journey-form-panel {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 24px 18px 26px !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background: linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%) !important;
  }
  .journey-form-panel::before,
  body[dir="rtl"] .journey-form-panel::before {
    display: none !important;
    content: none !important;
  }
  .journey-form-panel .journey-form-head {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    padding-bottom: 20px !important;
    margin-bottom: 22px !important;
  }
  .journey-form-panel .journey-form-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }
  .journey-form-panel .journey-form-head strong {
    font-size: clamp(22px, 7vw, 30px) !important;
    line-height: 1.08 !important;
  }
  .journey-form-panel .journey-form-head small {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .journey-premium-inputs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .journey-premium-inputs .wide,
  .journey-premium-inputs .compact,
  .journey-premium-btn {
    grid-column: 1 / -1 !important;
  }
  .journey-premium-inputs input {
    width: 100% !important;
    height: 58px !important;
    font-size: 16px !important;
  }
  .journey-premium-btn {
    width: 100% !important;
    margin-top: 8px !important;
    min-height: 58px !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }
}


/* ── PEARSON EDEXCEL RECOGNITION ── */
.edexcel-recognition-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7fbfd 100%)}
.edexcel-recognition-card{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;align-items:center;background:#fff;border:1px solid rgba(26,35,50,.08);border-radius:26px;box-shadow:0 20px 60px rgba(26,35,50,.10);overflow:hidden;position:relative}
.edexcel-recognition-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#005A9C,#00BCD4,#6B3FA0,#F5A623)}
.edexcel-logo-wrap{background:linear-gradient(135deg,#f8fbfd,#fff);padding:30px;display:flex;align-items:center;justify-content:center;min-height:290px;border-right:1px solid rgba(26,35,50,.06)}
.edexcel-logo-wrap img{width:100%;max-width:430px;border-radius:18px;box-shadow:0 12px 32px rgba(26,35,50,.10);display:block;background:#fff}
.edexcel-content{padding:42px 44px}.edexcel-content .section-label{margin-bottom:12px}.edexcel-title{font-family:'Playfair Display',serif;font-size:36px;line-height:1.08;color:var(--navy);margin-bottom:16px;font-weight:900}.edexcel-text{font-size:15px;line-height:1.8;color:var(--text-muted);max-width:620px;margin-bottom:22px}.edexcel-pills{display:flex;flex-wrap:wrap;gap:10px}.edexcel-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(0,188,212,.10);color:var(--navy);font-size:12px;font-weight:800;border:1px solid rgba(0,188,212,.20)}.edexcel-pill:nth-child(2){background:rgba(107,63,160,.10);border-color:rgba(107,63,160,.18)}.edexcel-pill:nth-child(3){background:rgba(245,166,35,.16);border-color:rgba(245,166,35,.22)}
.home-edexcel-strip{margin-top:30px;background:rgba(255,255,255,.92);border:1px solid rgba(26,35,50,.07);border-radius:22px;box-shadow:0 14px 38px rgba(26,35,50,.08);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative}.home-edexcel-strip::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#005A9C,#00BCD4,#6B3FA0)}.home-edexcel-left{display:flex;align-items:center;gap:16px;min-width:0}.home-edexcel-left img{width:120px;border-radius:12px;box-shadow:0 8px 20px rgba(26,35,50,.09);background:#fff}.home-edexcel-copy strong{display:block;font-family:'Playfair Display',serif;font-size:20px;color:var(--navy);line-height:1.15}.home-edexcel-copy span{display:block;font-size:13px;color:var(--text-muted);margin-top:4px;line-height:1.5}.home-edexcel-badge{flex-shrink:0;padding:10px 15px;border-radius:999px;background:rgba(0,188,212,.10);border:1px solid rgba(0,188,212,.22);font-size:12px;font-weight:800;color:var(--teal-dark)}
body[dir="rtl"] .edexcel-recognition-card,body[dir="rtl"] .home-edexcel-strip{text-align:right}body[dir="rtl"] .edexcel-logo-wrap{border-right:none;border-left:1px solid rgba(26,35,50,.06)}body[dir="rtl"] .home-edexcel-strip::before{left:auto;right:0}
@media(max-width:900px){.edexcel-recognition-card{grid-template-columns:1fr}.edexcel-logo-wrap{border-right:none;border-bottom:1px solid rgba(26,35,50,.06);min-height:auto;padding:24px}.edexcel-content{padding:30px 24px}.edexcel-title{font-size:30px}.home-edexcel-strip{flex-direction:column;align-items:flex-start}.home-edexcel-badge{align-self:flex-start}.home-edexcel-left img{width:110px}}
@media(max-width:560px){.edexcel-logo-wrap img{max-width:100%}.home-edexcel-left{align-items:flex-start}.home-edexcel-copy strong{font-size:18px}.edexcel-title{font-size:27px}}


/* Pearson Edexcel logo clarity and curriculum integration */
.home-edexcel-left img{object-fit:contain;background:#fff;padding:6px;image-rendering:auto}
.edexcel-logo-wrap img,.edexcel-card-logo{image-rendering:auto}
.curriculum-card.edexcel{background:#fff!important;color:var(--navy);border:1px solid rgba(26,35,50,.08);box-shadow:0 14px 34px rgba(26,35,50,.10)}
.curriculum-card.edexcel h3{color:var(--navy)!important}
.curriculum-card.edexcel p{color:var(--text-muted)!important}
.curriculum-card .edexcel-card-logo{width:min(220px,92%);height:auto;background:#fff;border-radius:10px;margin:0 auto 18px;display:block;object-fit:contain;box-shadow:0 6px 18px rgba(26,35,50,.08)}
@media(max-width:1100px){.curriculum-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:640px){.curriculum-grid{grid-template-columns:1fr!important}.curriculum-card .edexcel-card-logo{width:min(230px,96%)}}


/* Al Irfan Pearson Edexcel badge fit */
.branch-card .branch-tags .tag,
.prog-tags .prog-tag {
  white-space: nowrap;
}
@media(max-width:640px){
  .branch-tags,
  .prog-tags {
    gap: 8px;
  }
  .branch-card .branch-tags .tag,
  .prog-tags .prog-tag {
    font-size: 12px;
    padding: 8px 12px;
  }
}


/* === v175 Scroll & Fit Safety Pass === */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

.container,
.nav-container,
.footer,
.footer-grid,
.section,
.page-hero,
.hero,
.hero-wrap,
.hero-content,
.branch-grid,
.programmes-grid,
.curriculum-grid,
.contact-grid,
.facility-grid,
.info-grid,
.calendar-shell,
.month-grid,
.journey-premium-wrap,
.path-tools-shell {
  max-width: 100%;
}

.branch-tags,
.prog-tags,
.curriculum-card,
.branch-card,
.info-card,
.contact-card,
.faq-item,
.team-card,
.home-adm-card,
.month-card,
.key-card {
  min-width: 0;
}

.branch-tags,
.prog-tags,
.edexcel-tags,
.footer-bottom-links,
.nav-actions,
.mobile-actions {
  display: flex;
  flex-wrap: wrap;
}

.branch-tags .tag,
.prog-tags .prog-tag,
.edexcel-tags span,
.curriculum-card .tag {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

@media (max-width: 900px) {
  .section {
    overflow-x: clip;
  }

  .container {
    width: 100%;
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
  }

  .hero h1,
  .page-hero h1,
  .section-title,
  .section-header h2,
  .edexcel-title {
    overflow-wrap: anywhere;
  }

  .branch-card,
  .info-card,
  .contact-card,
  .facility-card,
  .curriculum-card,
  .team-card,
  .home-adm-card,
  .faq-item {
    width: 100%;
  }

  .dak-ai-chat {
    max-width: calc(100vw - 24px);
  }

  .dak-ai-bubble,
  .back-to-top {
    max-width: 74px;
    max-height: 74px;
  }

  .wa-fab {
    left: 14px !important;
    right: auto !important;
  }
}

@media (max-width: 560px) {
  .branch-tags,
  .prog-tags {
    justify-content: flex-start;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    font-size: 12px;
    padding: 8px 11px;
    line-height: 1.25;
  }

  .footer-bottom,
  .footer-grid,
  .calendar-shell,
  .contact-grid,
  .info-grid {
    width: 100%;
  }

  .calendar-board,
  .key-card {
    width: 100%;
    overflow: hidden;
  }

  .mini-cal {
    width: 100%;
    table-layout: fixed;
  }

  .mini-cal th,
  .mini-cal td {
    word-break: keep-all;
  }
}


/* === v178 Final Premium Fit Pass === */
/* Goal: keep the premium identity, but make sections cleaner, lighter, and better fit on desktop/mobile. */

:root {
  --fit-section-y: clamp(54px, 6vw, 86px);
  --fit-section-y-compact: clamp(42px, 5vw, 68px);
  --fit-card-radius: 22px;
}

.section {
  padding-top: var(--fit-section-y);
  padding-bottom: var(--fit-section-y);
}

.section-header,
.section-intro {
  margin-bottom: clamp(28px, 4vw, 48px);
}

.section-title,
.section-header h2 {
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.section-subtitle,
.section-header p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}

/* Make large homepage cards feel more premium and less oversized */
.branch-card,
.prog-card,
.curriculum-card,
.home-adm-card,
.why-card,
.news-card,
.ql-card,
.app-card,
.contact-card,
.info-card,
.facility-card,
.activity-card,
.team-card,
.faq-item {
  border-radius: var(--fit-card-radius);
}

.branch-card {
  min-height: 0;
  padding: clamp(32px, 4vw, 48px);
}

.branch-card .branch-quote,
.branch-card p {
  max-width: 680px;
}

.branch-tags,
.prog-tags {
  gap: 10px;
}

.branch-tags .tag,
.prog-tags .prog-tag {
  padding: 9px 15px;
  line-height: 1.25;
}

/* Our Programmes cards: more compact, less empty */
.prog-card {
  padding: clamp(28px, 3.4vw, 42px) clamp(22px, 3vw, 34px);
  min-height: 0;
}

.prog-card .prog-icon,
.team-avatar,
.why-icon,
.feature-icon {
  transform: scale(.94);
}

/* Curriculum cards should look balanced with 4 items */
.curriculum-grid {
  gap: clamp(18px, 2.2vw, 28px);
}

.curriculum-card {
  min-height: 0;
  padding: clamp(30px, 3vw, 44px) clamp(22px, 2.4vw, 34px);
}

.curriculum-card h3 {
  line-height: 1.18;
}

.curriculum-card p {
  line-height: 1.62;
}

/* Branch details / About cards */
.branch-detail,
.info-card {
  box-shadow: 0 18px 45px rgba(26,35,50,.08);
}

.branch-detail-row,
.info-row {
  gap: 18px;
}

.branch-detail-row span,
.info-row .val {
  overflow-wrap: anywhere;
}

/* Footer: keep elegant but not huge */
.footer {
  padding-top: clamp(56px, 6vw, 82px);
  padding-bottom: clamp(28px, 4vw, 44px);
}

.footer-grid {
  gap: clamp(28px, 5vw, 72px);
}

/* Floating elements should not crowd the visitor */
.dak-ai-bubble {
  width: 62px;
  height: 62px;
  bottom: 86px;
}

.back-to-top {
  width: 48px;
  height: 48px;
}

.wa-fab {
  width: 62px;
  height: 62px;
}

/* Slightly calmer shadows */
.motion-card:hover,
.branch-card:hover,
.prog-card:hover,
.curriculum-card:hover,
.info-card:hover,
.contact-card:hover {
  box-shadow: 0 20px 48px rgba(26,35,50,.12);
}

/* Desktop: prevent very wide content from feeling stretched */
@media (min-width: 1200px) {
  .container {
    max-width: 1180px;
  }

  .hero-wrap,
  .page-hero .container {
    max-width: 1180px;
  }

  .branch-grid,
  .campus-grid,
  .contact-grid,
  .info-grid {
    gap: 28px;
  }
}

/* Tablet and mobile fit */
@media (max-width: 900px) {
  .section {
    padding-top: clamp(44px, 8vw, 64px);
    padding-bottom: clamp(44px, 8vw, 64px);
  }

  .section-title,
  .section-header h2 {
    font-size: clamp(34px, 8vw, 48px);
  }

  .section-subtitle,
  .section-header p {
    font-size: 16px;
  }

  .branch-card,
  .prog-card,
  .curriculum-card,
  .home-adm-card,
  .why-card,
  .news-card,
  .ql-card,
  .app-card,
  .contact-card,
  .info-card,
  .facility-card,
  .activity-card,
  .team-card,
  .faq-item {
    border-radius: 20px;
  }

  .branch-card {
    padding: 30px 24px;
  }

  .branch-card h3,
  .branch-card .branch-title {
    font-size: clamp(30px, 7vw, 40px);
    line-height: 1.08;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    padding: 8px 12px;
    font-size: 12px;
  }

  .dak-ai-chat {
    bottom: 130px;
  }

  .dak-ai-bubble {
    bottom: 72px;
    right: 14px;
    width: 58px;
    height: 58px;
  }

  .back-to-top {
    right: 14px;
    bottom: 130px;
  }

  .wa-fab {
    left: 14px !important;
    bottom: 72px;
    width: 58px;
    height: 58px;
  }
}

@media (max-width: 560px) {
  .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .section-label {
    font-size: 11px;
    letter-spacing: .15em;
  }

  .section-title,
  .section-header h2 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .section-subtitle,
  .section-header p {
    font-size: 15px;
    line-height: 1.6;
  }

  .branch-card,
  .prog-card,
  .curriculum-card,
  .home-adm-card,
  .why-card,
  .news-card,
  .ql-card,
  .app-card,
  .contact-card,
  .info-card,
  .facility-card,
  .activity-card,
  .team-card,
  .faq-item {
    padding: 24px 20px;
  }

  .branch-card {
    padding: 26px 20px;
  }

  .branch-card h3,
  .branch-card .branch-title {
    font-size: 30px;
  }

  .branch-card p,
  .branch-card .branch-quote,
  .prog-card p,
  .curriculum-card p,
  .info-card p,
  .contact-card p {
    font-size: 14.5px;
    line-height: 1.62;
  }

  .branch-tags,
  .prog-tags {
    gap: 8px;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    font-size: 11.5px;
    padding: 7px 10px;
  }

  .btn,
  .branch-link,
  .journey-btn {
    min-height: 44px;
  }

  .dak-ai-chat {
    width: calc(100vw - 20px);
    right: 10px;
    bottom: 124px;
    max-height: min(72vh, 560px);
    border-radius: 18px;
  }

  .dak-ai-messages {
    padding: 14px;
  }

  .dak-msg {
    font-size: 13.5px;
  }

  .dak-ai-suggestions button {
    font-size: 11px;
    padding: 6px 10px;
  }

  .footer {
    padding-top: 44px;
    padding-bottom: 32px;
  }

  .footer-grid {
    gap: 26px;
  }
}

/* Arabic fit: keep text elegant and prevent cramped cards */
html[dir="rtl"] .branch-card p,
html[dir="rtl"] .prog-card p,
html[dir="rtl"] .curriculum-card p,
html[dir="rtl"] .info-card p,
html[dir="rtl"] .contact-card p {
  line-height: 1.85;
}

html[dir="rtl"] .branch-tags .tag,
html[dir="rtl"] .prog-tags .prog-tag {
  font-family: 'Noto Sans Arabic', 'DM Sans', sans-serif;
}


/* === v179 Natural Smooth Scrolling Fix === */
/* Fixes sticky/jumpy feeling while lightly scrolling near the top of the page. */
html {
  scroll-behavior: auto !important;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

/* Keep the design premium, but remove scroll-heavy movement that can feel sticky on phones. */
.hero-left .motion-orb-container,
.page-hero .motion-orb-container,
.branch-hero .motion-orb-container,
.fyp-hero .motion-orb-container,
.fv-hero .motion-orb-container {
  transform: none !important;
}

/* Reduce animation pressure while the user is actively scrolling. */
body.is-scrolling .dak-hero-particles,
body.is-scrolling .motion-orb-container,
body.is-scrolling .dak-chat-sparkle {
  animation-play-state: paused !important;
}

/* Mobile: avoid heavy hero overlays interfering with natural touch scrolling. */
@media (max-width: 900px) {
  .dak-hero-spotlight,
  .dak-hero-particles,
  .motion-orb-container {
    pointer-events: none !important;
  }

  .hero-left,
  .page-hero,
  .branch-hero,
  .fyp-hero,
  .fv-hero {
    will-change: auto !important;
  }
}


/* === v180 Wonderful Mobile Experience Pass === */
/* Mobile-only polish: more refined, app-like, readable, and smooth. */

@media (max-width: 900px) {
  body {
    background:
      radial-gradient(circle at 8% 5%, rgba(0,188,212,.09), transparent 28%),
      radial-gradient(circle at 95% 18%, rgba(107,63,160,.08), transparent 30%),
      #f7f9fc;
  }

  nav {
    height: 66px !important;
    padding: 0 16px !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 8px 26px rgba(26,35,50,.06);
  }

  .logo img {
    max-height: 52px !important;
    width: auto !important;
    object-fit: contain;
  }

  .mobile-menu {
    border-radius: 0 0 24px 24px;
    box-shadow: 0 22px 44px rgba(26,35,50,.12);
    overflow: hidden;
  }

  .mobile-menu a,
  .mobile-menu .btn-portal,
  .mobile-menu .lang-toggle {
    min-height: 44px;
    border-radius: 14px !important;
  }

  .hero,
  .page-hero,
  .branch-hero,
  .fyp-hero,
  .fv-hero {
    position: relative;
    overflow: hidden;
  }

  .hero-left,
  .page-hero,
  .branch-hero,
  .fyp-hero,
  .fv-hero {
    border-radius: 0 0 28px 28px;
  }

  .hero-left::after,
  .page-hero::after,
  .branch-hero::after,
  .fyp-hero::after,
  .fv-hero::after {
    content: "";
    position: absolute;
    inset: auto 18px 14px 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
    pointer-events: none;
  }

  .hero-title,
  .page-hero h1,
  .branch-hero h1,
  .fyp-hero h1,
  .fv-hero h1 {
    text-wrap: balance;
    letter-spacing: -.035em;
  }

  .hero-subtitle,
  .page-hero p,
  .branch-hero p,
  .fyp-hero p,
  .fv-hero p {
    text-wrap: pretty;
  }

  .section {
    position: relative;
    background:
      radial-gradient(circle at 0% 0%, rgba(0,188,212,.045), transparent 28%),
      radial-gradient(circle at 100% 10%, rgba(107,63,160,.045), transparent 32%);
  }

  .section:nth-of-type(even) {
    background:
      radial-gradient(circle at 100% 0%, rgba(245,166,35,.045), transparent 28%),
      radial-gradient(circle at 0% 18%, rgba(0,188,212,.04), transparent 32%);
  }

  .section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(0,188,212,.08);
    border: 1px solid rgba(0,188,212,.14);
  }

  .section-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--teal), var(--purple));
    box-shadow: 0 0 12px rgba(0,188,212,.55);
  }

  .section-title,
  .section-header h2 {
    margin-top: 14px;
    text-wrap: balance;
  }

  .section-subtitle,
  .section-header p,
  .section-sub {
    text-wrap: pretty;
  }

  .branch-card,
  .prog-card,
  .curriculum-card,
  .home-adm-card,
  .why-card,
  .news-card,
  .ql-card,
  .app-card,
  .contact-card,
  .info-card,
  .facility-card,
  .activity-card,
  .team-card,
  .faq-item,
  .month-card,
  .key-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(26,35,50,.075);
    box-shadow: 0 16px 38px rgba(26,35,50,.075);
  }

  .branch-card::before,
  .prog-card::before,
  .curriculum-card::before,
  .home-adm-card::before,
  .why-card::before,
  .contact-card::before,
  .info-card::before,
  .facility-card::before,
  .team-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.22), transparent 36%);
    pointer-events: none;
  }

  .branch-card,
  .prog-card,
  .curriculum-card,
  .info-card,
  .contact-card {
    transform: translateZ(0);
  }

  .branch-card h3,
  .prog-card h3,
  .curriculum-card h3,
  .info-card h3,
  .contact-card h3 {
    text-wrap: balance;
  }

  .branch-tags,
  .prog-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    border-radius: 999px;
    box-shadow: 0 5px 14px rgba(26,35,50,.07);
  }

  .btn,
  .branch-link,
  .journey-btn,
  .dak-send-btn,
  button {
    -webkit-tap-highlight-color: transparent;
  }

  .btn,
  .branch-link,
  .journey-btn {
    box-shadow: 0 12px 24px rgba(107,63,160,.13);
  }

  .btn:active,
  .branch-link:active,
  .journey-btn:active,
  .dak-send-btn:active {
    transform: scale(.98);
  }

  .dak-ai-bubble {
    box-shadow:
      0 16px 32px rgba(107,63,160,.28),
      0 0 0 8px rgba(107,63,160,.08);
  }

  .dak-ai-chat {
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(26,35,50,.24);
  }

  .wa-fab {
    box-shadow:
      0 16px 32px rgba(37,211,102,.25),
      0 0 0 8px rgba(37,211,102,.08);
  }

  .back-to-top {
    box-shadow: 0 14px 28px rgba(107,63,160,.22);
  }

  .footer {
    border-radius: 28px 28px 0 0;
    margin-top: 16px;
  }
}

@media (max-width: 560px) {
  nav {
    height: 62px !important;
    padding: 0 14px !important;
  }

  .logo img {
    max-height: 48px !important;
  }

  .hero-left {
    padding-top: 44px !important;
    padding-bottom: 42px !important;
  }

  .hero-title {
    font-size: clamp(34px, 10.5vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .page-hero,
  .branch-hero,
  .fyp-hero,
  .fv-hero {
    padding-top: 58px !important;
    padding-bottom: 52px !important;
  }

  .page-hero h1,
  .branch-hero h1,
  .fyp-hero h1,
  .fv-hero h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .hero-subtitle,
  .page-hero p,
  .branch-hero p,
  .fyp-hero p,
  .fv-hero p {
    font-size: 15.5px !important;
    line-height: 1.68 !important;
  }

  .section {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  .section-title,
  .section-header h2 {
    font-size: clamp(31px, 9.4vw, 39px) !important;
    line-height: 1.08 !important;
  }

  .section-subtitle,
  .section-header p,
  .section-sub {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .branch-card,
  .prog-card,
  .curriculum-card,
  .home-adm-card,
  .why-card,
  .news-card,
  .ql-card,
  .app-card,
  .contact-card,
  .info-card,
  .facility-card,
  .activity-card,
  .team-card,
  .faq-item,
  .month-card,
  .key-card {
    border-radius: 24px !important;
    padding: 24px 20px !important;
  }

  .branch-card h3,
  .prog-card h3,
  .curriculum-card h3 {
    font-size: clamp(26px, 8vw, 34px) !important;
  }

  .branch-detail-row,
  .info-row {
    border-radius: 16px;
    background: rgba(255,255,255,.62);
  }

  .branch-detail-row strong,
  .info-row .lbl {
    font-size: 13.5px;
  }

  .branch-detail-row span,
  .info-row .val {
    font-size: 14.5px;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    font-size: 11.5px !important;
    padding: 7px 10px !important;
  }

  .dak-ai-bubble {
    width: 56px;
    height: 56px;
    bottom: 72px;
    right: 12px;
  }

  .wa-fab {
    width: 56px;
    height: 56px;
    bottom: 72px;
    left: 12px !important;
  }

  .back-to-top {
    width: 44px;
    height: 44px;
    bottom: 132px;
    right: 18px;
  }

  .dak-ai-chat {
    right: 8px;
    bottom: 128px;
    width: calc(100vw - 16px);
    max-height: 73vh;
  }

  .dak-ai-header {
    padding: 15px 16px;
  }

  .dak-ai-messages {
    padding: 15px;
  }

  .dak-msg {
    max-width: 91%;
    border-radius: 16px;
  }
}

@media (max-width: 390px) {
  .branch-tags .tag,
  .prog-tags .prog-tag {
    font-size: 11px !important;
    padding: 7px 9px !important;
  }

  .section-title,
  .section-header h2 {
    font-size: clamp(29px, 9vw, 36px) !important;
  }
}

/* Arabic mobile refinement */
@media (max-width: 560px) {
  html[dir="rtl"] .hero-title,
  html[dir="rtl"] .page-hero h1,
  html[dir="rtl"] .section-title,
  html[dir="rtl"] .section-header h2 {
    letter-spacing: 0 !important;
    line-height: 1.22 !important;
  }

  html[dir="rtl"] .branch-card p,
  html[dir="rtl"] .prog-card p,
  html[dir="rtl"] .curriculum-card p,
  html[dir="rtl"] .info-card p,
  html[dir="rtl"] .contact-card p {
    line-height: 1.9 !important;
  }
}


/* === v181 Mobile Branch Cards + Floating Buttons Professional Fix === */
/* Fixes overly heavy branch info cards and separates bot/back-to-top on phones. */

@media (max-width: 760px) {
  .branch-contact-card,
  .campus-contact-card,
  .branch-info-card,
  .branch-detail,
  .info-card {
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .branch-contact-card,
  .campus-contact-card {
    padding: 26px 20px !important;
  }

  .branch-contact-card h2,
  .campus-contact-card h2,
  .branch-detail-header h3 {
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    margin-bottom: 8px !important;
  }

  .branch-contact-card .subtitle,
  .campus-contact-card .subtitle,
  .branch-detail-header p {
    font-size: 12px !important;
    letter-spacing: .15em !important;
    opacity: .78 !important;
  }

  .contact-info-row,
  .branch-detail-row,
  .info-row {
    display: grid !important;
    grid-template-columns: 42px 1fr !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 14px !important;
    margin: 10px 0 !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.13) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .branch-detail .branch-detail-row,
  .info-card .info-row {
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(26,35,50,.07) !important;
  }

  .contact-info-row .icon,
  .contact-info-row .contact-icon,
  .branch-detail-row .icon,
  .info-row .icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.18) !important;
    box-shadow: none !important;
    font-size: 18px !important;
  }

  .contact-info-row strong,
  .contact-info-row .label,
  .branch-detail-row strong,
  .info-row .lbl {
    display: block !important;
    font-size: 11px !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    margin-bottom: 3px !important;
    opacity: .72 !important;
  }

  .contact-info-row span,
  .contact-info-row a,
  .branch-detail-row span,
  .info-row .val {
    font-size: 14.5px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .dak-ai-bubble {
    width: 56px !important;
    height: 56px !important;
    right: 14px !important;
    bottom: 78px !important;
    z-index: 998 !important;
  }

  .back-to-top {
    width: 44px !important;
    height: 44px !important;
    right: 20px !important;
    bottom: 152px !important;
    z-index: 999 !important;
    box-shadow: 0 12px 28px rgba(107,63,160,.24) !important;
  }

  .wa-fab {
    width: 56px !important;
    height: 56px !important;
    left: 14px !important;
    right: auto !important;
    bottom: 78px !important;
    z-index: 998 !important;
  }

  .dak-ai-chat {
    bottom: 148px !important;
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    max-height: 70vh !important;
  }
}

@media (max-width: 390px) {
  .contact-info-row,
  .branch-detail-row,
  .info-row {
    grid-template-columns: 38px 1fr !important;
    gap: 10px !important;
    padding: 13px 12px !important;
  }

  .contact-info-row span,
  .contact-info-row a,
  .branch-detail-row span,
  .info-row .val {
    font-size: 13.8px !important;
  }

  .dak-ai-bubble,
  .wa-fab {
    width: 54px !important;
    height: 54px !important;
  }

  .back-to-top {
    width: 42px !important;
    height: 42px !important;
    bottom: 150px !important;
  }
}

@media (max-width: 760px) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }
}


/* === v182 Clean Professional Mobile Pass === */
/* Overrides the heavier mobile styling from v180/v181. The goal is clarity, no overlap, and premium calm. */

@media (max-width: 760px) {
  /* Calm the mobile design: no excessive overlays inside cards */
  .branch-card::before,
  .prog-card::before,
  .curriculum-card::before,
  .home-adm-card::before,
  .why-card::before,
  .contact-card::before,
  .info-card::before,
  .facility-card::before,
  .team-card::before,
  .branch-detail::before,
  .branch-contact-card::before,
  .campus-contact-card::before {
    display: none !important;
  }

  .section {
    background: #f7f9fc !important;
  }

  .section:nth-of-type(even) {
    background: #f7f9fc !important;
  }

  /* Universal mobile text clarity */
  body,
  p,
  li,
  span,
  a,
  input,
  textarea,
  select,
  button {
    line-height: 1.6 !important;
  }

  h1, h2, h3, h4 {
    line-height: 1.12 !important;
    text-wrap: balance;
  }

  /* Cards: softer, cleaner, less crowded */
  .branch-card,
  .prog-card,
  .curriculum-card,
  .home-adm-card,
  .why-card,
  .news-card,
  .ql-card,
  .app-card,
  .contact-card,
  .info-card,
  .facility-card,
  .activity-card,
  .team-card,
  .faq-item,
  .month-card,
  .key-card,
  .branch-detail {
    border-radius: 22px !important;
    box-shadow: 0 14px 34px rgba(26,35,50,.07) !important;
    border: 1px solid rgba(26,35,50,.07) !important;
    overflow: hidden !important;
  }

  /* About page branch cards */
  .branch-detail-header {
    padding: 30px 22px !important;
  }

  .branch-detail-header h3 {
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    margin-bottom: 8px !important;
  }

  .branch-detail-header p {
    font-size: 12px !important;
    letter-spacing: .12em !important;
    line-height: 1.45 !important;
    opacity: .82 !important;
  }

  .branch-detail-body {
    padding: 18px 16px 20px !important;
    gap: 10px !important;
    background: #fff !important;
  }

  .branch-detail-row {
    display: grid !important;
    grid-template-columns: minmax(86px, 32%) 1fr !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 13px 12px !important;
    margin: 0 !important;
    border-radius: 15px !important;
    background: #fff !important;
    border: 1px solid rgba(26,35,50,.08) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .branch-detail-row strong {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: var(--navy) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    opacity: 1 !important;
  }

  .branch-detail-row span {
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
    color: #5f6b7a !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* Branch pages info cards */
  .info-card {
    padding: 22px 18px !important;
    background: #fff !important;
  }

  .info-card h3 {
    font-size: 23px !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
  }

  .info-card .info-row,
  .contact-grid .info-row {
    display: grid !important;
    grid-template-columns: minmax(84px, 32%) 1fr !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(26,35,50,.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .info-card .info-row:last-child,
  .contact-grid .info-row:last-child {
    border-bottom: 0 !important;
  }

  .info-card .info-row .lbl,
  .contact-grid .info-row strong {
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
    color: #6b7483 !important;
    opacity: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .info-card .info-row .val,
  .contact-grid .info-row span,
  .contact-grid .info-row a {
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* Contact page colored cards: keep readable on mobile */
  .contact-info .info-card.navy,
  .contact-info .info-card.purple {
    color: #fff !important;
  }

  .contact-info .info-card.navy .info-row,
  .contact-info .info-card.purple .info-row {
    grid-template-columns: 24px 1fr !important;
    gap: 10px !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    background: transparent !important;
  }

  .contact-info .info-icon {
    margin-top: 2px !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    font-size: 16px !important;
  }

  .contact-info .info-row strong {
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    margin-bottom: 2px !important;
  }

  .contact-info .info-row span,
  .contact-info .info-row a {
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  /* Programme tags: prevent words sticking/overlapping */
  .branch-tags,
  .prog-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }

  .branch-tags .tag,
  .prog-tags .prog-tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    text-align: center !important;
    min-height: 34px !important;
    padding: 8px 11px !important;
    font-size: 11.5px !important;
    max-width: 100% !important;
  }

  /* Floating actions: separate and smaller */
  .dak-ai-bubble {
    width: 54px !important;
    height: 54px !important;
    right: 14px !important;
    bottom: 74px !important;
    box-shadow: 0 12px 26px rgba(107,63,160,.25) !important;
  }

  .back-to-top {
    width: 42px !important;
    height: 42px !important;
    right: 20px !important;
    bottom: 144px !important;
    box-shadow: 0 10px 22px rgba(107,63,160,.22) !important;
  }

  .wa-fab {
    width: 54px !important;
    height: 54px !important;
    left: 14px !important;
    right: auto !important;
    bottom: 74px !important;
    box-shadow: 0 12px 26px rgba(37,211,102,.23) !important;
  }

  .dak-ai-chat {
    width: calc(100vw - 18px) !important;
    right: 9px !important;
    bottom: 136px !important;
    max-height: 72vh !important;
    border-radius: 22px !important;
  }

  /* Prevent mobile sections from feeling too tall */
  .section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .section-header,
  .section-intro {
    margin-bottom: 26px !important;
  }
}

@media (max-width: 430px) {
  .branch-detail-row,
  .info-card .info-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .branch-detail-row strong,
  .info-card .info-row .lbl {
    font-size: 13px !important;
  }

  .branch-detail-row span,
  .info-card .info-row .val {
    font-size: 14px !important;
  }

  .contact-info .info-card.navy .info-row,
  .contact-info .info-card.purple .info-row {
    grid-template-columns: 22px 1fr !important;
  }
}

/* RTL mobile: keep Arabic clean and not cramped */
@media (max-width: 760px) {
  html[dir="rtl"] .branch-detail-row,
  html[dir="rtl"] .info-card .info-row {
    text-align: right !important;
  }

  html[dir="rtl"] .branch-detail-row strong,
  html[dir="rtl"] .info-card .info-row .lbl,
  html[dir="rtl"] .branch-detail-row span,
  html[dir="rtl"] .info-card .info-row .val {
    line-height: 1.9 !important;
  }
}


/* === v183 Contact Page Mobile Emergency Fix === */
/* Restores visible text and professional layout on the Contact page after mobile overrides. */
@media (max-width: 760px) {
  body.contact-page .contact-info {
    gap: 18px !important;
  }

  body.contact-page .contact-info .info-card {
    padding: 24px 20px !important;
    border-radius: 24px !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  body.contact-page .contact-info .info-card.navy,
  body.contact-page .contact-info .info-card.purple {
    color: #fff !important;
  }

  body.contact-page .contact-info .info-card.navy {
    background: linear-gradient(135deg, #10263a 0%, #0a6f78 100%) !important;
  }

  body.contact-page .contact-info .info-card.purple {
    background: linear-gradient(135deg, #4b287d 0%, #7a45b5 100%) !important;
  }

  body.contact-page .contact-branch-head {
    margin-bottom: 20px !important;
  }

  body.contact-page .contact-branch-head h4 {
    display: block !important;
    color: #fff !important;
    font-size: clamp(28px, 7.8vw, 36px) !important;
    line-height: 1.15 !important;
    margin: 0 0 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.contact-page .contact-branch-sub {
    display: block !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.contact-page .contact-info .info-row {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 13px 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.contact-page .contact-info .info-row:last-child {
    border-bottom: 0 !important;
  }

  body.contact-page .contact-info .info-icon {
    display: flex !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.contact-page .contact-info .info-row > div {
    display: block !important;
    min-width: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.contact-page .contact-info .info-row strong {
    display: block !important;
    color: rgba(255,255,255,.66) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin: 0 0 3px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.contact-page .contact-info .info-row span,
  body.contact-page .contact-info .info-row a {
    display: inline !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-decoration: none !important;
  }

  body.contact-page .contact-info .info-card.navy .info-row a {
    color: #22d9e8 !important;
  }

  body.contact-page .contact-info .info-card.purple .info-row a {
    color: #ffdf55 !important;
  }

  body.contact-page .office-hours-card {
    background: #fff !important;
    color: var(--navy) !important;
  }

  body.contact-page .office-hours-card h4,
  body.contact-page .office-hours-card p,
  body.contact-page .office-hours-card strong,
  body.contact-page .office-hours-card small,
  body.contact-page .office-hours-card span {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.contact-page .hours-row-item {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    align-items: center !important;
  }

  body.contact-page .dak-ai-bubble {
    bottom: 76px !important;
    right: 14px !important;
    width: 54px !important;
    height: 54px !important;
  }

  body.contact-page .back-to-top {
    bottom: 146px !important;
    right: 20px !important;
    width: 42px !important;
    height: 42px !important;
  }

  body.contact-page .wa-fab {
    bottom: 76px !important;
    left: 14px !important;
    width: 54px !important;
    height: 54px !important;
  }
}

@media (max-width: 390px) {
  body.contact-page .contact-info .info-row {
    grid-template-columns: 34px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  body.contact-page .contact-info .info-icon {
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
    font-size: 15px !important;
  }

  body.contact-page .contact-info .info-row span,
  body.contact-page .contact-info .info-row a {
    font-size: 13.8px !important;
  }
}





/* === v198 Contact mobile icon cleanup === */
/* Keep the contact text fix, but remove the translucent icon blocks on phones. */
@media (max-width: 760px) {
  body.contact-page .contact-info .info-row {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  body.contact-page .contact-info .info-icon {
    display: inline-flex !important;
    width: 24px !important;
    min-width: 24px !important;
    height: auto !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: inherit !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 390px) {
  body.contact-page .contact-info .info-row {
    grid-template-columns: 26px minmax(0, 1fr) !important;
  }

  body.contact-page .contact-info .info-icon {
    width: 23px !important;
    min-width: 23px !important;
    font-size: 18px !important;
  }
}



/* === v228: Arabic Journey yellow orb motion hard fix ===
   Keeps the yellow orb animated after switching to Arabic by applying a full
   RTL animation shorthand at the very end of the stylesheet and restarting it from JS. */
html[dir="rtl"] .glowing-journey-path .journey-moving-light,
body[dir="rtl"] .glowing-journey-path .journey-moving-light,
html[lang="ar"] .glowing-journey-path .journey-moving-light {
  display: block !important;
  animation: journeyYellowOrbRTL 7.2s cubic-bezier(.45,0,.22,1) infinite !important;
  animation-play-state: running !important;
  left: 92% !important;
  top: 67% !important;
}

html:not([dir="rtl"]) .glowing-journey-path .journey-moving-light,
body:not([dir="rtl"]) .glowing-journey-path .journey-moving-light {
  animation: journeyYellowOrbLTR 7.2s cubic-bezier(.45,0,.22,1) infinite !important;
  animation-play-state: running !important;
}

html[dir="rtl"] .glowing-journey-path .journey-moving-light::before,
body[dir="rtl"] .glowing-journey-path .journey-moving-light::before,
html[lang="ar"] .glowing-journey-path .journey-moving-light::before {
  right: auto !important;
  left: 8px !important;
  background: linear-gradient(270deg, transparent, rgba(253,216,53,.18), rgba(0,188,212,.26)) !important;
}

@media (max-width: 980px) {
  html[dir="rtl"] .glowing-journey-path .journey-moving-light,
  body[dir="rtl"] .glowing-journey-path .journey-moving-light,
  html[lang="ar"] .glowing-journey-path .journey-moving-light,
  html:not([dir="rtl"]) .glowing-journey-path .journey-moving-light,
  body:not([dir="rtl"]) .glowing-journey-path .journey-moving-light {
    display: none !important;
  }
}


/* === v236: Smart School Office Status Card === */
.home-office-status {
  position: relative;
  z-index: 5;
  margin-top: -42px;
  margin-bottom: 18px;
}

.home-office-status .container {
  display: flex;
  justify-content: flex-start;
}

.office-status-card {
  --status-accent: var(--teal);
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(26,35,50,0.08);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(26,35,50,0.13);
  padding: 18px 20px;
  color: var(--navy);
  width: min(100%, 520px);
  overflow: hidden;
  position: relative;
}

.office-status-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 22%, rgba(0,188,212,0.11), transparent 32%),
    radial-gradient(circle at 94% 10%, rgba(107,63,160,0.08), transparent 28%);
  pointer-events: none;
}

.office-status-card > * {
  position: relative;
}

.office-status-card.compact {
  max-width: 470px;
  backdrop-filter: blur(16px);
}

.contact-office-status {
  width: 100%;
  margin-bottom: 18px;
}

.office-status-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

.office-status-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--status-accent);
  box-shadow: 0 0 0 7px rgba(0,188,212,0.11), 0 0 18px rgba(0,188,212,0.32);
  flex: 0 0 auto;
  animation: officeStatusPulse 1.9s ease-in-out infinite;
}

.office-status-card.is-closed {
  --status-accent: #F5A623;
}

.office-status-card.is-closed .office-status-dot {
  box-shadow: 0 0 0 7px rgba(245,166,35,0.12), 0 0 18px rgba(245,166,35,0.32);
}

.office-status-kicker {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(26,35,50,0.52);
  margin-bottom: 3px;
}

.office-status-title {
  display: block;
  font-size: 18px;
  line-height: 1.2;
  color: var(--navy);
}

.office-status-note {
  margin: 11px 0 0 26px;
  color: rgba(26,35,50,0.64);
  font-size: 13px;
  line-height: 1.55;
}

.office-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.office-status-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(26,35,50,0.055);
  color: var(--navy);
  font-size: 12.5px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}

.office-status-action:hover {
  transform: translateY(-2px);
  background: var(--navy);
  color: #fff;
}

html[dir="rtl"] .home-office-status .container {
  justify-content: flex-end;
}

html[dir="rtl"] .office-status-note {
  margin-left: 0;
  margin-right: 26px;
}

@keyframes officeStatusPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.18); opacity: .72; }
}

@media (max-width: 760px) {
  .home-office-status {
    margin-top: 14px;
    margin-bottom: 8px;
  }

  .home-office-status .container {
    justify-content: center;
  }

  .office-status-card {
    border-radius: 18px;
    padding: 15px 15px;
  }

  .office-status-title {
    font-size: 16px;
  }

  .office-status-note {
    margin-left: 25px;
    font-size: 12.5px;
  }

  html[dir="rtl"] .office-status-note {
    margin-right: 25px;
  }

  .office-status-actions {
    gap: 7px;
  }

  .office-status-action {
    flex: 1 1 auto;
    min-width: 92px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .office-status-dot {
    animation: none !important;
  }
}


/* ── DAK SCHOOL ASSISTANT v2.0 ── */
.dak-ai-header-tools{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:auto;
  position:relative;
  z-index:3;
}
html[dir="rtl"] .dak-ai-header-tools{margin-left:0;margin-right:auto;}
.dak-ai-reset{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.10);
  transition:background .2s ease,transform .2s ease,color .2s ease;
}
.dak-ai-reset svg{width:17px;height:17px;}
.dak-ai-reset:hover,.dak-ai-reset:focus-visible{
  background:rgba(255,255,255,.19);
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}
.dak-ai-disclaimer{
  padding:9px 16px 10px;
  font-size:10.5px;
  line-height:1.45;
  text-align:center;
  color:#69788a;
  background:#f8fafc;
  border-top:1px solid rgba(26,35,50,.07);
}
.dak-msg-text{white-space:pre-line;}
.dak-msg-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(26,35,50,.08);
}
.dak-msg-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:31px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(107,63,160,.18);
  background:#fff;
  color:#5d3793;
  font-size:11.5px;
  line-height:1.2;
  font-weight:750;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.dak-msg-action:hover,.dak-msg-action:focus-visible{
  background:#f3eefb;
  border-color:rgba(107,63,160,.34);
  transform:translateY(-1px);
  outline:none;
}
.dak-ai-suggestions{display:flex;flex-wrap:wrap;}
.dak-ai-suggestions button{white-space:normal;text-align:left;line-height:1.3;}
html[dir="rtl"] .dak-ai-suggestions button{text-align:right;}
.dak-msg[dir="rtl"]{text-align:right;}
.dak-msg[dir="ltr"]{text-align:left;}
.dak-ai-bubble:focus-visible{
  outline:3px solid rgba(0,188,212,.42);
  outline-offset:4px;
}
.dak-ai-bubble::after{background:#00BCD4 !important;box-shadow:0 0 12px rgba(0,188,212,.52) !important;}
@media(max-width:600px){
  .dak-ai-disclaimer{padding-left:12px;padding-right:12px;font-size:10px;}
  .dak-msg-action{flex:1 1 auto;}
}

/* ==========================================================
   ACCESSIBILITY & KEYBOARD SUPPORT — PHASE 1
   ========================================================== */
.skip-link{
  position:fixed;
  inset-inline-start:16px;
  top:12px;
  z-index:100000;
  padding:11px 16px;
  border-radius:10px;
  background:#ffffff;
  color:#101a2a;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  transform:translateY(-160%);
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0)}
html[data-theme="dark"] .skip-link{background:#f6f8fb;color:#0b1220}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #00bcd4;
  outline-offset:3px;
  border-radius:8px;
}
html[data-theme="dark"] :where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline-color:#62e6f5;
}

.hamburger{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  font:inherit;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Static official uniform flyer */
.uniform-poster-wrap.uniform-poster-static {
  cursor: default;
}
.uniform-poster-wrap.uniform-poster-static::before {
  display: none;
}
.uniform-poster-wrap.uniform-poster-static:hover {
  transform: none;
  box-shadow: 0 20px 60px rgba(26, 35, 50, 0.12);
}

/* === FINAL HEADER RESTORE: previous approved desktop appearance only === */
/* Restores only the desktop/monitor navbar appearance from the immediately
   previous approved build. Phone/tablet styling and all page content remain unchanged. */
@media (min-width: 1200px) {
  .logo {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    line-height: 0 !important;
  }

  .logo img,
  nav .logo img,
  .navbar .logo img {
    display: block !important;
    width: 318px !important;
    height: auto !important;
    max-height: 64px !important;
    max-width: 36vw !important;
    object-fit: contain !important;
    image-rendering: auto !important;
    backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    filter: saturate(1.06) contrast(1.06) drop-shadow(0 7px 14px rgba(26,35,50,.06)) !important;
    transition: transform .22s ease, filter .22s ease, height .22s ease !important;
  }

  .logo:hover img,
  nav .logo:hover img,
  .navbar .logo:hover img {
    transform: translateZ(0) scale(1.018) !important;
    filter: saturate(1.06) contrast(1.045) drop-shadow(0 9px 18px rgba(26,35,50,.075)) !important;
  }

  nav,
  .navbar {
    overflow: visible !important;
  }

  nav.scrolled .logo img,
  .navbar.scrolled .logo img {
    width: 284px !important;
    height: auto !important;
    max-height: 56px !important;
  }

  .nav-links a.nav-portal-btn,
  .nav-links a.nav-portal-btn:visited {
    background: linear-gradient(135deg, #6B3FA0 0%, #7B4CC4 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(107, 63, 160, .32) !important;
    box-shadow: 0 8px 20px rgba(107, 63, 160, .14) !important;
    opacity: 1 !important;
  }

  .nav-links a.nav-portal-btn:hover,
  .nav-links a.nav-portal-btn:focus-visible {
    background: linear-gradient(135deg, #7B4CC4 0%, #5A2D8A 100%) !important;
    color: #FFFFFF !important;
    border-color: rgba(107, 63, 160, .42) !important;
    box-shadow: 0 12px 28px rgba(107, 63, 160, .24) !important;
    transform: translateY(-2px) !important;
    text-shadow: none !important;
  }

  .nav-links a.nav-portal-btn::after {
    display: none !important;
  }

  .nav-links a.nav-portal-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 6px 18px rgba(107, 63, 160, .18) !important;
  }

  .nav-links .lang-toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 86px !important;
    height: 40px !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(26,35,50,.14) !important;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,250,253,.95)) !important;
    color: var(--navy) !important;
    font-family: 'DM Sans','Noto Sans Arabic',sans-serif !important;
    font-size: 12.8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    box-shadow: 0 10px 24px rgba(26,35,50,.075), inset 0 1px 0 rgba(255,255,255,.95) !important;
    cursor: pointer !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    isolation: isolate !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .nav-links .lang-toggle::before {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: inherit;
    background:
      radial-gradient(circle at 20% 30%, rgba(0,188,212,.18), transparent 42%),
      radial-gradient(circle at 85% 70%, rgba(107,63,160,.13), transparent 46%);
    opacity: .55;
    z-index: -1;
    transition: opacity .24s ease, transform .24s ease;
  }

  .nav-links .lang-toggle-track {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(230,242,247,.98), rgba(240,235,250,.98));
    border: 1px solid rgba(0,188,212,.20);
    box-shadow: inset 0 1px 5px rgba(26,35,50,.08);
    flex: 0 0 auto;
  }

  .nav-links .lang-toggle-track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--teal), var(--purple));
    box-shadow: 0 5px 12px rgba(0,188,212,.25);
    transition: transform .25s cubic-bezier(.22,.8,.24,1), box-shadow .25s ease;
  }

  .nav-links .lang-toggle[data-current-lang="ar"] .lang-toggle-track::after {
    transform: translateX(14px);
    box-shadow: 0 5px 12px rgba(107,63,160,.25);
  }

  .nav-links .lang-toggle-label {
    position: relative;
    top: .5px;
    color: var(--navy);
  }

  html[lang="ar"] .nav-links .lang-toggle-label {
    font-family: 'Noto Sans Arabic','DM Sans',sans-serif !important;
    top: 0;
    letter-spacing: 0;
  }

  html[dir="rtl"] .nav-links .lang-toggle {
    margin-left: 0 !important;
    margin-right: 4px !important;
  }
}

@media (min-width: 1200px) and (hover:hover) and (pointer:fine) {
  .nav-links .lang-toggle:hover {
    border-color: rgba(0,188,212,.42) !important;
    background: linear-gradient(135deg, #fff, #f6fcff) !important;
    color: var(--navy) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 30px rgba(26,35,50,.12), 0 0 0 4px rgba(0,188,212,.07) !important;
  }
  .nav-links .lang-toggle:hover::before { opacity: .86; transform: scale(1.03); }
  .nav-links .lang-toggle:hover .lang-toggle-track::after { transform: translateX(1px) scale(1.04); }
  .nav-links .lang-toggle[data-current-lang="ar"]:hover .lang-toggle-track::after { transform: translateX(13px) scale(1.04); }
}

@media (min-width: 1200px) {
  .nav-links .lang-toggle:focus-visible {
    outline: 3px solid rgba(0,188,212,.25) !important;
    outline-offset: 3px !important;
  }
}


/* DAK mobile newsletter visibility hard-fix — 2026-09-22
   Mobile only. Keeps approved laptop/desktop layout untouched. */
@media (max-width: 760px) {
  .newsletter {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: auto !important;
    overflow: visible !important;
  }
  .newsletter-card,
  .newsletter-card.reveal,
  .newsletter-card.reveal.visible {
    display: grid !important;
    grid-template-columns: 1fr !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .newsletter-copy,
  .newsletter-form-panel,
  .nl-form {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .newsletter-copy {
    flex-direction: column !important;
  }
  .newsletter-form-panel,
  .nl-form {
    flex-direction: column !important;
  }
  .newsletter-form-panel {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
  }
  .nl-form input[type="email"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    border: 1.5px solid #cfdbe5 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #1a2332 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
  }
  .nl-form button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 52px !important;
  }
}

/* DAK 2026-09-23: journey helper note removed on all devices */
.journey-note,[data-i18n="journey_note"]{display:none !important;visibility:hidden !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;}


/* =========================================================
   GLOBAL PAGE SCROLLBAR — HIDDEN V3.0
   Keep normal page scrolling, but hide the browser scrollbar
   on both LTR and RTL layouts across all responsive versions.
   ========================================================= */
html,
body {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}


/* DAK CSS: dark-mode.css */
/* ==========================================================
   DAK AUTOMATIC DARK MODE
   Enabled by js/dark-mode.js from 18:30 to 06:30 Oman time.
   Light-mode rules remain untouched in the original files.
   ========================================================== */

html[data-theme="dark"] {
  color-scheme: dark;
  --dark-bg: #0b1220;
  --dark-bg-soft: #0f1827;
  --dark-surface: #141f30;
  --dark-surface-2: #192638;
  --dark-surface-3: #203044;
  --dark-border: #2b3b50;
  --dark-text: #edf3f9;
  --dark-muted: #aeb9c7;
  --dark-muted-2: #8795a7;

  /* Only semantic light-page variables are remapped. Brand colours stay intact. */
  --text: var(--dark-text);
  --text-muted: var(--dark-muted);
  --gray: var(--dark-bg-soft);
  --gray-2: var(--dark-border);
  --teal-light: #12333a;
  --purple-pale: #211a31;
  --shadow: 0 2px 18px rgba(0,0,0,.28);
  --shadow-md: 0 8px 30px rgba(0,0,0,.34);
  --shadow-lg: 0 18px 56px rgba(0,0,0,.42);
}

html[data-theme="dark"],
html[data-theme="dark"] body {
  background: var(--dark-bg);
  color: var(--dark-text);
}

html[data-theme="dark"] body,
html[data-theme="dark"] nav,
html[data-theme="dark"] .mobile-menu,
html[data-theme="dark"] .section,
html[data-theme="dark"] .section-gray,
html[data-theme="dark"] .footer,
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] button {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

/* Navigation */
html[data-theme="dark"] nav {
  background: rgba(11,18,32,.96) !important;
  border-bottom-color: rgba(255,255,255,.09) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
}
html[data-theme="dark"] nav.scrolled { box-shadow: 0 8px 34px rgba(0,0,0,.38); }
html[data-theme="dark"] .nav-links a,
html[data-theme="dark"] .mobile-menu a { color: var(--dark-text); }
html[data-theme="dark"] .nav-links a:hover,
html[data-theme="dark"] .mobile-menu a:hover { background: var(--dark-surface-2); color: #61e4f4; }
html[data-theme="dark"] .nav-links a.active { color: #55d9e9; }
html[data-theme="dark"] .lang-toggle {
  color: var(--dark-text) !important;
  border-color: var(--dark-border) !important;
  background: rgba(255,255,255,.035) !important;
}
html[data-theme="dark"] .lang-toggle:hover { border-color: var(--teal) !important; color: var(--teal) !important; }
html[data-theme="dark"] .hamburger span { background: var(--dark-text) !important; }
html[data-theme="dark"] .mobile-menu {
  background: rgba(15,24,39,.985) !important;
  border-bottom-color: var(--dark-border) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.48) !important;
}

/* Main page surfaces and typography */
html[data-theme="dark"] .section-gray { background: var(--dark-bg-soft) !important; }
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .home-adm-title,
html[data-theme="dark"] .path-tools-intro h2,
html[data-theme="dark"] .edexcel-title,
html[data-theme="dark"] .privacy-section h2,
html[data-theme="dark"] .calendar-brand-title,
html[data-theme="dark"] .fyp-q-title,
html[data-theme="dark"] .fv-form-title { color: var(--dark-text) !important; }
html[data-theme="dark"] .section-sub,
html[data-theme="dark"] .home-adm-sub,
html[data-theme="dark"] .edexcel-text,
html[data-theme="dark"] .print-tip,
html[data-theme="dark"] .age-table-note { color: var(--dark-muted) !important; }
html[data-theme="dark"] .btn-outline { color: var(--dark-text); border-color: var(--dark-border); }
html[data-theme="dark"] .btn-outline:hover { color: var(--teal); border-color: var(--teal); background: rgba(0,188,212,.08); }

/* Reusable white/light cards */
html[data-theme="dark"] :is(
  .prog-card,
  .why-card,
  .news-card,
  .ql-card,
  .team-card,
  .branch-detail,
  .home-adm-panel,
  .home-adm-side-block,
  .home-adm-card,
  .newsletter-form-panel,
  .calendar-board,
  .month-card,
  .key-card:not(.dark),
  .contact-form-card,
  .office-hours-card,
  .map-card,
  .facility-card,
  .bus-card,
  .step-card,
  .dress-card,
  .faq-item,
  .privacy-section,
  .info-card:not(.navy):not(.purple),
  .prog-full-right,
  .subject-item,
  .curriculum-card.edexcel,
  .journey-form,
  .journey-stat,
  .j-card,
  .journey-result,
  .path-tool-card,
  .home-edexcel-strip,
  .age-table,
  .dak-ai-chat,
  .fyp-quiz-card,
  .fyp-result-card,
  .fyp-rec-card,
  .fv-form,
  .fv-result
) {
  background: var(--dark-surface) !important;
  border-color: var(--dark-border) !important;
  box-shadow: var(--shadow) !important;
}

html[data-theme="dark"] :is(
  .branch-detail-body,
  .branch-detail-row,
  .home-adm-card,
  .journey-footer,
  .journey-reset:hover,
  .faq-answer,
  .month-note,
  .mini-cal th,
  .summary-table th,
  .fyp-summary-item
) {
  background: var(--dark-surface-2) !important;
  border-color: var(--dark-border) !important;
}

/* Card headings and normal text */
html[data-theme="dark"] :is(
  .prog-title,
  .why-card h3,
  .news-title-text,
  .ql-title,
  .team-card h4,
  .branch-detail-row strong,
  .home-adm-panel-top h3,
  .home-adm-side-block h3,
  .home-adm-card strong,
  .journey-stat-num,
  .j-title,
  .journey-step-title,
  .path-tool-card,
  .path-tool-card h3,
  .path-tool-action,
  .home-edexcel-copy strong,
  .contact-form-card h2,
  .office-hours-card h4,
  .facility-card h3,
  .bus-card h4,
  .dress-card h4,
  .faq-question,
  .privacy-section h2,
  .prog-full-right h3,
  .fyp-option-title,
  .fyp-rec-name,
  .fyp-summary-value,
  .fyp-why-title,
  .fv-label,
  .fv-dream-name,
  .info-card h3,
  .info-row .val
) { color: var(--dark-text) !important; }

html[data-theme="dark"] :is(
  .prog-desc,
  .why-card p,
  .news-excerpt,
  .ql-desc,
  .team-card span,
  .branch-detail-row span,
  .home-adm-panel-top p,
  .home-adm-side-block p,
  .journey-stat-lbl,
  .j-year,
  .j-desc,
  .journey-step-age,
  .journey-step-desc,
  .journey-footer-text,
  .home-edexcel-copy span,
  .faq-answer,
  .privacy-section p,
  .privacy-section li,
  .fyp-q-sub,
  .fyp-rec-desc,
  .fv-form-sub
) { color: var(--dark-muted) !important; }

/* Forms, search fields and chatbot */
html[data-theme="dark"] :is(
  .form-group input,
  .form-group textarea,
  .form-group select,
  .journey-field input,
  .journey-field select,
  .journey-input-group input,
  .journey-premium-inputs input,
  .journey-premium-inputs select,
  .nl-form input,
  .dak-ai-input-row input,
  .fv-input,
  .fv-select
) {
  background: #101a29 !important;
  color: var(--dark-text) !important;
  border-color: var(--dark-border) !important;
  caret-color: var(--teal);
}
html[data-theme="dark"] :is(input,textarea)::placeholder { color: #7f8da0 !important; opacity: 1; }
html[data-theme="dark"] :is(
  .form-group label,
  .journey-field label,
  .journey-input-group label,
  .journey-premium-inputs label
) { color: var(--dark-text) !important; }
html[data-theme="dark"] select option { background: #101a29; color: var(--dark-text); }
html[data-theme="dark"] .dak-msg-bot,
html[data-theme="dark"] .dak-ai-suggestions button { background: var(--dark-surface-2) !important; color: var(--dark-text) !important; }
html[data-theme="dark"] .dak-ai-input-row { background: var(--dark-surface) !important; border-top-color: var(--dark-border) !important; }

/* Home page light sections */
html[data-theme="dark"] :is(
  .branches-section,
  .programmes-section,
  .news-section,
  .journey-section,
  .path-tools-section,
  .quick-access-premium,
  .premium-apps-section,
  .team-section,
  #our-campuses,
  .home-adm-section
) {
  background: var(--dark-bg) !important;
}
html[data-theme="dark"] .team-section {
  background: linear-gradient(180deg,#0b1220 0%,#101a29 62%,#151225 100%) !important;
}
html[data-theme="dark"] #our-campuses {
  background: linear-gradient(180deg,#0c1623 0%,#101d2a 100%) !important;
}
html[data-theme="dark"] .branch-detail-body {
  background: linear-gradient(180deg,#162335,#111c2b) !important;
}
html[data-theme="dark"] .branch-detail-row { background: rgba(255,255,255,.035) !important; }
html[data-theme="dark"] .team-card span { background: var(--dark-surface-2) !important; border-color: var(--dark-border) !important; }
html[data-theme="dark"] .home-edexcel-strip { background: rgba(20,31,48,.95) !important; }
html[data-theme="dark"] .home-edexcel-left img,
html[data-theme="dark"] .edexcel-card-logo { background: #fff !important; }

/* Tables and calendar */
html[data-theme="dark"] .age-table tbody td {
  color: var(--dark-text) !important;
  border-top-color: var(--dark-border) !important;
}
html[data-theme="dark"] .age-table tbody tr:hover { background: var(--dark-surface-2) !important; }
html[data-theme="dark"] .mini-cal th { color: var(--dark-text) !important; }
html[data-theme="dark"] .mini-cal td {
  background: #121d2c;
  color: #dbe4ee;
  border-color: #29394d;
}
html[data-theme="dark"] .mini-cal td.muted { background: #0e1724; color: #5f6e81; }
html[data-theme="dark"] .month-note { color: var(--dark-muted) !important; }
html[data-theme="dark"] .key-row,
html[data-theme="dark"] .summary-table th,
html[data-theme="dark"] .summary-table td { border-color: var(--dark-border) !important; }
html[data-theme="dark"] .key-text strong,
html[data-theme="dark"] .summary-table th,
html[data-theme="dark"] .summary-table .total td { color: var(--dark-text) !important; }
html[data-theme="dark"] .key-date { background: var(--dark-surface-2) !important; color: var(--dark-text) !important; }
html[data-theme="dark"] .summary-table td { color: var(--dark-muted) !important; }
html[data-theme="dark"] .summary-table .total td { background: rgba(245,166,35,.12) !important; }

/* Admissions and FAQ */
html[data-theme="dark"] .home-adm-table-wrap { border-color: var(--dark-border) !important; }
html[data-theme="dark"] .faq-item { border-color: var(--dark-border) !important; }
html[data-theme="dark"] .faq-answer { border-top-color: var(--dark-border) !important; }
html[data-theme="dark"] .uniform-poster-wrap,
html[data-theme="dark"] .uniform-card,
html[data-theme="dark"] .admission-form-card,
html[data-theme="dark"] .sidebar-card.gray {
  background: var(--dark-surface) !important;
  border-color: var(--dark-border) !important;
}
html[data-theme="dark"] :is(.uniform-card h4,.uniform-extra-title,.uniform-store-phone,.admission-form-card h2,.sidebar-card.gray h4,.step-card h4) {
  color: var(--dark-text) !important;
}

/* Contact and facilities */
html[data-theme="dark"] .info-card.teal-light {
  background: #12333a !important;
  border-color: rgba(0,188,212,.35) !important;
}
html[data-theme="dark"] .info-card.teal-light :is(h4,.info-row strong,.info-row .val) { color: var(--dark-text) !important; }
html[data-theme="dark"] .hours-row-item { border-color: var(--dark-border) !important; }
html[data-theme="dark"] .hours-row-item :is(strong,span) { color: var(--dark-text) !important; }
html[data-theme="dark"] .map-card iframe { filter: brightness(.82) contrast(1.06) saturate(.86); }

/* Find Your Path / Future Vision tools */
html[data-theme="dark"] .fyp-quiz-section,
html[data-theme="dark"] .fv-section { background: var(--dark-bg) !important; }
html[data-theme="dark"] .fyp-option,
html[data-theme="dark"] .fyp-summary-item,
html[data-theme="dark"] .fv-dreams {
  background: var(--dark-surface-2) !important;
  border-color: var(--dark-border) !important;
}
html[data-theme="dark"] .fyp-option:hover { border-color: var(--teal) !important; }
html[data-theme="dark"] .fyp-restart-btn,
html[data-theme="dark"] .fv-action-btn.secondary {
  color: var(--dark-text) !important;
  border-color: var(--dark-border) !important;
  background: var(--dark-surface-2) !important;
}

/* Programmes */
html[data-theme="dark"] .prog-tabs { background: var(--dark-surface) !important; border-color: var(--dark-border) !important; }
html[data-theme="dark"] .prog-tab { color: var(--dark-muted) !important; }
html[data-theme="dark"] .prog-tab.active { color: var(--dark-text) !important; background: var(--dark-surface-2) !important; }
html[data-theme="dark"] .subject-item { color: var(--dark-text) !important; }
html[data-theme="dark"] .prog-tag,
html[data-theme="dark"] .edexcel-pill { color: var(--dark-text) !important; }
html[data-theme="dark"] .curriculum-card.edexcel { color: var(--dark-text) !important; }
html[data-theme="dark"] .curriculum-card.edexcel h3 { color: var(--dark-text) !important; }
html[data-theme="dark"] .curriculum-card.edexcel p { color: var(--dark-muted) !important; }

/* Keep intentionally coloured/dark blocks readable. */
html[data-theme="dark"] :is(
  .topbar,
  .page-hero,
  .hero-left,
  .why-panel,
  .newsletter,
  .day-panel,
  .journey-header,
  .home-adm-side-cta,
  .key-card.dark,
  .info-card.navy,
  .info-card.purple,
  .branch-hero,
  .fyp-result-header,
  .fv-hero,
  .mission-card,
  .prog-full-left,
  .facility-header.c-teal,
  .facility-header.c-purple,
  .facility-header.c-orange
) { color: #fff; }
html[data-theme="dark"] :is(
  .page-hero h1,
  .hero-title,
  .hero-stat .stat-num,
  .why-panel-title,
  .newsletter h2,
  .journey-header,
  .journey-child-name,
  .home-adm-cta-title,
  .key-card.dark h3,
  .key-card.dark .key-text strong,
  .key-card.dark .key-date,
  .info-card.navy h4,
  .info-card.purple h4,
  .mission-card h3,
  .value-title,
  .prog-full-left h2,
  .prog-full-left .age,
  .facility-header.c-teal h3,
  .facility-header.c-purple h3,
  .facility-header.c-orange h3,
  .dak-ai-name,
  .dak-msg-user,
  .nav-cta,
  .btn-purple,
  .btn-ghost
) { color: #fff !important; }

/* Teal/yellow controls need dark text for contrast even at night. */
html[data-theme="dark"] :is(
  .btn-teal,
  .btn-portal:hover,
  .calendar-year-pill,
  .calendar-note,
  .month-card.summer .month-head,
  .map-label.teal,
  .facility-header.c-yellow h3,
  .path-dot.start,
  .path-dot.finish
) { color: #10222a !important; }

/* Logos and photography are deliberately left unchanged. */
html[data-theme="dark"] img,
html[data-theme="dark"] video,
html[data-theme="dark"] .slide,
html[data-theme="dark"] .photo-slide,
html[data-theme="dark"] .hero-right,
html[data-theme="dark"] .day-picture {
  color-scheme: normal;
}

/* Accessibility */
html[data-theme="dark"] :focus-visible {
  outline: 3px solid rgba(0,188,212,.72);
  outline-offset: 3px;
}
html[data-theme="dark"] ::selection { background: rgba(0,188,212,.32); color: #fff; }

@media print {
  html[data-theme="dark"],
  html[data-theme="dark"] body {
    color-scheme: light;
    background: #fff !important;
    color: #1A2332 !important;
  }
}

/* Final safety pass for later versioned/mobile rules in the original stylesheet. */
html[data-theme="dark"] body,
html[data-theme="dark"] .hero,
html[data-theme="dark"] .section {
  background: var(--dark-bg) !important;
}
html[data-theme="dark"] :is(
  .branches-section,
  .why-section,
  .day-at-dak,
  .quick-access-premium,
  .journey-premium-section,
  .path-tools-section,
  .edexcel-recognition-section,
  .fyp-quiz-section,
  .fv-section
) {
  background: linear-gradient(180deg,#0b1220 0%,#0f1928 100%) !important;
}
html[data-theme="dark"] :is(
  .quick-directory,
  .journey-premium-card,
  .journey-form-panel,
  .path-tools-panel,
  .edexcel-recognition-card,
  .edexcel-content,
  .office-status-card,
  .hero-pill,
  .portal-badge
) {
  background: rgba(20,31,48,.96) !important;
  border-color: var(--dark-border) !important;
  box-shadow: var(--shadow-md) !important;
}
html[data-theme="dark"] .journey-form-panel {
  background: linear-gradient(180deg,#141f30 0%,#101a29 100%) !important;
}
html[data-theme="dark"] .edexcel-logo-wrap {
  background: linear-gradient(135deg,#182538,#111c2b) !important;
  border-color: var(--dark-border) !important;
}
html[data-theme="dark"] .ql-card {
  background: linear-gradient(135deg,#182538,#121d2c) !important;
  border-color: var(--dark-border) !important;
  box-shadow: var(--shadow) !important;
}
html[data-theme="dark"] .ql-card:hover {
  background: linear-gradient(135deg,#1d2c40,#162538) !important;
}
html[data-theme="dark"] .ql-desc { color: var(--dark-muted) !important; }
html[data-theme="dark"] .ql-arrow { background: #27384c !important; color: #fff !important; }
html[data-theme="dark"] :is(.hero-pill,.portal-badge) :is(strong,span) { color: var(--dark-text) !important; }
html[data-theme="dark"] .hero-pill,
html[data-theme="dark"] .portal-badge { backdrop-filter: blur(12px); }
html[data-theme="dark"] .office-status-card,
html[data-theme="dark"] .office-status-title,
html[data-theme="dark"] .office-status-card :is(strong,span) { color: var(--dark-text) !important; }
html[data-theme="dark"] .office-status-note { color: var(--dark-muted) !important; }
html[data-theme="dark"] .office-status-action {
  background: var(--dark-surface-2) !important;
  border-color: var(--dark-border) !important;
  color: var(--dark-text) !important;
}
html[data-theme="dark"] .journey-form-head strong,
html[data-theme="dark"] .journey-form-panel .journey-form-head strong,
html[data-theme="dark"] .path-tools-intro,
html[data-theme="dark"] .path-tools-intro h2 { color: var(--dark-text) !important; }
html[data-theme="dark"] .journey-form-panel .journey-form-head small { color: var(--dark-muted) !important; }
html[data-theme="dark"] .journey-premium-card,
html[data-theme="dark"] .journey-premium-result { border-color: var(--dark-border) !important; }
html[data-theme="dark"] .edexcel-recognition-card { color: var(--dark-text) !important; }
html[data-theme="dark"] .edexcel-logo-wrap img,
html[data-theme="dark"] .edexcel-card-logo { background: #fff !important; }
html[data-theme="dark"] .prog-tag,
html[data-theme="dark"] .activity-chip {
  background: var(--dark-surface-2) !important;
  border-color: var(--dark-border) !important;
  color: var(--dark-text) !important;
}
html[data-theme="dark"] .uniform-note {
  background: #2b2317 !important;
  border-color: #8d6427 !important;
  color: #f3dfbd !important;
}
html[data-theme="dark"] .uniform-note :is(strong,p) { color: #f3dfbd !important; }
html[data-theme="dark"] .dak-ai-suggestions,
html[data-theme="dark"] .dak-mascot-wave,
html[data-theme="dark"] .dak-loader-logo {
  background: var(--dark-surface) !important;
  border-color: var(--dark-border) !important;
}
html[data-theme="dark"] :is(.est-year,.cal-month-year,.cal-day) { color: var(--dark-text) !important; }
html[data-theme="dark"] .cal-day:not(.empty):not(.weekend):hover { background: var(--dark-surface-3) !important; }
html[data-theme="dark"] .newsletter-form-panel :is(h3,p,label) {
  color: var(--dark-text) !important;
}
html[data-theme="dark"] .newsletter-form-panel p { color: var(--dark-muted) !important; }
html[data-theme="dark"] .map-open,
html[data-theme="dark"] .map-card .map-open {
  background: var(--dark-surface-2) !important;
  border-color: var(--dark-border) !important;
  color: var(--dark-text) !important;
}
html[data-theme="dark"] .activity-card,
html[data-theme="dark"] .subject-card,
html[data-theme="dark"] .contact-card {
  background: var(--dark-surface) !important;
  border-color: var(--dark-border) !important;
  color: var(--dark-text) !important;
}
html[data-theme="dark"] :is(.activity-card h3,.subject-card h3,.contact-card h3) { color: var(--dark-text) !important; }

/* Visual QA corrections: protect text contrast in nested light components. */
html[data-theme="dark"] .newsletter-form-title,
html[data-theme="dark"] .key-card:not(.dark) h3 {
  color: var(--dark-text) !important;
}
html[data-theme="dark"] .facility-body {
  background: var(--dark-surface) !important;
  color: var(--dark-muted) !important;
}
html[data-theme="dark"] .facility-body ul li {
  color: var(--dark-muted) !important;
  border-bottom-color: var(--dark-border) !important;
}
html[data-theme="dark"] .info-card p {
  color: var(--dark-muted) !important;
}
html[data-theme="dark"] .info-row .lbl {
  color: var(--dark-muted-2) !important;
}

/* ==========================================================
   Dark-mode refinement: navbar brand, language switch, and
   programme stage tabs. Added after visual QA screenshots.
   ========================================================== */

/* Use the official full-colour school mark with a dedicated light-text lockup.
   Both files preserve the official logo geometry; only the lettering colour changes. */
html[data-theme="dark"] nav > .logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.logo .logo-dark { display: none !important; }
html[data-theme="dark"] .logo .logo-light { display: none !important; }
html[data-theme="dark"] .logo .logo-dark {
  display: block !important;
  opacity: 1 !important;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.24)) !important;
}

/* The generated label is a child element, so it needs its own dark-mode colour. */
html[data-theme="dark"] .lang-toggle-label {
  color: #f4f8fc !important;
}
html[data-theme="dark"] .lang-toggle-track {
  background: linear-gradient(135deg, #203044, #172337) !important;
  border-color: rgba(97,228,244,.34) !important;
  box-shadow: inset 0 1px 5px rgba(0,0,0,.34) !important;
}
html[data-theme="dark"] .mobile-menu .lang-toggle-label::before {
  color: rgba(237,243,249,.58) !important;
}

/* Remove the full-width pale bar and make every stage tab a true dark-mode pill. */
html[data-theme="dark"] .prog-tabs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .prog-tab {
  background: var(--dark-surface) !important;
  color: #cbd6e3 !important;
  border-color: #34465d !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .prog-tab:hover {
  background: var(--dark-surface-2) !important;
  color: #72e8f5 !important;
  border-color: #00bcd4 !important;
}
html[data-theme="dark"] .prog-tab.active {
  background: linear-gradient(135deg, rgba(0,188,212,.18), rgba(107,63,160,.16)) !important;
  color: #ffffff !important;
  border-color: #00cbe3 !important;
  box-shadow: 0 0 0 1px rgba(0,203,227,.10), 0 8px 22px rgba(0,0,0,.24) !important;
}


/* ==========================================================
   USER THEME CONTROLS
   Desktop: compact menu beside the language switch.
   Mobile: clear three-option appearance selector.
   ========================================================== */
.theme-control {
  position: relative;
  font-family: 'DM Sans', sans-serif;
  color: var(--text);
}
.theme-control button {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
.theme-control--desktop {
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  flex: 0 0 auto;
}
html[dir="rtl"] .theme-control--desktop {
  margin-left: 0;
  margin-right: 4px;
}
.theme-trigger {
  min-width: 42px;
  height: 38px;
  padding: 0 9px;
  border: 1px solid rgba(26,35,50,.12);
  border-radius: 11px;
  background: linear-gradient(135deg,#fff,#f7fbfd);
  color: var(--navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(26,35,50,.07), inset 0 1px 0 rgba(255,255,255,.95);
  transition: border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.theme-trigger:hover,
.theme-control.is-open .theme-trigger {
  color: var(--teal-dark);
  border-color: rgba(0,188,212,.42);
  box-shadow: 0 10px 22px rgba(26,35,50,.11), 0 0 0 4px rgba(0,188,212,.07);
  transform: translateY(-1px);
}
.theme-trigger:focus-visible,
.theme-choice:focus-visible,
.theme-segment-option:focus-visible {
  outline: 3px solid rgba(0,188,212,.28);
  outline-offset: 2px;
}
.theme-trigger-icon,
.theme-choice-icon,
.theme-mobile-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.theme-trigger-icon svg {
  width: 19px;
  height: 19px;
}
.theme-trigger-icon svg,
.theme-choice-icon svg,
.theme-mobile-heading-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.theme-trigger-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.theme-trigger-chevron {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .55;
  transition: transform .2s ease;
}
.theme-control.is-open .theme-trigger-chevron { transform: rotate(180deg); }
.theme-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 1000;
  width: 208px;
  padding: 7px;
  border-radius: 16px;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(26,35,50,.11);
  box-shadow: 0 22px 60px rgba(26,35,50,.18), 0 3px 12px rgba(26,35,50,.08);
  backdrop-filter: blur(18px);
  transform-origin: top right;
}
html[dir="rtl"] .theme-menu {
  right: auto;
  left: 0;
  transform-origin: top left;
}
.theme-menu[hidden] { display: none !important; }
.theme-choice {
  width: 100%;
  min-height: 52px;
  padding: 8px 9px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--navy);
  display: grid;
  grid-template-columns: 30px 1fr 18px;
  align-items: center;
  gap: 8px;
  text-align: left;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
html[dir="rtl"] .theme-choice { text-align: right; }
.theme-choice:hover { background: #f2f8fa; }
.theme-choice.is-active {
  background: linear-gradient(135deg,rgba(0,188,212,.11),rgba(107,63,160,.08));
  color: #087f8e;
}
.theme-choice-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(26,35,50,.055);
}
.theme-choice.is-active .theme-choice-icon { background: rgba(0,188,212,.13); }
.theme-choice-icon svg { width: 17px; height: 17px; }
.theme-choice-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.theme-choice-copy strong { font-size: 13px; font-weight: 800; color: inherit; }
.theme-choice-copy small { font-size: 10.5px; font-weight: 600; color: var(--text-muted); margin-top: 2px; }
.theme-choice-check { font-size: 14px; font-weight: 900; color: var(--teal-dark); opacity: 0; }
.theme-choice.is-active .theme-choice-check { opacity: 1; }
.theme-control--mobile { display: none; }

@media (max-width: 768px) {
  .theme-control--desktop { display: none !important; }
  .mobile-menu .theme-control--mobile {
    display: block;
    width: 100%;
    margin: 8px 0 0;
    padding: 10px;
    border-radius: 15px;
    background: linear-gradient(135deg,rgba(255,255,255,.99),rgba(244,251,253,.97));
    border: 1px solid rgba(0,188,212,.19);
    box-shadow: 0 10px 24px rgba(26,35,50,.07);
  }
  .theme-mobile-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 2px 8px;
    color: var(--navy);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: .025em;
  }
  .theme-mobile-heading-icon { color: var(--teal-dark); }
  .theme-mobile-heading-icon svg { width: 16px; height: 16px; }
  .theme-segment {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 5px;
    padding: 4px;
    border-radius: 12px;
    background: rgba(26,35,50,.055);
  }
  .theme-segment-option {
    min-width: 0;
    min-height: 42px;
    padding: 6px 4px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  }
  .theme-segment-option .theme-choice-icon { width: 20px; height: 20px; background: transparent; }
  .theme-segment-option .theme-choice-icon svg { width: 16px; height: 16px; }
  .theme-segment-option .theme-choice-copy { align-items: center; }
  .theme-segment-option .theme-choice-copy strong { font-size: 11.5px; font-weight: 800; }
  .theme-segment-option .theme-choice-copy small,
  .theme-segment-option .theme-choice-check { display: none; }
  .theme-segment-option.is-active {
    background: #fff;
    color: var(--navy);
    border-color: rgba(0,188,212,.2);
    box-shadow: 0 5px 14px rgba(26,35,50,.09);
  }
}

/* Dark appearance for both desktop and mobile controls. */
html[data-theme="dark"] .theme-trigger {
  background: linear-gradient(135deg,#192638,#121c2b);
  color: #e8f1f8;
  border-color: #34465d;
  box-shadow: 0 8px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .theme-trigger:hover,
html[data-theme="dark"] .theme-control.is-open .theme-trigger {
  color: #72e8f5;
  border-color: #00bcd4;
  background: linear-gradient(135deg,#1d2c40,#162538);
  box-shadow: 0 11px 26px rgba(0,0,0,.3), 0 0 0 4px rgba(0,188,212,.08);
}
html[data-theme="dark"] .theme-menu {
  background: rgba(20,31,48,.985);
  border-color: #34465d;
  box-shadow: 0 24px 65px rgba(0,0,0,.48), 0 3px 14px rgba(0,0,0,.3);
}
html[data-theme="dark"] .theme-choice { color: #eaf1f7; }
html[data-theme="dark"] .theme-choice:hover { background: #1b2a3d; }
html[data-theme="dark"] .theme-choice.is-active {
  background: linear-gradient(135deg,rgba(0,188,212,.17),rgba(107,63,160,.14));
  color: #78e9f5;
}
html[data-theme="dark"] .theme-choice-icon { background: rgba(255,255,255,.055); }
html[data-theme="dark"] .theme-choice.is-active .theme-choice-icon { background: rgba(0,188,212,.16); }
html[data-theme="dark"] .theme-choice-copy small { color: #91a1b3; }
html[data-theme="dark"] .theme-choice-check { color: #61e4f4; }

@media (max-width: 768px) {
  html[data-theme="dark"] .mobile-menu .theme-control--mobile {
    background: linear-gradient(135deg,#172438,#111b2a);
    border-color: #31435a;
    box-shadow: 0 12px 28px rgba(0,0,0,.26);
  }
  html[data-theme="dark"] .theme-mobile-heading { color: #edf3f9; }
  html[data-theme="dark"] .theme-mobile-heading-icon { color: #61e4f4; }
  html[data-theme="dark"] .theme-segment { background: rgba(0,0,0,.18); }
  html[data-theme="dark"] .theme-segment-option { color: #93a2b5; }
  html[data-theme="dark"] .theme-segment-option.is-active {
    background: #223248;
    color: #fff;
    border-color: rgba(0,188,212,.38);
    box-shadow: 0 6px 16px rgba(0,0,0,.24);
  }
}


/* DAK School Assistant v2.0 dark mode */
html[data-theme="dark"] .dak-ai-disclaimer{
  background:#101a29 !important;
  color:#91a0b2 !important;
  border-top-color:var(--dark-border) !important;
}
html[data-theme="dark"] .dak-msg-actions{border-top-color:var(--dark-border) !important;}
html[data-theme="dark"] .dak-msg-action{
  background:#162335 !important;
  color:#d9c8f3 !important;
  border-color:rgba(174,137,230,.28) !important;
}
html[data-theme="dark"] .dak-msg-action:hover,
html[data-theme="dark"] .dak-msg-action:focus-visible{
  background:#211a35 !important;
  border-color:rgba(174,137,230,.5) !important;
}


/* ==========================================================
   REFINED DARK MODE — GUIDED PATH CARDS
   Scope: homepage "Find the Right Programme" and
   "Visualise the Future" cards only.
   ========================================================== */
html[data-theme="dark"] .path-tools-panel {
  background: linear-gradient(145deg, #101c2b 0%, #122235 100%) !important;
  border-color: rgba(126, 165, 196, .25) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, .38),
    inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

html[data-theme="dark"] .path-tool-card {
  background: linear-gradient(145deg, #18273a 0%, #142134 100%) !important;
  border-color: rgba(83, 214, 232, .22) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, .26),
    inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

html[data-theme="dark"] .path-tool-card.purple {
  background: linear-gradient(145deg, #20233f 0%, #171f34 100%) !important;
  border-color: rgba(166, 130, 225, .25) !important;
}

html[data-theme="dark"] .path-tool-card::before {
  background:
    radial-gradient(circle at 0 0, rgba(0, 188, 212, .13), transparent 46%),
    linear-gradient(90deg, rgba(0, 188, 212, .035), transparent 55%) !important;
  opacity: 1 !important;
}

html[data-theme="dark"] .path-tool-card.purple::before {
  background:
    radial-gradient(circle at 0 0, rgba(126, 84, 190, .18), transparent 46%),
    linear-gradient(90deg, rgba(126, 84, 190, .045), transparent 55%) !important;
}

html[data-theme="dark"] .path-tool-card h3 {
  color: #f7f9fc !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .2);
}

html[data-theme="dark"] .path-tool-card p {
  color: #b8c5d6 !important;
}

html[data-theme="dark"] .path-tool-index {
  color: #54d8e9 !important;
  background: #102b3a !important;
  border-color: rgba(84, 216, 233, .58) !important;
  box-shadow:
    inset 0 0 0 4px rgba(84, 216, 233, .075),
    0 10px 24px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] .path-tool-card.purple .path-tool-index {
  color: #ad86ec !important;
  background: #282342 !important;
  border-color: rgba(173, 134, 236, .55) !important;
  box-shadow:
    inset 0 0 0 4px rgba(173, 134, 236, .075),
    0 10px 24px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] .path-tool-icon {
  color: #eefbff !important;
  background: #203247 !important;
  border: 1px solid rgba(84, 216, 233, .20) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .22) !important;
}

html[data-theme="dark"] .path-tool-card.purple .path-tool-icon {
  color: #f4efff !important;
  background: #292742 !important;
  border-color: rgba(173, 134, 236, .22) !important;
}

html[data-theme="dark"] .path-tool-action {
  color: #f8fcff !important;
  background: rgba(0, 188, 212, .15) !important;
  border: 1px solid rgba(84, 216, 233, .30) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .path-tool-card.purple .path-tool-action {
  background: rgba(126, 84, 190, .18) !important;
  border-color: rgba(173, 134, 236, .30) !important;
}

html[data-theme="dark"] .path-tool-arrow {
  color: #ffffff !important;
  background: rgba(7, 18, 31, .72) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
}

html[data-theme="dark"] .path-tool-card::after {
  background: linear-gradient(90deg, #18c7dd, #6481dd, #9668d6) !important;
  opacity: .9 !important;
}

html[data-theme="dark"] .path-tool-card:hover {
  background: linear-gradient(145deg, #1b2d42 0%, #17263a 100%) !important;
  border-color: rgba(84, 216, 233, .48) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, .34) !important;
}

html[data-theme="dark"] .path-tool-card.purple:hover {
  background: linear-gradient(145deg, #28294a 0%, #1b253b 100%) !important;
  border-color: rgba(173, 134, 236, .45) !important;
}

@media (max-width: 620px) {
  html[data-theme="dark"] .path-tool-card {
    padding: 24px 22px !important;
  }

  html[data-theme="dark"] .path-tool-card h3 {
    padding-right: 46px;
  }

  html[dir="rtl"][data-theme="dark"] .path-tool-card h3 {
    padding-right: 0;
    padding-left: 46px;
  }
}

/* ==========================================================
   GUIDED TOOLS — COMPLETE DARK MODE REFINEMENT V2
   Scope: Find the Right Programme + Visualise the Future.
   Light mode remains untouched.
   ========================================================== */
html[data-theme="dark"] .fyp-quiz-section,
html[data-theme="dark"] .fv-section {
  background: linear-gradient(180deg, #0a1220 0%, #0d1726 100%) !important;
}

/* Find the Right Programme: shell and progress */
html[data-theme="dark"] .fyp-progress {
  background: rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.35) !important;
}
html[data-theme="dark"] .fyp-progress-bar {
  background: linear-gradient(90deg, #11bfd4 0%, #7650bd 100%) !important;
  box-shadow: 0 0 16px rgba(17,191,212,.28) !important;
}
html[data-theme="dark"] .fyp-progress-label {
  color: #91a1b5 !important;
}
html[data-theme="dark"] .fyp-quiz-card,
html[data-theme="dark"] .fyp-result-card {
  background: linear-gradient(160deg, #142135 0%, #111d2e 100%) !important;
  border: 1px solid #2c3e55 !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025) !important;
}
html[data-theme="dark"] .fyp-q-num {
  background: #292442 !important;
  border: 1px solid rgba(166,124,224,.32) !important;
  color: #c8a9f0 !important;
}
html[data-theme="dark"] .fyp-q-title {
  color: #f5f8fc !important;
  text-shadow: none !important;
}
html[data-theme="dark"] .fyp-q-sub {
  color: #b4c1d1 !important;
}

/* Find the Right Programme: choices */
html[data-theme="dark"] .fyp-option {
  background: #19283b !important;
  border-color: #30435a !important;
  color: #f2f6fb !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}
html[data-theme="dark"] .fyp-option:hover {
  background: #1d3045 !important;
  border-color: #29bfd3 !important;
  transform: translateX(2px);
}
html[dir="rtl"][data-theme="dark"] .fyp-option:hover {
  transform: translateX(-2px);
}
html[data-theme="dark"] .fyp-option.selected {
  background: linear-gradient(135deg, rgba(34,103,130,.34), rgba(95,61,151,.28)) !important;
  border-color: #25bfd4 !important;
  box-shadow: 0 0 0 1px rgba(37,191,212,.16), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
html[data-theme="dark"] .fyp-option-icon {
  background: #25374c !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  color: #eaf1f8 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fyp-option.selected .fyp-option-icon {
  background: linear-gradient(145deg, #7045b3, #59368e) !important;
  border-color: rgba(194,159,239,.32) !important;
  color: #fff !important;
}
html[data-theme="dark"] .fyp-option-title {
  color: #f5f8fc !important;
}
html[data-theme="dark"] .fyp-option-desc {
  color: #b7c4d4 !important;
}
html[data-theme="dark"] .fyp-input {
  background: #0f1b2b !important;
  border-color: #30435a !important;
  color: #f5f8fc !important;
  caret-color: #24c2d8 !important;
}
html[data-theme="dark"] .fyp-input:focus {
  border-color: #25bfd4 !important;
  box-shadow: 0 0 0 3px rgba(37,191,212,.10) !important;
}
html[data-theme="dark"] .fyp-back-btn {
  color: #bac7d7 !important;
}
html[data-theme="dark"] .fyp-back-btn:hover {
  color: #ffffff !important;
}
html[data-theme="dark"] .fyp-next-btn {
  background: linear-gradient(135deg, #7445b5, #6537a5) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(83,48,142,.24) !important;
}
html[data-theme="dark"] .fyp-next-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #8252c2, #7040b2) !important;
}
html[data-theme="dark"] .fyp-next-btn:disabled {
  background: #34334d !important;
  color: #7f8795 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Find the Right Programme: result */
html[data-theme="dark"] .fyp-result-body {
  background: #111d2e !important;
}
html[data-theme="dark"] .fyp-rec-card {
  background: linear-gradient(135deg, rgba(100,70,164,.23), rgba(21,145,159,.19)) !important;
  border: 1px solid rgba(91,197,211,.22) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fyp-rec-label {
  color: #bda1e8 !important;
}
html[data-theme="dark"] .fyp-rec-name,
html[data-theme="dark"] .fyp-summary-value,
html[data-theme="dark"] .fyp-why-title {
  color: #f5f8fc !important;
}
html[data-theme="dark"] .fyp-rec-desc,
html[data-theme="dark"] .fyp-summary-label,
html[data-theme="dark"] .fyp-why-list li {
  color: #b7c4d4 !important;
}
html[data-theme="dark"] .fyp-summary-item {
  background: #19283b !important;
  border: 1px solid #2c3e55 !important;
}
html[data-theme="dark"] .fyp-why-list {
  background: #19283b !important;
  border: 1px solid #2c3e55 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fyp-why-list li::before {
  background: #17bdd2 !important;
  color: #071820 !important;
}
html[data-theme="dark"] .fyp-principal-msg {
  background: #0e1928 !important;
  border: 1px solid #2c3e55 !important;
}
html[data-theme="dark"] .fyp-principal-text {
  color: #c6d1df !important;
}
html[data-theme="dark"] .fyp-restart-btn {
  background: #19283b !important;
  color: #f2f6fb !important;
  border-color: #344960 !important;
}
html[data-theme="dark"] .fyp-restart-btn:hover {
  background: #203248 !important;
  border-color: #5a708a !important;
}

/* Visualise the Future: form */
html[data-theme="dark"] .fv-form {
  background: linear-gradient(160deg, #142135 0%, #111d2e 100%) !important;
  border: 1px solid #2c3e55 !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025) !important;
}
html[data-theme="dark"] .fv-form-title,
html[data-theme="dark"] .fv-label {
  color: #f5f8fc !important;
}
html[data-theme="dark"] .fv-form-sub {
  color: #b4c1d1 !important;
}
html[data-theme="dark"] .fv-input,
html[data-theme="dark"] .fv-select {
  background: #0f1b2b !important;
  color: #f5f8fc !important;
  border-color: #30435a !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fv-input:focus,
html[data-theme="dark"] .fv-select:focus {
  border-color: #25bfd4 !important;
  box-shadow: 0 0 0 3px rgba(37,191,212,.10) !important;
}
html[data-theme="dark"] .fv-dreams {
  background: transparent !important;
  border: 0 !important;
}
html[data-theme="dark"] .fv-dream {
  background: #19283b !important;
  border-color: #30435a !important;
  color: #f2f6fb !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}
html[data-theme="dark"] .fv-dream:hover {
  background: #1d3045 !important;
  border-color: #29bfd3 !important;
}
html[data-theme="dark"] .fv-dream.selected {
  background: linear-gradient(145deg, rgba(34,103,130,.34), rgba(95,61,151,.28)) !important;
  border-color: #25bfd4 !important;
  box-shadow: 0 0 0 1px rgba(37,191,212,.15) !important;
}
html[data-theme="dark"] .fv-dream-name {
  color: #eef4fa !important;
}
html[data-theme="dark"] .fv-generate-btn {
  background: linear-gradient(135deg, #7445b5, #6537a5) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(83,48,142,.24) !important;
}
html[data-theme="dark"] .fv-generate-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #8252c2, #7040b2) !important;
}
html[data-theme="dark"] .fv-generate-btn:disabled {
  background: #34334d !important;
  color: #858d9a !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Visualise the Future: generated poster and actions */
html[data-theme="dark"] .fv-result {
  background: transparent !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fv-poster-wrap {
  background: #141f30 !important;
  border: 1px solid #2c3e55 !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.34) !important;
}
html[data-theme="dark"] .fv-poster-frame {
  background: #0d1726 !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.30) !important;
}
html[data-theme="dark"] .fv-action-btn.secondary {
  background: #19283b !important;
  color: #f2f6fb !important;
  border-color: #344960 !important;
}
html[data-theme="dark"] .fv-action-btn.secondary:hover {
  background: #203248 !important;
  border-color: #5a708a !important;
}

/* Mobile refinements for both tools */
@media (max-width: 700px) {
  html[data-theme="dark"] .fyp-quiz-card,
  html[data-theme="dark"] .fv-form {
    border-radius: 18px !important;
  }
  html[data-theme="dark"] .fyp-option {
    padding: 16px 15px !important;
    gap: 13px !important;
  }
  html[data-theme="dark"] .fyp-option-icon {
    width: 44px !important;
    height: 44px !important;
  }
  html[data-theme="dark"] .fv-dream {
    padding: 15px 10px !important;
  }
  html[data-theme="dark"] .fv-poster-wrap {
    padding: 12px !important;
  }
}

/* Cambridge Secondary teaching programme choices */
html[data-theme="dark"] .prog-card.c3 .prog-track-option {
  background: rgba(245,166,35,.035) !important;
  border-color: rgba(245,166,35,.14) !important;
  color: var(--dark-text) !important;
}


/* ==========================================================
   FINAL THEME SAFETY NET
   Keeps browser controls and floating WhatsApp UI consistent
   with the selected Light / Dark appearance.
   ========================================================== */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

html[data-theme="dark"] .wa-menu {
  background: #0f1b2b !important;
  border: 1px solid #2b3c50 !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.46) !important;
}
html[data-theme="dark"] .wa-menu-body { background: #0b1521 !important; }
html[data-theme="dark"] .wa-greeting,
html[data-theme="dark"] .wa-option {
  background: #142438 !important;
  color: #edf4f7 !important;
  border: 1px solid rgba(255,255,255,.055) !important;
}
html[data-theme="dark"] .wa-option-name { color: #edf4f7 !important; }
html[data-theme="dark"] .wa-option-number { color: #9eafbf !important; }
html[data-theme="dark"] .wa-greeting { color: #dfe9ee !important; }
html[data-theme="dark"] .wa-greeting::before {
  border-color: transparent #142438 transparent transparent !important;
}
html[dir="rtl"][data-theme="dark"] .wa-greeting::before {
  border-color: transparent transparent transparent #142438 !important;
}
html[data-theme="dark"] .wa-option:hover {
  background: #1f8f50 !important;
  border-color: #29b865 !important;
  color: #fff !important;
}
html[data-theme="dark"] .wa-option:hover .wa-option-name,
html[data-theme="dark"] .wa-option:hover .wa-option-number { color: #fff !important; }
html[data-theme="dark"] .wa-menu-footer {
  background: #0c1724 !important;
  color: #91a2b4 !important;
  border-top-color: #27384b !important;
}


/* DAK CSS: assistant-v4.css */
/* ==========================================================
   DAK SMART ASSISTANT v4
   Modern local school assistant. Loaded after dark-mode.css.
   ========================================================== */
:root{
  --dak-chat-accent:#00a9bd;
  --dak-chat-accent-strong:#008fa2;
  --dak-chat-ink:#142136;
  --dak-chat-muted:#66768b;
  --dak-chat-line:rgba(20,33,54,.10);
  --dak-chat-surface:#ffffff;
  --dak-chat-soft:#f4f7fa;
}

.dak-ai-bubble{
  width:68px!important;
  height:68px!important;
  right:32px!important;
  bottom:88px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:linear-gradient(145deg,#7b4bc2 0%,#6B3FA0 62%,#56308c 100%)!important;
  box-shadow:0 14px 34px rgba(107,63,160,.38),0 0 0 8px rgba(107,63,160,.08)!important;
  animation:dakBotClassicFloat 3.8s ease-in-out infinite!important;
  overflow:visible!important;
  transform:none!important;
}
.dak-ai-bubble::before{
  content:""!important;
  position:absolute!important;
  inset:-6px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%)!important;
  border:0!important;
  pointer-events:none!important;
  z-index:0!important;
}
.dak-ai-bubble::after{
  content:""!important;
  position:absolute!important;
  top:8px!important;
  right:7px!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  background:#20d982!important;
  border:2px solid #fff!important;
  box-shadow:0 0 12px rgba(32,217,130,.75)!important;
  z-index:3!important;
}
.dak-ai-bubble .dak-bot-mark,
.dak-ai-bubble svg{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  width:43px!important;
  height:43px!important;
  filter:drop-shadow(0 8px 14px rgba(26,35,50,.24))!important;
  transition:transform .28s ease!important;
}
.dak-ai-bubble img{display:none!important;}
.dak-ai-bubble:hover{
  transform:translateY(-5px) scale(1.10)!important;
  box-shadow:0 18px 44px rgba(107,63,160,.48),0 0 0 10px rgba(0,188,212,.08)!important;
}
.dak-ai-bubble:hover .dak-bot-mark,
.dak-ai-bubble:hover svg{transform:rotate(-3deg) scale(1.04)!important;}
.dak-ai-bubble:focus-visible{outline:3px solid rgba(0,188,212,.48)!important;outline-offset:4px!important;}
body.dak-chat-open .dak-ai-bubble{opacity:0;pointer-events:none;transform:translateY(10px)!important;}
@keyframes dakBotClassicFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@media(max-width:640px){
  .dak-ai-bubble{
    width:62px!important;
    height:62px!important;
    right:14px!important;
    bottom:82px!important;
  }
  .dak-ai-bubble .dak-bot-mark,
  .dak-ai-bubble svg{width:39px!important;height:39px!important;}
}

.dak-ai-chat.dak-v4{
  --chat-bg:#f7f9fc;
  --chat-panel:#ffffff;
  --chat-panel-2:#f1f5f8;
  --chat-text:#142136;
  --chat-muted:#66768b;
  --chat-border:rgba(20,33,54,.10);
  --chat-shadow:0 28px 90px rgba(5,17,31,.24),0 0 0 1px rgba(20,33,54,.05);
  position:fixed!important;
  right:28px!important;
  bottom:28px!important;
  width:min(430px,calc(100vw - 32px))!important;
  height:min(690px,calc(100dvh - 56px))!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid var(--chat-border)!important;
  border-radius:28px!important;
  background:var(--chat-bg)!important;
  box-shadow:var(--chat-shadow)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(18px) scale(.985)!important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  isolation:isolate!important;
  z-index:10020!important;
}
.dak-ai-chat.dak-v4::before,.dak-ai-chat.dak-v4::after{display:none!important;content:none!important;}
.dak-ai-chat.dak-v4.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

.dak-v4-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:14px 16px;
  color:#fff;
  background:linear-gradient(135deg,#102239 0%,#15364c 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.dak-v4-header::after{
  content:"";
  position:absolute;
  right:-50px;
  top:-75px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,188,212,.23),transparent 68%);
  pointer-events:none;
}
.dak-v4-avatar{
  width:45px;
  height:45px;
  flex:0 0 45px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 20px rgba(0,0,0,.16);
  overflow:hidden;
}
.dak-v4-avatar img{width:38px;height:38px;object-fit:contain;}
.dak-v4-heading{min-width:0;flex:1;position:relative;z-index:1;}
.dak-v4-title{font:800 15px/1.2 "DM Sans",sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dak-v4-status{display:flex;align-items:center;gap:7px;margin-top:5px;font:500 11px/1.2 "DM Sans",sans-serif;color:rgba(255,255,255,.72);}
.dak-v4-status-dot{width:7px;height:7px;border-radius:999px;background:#22cf84;box-shadow:0 0 0 4px rgba(34,207,132,.12);}
.dak-v4-tools{display:flex;align-items:center;gap:6px;position:relative;z-index:2;}
.dak-v4-icon-btn{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.08);
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.dak-v4-icon-btn:hover,.dak-v4-icon-btn:focus-visible{background:rgba(255,255,255,.16);color:#fff;transform:translateY(-1px);outline:none;}
.dak-v4-icon-btn svg{width:17px;height:17px;display:block;}

.dak-v4-body{
  position:relative;
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:var(--chat-bg);
}
.dak-ai-messages.dak-v4-messages{
  flex:1!important;
  min-height:0!important;
  overflow-y:auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:15px!important;
  padding:18px 16px 22px!important;
  background:transparent!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(101,119,139,.34) transparent;
}
.dak-v4-messages::-webkit-scrollbar{width:6px;}
.dak-v4-messages::-webkit-scrollbar-thumb{background:rgba(101,119,139,.28);border-radius:999px;}

.dak-v4-welcome{
  display:block;
  padding:4px 0 2px;
  animation:dakV4Fade .28s ease both;
}
.dak-v4-welcome.is-hidden{display:none;}
.dak-v4-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  color:#087e8d;
  background:rgba(0,169,189,.09);
  border:1px solid rgba(0,169,189,.14);
  font:800 10.5px/1 "DM Sans",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.dak-v4-welcome h3{
  margin:16px 0 8px;
  color:var(--chat-text);
  font:800 clamp(25px,6vw,31px)/1.08 "Playfair Display",serif;
  letter-spacing:-.025em;
}
.dak-v4-welcome p{
  margin:0;
  color:var(--chat-muted);
  font:500 13.5px/1.65 "DM Sans",sans-serif;
}
.dak-v4-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:18px;
}
.dak-v4-topic{
  min-height:78px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  text-align:left;
  color:var(--chat-text);
  background:var(--chat-panel);
  border:1px solid var(--chat-border);
  border-radius:17px;
  box-shadow:0 7px 20px rgba(10,26,44,.045);
  cursor:pointer;
  font-family:"DM Sans",sans-serif;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;
}
html[dir="rtl"] .dak-v4-topic{text-align:right;}
.dak-v4-topic:hover,.dak-v4-topic:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(0,169,189,.34);
  box-shadow:0 12px 26px rgba(10,26,44,.08);
  outline:none;
}
.dak-v4-topic-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:#087e8d;
  border-radius:11px;
  background:rgba(0,169,189,.09);
}
.dak-v4-topic-icon svg{width:17px;height:17px;}
.dak-v4-topic-copy strong{display:block;color:inherit;font-size:12.5px;line-height:1.35;font-weight:800;}
.dak-v4-topic-copy span{display:block;margin-top:4px;color:var(--chat-muted);font-size:10.5px;line-height:1.35;}
.dak-v4-local-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;color:var(--chat-muted);font-size:10.5px;line-height:1.4;}
.dak-v4-local-note svg{width:13px;height:13px;color:#1ca96b;}

.dak-v4-message-row{display:flex;align-items:flex-end;gap:9px;animation:dakV4Message .25s cubic-bezier(.2,.8,.2,1) both;}
.dak-v4-message-row.is-user{justify-content:flex-end;}
.dak-v4-message-avatar{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff;
  border:1px solid var(--chat-border);
  overflow:hidden;
  box-shadow:0 5px 13px rgba(10,26,44,.07);
}
.dak-v4-message-avatar img{width:24px;height:24px;object-fit:contain;}
.dak-v4-message-stack{max-width:84%;min-width:0;}
.dak-v4-message-meta{display:flex;align-items:center;gap:6px;margin:0 0 5px;color:var(--chat-muted);font-size:9.5px;font-weight:650;}
.dak-v4-message-row.is-user .dak-v4-message-meta{justify-content:flex-end;}
.dak-msg.dak-v4-message{
  max-width:none!important;
  margin:0!important;
  padding:12px 14px!important;
  border-radius:17px!important;
  font:500 13.5px/1.65 "DM Sans",sans-serif!important;
  white-space:pre-line;
  word-break:break-word;
  box-shadow:none!important;
}
.dak-v4-message.dak-msg-bot{
  color:var(--chat-text)!important;
  background:var(--chat-panel)!important;
  border:1px solid var(--chat-border)!important;
  border-bottom-left-radius:6px!important;
}
html[dir="rtl"] .dak-v4-message.dak-msg-bot{border-bottom-left-radius:17px!important;border-bottom-right-radius:6px!important;}
.dak-v4-message.dak-msg-user{
  color:#fff!important;
  background:linear-gradient(135deg,#087e8d,#126d83)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-bottom-right-radius:6px!important;
}
html[dir="rtl"] .dak-v4-message.dak-msg-user{border-bottom-right-radius:17px!important;border-bottom-left-radius:6px!important;}
.dak-v4-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;}
.dak-v4-action{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:31px;
  padding:6px 10px;
  border-radius:10px;
  color:#087e8d;
  background:rgba(0,169,189,.075);
  border:1px solid rgba(0,169,189,.16);
  text-decoration:none;
  font-size:10.5px;
  line-height:1.25;
  font-weight:800;
}
.dak-v4-action:hover,.dak-v4-action:focus-visible{background:rgba(0,169,189,.13);border-color:rgba(0,169,189,.28);outline:none;}
.dak-v4-action svg{width:13px;height:13px;flex:0 0 auto;}

.dak-typing.dak-v4-typing{padding:10px 12px!important;min-width:58px;display:flex;gap:5px;align-items:center;}
.dak-v4-typing .dak-dot{width:6px;height:6px;border-radius:999px;background:#6c7d91;animation:dakV4Dot 1.05s infinite ease-in-out;}
.dak-v4-typing .dak-dot:nth-child(2){animation-delay:.13s;}
.dak-v4-typing .dak-dot:nth-child(3){animation-delay:.26s;}

.dak-ai-suggestions.dak-v4-suggestions{
  flex:0 0 auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  overflow-x:auto!important;
  padding:10px 16px 2px!important;
  background:var(--chat-bg)!important;
  border:0!important;
  scrollbar-width:none;
}
.dak-v4-suggestions::-webkit-scrollbar{display:none;}
.dak-v4-suggestions:empty{display:none!important;}
.dak-v4-suggestions button{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px!important;
  border-radius:999px!important;
  color:var(--chat-text)!important;
  background:var(--chat-panel)!important;
  border:1px solid var(--chat-border)!important;
  font:750 10.5px/1.2 "DM Sans",sans-serif!important;
  white-space:nowrap!important;
  cursor:pointer;
}
.dak-v4-suggestions button:hover,.dak-v4-suggestions button:focus-visible{color:#087e8d!important;border-color:rgba(0,169,189,.30)!important;background:rgba(0,169,189,.07)!important;outline:none;}

.dak-v4-composer-wrap{
  flex:0 0 auto;
  padding:10px 12px 12px;
  background:var(--chat-panel);
  border-top:1px solid var(--chat-border);
}
.dak-ai-input-row.dak-v4-composer{
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  padding:6px 6px 6px 13px!important;
  border:1.5px solid rgba(20,33,54,.13)!important;
  border-radius:18px!important;
  background:var(--chat-soft)!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
html[dir="rtl"] .dak-v4-composer{padding:6px 13px 6px 6px!important;}
.dak-v4-composer:focus-within{border-color:rgba(0,169,189,.52)!important;box-shadow:0 0 0 4px rgba(0,169,189,.08)!important;background:var(--chat-panel)!important;}
.dak-v4-composer textarea{
  flex:1;
  width:100%;
  min-height:38px;
  max-height:112px;
  resize:none;
  overflow-y:auto;
  border:0!important;
  outline:0!important;
  padding:9px 0 7px!important;
  color:var(--chat-text)!important;
  background:transparent!important;
  font:500 13px/1.5 "DM Sans",sans-serif!important;
}
.dak-v4-composer textarea::placeholder{color:#8492a5;}
.dak-send-btn.dak-v4-send{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#00a9bd,#087e8d)!important;
  box-shadow:0 8px 18px rgba(0,145,164,.22)!important;
  cursor:pointer;
}
.dak-v4-send:hover,.dak-v4-send:focus-visible{transform:translateY(-1px);box-shadow:0 11px 24px rgba(0,145,164,.29)!important;outline:none;}
.dak-v4-send:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none!important;}
.dak-v4-send svg{width:18px;height:18px;display:block;}
.dak-v4-composer-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 4px 0;color:var(--chat-muted);font-size:9.5px;line-height:1.35;}
.dak-v4-composer-note button{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit;}

.dak-v4-info{
  position:absolute;
  inset:76px 0 auto 0;
  z-index:10;
  display:none;
  padding:13px 16px;
  color:var(--chat-text);
  background:var(--chat-panel);
  border-bottom:1px solid var(--chat-border);
  box-shadow:0 14px 30px rgba(10,26,44,.09);
  font-size:11px;
  line-height:1.55;
}
.dak-v4-info.is-open{display:block;animation:dakV4Fade .18s ease both;}
.dak-v4-info strong{display:block;margin-bottom:3px;font-size:11.5px;}

html[data-theme="dark"] .dak-ai-chat.dak-v4{
  --chat-bg:#0b1627;
  --chat-panel:#111f32;
  --chat-panel-2:#15253a;
  --chat-text:#f1f5fa;
  --chat-muted:#9eacc0;
  --chat-border:rgba(163,187,213,.15);
  --chat-soft:#0e1b2d;
  --chat-shadow:0 30px 100px rgba(0,0,0,.55),0 0 0 1px rgba(144,177,208,.08);
  background:var(--chat-bg)!important;
  border-color:var(--chat-border)!important;
}
html[data-theme="dark"] .dak-v4-header{background:linear-gradient(135deg,#0d1b2d,#12334a);}
html[data-theme="dark"] .dak-v4-avatar,html[data-theme="dark"] .dak-v4-message-avatar{background:#f8fafc;border-color:rgba(255,255,255,.10);}
html[data-theme="dark"] .dak-v4-eyebrow{color:#65dce8;background:rgba(0,188,212,.11);border-color:rgba(101,220,232,.17);}
html[data-theme="dark"] .dak-v4-topic{box-shadow:none;background:#111f32;border-color:rgba(163,187,213,.14);}
html[data-theme="dark"] .dak-v4-topic:hover{background:#14263a;border-color:rgba(101,220,232,.29);}
html[data-theme="dark"] .dak-v4-topic-icon{color:#65dce8;background:rgba(0,188,212,.11);}
html[data-theme="dark"] .dak-v4-message.dak-msg-bot{background:#111f32!important;border-color:rgba(163,187,213,.14)!important;color:#eef3f9!important;}
html[data-theme="dark"] .dak-v4-action{color:#68dce8;background:rgba(0,188,212,.10);border-color:rgba(104,220,232,.18);}
html[data-theme="dark"] .dak-v4-action:hover{background:rgba(0,188,212,.16);}
html[data-theme="dark"] .dak-v4-suggestions button{background:#111f32!important;border-color:rgba(163,187,213,.14)!important;color:#eef3f9!important;}
html[data-theme="dark"] .dak-v4-suggestions button:hover{color:#6be0eb!important;background:rgba(0,188,212,.10)!important;border-color:rgba(107,224,235,.28)!important;}
html[data-theme="dark"] .dak-v4-composer-wrap{background:#0e1a2b;border-color:rgba(163,187,213,.13);}
html[data-theme="dark"] .dak-v4-composer{border-color:rgba(163,187,213,.16)!important;background:#0b1728!important;}
html[data-theme="dark"] .dak-v4-composer:focus-within{background:#0d1b2d!important;border-color:rgba(101,220,232,.48)!important;}
html[data-theme="dark"] .dak-v4-info{background:#111f32;border-color:rgba(163,187,213,.14);box-shadow:0 16px 32px rgba(0,0,0,.35);}

html[dir="rtl"] .dak-v4-message-row{direction:rtl;}
html[dir="rtl"] .dak-v4-message-row.is-user{direction:ltr;}
html[dir="rtl"] .dak-v4-message-stack{text-align:right;}
html[dir="rtl"] .dak-v4-message-row.is-user .dak-v4-message-stack{text-align:right;}
html[dir="rtl"] .dak-v4-title,html[dir="rtl"] .dak-v4-status,html[dir="rtl"] .dak-v4-welcome,html[dir="rtl"] .dak-v4-info{text-align:right;}

@keyframes dakV4Fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes dakV4Message{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes dakV4Dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}

@media(max-width:640px){
  .dak-ai-chat.dak-v4{
    right:8px!important;
    bottom:8px!important;
    width:calc(100vw - 16px)!important;
    height:min(82dvh,720px)!important;
    border-radius:24px!important;
  }
  .dak-v4-header{min-height:70px;padding:12px 13px;}
  .dak-v4-avatar{width:42px;height:42px;flex-basis:42px;border-radius:14px;}
  .dak-v4-avatar img{width:35px;height:35px;}
  .dak-v4-tools{gap:4px;}
  .dak-v4-icon-btn{width:32px;height:32px;}
  .dak-ai-messages.dak-v4-messages{padding:15px 13px 18px!important;}
  .dak-v4-welcome h3{font-size:27px;}
  .dak-v4-topic-grid{gap:8px;}
  .dak-v4-topic{min-height:72px;padding:10px;}
  .dak-v4-message-stack{max-width:87%;}
  .dak-v4-composer-wrap{padding:9px 9px 10px;}
}
@media(max-width:390px){
  .dak-v4-topic-grid{grid-template-columns:1fr;}
  .dak-v4-topic{min-height:62px;}
  .dak-v4-welcome h3{font-size:24px;}
  .dak-v4-title{font-size:14px;}
  .dak-v4-status{font-size:10.5px;}
}
@media(prefers-reduced-motion:reduce){
  .dak-ai-chat.dak-v4,.dak-v4-message-row,.dak-v4-welcome,.dak-v4-info,.dak-v4-typing .dak-dot{animation:none!important;transition:none!important;}
}

/* ==========================================================
   DAK SMART ASSISTANT — WORLD-CLASS MOBILE v8
   Institutional mobile UI. Desktop styles above are unchanged.
   ========================================================== */
@media (max-width:640px){
  body.dak-chat-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  body.dak-chat-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:10010;
    background:rgba(8,20,36,.34);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
    animation:dakV4Backdrop .18s ease both;
  }

  /* Launcher: restrained school-brand treatment */
  .dak-ai-bubble{
    width:56px!important;
    height:56px!important;
    right:16px!important;
    bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:17px!important;
    background:#102b46!important;
    box-shadow:0 12px 28px rgba(8,28,48,.24),0 2px 8px rgba(8,28,48,.10)!important;
    animation:none!important;
  }
  .dak-ai-bubble::before{
    inset:0!important;
    border-radius:inherit!important;
    background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 55%)!important;
  }
  .dak-ai-bubble::after{
    top:7px!important;
    right:7px!important;
    width:8px!important;
    height:8px!important;
    background:#23c483!important;
    border:2px solid #102b46!important;
    box-shadow:none!important;
  }
  .dak-ai-bubble .dak-bot-mark,
  .dak-ai-bubble svg{
    width:35px!important;
    height:35px!important;
    filter:none!important;
  }
  .dak-ai-bubble:hover{transform:none!important;box-shadow:0 12px 28px rgba(8,28,48,.24),0 2px 8px rgba(8,28,48,.10)!important;}

  /* Main card */
  .dak-ai-chat.dak-v4{
    --chat-bg:#f6f8fb;
    --chat-panel:#ffffff;
    --chat-panel-2:#f2f5f8;
    --chat-text:#10243a;
    --chat-muted:#69798b;
    --chat-border:rgba(16,36,58,.10);
    left:12px!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:min(70dvh,610px)!important;
    min-height:470px!important;
    max-height:calc(100dvh - 42px - env(safe-area-inset-bottom,0px))!important;
    border:1px solid rgba(16,36,58,.10)!important;
    border-radius:22px!important;
    background:var(--chat-bg)!important;
    box-shadow:0 28px 78px rgba(5,20,36,.28),0 8px 24px rgba(5,20,36,.12)!important;
    transform:translateY(16px) scale(.988)!important;
    transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility .2s ease!important;
    z-index:10020!important;
  }
  .dak-ai-chat.dak-v4.open{transform:none!important;}

  /* Formal app bar */
  .dak-v4-header{
    min-height:64px;
    gap:10px;
    padding:10px 11px 10px 12px;
    color:var(--chat-text);
    background:#fff;
    border-bottom:1px solid rgba(16,36,58,.08);
  }
  .dak-v4-header::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:#0aa6b7;
  }
  .dak-v4-header::after{display:none;}
  .dak-v4-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:12px;
    background:#f5f8fa;
    border:1px solid rgba(16,36,58,.09);
    box-shadow:none;
  }
  .dak-v4-avatar img{width:34px;height:34px;}
  .dak-v4-title{
    color:#10243a;
    font:800 14px/1.25 "DM Sans",sans-serif;
    letter-spacing:-.01em;
  }
  .dak-v4-status{
    margin-top:3px;
    gap:6px;
    color:#6f7f91;
    font:600 10px/1.2 "DM Sans",sans-serif;
  }
  .dak-v4-status-dot{
    width:6px;
    height:6px;
    background:#23b97b;
    box-shadow:none;
  }
  .dak-v4-tools{gap:2px;}
  .dak-v4-icon-btn{
    width:34px;
    height:34px;
    border-radius:10px;
    color:#64758a;
    background:transparent;
  }
  .dak-v4-icon-btn:hover,.dak-v4-icon-btn:focus-visible{
    color:#10243a;
    background:#f1f5f8;
    transform:none;
  }
  .dak-v4-icon-btn svg{width:16px;height:16px;}

  /* Conversation surface */
  .dak-v4-body{background:#f6f8fb;}
  .dak-ai-messages.dak-v4-messages{
    gap:13px!important;
    padding:15px 14px 16px!important;
    background:#f6f8fb!important;
    -webkit-overflow-scrolling:touch;
    scroll-padding-bottom:16px;
  }

  /* Welcome: compact, confident, institutional */
  .dak-v4-welcome{padding:1px 0 3px;}
  .dak-v4-eyebrow{
    min-height:auto;
    padding:0;
    gap:6px;
    border:0;
    border-radius:0;
    color:#0b7d8a;
    background:transparent;
    font:800 9.5px/1.2 "DM Sans",sans-serif;
    letter-spacing:.08em;
  }
  .dak-v4-eyebrow .dak-v4-status-dot{display:none;}
  .dak-v4-welcome h3{
    margin:8px 0 5px;
    color:#10243a;
    font:800 20px/1.18 "DM Sans",sans-serif;
    letter-spacing:-.025em;
  }
  .dak-v4-welcome p{
    margin:0;
    color:#657589;
    font:500 12px/1.52 "DM Sans",sans-serif;
  }
  .dak-v4-topic-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    margin-top:13px;
  }
  .dak-v4-topic{
    min-height:51px;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border:1px solid rgba(16,36,58,.09);
    border-radius:13px;
    background:#fff;
    box-shadow:0 2px 8px rgba(9,31,52,.025);
  }
  .dak-v4-topic::after{
    content:"›";
    margin-inline-start:auto;
    color:#95a1af;
    font:500 20px/1 Arial,sans-serif;
  }
  html[dir="rtl"] .dak-v4-topic::after{content:"‹";}
  .dak-v4-topic:hover,.dak-v4-topic:focus-visible{
    transform:none;
    border-color:rgba(10,166,183,.28);
    background:#fbfefe;
    box-shadow:0 3px 10px rgba(9,31,52,.04);
  }
  .dak-v4-topic-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:9px;
    color:#087d8b;
    background:#edf8f9;
  }
  .dak-v4-topic-icon svg{width:15px;height:15px;}
  .dak-v4-topic-copy{min-width:0;}
  .dak-v4-topic-copy strong{
    font-size:11.5px;
    line-height:1.3;
    font-weight:800;
  }
  .dak-v4-topic-copy span{
    margin-top:2px;
    font-size:9.5px;
    line-height:1.25;
  }

  /* Messages */
  .dak-v4-message-row{gap:7px;align-items:flex-end;}
  .dak-v4-message-avatar{
    width:26px;
    height:26px;
    flex:0 0 26px;
    border-radius:8px;
    box-shadow:none;
  }
  .dak-v4-message-avatar img{width:22px;height:22px;}
  .dak-v4-message-stack{max-width:88%;}
  .dak-v4-message-meta{
    margin:0 0 4px;
    color:#8592a1;
    font-size:8.5px;
    font-weight:650;
  }
  .dak-msg.dak-v4-message{
    padding:10px 12px!important;
    border-radius:14px!important;
    font:500 13px/1.55 "DM Sans",sans-serif!important;
  }
  .dak-v4-message.dak-msg-bot{
    color:#1b2c40!important;
    background:#fff!important;
    border:1px solid rgba(16,36,58,.085)!important;
    border-bottom-left-radius:5px!important;
  }
  html[dir="rtl"] .dak-v4-message.dak-msg-bot{
    border-bottom-left-radius:14px!important;
    border-bottom-right-radius:5px!important;
  }
  .dak-v4-message.dak-msg-user{
    color:#fff!important;
    background:#123f5f!important;
    border:1px solid #123f5f!important;
    border-bottom-right-radius:5px!important;
  }
  html[dir="rtl"] .dak-v4-message.dak-msg-user{
    border-bottom-right-radius:14px!important;
    border-bottom-left-radius:5px!important;
  }
  .dak-v4-actions{gap:6px;margin-top:7px;}
  .dak-v4-action{
    min-height:30px;
    padding:6px 9px;
    border-radius:9px;
    color:#087d8b;
    background:#f0f8f9;
    border-color:rgba(8,125,139,.13);
    font-size:10px;
  }

  /* Suggested follow-ups */
  .dak-ai-suggestions.dak-v4-suggestions{
    gap:6px!important;
    padding:7px 12px 2px!important;
    background:#f6f8fb!important;
  }
  .dak-v4-suggestions button{
    min-height:31px;
    padding:6px 10px!important;
    border-radius:10px!important;
    color:#334b61!important;
    background:#fff!important;
    border-color:rgba(16,36,58,.09)!important;
    font-size:9.75px!important;
    font-weight:700!important;
  }

  /* Composer: white, precise, app-quality */
  .dak-v4-composer-wrap{
    padding:8px 9px calc(9px + env(safe-area-inset-bottom,0px));
    background:#fff;
    border-top:1px solid rgba(16,36,58,.08);
    box-shadow:none;
  }
  .dak-ai-input-row.dak-v4-composer{
    gap:7px!important;
    padding:4px 4px 4px 11px!important;
    border:1px solid rgba(16,36,58,.14)!important;
    border-radius:14px!important;
    background:#f7f9fb!important;
    box-shadow:none!important;
  }
  html[dir="rtl"] .dak-v4-composer{padding:4px 11px 4px 4px!important;}
  .dak-v4-composer:focus-within{
    border-color:rgba(10,166,183,.48)!important;
    box-shadow:0 0 0 3px rgba(10,166,183,.08)!important;
    background:#fff!important;
  }
  .dak-v4-composer textarea{
    min-height:38px;
    max-height:88px;
    padding:8px 0 7px!important;
    font-size:16px!important;
    line-height:1.4!important;
  }
  .dak-send-btn.dak-v4-send{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border-radius:11px!important;
    background:#0a91a2!important;
    box-shadow:none!important;
  }
  .dak-v4-send:hover,.dak-v4-send:focus-visible{
    transform:none;
    background:#087f8e!important;
    box-shadow:none!important;
  }
  .dak-v4-send svg{width:17px;height:17px;}
  .dak-v4-composer-note{padding-top:3px;font-size:8.5px;}

  .dak-v4-info{
    inset:64px 0 auto 0;
    padding:11px 13px;
    background:#fff;
    font-size:10px;
    box-shadow:0 10px 24px rgba(9,31,52,.08);
  }

  /* Dark mobile: same restrained hierarchy */
  html[data-theme="dark"] .dak-ai-chat.dak-v4{
    --chat-bg:#0d1724;
    --chat-panel:#132131;
    --chat-text:#eef4f8;
    --chat-muted:#9eacbb;
    --chat-border:rgba(168,190,210,.14);
    background:#0d1724!important;
  }
  html[data-theme="dark"] .dak-v4-header{
    color:#eef4f8;
    background:#111e2d;
    border-bottom-color:rgba(168,190,210,.10);
  }
  html[data-theme="dark"] .dak-v4-title{color:#eef4f8;}
  html[data-theme="dark"] .dak-v4-status{color:#9eacbb;}
  html[data-theme="dark"] .dak-v4-icon-btn{color:#aab8c6;}
  html[data-theme="dark"] .dak-v4-icon-btn:hover{color:#fff;background:#1a2b3d;}
  html[data-theme="dark"] .dak-v4-body,
  html[data-theme="dark"] .dak-ai-messages.dak-v4-messages,
  html[data-theme="dark"] .dak-ai-suggestions.dak-v4-suggestions{background:#0d1724!important;}
  html[data-theme="dark"] .dak-v4-welcome h3{color:#eef4f8;}
  html[data-theme="dark"] .dak-v4-welcome p{color:#9eacbb;}
  html[data-theme="dark"] .dak-v4-topic{background:#132131;border-color:rgba(168,190,210,.12);box-shadow:none;}
  html[data-theme="dark"] .dak-v4-topic:hover{background:#17283a;border-color:rgba(67,195,208,.24);}
  html[data-theme="dark"] .dak-v4-topic-icon{background:rgba(33,176,191,.10);color:#57cbd6;}
  html[data-theme="dark"] .dak-v4-message.dak-msg-bot{background:#132131!important;color:#eef4f8!important;border-color:rgba(168,190,210,.12)!important;}
  html[data-theme="dark"] .dak-v4-message.dak-msg-user{background:#16677b!important;border-color:#16677b!important;}
  html[data-theme="dark"] .dak-v4-suggestions button{background:#132131!important;color:#dce5ec!important;border-color:rgba(168,190,210,.12)!important;}
  html[data-theme="dark"] .dak-v4-composer-wrap{background:#111e2d;border-top-color:rgba(168,190,210,.10);}
  html[data-theme="dark"] .dak-v4-composer{background:#0e1926!important;border-color:rgba(168,190,210,.15)!important;}
  html[data-theme="dark"] .dak-v4-composer:focus-within{background:#111e2d!important;}
  html[data-theme="dark"] .dak-v4-info{background:#132131;border-color:rgba(168,190,210,.12);}
}

@media (max-width:370px){
  .dak-ai-chat.dak-v4{
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    height:min(72dvh,590px)!important;
    min-height:445px!important;
    max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))!important;
    border-radius:19px!important;
  }
  .dak-v4-header{min-height:60px;padding:8px 8px 8px 10px;}
  .dak-v4-avatar{width:36px;height:36px;flex-basis:36px;}
  .dak-v4-avatar img{width:31px;height:31px;}
  .dak-v4-icon-btn{width:31px;height:31px;}
  .dak-v4-title{font-size:13px;}
  .dak-v4-status{font-size:9px;}
  .dak-v4-welcome h3{font-size:18.5px;}
  .dak-v4-topic{min-height:48px;padding:7px 9px;}
  .dak-v4-info{inset:60px 0 auto 0;}
}

@media (max-height:620px) and (max-width:640px){
  .dak-ai-chat.dak-v4{
    height:calc(100dvh - 18px - env(safe-area-inset-bottom,0px))!important;
    min-height:0!important;
    max-height:calc(100dvh - 18px - env(safe-area-inset-bottom,0px))!important;
    bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;
  }
  .dak-v4-header{min-height:58px;padding-top:7px;padding-bottom:7px;}
  .dak-v4-info{inset:58px 0 auto 0;}
}

@keyframes dakV4Backdrop{from{opacity:0}to{opacity:1}}


/* DAK CSS: pathway-advisor.css */
/* DAK Pathway Advisor — page-specific, intentionally isolated */
:root{
  --pa-navy:#0b1626;--pa-navy-2:#122237;--pa-ink:#142034;--pa-teal:#0b7189;
  --pa-teal-soft:#e8f4f5;--pa-gold:#b99253;--pa-paper:#f5f3ee;--pa-white:#fff;
  --pa-line:#dfe5e8;--pa-muted:#667383;--pa-success:#1f715b;--pa-shadow:0 24px 70px rgba(12,28,45,.10)
}
.pa-page{background:var(--pa-paper);color:var(--pa-ink)}
.pa-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.pa-hero{position:relative;overflow:hidden;background:var(--pa-navy);padding:128px 0 76px;color:#fff}
.pa-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.pa-hero:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(80,204,218,.22);border-radius:50%;right:-160px;top:-140px;box-shadow:0 0 0 90px rgba(80,204,218,.035),0 0 0 180px rgba(80,204,218,.018)}
.pa-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:66px;align-items:center}
.pa-eyebrow{display:flex;align-items:center;gap:10px;color:#80d7df;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.pa-eyebrow:before{content:"";width:30px;height:1px;background:#80d7df}
.pa-hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,5vw,74px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;max-width:760px;color:#fff}
.pa-hero-copy>p{font-size:18px;line-height:1.75;color:rgba(255,255,255,.72);max-width:690px;margin:0}
.pa-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.pa-trust-row span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);padding:9px 12px;border-radius:999px;font-size:12px;color:rgba(255,255,255,.72)}
.pa-route-box{background:#f8fafb;color:var(--pa-ink);border-radius:28px;padding:14px;box-shadow:0 32px 80px rgba(0,0,0,.28)}
.pa-route-box-head{padding:16px 16px 11px}.pa-route-box-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--pa-teal);font-weight:800}.pa-route-box-title{font-family:'Playfair Display',serif;font-size:27px;line-height:1.08;margin:7px 0 0;color:var(--pa-navy)}
.pa-route-mini{display:grid;grid-template-columns:48px 1fr 34px;align-items:center;gap:14px;width:100%;border:1px solid #e1e6e9;background:#fff;border-radius:18px;padding:17px 16px;margin-top:10px;text-align:left;cursor:pointer;transition:.22s ease;font:inherit;color:inherit}
html[dir=rtl] .pa-route-mini{text-align:right}.pa-route-mini:hover{transform:translateY(-2px);border-color:#9fcbd2;box-shadow:0 12px 30px rgba(17,54,73,.09)}
.pa-route-mini-code{width:48px;height:48px;border-radius:14px;background:var(--pa-navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:.08em}.pa-route-mini + .pa-route-mini .pa-route-mini-code{background:var(--pa-teal)}
.pa-route-mini strong{display:block;font-size:15px;color:var(--pa-navy);margin-bottom:3px}.pa-route-mini small{display:block;color:var(--pa-muted);font-size:12px;line-height:1.45}.pa-route-mini-arrow{width:32px;height:32px;border:1px solid #dbe4e8;border-radius:50%;display:grid;place-items:center;color:var(--pa-teal)}
.pa-advisor-section{padding:74px 0 94px;background:var(--pa-paper)}
.pa-intro-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:end;margin-bottom:34px}.pa-intro-head h2{font-family:'Playfair Display',serif;font-size:46px;line-height:1.04;margin:0;color:var(--pa-navy)}.pa-intro-head p{margin:0;color:var(--pa-muted);font-size:16px;line-height:1.8}
.pa-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pa-route-card{position:relative;overflow:hidden;border:1px solid #dce3e6;border-radius:26px;background:#fff;padding:30px;min-height:310px;display:flex;flex-direction:column;box-shadow:0 16px 50px rgba(16,39,55,.055);cursor:pointer;transition:.25s ease;text-align:left;font:inherit;color:inherit}.pa-route-card:hover{transform:translateY(-4px);box-shadow:var(--pa-shadow);border-color:#bfd5da}html[dir=rtl] .pa-route-card{text-align:right}.pa-route-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--pa-teal)}.pa-route-card.senior:before{background:var(--pa-gold)}
.pa-route-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.pa-route-tag{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--pa-teal)}.pa-route-card.senior .pa-route-tag{color:#8c6a34}.pa-route-number{font-family:'Playfair Display',serif;font-size:44px;line-height:1;color:#dbe3e7}.pa-route-card h3{font-family:'Playfair Display',serif;font-size:31px;line-height:1.08;margin:20px 0 10px;color:var(--pa-navy)}.pa-route-card p{font-size:14px;line-height:1.7;color:var(--pa-muted);margin:0 0 22px;max-width:510px}.pa-route-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.pa-route-meta span{border:1px solid #e0e5e7;border-radius:999px;padding:7px 10px;font-size:11px;color:#586878;background:#fafbfb}.pa-route-cta{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid #edf0f1;font-size:13px;font-weight:800;color:var(--pa-navy)}.pa-route-cta i{font-style:normal;width:32px;height:32px;border-radius:50%;background:var(--pa-navy);color:#fff;display:grid;place-items:center}
.pa-workspace{display:none;margin-top:32px}.pa-workspace.active{display:block}.pa-workspace-shell{background:#fff;border:1px solid #dce3e6;border-radius:30px;box-shadow:var(--pa-shadow);overflow:hidden}.pa-workspace-top{display:grid;grid-template-columns:1fr auto;gap:28px;padding:24px 28px;border-bottom:1px solid #e8ecee;background:#fbfcfc;align-items:center}.pa-route-status{display:flex;align-items:center;gap:12px}.pa-route-status-code{width:38px;height:38px;border-radius:12px;background:var(--pa-navy);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.pa-route-status-copy strong{display:block;color:var(--pa-navy);font-size:14px}.pa-route-status-copy span{display:block;color:var(--pa-muted);font-size:12px;margin-top:2px}.pa-step-meta{text-align:right}.pa-step-meta strong{display:block;font-size:12px;color:var(--pa-navy);margin-bottom:8px}.pa-progress{width:180px;height:5px;border-radius:99px;background:#e7ecee;overflow:hidden}.pa-progress>span{display:block;height:100%;width:0;background:var(--pa-teal);border-radius:inherit;transition:width .35s ease}html[dir=rtl] .pa-step-meta{text-align:left}
.pa-question-wrap{padding:48px 54px 34px;max-width:900px;margin:auto}.pa-question-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pa-teal);margin-bottom:12px}.pa-question-title{font-family:'Playfair Display',serif;color:var(--pa-navy);font-size:36px;line-height:1.08;margin:0 0 12px}.pa-question-sub{color:var(--pa-muted);font-size:14px;line-height:1.7;margin:0 0 28px}.pa-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pa-option{display:grid;grid-template-columns:40px 1fr 24px;gap:13px;align-items:center;background:#fff;border:1.5px solid #dde4e7;border-radius:16px;padding:16px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:.18s ease;min-height:84px}html[dir=rtl] .pa-option{text-align:right}.pa-option:hover{border-color:#95c5cd;background:#fbfdfd}.pa-option.selected{border-color:var(--pa-teal);background:var(--pa-teal-soft);box-shadow:inset 0 0 0 1px rgba(11,113,137,.12)}.pa-option-code{width:40px;height:40px;border-radius:11px;border:1px solid #dce4e7;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--pa-navy);background:#f7f9fa}.pa-option.selected .pa-option-code{background:var(--pa-teal);border-color:var(--pa-teal);color:#fff}.pa-option strong{display:block;color:var(--pa-navy);font-size:14px;margin-bottom:3px}.pa-option small{display:block;color:var(--pa-muted);font-size:12px;line-height:1.45}.pa-option-check{width:20px;height:20px;border-radius:50%;border:1px solid #cfd8dc;display:grid;place-items:center;color:transparent;font-size:11px}.pa-option.selected .pa-option-check{background:var(--pa-teal);border-color:var(--pa-teal);color:#fff}.pa-multi-note{font-size:11px;color:#7a8793;margin-top:12px}
.pa-question-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 54px 30px;max-width:900px;margin:auto}.pa-btn{appearance:none;border:0;border-radius:999px;padding:13px 22px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;transition:.18s ease}.pa-btn.secondary{background:#fff;border:1px solid #dbe2e5;color:#52606e}.pa-btn.primary{background:var(--pa-navy);color:#fff;min-width:130px}.pa-btn.primary:hover{background:#142a43;transform:translateY(-1px)}.pa-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.pa-btn.teal{background:var(--pa-teal);color:#fff}html[lang=ar] .pa-btn{font-family:'Noto Sans Arabic',sans-serif}
.pa-result{display:none}.pa-result.active{display:block}.pa-result-head{padding:42px 46px 34px;background:var(--pa-navy);color:#fff;position:relative;overflow:hidden}.pa-result-head:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-90px;top:-100px;box-shadow:0 0 0 56px rgba(255,255,255,.025)}.pa-result-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 11px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a9dfe5}.pa-result-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#5bc3ad}.pa-result-head h2{position:relative;z-index:1;font-family:'Playfair Display',serif;font-size:39px;line-height:1.04;margin:18px 0 10px;max-width:760px}.pa-result-head p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.67);font-size:14px;line-height:1.7;max-width:750px}.pa-result-body{padding:34px 46px 42px}.pa-result-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.pa-result-card{border:1px solid #e0e6e9;border-radius:20px;padding:24px;background:#fff}.pa-result-card.primary{background:#f7fbfb;border-color:#cfe2e6}.pa-result-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--pa-teal);font-weight:800}.pa-result-main{font-family:'Playfair Display',serif;font-size:30px;line-height:1.05;color:var(--pa-navy);margin:10px 0}.pa-result-desc{font-size:13px;line-height:1.7;color:var(--pa-muted)}.pa-fit{display:inline-flex;margin-top:16px;border-radius:999px;background:#eaf5f1;color:var(--pa-success);padding:7px 10px;font-size:11px;font-weight:800}.pa-mini-list{display:grid;gap:12px;margin-top:14px}.pa-mini-row{display:flex;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:1px solid #edf0f1}.pa-mini-row:last-child{border-bottom:0;padding-bottom:0}.pa-mini-row span{font-size:11px;color:var(--pa-muted)}.pa-mini-row strong{font-size:12px;color:var(--pa-navy);text-align:right;max-width:62%}html[dir=rtl] .pa-mini-row strong{text-align:left}.pa-result-section{margin-top:18px;border:1px solid #e0e6e9;border-radius:20px;padding:24px}.pa-result-section h3{font-family:'Playfair Display',serif;font-size:22px;color:var(--pa-navy);margin:0 0 14px}.pa-result-section ul{margin:0;padding-left:20px;color:#49596a}.pa-result-section li{margin:9px 0;font-size:13px;line-height:1.6}html[dir=rtl] .pa-result-section ul{padding-left:0;padding-right:20px}.pa-subject-chips{display:flex;flex-wrap:wrap;gap:8px}.pa-subject-chips span{border:1px solid #ccdfe3;background:#f3f9fa;color:#285b66;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.pa-official-note{margin-top:18px;border-left:4px solid var(--pa-gold);background:#faf7f1;border-radius:14px;padding:18px 20px}.pa-official-note strong{display:block;font-size:12px;color:#7a5c2d;margin-bottom:5px}.pa-official-note p{margin:0;color:#6c655a;font-size:12px;line-height:1.7}html[dir=rtl] .pa-official-note{border-left:0;border-right:4px solid var(--pa-gold)}.pa-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.pa-result-actions a{text-decoration:none}.pa-text-btn{background:transparent;border:0;color:var(--pa-teal);font-weight:800;font-size:12px;cursor:pointer;padding:12px 6px}.pa-source-line{font-size:10px;color:#8a949d;line-height:1.55;margin-top:18px}
html[data-theme=dark] .pa-page,html[data-theme=dark] .pa-advisor-section{background:#0d1725;color:#dce5eb}html[data-theme=dark] .pa-intro-head h2,html[data-theme=dark] .pa-route-card h3,html[data-theme=dark] .pa-route-cta,html[data-theme=dark] .pa-question-title,html[data-theme=dark] .pa-option strong,html[data-theme=dark] .pa-result-main,html[data-theme=dark] .pa-result-section h3,html[data-theme=dark] .pa-mini-row strong{color:#edf4f7}html[data-theme=dark] .pa-intro-head p,html[data-theme=dark] .pa-route-card p,html[data-theme=dark] .pa-question-sub,html[data-theme=dark] .pa-option small{color:#98a8b5}html[data-theme=dark] .pa-route-card,html[data-theme=dark] .pa-workspace-shell,html[data-theme=dark] .pa-option,html[data-theme=dark] .pa-result-card,html[data-theme=dark] .pa-result-section{background:#121f2f;border-color:#26384a}html[data-theme=dark] .pa-workspace-top{background:#101c2b;border-color:#26384a}html[data-theme=dark] .pa-route-meta span,html[data-theme=dark] .pa-option-code{background:#172638;border-color:#2b4053;color:#cdd8df}html[data-theme=dark] .pa-option.selected{background:#102d35;border-color:#298da0}html[data-theme=dark] .pa-result-card.primary{background:#102b32;border-color:#285c66}html[data-theme=dark] .pa-official-note{background:#282318;color:#d7c59f}
@media(max-width:900px){.pa-shell{width:min(100% - 34px,760px)}.pa-hero{padding:105px 0 60px}.pa-hero-grid,.pa-intro-head,.pa-result-grid{grid-template-columns:1fr}.pa-hero-grid{gap:38px}.pa-intro-head{gap:14px}.pa-intro-head h2{font-size:40px}.pa-route-grid{grid-template-columns:1fr}.pa-route-card{min-height:260px}.pa-question-wrap{padding:38px 34px 26px}.pa-question-nav{padding:20px 34px 28px}.pa-options{grid-template-columns:1fr}.pa-result-body{padding:28px 30px 34px}}
@media(max-width:600px){.pa-shell{width:calc(100% - 28px)}.pa-hero{padding:88px 0 42px}.pa-hero h1{font-size:40px}.pa-hero-copy>p{font-size:15px;line-height:1.7}.pa-trust-row{gap:7px;margin-top:22px}.pa-trust-row span{font-size:10px;padding:7px 9px}.pa-route-box{border-radius:22px;padding:10px}.pa-route-box-head{padding:13px 12px 8px}.pa-route-box-title{font-size:23px}.pa-route-mini{grid-template-columns:42px 1fr 28px;padding:14px 12px;border-radius:15px}.pa-route-mini-code{width:42px;height:42px}.pa-advisor-section{padding:46px 0 72px}.pa-intro-head{margin-bottom:24px}.pa-intro-head h2{font-size:34px}.pa-intro-head p{font-size:14px}.pa-route-card{padding:24px;border-radius:22px;min-height:250px}.pa-route-card h3{font-size:27px}.pa-workspace{margin-top:24px}.pa-workspace-shell{border-radius:22px}.pa-workspace-top{grid-template-columns:1fr;padding:18px 18px 14px;gap:14px}.pa-step-meta{text-align:left!important}.pa-progress{width:100%}.pa-question-wrap{padding:30px 20px 20px}.pa-question-title{font-size:29px}.pa-question-sub{font-size:13px}.pa-option{grid-template-columns:36px 1fr 20px;min-height:76px;padding:14px 12px}.pa-option-code{width:36px;height:36px}.pa-question-nav{padding:18px 20px 24px}.pa-btn{padding:12px 18px}.pa-result-head{padding:32px 24px 28px}.pa-result-head h2{font-size:31px}.pa-result-body{padding:20px}.pa-result-card,.pa-result-section{padding:20px;border-radius:17px}.pa-result-main{font-size:26px}.pa-result-actions{flex-direction:column}.pa-result-actions .pa-btn,.pa-result-actions a{width:100%;text-align:center}.pa-text-btn{width:100%}}
@media print{#navbar,.mobile-menu,.pa-hero,.pa-intro-head,.pa-route-grid,.pa-workspace-top,.pa-question-wrap,.pa-question-nav,.pa-result-actions,.footer,.back-to-top,.dak-assistant-launcher,.dak-assistant-panel{display:none!important}.pa-advisor-section{padding:0;background:#fff}.pa-shell{width:100%}.pa-workspace{display:block!important;margin:0}.pa-workspace-shell{border:0;box-shadow:none}.pa-result{display:block!important}.pa-result-head{background:#fff!important;color:#0b1626;padding:20px 0;border-bottom:2px solid #0b7189}.pa-result-head h2{color:#0b1626}.pa-result-head p{color:#586878}.pa-result-body{padding:20px 0}.pa-result-card,.pa-result-section{break-inside:avoid}}

/* Official HEAC student guide resource */
.pa-official-resource{margin-top:22px;display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;border:1px solid #d9e3e6;background:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 12px 34px rgba(12,28,45,.055)}
.pa-official-resource-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--pa-navy);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.pa-official-resource-copy{min-width:0}.pa-official-resource-kicker{display:block;color:var(--pa-teal);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}.pa-official-resource-copy strong{display:block;color:var(--pa-navy);font-size:15px;line-height:1.35}.pa-official-resource-copy p{margin:5px 0 0;color:var(--pa-muted);font-size:11.5px;line-height:1.55;max-width:720px}
.pa-btn.guide{display:inline-flex;align-items:center;justify-content:center;background:#f5f1e9;border:1px solid #ded2bd;color:#785c2d;text-decoration:none;white-space:nowrap}.pa-btn.guide:hover{background:#eee6d7;transform:translateY(-1px)}
html[data-theme=dark] .pa-official-resource{background:#121f2f;border-color:#26384a;box-shadow:none}html[data-theme=dark] .pa-official-resource-copy strong{color:#edf4f7}html[data-theme=dark] .pa-official-resource-copy p{color:#98a8b5}html[data-theme=dark] .pa-btn.guide{background:#282318;border-color:#4a402c;color:#dec89c}
@media(max-width:700px){.pa-official-resource{grid-template-columns:50px 1fr;gap:13px;padding:16px;border-radius:17px}.pa-official-resource-mark{width:48px;height:48px;border-radius:13px;font-size:9px}.pa-official-resource .pa-btn.guide{grid-column:1/-1;width:100%;margin-top:2px}.pa-official-resource-copy strong{font-size:14px}.pa-official-resource-copy p{font-size:11px}}
@media print{.pa-official-resource{display:none!important}}

/* ==========================================================
   DAK STUDENT PATHWAY ADVISOR — PREMIUM DARK MODE v15
   Page-scoped refinement only. Light mode is unchanged.
   ========================================================== */
html[data-theme="dark"] body.pa-page{
  --pa-dark-bg:#07111f;
  --pa-dark-bg-2:#0a1625;
  --pa-dark-surface:#0d1b2b;
  --pa-dark-surface-2:#112235;
  --pa-dark-elevated:#14283d;
  --pa-dark-line:rgba(153,181,203,.16);
  --pa-dark-line-strong:rgba(153,181,203,.25);
  --pa-dark-text:#f2f6f8;
  --pa-dark-muted:#a5b4c1;
  --pa-dark-muted-2:#7f92a3;
  --pa-dark-teal:#62d7df;
  --pa-dark-teal-strong:#22afbf;
  --pa-dark-gold:#d6b77e;
  --pa-dark-shadow:0 22px 60px rgba(0,0,0,.30);
  background:
    radial-gradient(circle at 8% 18%,rgba(34,175,191,.075),transparent 28rem),
    linear-gradient(180deg,var(--pa-dark-bg) 0%,#091523 100%);
  color:var(--pa-dark-text);
}

html[data-theme="dark"] body.pa-page .pa-hero{
  background:
    radial-gradient(circle at 76% 22%,rgba(53,194,207,.14),transparent 27rem),
    radial-gradient(circle at 88% 82%,rgba(214,183,126,.07),transparent 24rem),
    linear-gradient(135deg,#07111f 0%,#0a1a2b 52%,#0b2230 100%);
  border-bottom:1px solid rgba(132,183,202,.12);
}
html[data-theme="dark"] body.pa-page .pa-hero:before{
  opacity:.58;
  background-image:linear-gradient(rgba(164,204,218,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(164,204,218,.034) 1px,transparent 1px);
}
html[data-theme="dark"] body.pa-page .pa-hero:after{
  border-color:rgba(98,215,223,.18);
  box-shadow:0 0 0 90px rgba(98,215,223,.025),0 0 0 180px rgba(98,215,223,.012);
}
html[data-theme="dark"] body.pa-page .pa-eyebrow{
  color:#78dfe6;
}
html[data-theme="dark"] body.pa-page .pa-eyebrow:before{
  background:#78dfe6;
}
html[data-theme="dark"] body.pa-page .pa-hero-copy>p{
  color:#b6c5d0;
}
html[data-theme="dark"] body.pa-page .pa-trust-row span{
  color:#c4d2db;
  border-color:rgba(169,207,219,.15);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

/* Hero route selector: elevated glass rather than a light card in dark mode */
html[data-theme="dark"] body.pa-page .pa-route-box{
  background:linear-gradient(180deg,rgba(18,36,54,.94),rgba(12,27,43,.96));
  color:var(--pa-dark-text);
  border:1px solid rgba(146,190,207,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(16px);
}
html[data-theme="dark"] body.pa-page .pa-route-box-kicker{color:var(--pa-dark-teal)}
html[data-theme="dark"] body.pa-page .pa-route-box-title{color:var(--pa-dark-text)}
html[data-theme="dark"] body.pa-page .pa-route-mini{
  background:rgba(8,22,35,.72);
  border-color:var(--pa-dark-line);
  color:var(--pa-dark-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
html[data-theme="dark"] body.pa-page .pa-route-mini:hover{
  transform:translateY(-2px);
  background:#10263a;
  border-color:rgba(98,215,223,.42);
  box-shadow:0 14px 30px rgba(0,0,0,.22),0 0 0 1px rgba(98,215,223,.06);
}
html[data-theme="dark"] body.pa-page .pa-route-mini-code{
  background:linear-gradient(145deg,#17314a,#0d2135);
  border:1px solid rgba(138,187,205,.17);
  color:#dff8fa;
}
html[data-theme="dark"] body.pa-page .pa-route-mini + .pa-route-mini .pa-route-mini-code{
  background:linear-gradient(145deg,#12677a,#0c4657);
}
html[data-theme="dark"] body.pa-page .pa-route-mini strong{color:#f0f5f8}
html[data-theme="dark"] body.pa-page .pa-route-mini small{color:#96a8b6}
html[data-theme="dark"] body.pa-page .pa-route-mini-arrow{
  border-color:rgba(98,215,223,.22);
  color:#78dfe6;
  background:rgba(98,215,223,.055);
}

/* Main advisor canvas */
html[data-theme="dark"] body.pa-page .pa-advisor-section{
  background:
    radial-gradient(circle at 86% 4%,rgba(34,175,191,.055),transparent 30rem),
    linear-gradient(180deg,#081321 0%,#0a1624 48%,#08131f 100%);
}
html[data-theme="dark"] body.pa-page .pa-intro-head h2{color:#f4f7f9}
html[data-theme="dark"] body.pa-page .pa-intro-head p{color:#a9b8c4}

html[data-theme="dark"] body.pa-page .pa-route-card{
  background:linear-gradient(160deg,#102033 0%,#0c1928 100%);
  border-color:var(--pa-dark-line);
  box-shadow:0 16px 44px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.025);
}
html[data-theme="dark"] body.pa-page .pa-route-card:hover{
  border-color:rgba(98,215,223,.32);
  box-shadow:0 26px 62px rgba(0,0,0,.30),0 0 0 1px rgba(98,215,223,.035);
}
html[data-theme="dark"] body.pa-page .pa-route-card.senior:hover{
  border-color:rgba(214,183,126,.32);
  box-shadow:0 26px 62px rgba(0,0,0,.30),0 0 0 1px rgba(214,183,126,.035);
}
html[data-theme="dark"] body.pa-page .pa-route-card h3{color:#f4f7f9}
html[data-theme="dark"] body.pa-page .pa-route-card p{color:#a5b4c1}
html[data-theme="dark"] body.pa-page .pa-route-card.senior .pa-route-tag{color:#d6b77e}
html[data-theme="dark"] body.pa-page .pa-route-number{color:#263c50}
html[data-theme="dark"] body.pa-page .pa-route-meta span{
  background:#132438;
  border-color:rgba(151,183,204,.15);
  color:#b9c7d1;
}
html[data-theme="dark"] body.pa-page .pa-route-cta{
  color:#eaf1f4;
  border-top-color:rgba(151,183,204,.12);
}
html[data-theme="dark"] body.pa-page .pa-route-cta i{
  background:#17314a;
  border:1px solid rgba(151,183,204,.15);
  color:#eaf6f8;
}
html[data-theme="dark"] body.pa-page .pa-route-card.senior .pa-route-cta i{
  background:#3a3124;
  border-color:rgba(214,183,126,.18);
  color:#f1ddba;
}

/* Advisor workspace */
html[data-theme="dark"] body.pa-page .pa-workspace-shell{
  background:linear-gradient(180deg,#0d1b2b 0%,#0b1725 100%);
  border-color:var(--pa-dark-line);
  box-shadow:var(--pa-dark-shadow),inset 0 1px 0 rgba(255,255,255,.025);
}
html[data-theme="dark"] body.pa-page .pa-workspace-top{
  background:#0b1928;
  border-bottom-color:var(--pa-dark-line);
}
html[data-theme="dark"] body.pa-page .pa-route-status-code{
  background:linear-gradient(145deg,#17314a,#0d2237);
  border:1px solid rgba(151,183,204,.14);
  color:#eaf6f8;
}
html[data-theme="dark"] body.pa-page .pa-route-status-copy strong,
html[data-theme="dark"] body.pa-page .pa-step-meta strong{color:#eaf1f4}
html[data-theme="dark"] body.pa-page .pa-route-status-copy span{color:#879aaa}
html[data-theme="dark"] body.pa-page .pa-progress{background:#1a2b3e}
html[data-theme="dark"] body.pa-page .pa-progress>span{
  background:linear-gradient(90deg,#20a9b8,#6adce3);
  box-shadow:0 0 14px rgba(98,215,223,.22);
}
html[data-theme="dark"] body.pa-page .pa-question-kicker{color:#69d7df}
html[data-theme="dark"] body.pa-page .pa-question-title{color:#f4f7f9}
html[data-theme="dark"] body.pa-page .pa-question-sub{color:#a1b1bd}

html[data-theme="dark"] body.pa-page .pa-option{
  background:#0d1c2c;
  border-color:rgba(151,183,204,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}
html[data-theme="dark"] body.pa-page .pa-option:hover{
  background:#102337;
  border-color:rgba(98,215,223,.36);
}
html[data-theme="dark"] body.pa-page .pa-option.selected{
  background:linear-gradient(135deg,rgba(20,69,78,.78),rgba(12,43,54,.88));
  border-color:#3eb8c5;
  box-shadow:inset 0 0 0 1px rgba(98,215,223,.09),0 8px 22px rgba(0,0,0,.13);
}
html[data-theme="dark"] body.pa-page .pa-option-code{
  background:#14263a;
  border-color:rgba(151,183,204,.18);
  color:#cbd7df;
}
html[data-theme="dark"] body.pa-page .pa-option.selected .pa-option-code{
  background:#1b8998;
  border-color:#55cbd5;
  color:#fff;
  box-shadow:0 0 0 4px rgba(98,215,223,.07);
}
html[data-theme="dark"] body.pa-page .pa-option strong{color:#edf3f6}
html[data-theme="dark"] body.pa-page .pa-option small{color:#91a4b3}
html[data-theme="dark"] body.pa-page .pa-option-check{
  border-color:#355069;
  background:#0c1826;
}
html[data-theme="dark"] body.pa-page .pa-option.selected .pa-option-check{
  background:#1b8998;
  border-color:#55cbd5;
  color:#fff;
}
html[data-theme="dark"] body.pa-page .pa-multi-note{color:#8296a6}

/* Buttons */
html[data-theme="dark"] body.pa-page .pa-btn.primary{
  background:linear-gradient(135deg,#17344e,#0e2940);
  border:1px solid rgba(121,174,196,.17);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
html[data-theme="dark"] body.pa-page .pa-btn.primary:hover{
  background:linear-gradient(135deg,#1b3c59,#113049);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
html[data-theme="dark"] body.pa-page .pa-btn.teal{
  background:linear-gradient(135deg,#1594a5,#0f7285);
  color:#fff;
  box-shadow:0 8px 22px rgba(8,91,105,.20);
}
html[data-theme="dark"] body.pa-page .pa-btn.secondary{
  background:#101f30;
  border-color:rgba(151,183,204,.18);
  color:#bfccd5;
}
html[data-theme="dark"] body.pa-page .pa-btn.secondary:hover{
  background:#14273b;
  color:#edf4f7;
  border-color:rgba(98,215,223,.28);
}
html[data-theme="dark"] body.pa-page .pa-text-btn{color:#69d7df}

/* Results */
html[data-theme="dark"] body.pa-page .pa-result-head{
  background:
    radial-gradient(circle at 90% 24%,rgba(98,215,223,.12),transparent 18rem),
    linear-gradient(135deg,#0a1a2b 0%,#0e2a38 100%);
  border-bottom:1px solid rgba(98,215,223,.12);
}
html[data-theme="dark"] body.pa-page .pa-result-head p{color:#b0c0ca}
html[data-theme="dark"] body.pa-page .pa-result-badge{
  color:#b8edf0;
  border-color:rgba(98,215,223,.20);
  background:rgba(98,215,223,.045);
}
html[data-theme="dark"] body.pa-page .pa-result-body{background:transparent}
html[data-theme="dark"] body.pa-page .pa-result-card,
html[data-theme="dark"] body.pa-page .pa-result-section{
  background:#0e1d2d;
  border-color:var(--pa-dark-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
html[data-theme="dark"] body.pa-page .pa-result-card.primary{
  background:linear-gradient(145deg,#102a35 0%,#0d222d 100%);
  border-color:rgba(98,215,223,.24);
}
html[data-theme="dark"] body.pa-page .pa-result-label{color:#66d5dd}
html[data-theme="dark"] body.pa-page .pa-result-main,
html[data-theme="dark"] body.pa-page .pa-result-section h3{color:#f2f6f8}
html[data-theme="dark"] body.pa-page .pa-result-desc{color:#9eafbb}
html[data-theme="dark"] body.pa-page .pa-fit{
  background:rgba(62,177,139,.12);
  color:#82d8bd;
  border:1px solid rgba(91,199,164,.16);
}
html[data-theme="dark"] body.pa-page .pa-mini-row{
  border-bottom-color:rgba(151,183,204,.11);
}
html[data-theme="dark"] body.pa-page .pa-mini-row span{color:#8498a8}
html[data-theme="dark"] body.pa-page .pa-mini-row strong{color:#dce6eb}
html[data-theme="dark"] body.pa-page .pa-result-section ul{color:#b8c6cf}
html[data-theme="dark"] body.pa-page .pa-subject-chips span{
  background:#112839;
  border-color:rgba(98,215,223,.20);
  color:#bfe9ec;
}
html[data-theme="dark"] body.pa-page .pa-source-line{color:#728697}

/* Official HEAC reference gets a restrained gold treatment */
html[data-theme="dark"] body.pa-page .pa-official-resource{
  background:linear-gradient(135deg,#111e2c 0%,#121c28 100%);
  border-color:rgba(214,183,126,.20);
  box-shadow:0 16px 40px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);
}
html[data-theme="dark"] body.pa-page .pa-official-resource-mark{
  background:linear-gradient(145deg,#473a27,#2f291f);
  border:1px solid rgba(214,183,126,.20);
  color:#efd9ad;
}
html[data-theme="dark"] body.pa-page .pa-official-resource-kicker{color:#d9b978}
html[data-theme="dark"] body.pa-page .pa-official-resource-copy strong{color:#f0f3f5}
html[data-theme="dark"] body.pa-page .pa-official-resource-copy p{color:#9eacb7}
html[data-theme="dark"] body.pa-page .pa-btn.guide{
  background:#2b251d;
  border-color:rgba(214,183,126,.25);
  color:#ead2a6;
}
html[data-theme="dark"] body.pa-page .pa-btn.guide:hover{
  background:#352d21;
  border-color:rgba(214,183,126,.40);
}
html[data-theme="dark"] body.pa-page .pa-official-note{
  background:linear-gradient(135deg,#211d17,#282116);
  border-left-color:#cfae70;
  color:#d8c9ad;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
html[dir="rtl"][data-theme="dark"] body.pa-page .pa-official-note{
  border-right-color:#cfae70;
}
html[data-theme="dark"] body.pa-page .pa-official-note strong{color:#e3c994}
html[data-theme="dark"] body.pa-page .pa-official-note p{color:#b9ac95}

/* Fine dark-mode interaction and focus polish */
html[data-theme="dark"] body.pa-page :is(.pa-route-mini,.pa-route-card,.pa-option,.pa-btn):focus-visible{
  outline:2px solid #6bd9e0;
  outline-offset:3px;
}
html[data-theme="dark"] body.pa-page ::selection{
  background:rgba(98,215,223,.25);
  color:#fff;
}

@media(max-width:600px){
  html[data-theme="dark"] body.pa-page .pa-route-box{
    box-shadow:0 22px 52px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.03);
  }
  html[data-theme="dark"] body.pa-page .pa-route-card,
  html[data-theme="dark"] body.pa-page .pa-workspace-shell{
    box-shadow:0 14px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.02);
  }
}


/* ================================================================
   DAK Pathway Advisor — Verified higher-education layer v2
   ================================================================ */
.pa-official-resource-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;align-items:center}.pa-official-resource-actions .pa-btn{white-space:nowrap}.pa-verified-section{margin-top:18px}.pa-verified-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:16px}.pa-verified-head h3{margin:3px 0 5px}.pa-verified-head p{margin:0;max-width:720px;color:#677687;font-size:13px;line-height:1.6}.pa-verified-kicker{display:block;color:var(--pa-teal);font-size:10px;font-weight:900;letter-spacing:.14em}.pa-verified-date{flex:0 0 auto;padding:7px 10px;border:1px solid #dce5e9;border-radius:999px;background:#f7fafb;color:#697887;font-size:9px;font-weight:800;white-space:nowrap}.pa-verified-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pa-program-card{display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid #dfe8ec;border-radius:16px;background:#fff}.pa-program-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pa-program-card strong{color:#16253a;font-size:15px;line-height:1.3}.pa-program-source{padding:4px 7px;border-radius:999px;background:#eef9fb;color:#0c7587;font-size:8px;font-weight:900;white-space:nowrap}.pa-program-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 14px}.pa-program-list span{padding:5px 7px;border:1px solid #e2e8eb;border-radius:8px;background:#f8fafb;color:#58697a;font-size:9px;line-height:1.25;font-weight:750}.pa-program-link{margin-top:auto;color:#08788a;font-size:10px;font-weight:900;text-decoration:none}.pa-program-link:hover{text-decoration:underline}.pa-verified-empty{display:none;padding:14px 15px;border:1px dashed #cbd8de;border-radius:13px;color:#68798a;font-size:12px;line-height:1.55;background:#fafcfd}.pa-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pa-source-link{display:inline-flex;align-items:center;min-height:35px;padding:8px 11px;border:1px solid #dbe6ea;border-radius:10px;background:#fff;color:#26384a;font-size:9px;font-weight:850;text-decoration:none}.pa-source-link:hover{border-color:#8ccbd4;color:#096f80}.pa-mini-row strong{max-width:58%;text-align:right}.pa-option.pa-option-disabled{opacity:.65}
html[dir=rtl] .pa-mini-row strong{text-align:left}
html[data-theme=dark] .pa-verified-head p{color:#9badbb}html[data-theme=dark] .pa-verified-date{background:#162638;border-color:#2b4053;color:#aebdc9}html[data-theme=dark] .pa-program-card{background:#121f2f;border-color:#26384a}html[data-theme=dark] .pa-program-card strong{color:#edf4f7}html[data-theme=dark] .pa-program-source{background:#123039;color:#8ee8f1}html[data-theme=dark] .pa-program-list span{background:#172638;border-color:#2a3c4c;color:#c2d0d9}html[data-theme=dark] .pa-program-link{color:#8ee8f1}html[data-theme=dark] .pa-verified-empty{background:#101c2b;border-color:#314456;color:#aebdca}html[data-theme=dark] .pa-source-link{background:#162638;border-color:#2b4053;color:#d1dce3}
@media(max-width:980px){.pa-official-resource-actions{justify-content:flex-start}.pa-verified-grid{grid-template-columns:1fr 1fr}.pa-verified-head{flex-direction:column;gap:9px}}
@media(max-width:600px){.pa-official-resource-actions{width:100%}.pa-official-resource-actions .pa-btn{width:100%;text-align:center}.pa-verified-grid{grid-template-columns:1fr}.pa-verified-head p{font-size:12px}.pa-verified-date{white-space:normal}.pa-source-actions{flex-direction:column}.pa-source-link{width:100%;justify-content:center}.pa-mini-row strong{max-width:55%;font-size:11px}}
@media print{.pa-source-actions,.pa-program-link{display:none!important}.pa-verified-grid{grid-template-columns:1fr 1fr!important}.pa-program-card{break-inside:avoid}.pa-verified-date{border:0;padding:0;background:none}}

/* Official resource block: keep the three source buttons readable without squeezing copy */
.pa-official-resource{grid-template-columns:72px minmax(0,1fr)!important}.pa-official-resource-actions{grid-column:2;justify-content:flex-start!important}
@media(max-width:700px){.pa-official-resource{grid-template-columns:50px minmax(0,1fr)!important}.pa-official-resource-actions{grid-column:1/-1!important}}


/* ================================================================
   DAK Pathway Advisor — Programme-level verification v3
   ================================================================ */
.pa-heac-signal{
  display:none;
  margin:0 0 14px;
  padding:14px 15px;
  border:1px solid #d9e8ec;
  border-left:4px solid var(--pa-teal);
  border-radius:13px;
  background:linear-gradient(90deg,#f4fbfc,#fbfcfd);
}
.pa-heac-signal strong{display:block;margin-bottom:5px;color:#0b7189;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.pa-heac-signal p{margin:0;color:#5d6f80;font-size:11.5px;line-height:1.6}
.pa-program-card-v3{padding:18px}
.pa-program-card-v3 .pa-program-card-top>div{min-width:0}
.pa-program-college{display:block;margin-bottom:5px;color:#788794;font-size:8.5px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.pa-program-institution{margin-top:7px;color:#405267;font-size:10px;font-weight:850;line-height:1.35}
.pa-program-entry{margin:2px 0 14px;padding:11px 12px;border-radius:11px;border:1px solid #e0e8ec;background:#f8fafb}
.pa-program-entry b{display:block;margin-bottom:4px;color:#31465a;font-size:9px}
.pa-program-entry p{margin:0;color:#617283;font-size:9.5px;line-height:1.55}
.pa-program-entry.has-data{border-color:#cce4e8;background:#f3fafb}
.pa-program-entry.has-data b{color:#08788a}
html[dir="rtl"] .pa-heac-signal{border-left:1px solid #d9e8ec;border-right:4px solid var(--pa-teal)}
html[data-theme=dark] .pa-heac-signal{background:linear-gradient(90deg,#102432,#121f2f);border-color:#284455}
html[data-theme=dark] .pa-heac-signal strong{color:#8ee8f1}
html[data-theme=dark] .pa-heac-signal p{color:#aebdca}
html[data-theme=dark] .pa-program-college{color:#8799a7}
html[data-theme=dark] .pa-program-institution{color:#c6d2da}
html[data-theme=dark] .pa-program-entry{background:#162638;border-color:#2a3c4c}
html[data-theme=dark] .pa-program-entry b{color:#d5e1e7}
html[data-theme=dark] .pa-program-entry p{color:#aebdca}
html[data-theme=dark] .pa-program-entry.has-data{background:#102c35;border-color:#28505a}
html[data-theme=dark] .pa-program-entry.has-data b{color:#8ee8f1}
@media(max-width:600px){
  .pa-heac-signal{padding:12px}
  .pa-program-card-v3{padding:15px}
  .pa-program-entry p{font-size:9.2px}
}


/* ================================================================
   Pathway stage split v4 — KG–8 / Grades 9–10 / Grades 11–12
   ================================================================ */
@media (min-width:901px){
  .pa-route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .pa-route-card{padding:26px;min-height:330px}
  .pa-route-card h3{font-size:28px}
}
.pa-route-card.explore:before{background:linear-gradient(90deg,var(--pa-teal),#6474b5)}
.pa-route-card.explore .pa-route-tag{color:#456f9d}
.pa-route-mini.explore .pa-route-mini-code{background:#4d6f9f}
.pa-route-mini.senior .pa-route-mini-code{background:#8b6a35}
html[data-theme="dark"] body.pa-page .pa-route-mini.explore .pa-route-mini-code{background:#496d9c}
html[data-theme="dark"] body.pa-page .pa-route-mini.senior .pa-route-mini-code{background:#836638}

.pa-ig-verified{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;margin:0 0 18px;padding:17px;border:1px solid #cfe5e9;border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(0,184,203,.08),transparent 32%),linear-gradient(135deg,#f6fcfd,#fbfcff)}
.pa-ig-verified[hidden]{display:none!important}
.pa-ig-verified-mark{width:58px;height:58px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#087f96;color:#fff;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 20px rgba(8,127,150,.14)}
.pa-ig-verified-copy strong{display:block;margin:1px 0 6px;color:#173048;font-size:14px}
.pa-ig-verified-copy p{margin:0;color:#617487;font-size:11px;line-height:1.65}
.pa-ig-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pa-ig-source-links a{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid #d6e7ea;border-radius:999px;background:#fff;color:#08778b;font-size:9.5px;font-weight:800;text-decoration:none}
html[data-theme="dark"] .pa-ig-verified{border-color:#274653;background:radial-gradient(circle at 100% 0%,rgba(0,188,212,.08),transparent 32%),linear-gradient(135deg,#102432,#142033)}
html[data-theme="dark"] .pa-ig-verified-copy strong{color:#e9f4f7}
html[data-theme="dark"] .pa-ig-verified-copy p{color:#aebfca}
html[data-theme="dark"] .pa-ig-source-links a{border-color:#2d4a57;background:#132b38;color:#8ce5ee}
@media(max-width:600px){.pa-ig-verified{grid-template-columns:48px minmax(0,1fr);padding:14px;gap:12px}.pa-ig-verified-mark{width:48px;height:48px;border-radius:13px;font-size:13px}}


/* DAK CSS: mobile-v18.css */
/* ======================================================================
   DORAT AL KHALEEJ — MOBILE UI REBUILD 2026
   Phone interface rebuilt from zero. Desktop styles are intentionally left
   untouched. Targets modern iPhone and Android widths up to 767px.
   ====================================================================== */

@media (max-width: 767px) {
  :root {
    --m-bg: #f4f7f9;
    --m-surface: #ffffff;
    --m-surface-2: #eef3f6;
    --m-text: #172637;
    --m-muted: #647486;
    --m-line: #dbe4e9;
    --m-line-strong: #cbd7de;
    --m-navy: #10263d;
    --m-teal: #0799a8;
    --m-purple: #6b4ba0;
    --m-gold: #d69a32;
    --m-danger: #9d3f43;
    --m-radius: 16px;
    --m-radius-lg: 22px;
    --m-shadow: 0 8px 24px rgba(15,38,61,.07);
    --m-gutter: 18px;
    --m-nav-h: 64px;
  }

  html[data-theme="dark"] {
    --m-bg: #09131f;
    --m-surface: #111f2e;
    --m-surface-2: #172838;
    --m-text: #edf4f8;
    --m-muted: #a8b7c5;
    --m-line: #2a3d4e;
    --m-line-strong: #385064;
    --m-navy: #edf4f8;
    --m-shadow: 0 8px 26px rgba(0,0,0,.22);
  }

  * { box-sizing: border-box !important; }
  html {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: calc(var(--m-nav-h) + 12px) !important;
  }
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    background: var(--m-bg) !important;
    color: var(--m-text) !important;
    font-family: 'DM Sans','Noto Sans Arabic',Arial,sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  html[dir="rtl"] body,
  html[lang="ar"] body { font-family: 'Noto Sans Arabic','DM Sans',Arial,sans-serif !important; }

  img, svg, video, canvas, iframe { max-width: 100% !important; }
  button, a, input, select, textarea { touch-action: manipulation; }
  button, input, select, textarea { font: inherit; }
  input, select, textarea { font-size: 16px !important; }
  a, button { -webkit-tap-highlight-color: transparent; }
  :focus-visible { outline: 3px solid rgba(7,153,168,.28) !important; outline-offset: 2px !important; }

  .container,
  .page-hero-inner,
  .branch-hero-inner,
  .pa-shell,
  .fv-hero-content,
  .fv-wrap,
  .privacy-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: var(--m-gutter) !important;
  }

  /* ---------- Header ---------- */
  #navbar,
  nav#navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 9000 !important;
    height: var(--m-nav-h) !important;
    min-height: var(--m-nav-h) !important;
    padding: 0 max(var(--m-gutter), env(safe-area-inset-left)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: color-mix(in srgb, var(--m-surface) 94%, transparent) !important;
    border-bottom: 1px solid var(--m-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  }
  #navbar.scrolled { box-shadow: 0 4px 18px rgba(15,38,61,.07) !important; }
  .logo {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
  }
  .logo img,
  #navbar .logo img {
    width: auto !important;
    height: 43px !important;
    max-width: 174px !important;
    object-fit: contain !important;
  }
  .nav-links { display: none !important; }
  .hamburger {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border: 1px solid var(--m-line) !important;
    border-radius: 13px !important;
    background: var(--m-surface-2) !important;
    box-shadow: none !important;
  }
  .hamburger span {
    width: 19px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: var(--m-text) !important;
  }
  .mobile-menu {
    position: fixed !important;
    top: var(--m-nav-h) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    z-index: 8999 !important;
    display: none !important;
    max-height: calc(100dvh - var(--m-nav-h)) !important;
    overflow-y: auto !important;
    padding: 10px var(--m-gutter) max(20px, env(safe-area-inset-bottom)) !important;
    flex-direction: column !important;
    gap: 4px !important;
    background: var(--m-surface) !important;
    border-bottom: 1px solid var(--m-line) !important;
    box-shadow: 0 16px 36px rgba(15,38,61,.12) !important;
  }
  .mobile-menu.open { display: flex !important; }
  .mobile-menu a,
  .mobile-menu .lang-toggle {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: var(--m-text) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  .mobile-menu .nav-portal-btn {
    margin-top: 4px !important;
    background: rgba(7,153,168,.08) !important;
    color: var(--m-teal) !important;
  }
  .mobile-menu .lang-toggle {
    margin-top: 6px !important;
    justify-content: center !important;
    border: 1px solid var(--m-line) !important;
    background: var(--m-surface-2) !important;
  }
  html[dir="rtl"] .mobile-menu a,
  html[dir="rtl"] .mobile-menu .lang-toggle { justify-content: flex-start !important; text-align: right !important; }

  /* ---------- Base typography / spacing ---------- */
  .section {
    padding: 38px 0 !important;
    background: var(--m-bg) !important;
  }
  .section-gray { background: var(--m-surface-2) !important; }
  .section-label {
    margin: 0 0 7px !important;
    color: var(--m-teal) !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: .11em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    text-align: center !important;
  }
  .section-title,
  .home-adm-title,
  .path-tools-intro h2 {
    margin: 0 auto 9px !important;
    color: var(--m-text) !important;
    font-family: 'Playfair Display','Noto Sans Arabic',serif !important;
    font-size: clamp(24px, 7.1vw, 29px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
    text-align: center !important;
  }
  html[dir="rtl"] .section-title,
  html[lang="ar"] .section-title { line-height: 1.36 !important; letter-spacing: 0 !important; }
  .section-sub,
  .home-adm-sub {
    max-width: 34rem !important;
    margin: 0 auto 24px !important;
    color: var(--m-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    text-align: center !important;
  }
  .btn,
  a.btn,
  button.btn {
    min-height: 44px !important;
    padding: 11px 15px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  /* ---------- Homepage hero: one coherent mobile card ---------- */
  .hero {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 14px var(--m-gutter) 24px !important;
    background: var(--m-bg) !important;
    overflow: visible !important;
  }
  .hero-right {
    order: 0 !important;
    position: relative !important;
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    overflow: hidden !important;
    border-radius: var(--m-radius-lg) var(--m-radius-lg) 0 0 !important;
    box-shadow: none !important;
  }
  .carousel, .slide, .photo-slide { border-radius: 0 !important; }
  .hero-left {
    order: 1 !important;
    min-height: 0 !important;
    padding: 23px 20px 18px !important;
    display: block !important;
    background: linear-gradient(155deg,#0b2035 0%,#132e49 100%) !important;
    border-radius: 0 0 var(--m-radius-lg) var(--m-radius-lg) !important;
    overflow: hidden !important;
    box-shadow: var(--m-shadow) !important;
  }
  .hero-left::before,
  .hero-left::after { opacity: .55 !important; }
  .hero-badge {
    max-width: 100% !important;
    margin: 0 0 11px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .07em !important;
    white-space: normal !important;
  }
  .hero-title {
    max-width: 100% !important;
    margin: 0 0 10px !important;
    color: #fff !important;
    font-size: clamp(30px, 8.6vw, 37px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }
  html[dir="rtl"] .hero-title { font-size: clamp(28px, 8.1vw, 34px) !important; line-height: 1.32 !important; letter-spacing: 0 !important; }
  .hero-desc {
    max-width: none !important;
    margin: 0 0 15px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  .hero-actions {
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  .hero-actions .btn,
  .hero-actions a {
    flex: 1 1 150px !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 11px !important;
    font-size: 12px !important;
  }
  .hero-stats {
    margin: 17px 0 0 !important;
    padding: 13px 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }
  .hero-stat,
  .hero-stats > div {
    min-width: 0 !important;
    padding: 0 6px !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
  }
  .hero-stat + .hero-stat { border-inline-start: 1px solid rgba(255,255,255,.09) !important; }
  .stat-num {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .stat-label {
    margin-top: 4px !important;
    color: rgba(255,255,255,.48) !important;
    font-size: 7.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    white-space: normal !important;
  }
  .hero-portal-badges,
  .hero-pill,
  .hero-right .office-status-card,
  .carousel-nav { display: none !important; }
  .carousel-dots { bottom: 11px !important; gap: 6px !important; }
  .carousel-dots .dot { width: 6px !important; height: 6px !important; }

  /* ---------- Homepage campuses ---------- */
  .branches-section { background: var(--m-bg) !important; }
  .branches-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .branch-card {
    min-height: 0 !important;
    padding: 18px !important;
    border-radius: var(--m-radius) !important;
    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }
  .branch-eyebrow { margin-bottom: 5px !important; font-size: 9px !important; line-height: 1.3 !important; }
  .branch-name { margin-bottom: 6px !important; font-size: 21px !important; line-height: 1.18 !important; }
  .branch-quote { margin: 0 0 10px !important; font-size: 12px !important; line-height: 1.55 !important; }
  .branch-tags { gap: 5px !important; margin: 0 0 12px !important; flex-wrap: wrap !important; }
  .branch-tags .tag { padding: 4px 7px !important; font-size: 8.5px !important; line-height: 1.2 !important; border-radius: 999px !important; }
  .branch-footer { margin-top: 0 !important; padding-top: 10px !important; }
  .branch-link { font-size: 12px !important; }

  /* ---------- Homepage programmes ---------- */
  .programmes-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .prog-card {
    min-height: 0 !important;
    padding: 15px 13px !important;
    border-radius: var(--m-radius) !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
    color: var(--m-text) !important;
  }
  .prog-card.c3 { grid-column: 1 / -1 !important; }
  .prog-icon { margin-bottom: 8px !important; font-size: 24px !important; line-height: 1 !important; }
  .prog-title { margin-bottom: 4px !important; color: var(--m-text) !important; font-size: 14px !important; line-height: 1.25 !important; }
  .prog-age { margin-bottom: 6px !important; font-size: 9.5px !important; line-height: 1.25 !important; }
  .prog-desc { margin: 0 !important; color: var(--m-muted) !important; font-size: 11px !important; line-height: 1.5 !important; }
  .prog-card.c3 .prog-track-options {
    margin: 7px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
  .prog-card.c3 .prog-track-option {
    min-height: 0 !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
    font-size: 9.5px !important;
    line-height: 1.3 !important;
  }
  .section-gray .container > div[style*="text-align:center"] { margin-top: 20px !important; }

  /* ---------- Why DAK ---------- */
  .why-section { background: var(--m-bg) !important; }
  .why-head { margin-bottom: 20px !important; }
  .why-cards {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .why-card {
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: var(--m-radius) !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .why-card-icon { width: 35px !important; height: 35px !important; margin-bottom: 9px !important; font-size: 17px !important; border-radius: 10px !important; }
  .why-card h3 { margin: 0 0 5px !important; color: var(--m-text) !important; font-size: 13px !important; line-height: 1.3 !important; }
  .why-card p { margin: 0 !important; color: var(--m-muted) !important; font-size: 10.5px !important; line-height: 1.45 !important; }

  /* ---------- News ---------- */
  .news-section { background: var(--m-surface-2) !important; }
  .news-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  .news-card {
    min-height: 0 !important;
    padding: 14px 15px !important;
    border-radius: 14px !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .news-date { margin-bottom: 4px !important; color: var(--m-muted) !important; font-size: 9px !important; }
  .news-title-text { margin: 0 0 5px !important; color: var(--m-text) !important; font-size: 13.5px !important; line-height: 1.38 !important; }
  .news-excerpt { margin: 0 0 7px !important; color: var(--m-muted) !important; font-size: 10.5px !important; line-height: 1.5 !important; }
  .news-tag { display: inline-flex !important; padding: 4px 7px !important; border-radius: 999px !important; font-size: 8px !important; }

  /* ---------- Day at DAK: compact story, no oversized illustration ---------- */
  .day-at-dak { background: var(--m-bg) !important; overflow: hidden !important; }
  .day-at-dak::before, .day-at-dak::after { display: none !important; }
  .day-head { margin: 0 auto 20px !important; }
  .day-showcase { display: block !important; }
  .day-picture { display: none !important; }
  .day-panel {
    width: 100% !important;
    padding: 17px !important;
    border-radius: var(--m-radius-lg) !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .day-panel-title { margin: 0 0 6px !important; color: var(--m-text) !important; font-size: 18px !important; line-height: 1.25 !important; }
  .day-panel-text { margin: 0 0 14px !important; color: var(--m-muted) !important; font-size: 11.5px !important; line-height: 1.55 !important; }
  .day-steps-list.compact {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  .day-step-btn {
    min-height: 64px !important;
    margin: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    gap: 7px !important;
    align-items: center !important;
    border-radius: 11px !important;
    border: 1px solid var(--m-line) !important;
    background: var(--m-surface-2) !important;
    color: var(--m-text) !important;
    text-align: start !important;
    box-shadow: none !important;
  }
  .day-step-btn i { font-size: 18px !important; }
  .day-step-btn strong { display: block !important; font-size: 10.5px !important; line-height: 1.25 !important; }
  .day-step-btn span span { display: none !important; }
  .day-insight-grid,
  .day-note { display: none !important; }

  /* ---------- Child journey ---------- */
  .journey-section { background: var(--m-surface-2) !important; }
  .journey-premium-card {
    display: block !important;
    padding: 0 !important;
    border-radius: var(--m-radius-lg) !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  .journey-story-panel { display: none !important; }
  .journey-form-panel {
    width: 100% !important;
    padding: 17px !important;
    border-radius: var(--m-radius-lg) !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .journey-form-head { margin-bottom: 12px !important; }
  .journey-form-head h3 { margin: 0 !important; color: var(--m-text) !important; font-size: 18px !important; line-height: 1.25 !important; }
  .journey-inputs,
  .journey-premium-inputs { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .journey-input-group { width: 100% !important; }
  .journey-input-group label { margin-bottom: 5px !important; color: var(--m-muted) !important; font-size: 10px !important; }
  .journey-input-group input,
  .journey-input-group select {
    width: 100% !important;
    min-height: 45px !important;
    padding: 10px 11px !important;
    border: 1px solid var(--m-line) !important;
    border-radius: 11px !important;
    background: var(--m-bg) !important;
    color: var(--m-text) !important;
  }
  .journey-premium-btn { width: 100% !important; margin-top: 2px !important; }

  /* ---------- Path tools / Quick access ---------- */
  .path-tools-section { background: var(--m-bg) !important; }
  .path-tools-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .path-tool-card {
    min-height: 0 !important;
    padding: 15px !important;
    border-radius: var(--m-radius) !important;
    box-shadow: none !important;
  }
  .path-tool-card h3 { margin: 0 0 4px !important; font-size: 15px !important; }
  .path-tool-card p { margin: 0 !important; font-size: 10.5px !important; line-height: 1.45 !important; }
  .quick-access-premium { background: var(--m-surface-2) !important; }
  .quick-access-head { margin-bottom: 18px !important; }
  .quick-directory { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  .ql-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  .ql-card {
    min-height: 84px !important;
    padding: 12px !important;
    border-radius: 13px !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
    color: var(--m-text) !important;
  }
  .ql-card h3,.ql-card strong { font-size: 11px !important; line-height: 1.25 !important; color: var(--m-text) !important; }
  .ql-card p,.ql-card span:not(.ql-icon) { font-size: 9px !important; line-height: 1.35 !important; color: var(--m-muted) !important; }
  .quick-directory-note { display: none !important; }

  /* ---------- Apps ---------- */
  .icampus-section,
  .premium-apps-section { padding: 38px 0 !important; background: var(--m-bg) !important; }
  .premium-apps-grid,
  .apps-grid,
  .icampus-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .premium-app-card,
  .app-card {
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: var(--m-radius) !important;
    box-shadow: none !important;
  }
  .app-card-glow { display: none !important; }
  .app-card h3 { font-size: 16px !important; line-height: 1.25 !important; }
  .app-card p { font-size: 10.5px !important; line-height: 1.5 !important; }

  /* ---------- Newsletter ---------- */
  .newsletter { padding: 0 var(--m-gutter) 38px !important; background: var(--m-bg) !important; }
  .newsletter-card {
    display: block !important;
    padding: 17px !important;
    border-radius: var(--m-radius-lg) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  .newsletter-copy { margin-bottom: 13px !important; }
  .newsletter-copy h2 { margin: 0 0 6px !important; font-size: 21px !important; line-height: 1.2 !important; }
  .newsletter-copy p { margin: 0 !important; font-size: 11px !important; line-height: 1.5 !important; }
  .newsletter-pills { display: none !important; }
  .newsletter-form-panel { padding: 13px !important; border-radius: 13px !important; box-shadow: none !important; }
  .newsletter-form-title { font-size: 13px !important; }
  .newsletter-form-text { font-size: 10px !important; }
  .newsletter-form { display: grid !important; grid-template-columns: 1fr !important; gap: 7px !important; }
  .newsletter-form input { min-height: 44px !important; width: 100% !important; }
  .newsletter-form button { width: 100% !important; min-height: 44px !important; }

  /* ---------- Standard internal page hero ---------- */
  .page-hero {
    min-height: 0 !important;
    padding: 30px 0 29px !important;
    background-position: center !important;
  }
  .page-hero-inner { text-align: start !important; }
  .breadcrumb {
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    font-size: 9.5px !important;
    line-height: 1.3 !important;
  }
  .page-hero-badge {
    margin-bottom: 9px !important;
    padding: 5px 9px !important;
    font-size: 8.5px !important;
    line-height: 1.3 !important;
    border-radius: 999px !important;
  }
  .page-hero h1,
  .page-hero-title {
    margin: 0 0 8px !important;
    max-width: 100% !important;
    font-size: clamp(28px,8.3vw,35px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
  }
  html[dir="rtl"] .page-hero h1,
  html[lang="ar"] .page-hero h1 { line-height: 1.34 !important; letter-spacing: 0 !important; }
  .page-hero p,
  .page-hero-sub {
    max-width: 34rem !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.6 !important;
  }

  /* ---------- Universal mobile card system ---------- */
  :is(
    .mission-card,.team-general,.branch-detail,.home-adm-panel,.home-adm-side-block,.home-adm-card,
    .contact-form-card,.office-hours-card,.map-card,.facility-card,.bus-card,.step-card,.dress-card,.faq-item,
    .privacy-section,.info-card,.prog-full-card,.subject-item,.curriculum-card,.key-card,.calendar-board,
    .pa-route-box,.pa-workspace,.pa-result-card,.fv-form,.fv-result
  ) {
    border-radius: var(--m-radius) !important;
    box-shadow: none !important;
  }

  /* ---------- About ---------- */
  .mission-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .mission-card { padding: 17px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; color: var(--m-text) !important; }
  .mission-card h3 { margin: 0 0 7px !important; font-size: 16px !important; line-height: 1.3 !important; }
  .mission-card p { margin: 0 !important; font-size: 11.5px !important; line-height: 1.58 !important; color: var(--m-muted) !important; }
  .mission-card.values { padding-bottom: 14px !important; }
  .mission-card.values .values-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  .value-item { padding: 10px !important; border-radius: 11px !important; }
  .value-icon { font-size: 19px !important; }
  .value-title { font-size: 10.5px !important; }
  .value-desc { font-size: 9px !important; line-height: 1.4 !important; }
  .team-section { padding-top: 34px !important; }
  .team-general { margin-top: 16px !important; padding: 17px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .team-general p { margin: 0 !important; color: var(--m-muted) !important; font-size: 12px !important; line-height: 1.65 !important; }
  .branch-detail-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 11px !important; margin-top: 20px !important; }
  .branch-detail { overflow: hidden !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .branch-detail-header { min-height: 112px !important; padding: 18px !important; }
  .branch-detail-header h3 { font-size: 22px !important; }
  .branch-detail-header p { font-size: 9px !important; }
  .branch-detail-header .campus-no { width: 38px !important; height: 38px !important; top: 14px !important; right: 14px !important; border-radius: 11px !important; }
  html[dir="rtl"] .branch-detail-header .campus-no { right: auto !important; left: 14px !important; }
  .branch-detail-body { padding: 12px !important; gap: 6px !important; background: var(--m-surface) !important; }
  .branch-detail-row,
  html[dir="rtl"] .branch-detail-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    padding: 9px 10px !important;
    border-radius: 9px !important;
    background: var(--m-surface-2) !important;
    border: 1px solid var(--m-line) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  /* ---------- Programmes page ---------- */
  .prog-tabs {
    margin: 0 0 18px !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  .prog-tab {
    min-height: 48px !important;
    padding: 9px 8px !important;
    border-radius: 11px !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }
  .prog-full-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
  }
  .prog-full-left,
  .prog-full-right { padding: 18px !important; }
  .prog-full-left h2,.prog-full-left h3 { font-size: 21px !important; line-height: 1.2 !important; }
  .prog-full-left p,.prog-full-right p { font-size: 11.5px !important; line-height: 1.6 !important; }
  .prog-features { gap: 6px !important; }
  .prog-features li { font-size: 10.5px !important; line-height: 1.45 !important; }
  .subject-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  .subject-item { min-height: 0 !important; padding: 10px !important; background: var(--m-surface-2) !important; border: 1px solid var(--m-line) !important; font-size: 10px !important; }
  .secondary-programmes { gap: 6px !important; }
  .secondary-programme { min-height: 0 !important; padding: 8px !important; border-radius: 9px !important; font-size: 9.5px !important; line-height: 1.35 !important; }
  .curriculum-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .curriculum-card,
  .credential-card { min-height: 0 !important; padding: 17px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .credential-logo-frame { min-height: 92px !important; padding: 12px !important; border-radius: 12px !important; }
  .credential-logo-frame img { max-height: 70px !important; object-fit: contain !important; }
  .credential-copy h3,.curriculum-card h3 { font-size: 17px !important; line-height: 1.25 !important; }
  .credential-copy p,.curriculum-card p { font-size: 11px !important; line-height: 1.55 !important; }

  /* ---------- Admissions ---------- */
  .steps-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px !important; }
  .step-card { min-height: 0 !important; padding: 13px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .step-num { width: 30px !important; height: 30px !important; margin-bottom: 8px !important; font-size: 12px !important; }
  .step-card h4 { margin: 0 0 5px !important; color: var(--m-text) !important; font-size: 11.5px !important; line-height: 1.3 !important; }
  .step-card p { margin: 0 !important; color: var(--m-muted) !important; font-size: 9.5px !important; line-height: 1.45 !important; }
  .dress-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .dress-card { padding: 14px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .faq-list { gap: 7px !important; }
  .faq-item { background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .faq-question { min-height: 48px !important; padding: 12px !important; gap: 8px !important; }
  .faq-num { width: 28px !important; height: 28px !important; min-width: 28px !important; font-size: 10px !important; }
  .faq-text { color: var(--m-text) !important; font-size: 11.5px !important; line-height: 1.4 !important; }
  .faq-answer { padding: 0 12px 12px 48px !important; color: var(--m-muted) !important; font-size: 11px !important; line-height: 1.55 !important; }
  html[dir="rtl"] .faq-answer { padding: 0 48px 12px 12px !important; }

  /* ---------- Admission requirements ---------- */
  .home-adm-head { display: block !important; margin-bottom: 18px !important; }
  .home-adm-head .section-label,
  .home-adm-head .section-title { text-align: center !important; }
  .home-adm-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .home-adm-panel,
  .home-adm-side-block,
  .home-adm-card { padding: 14px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .home-adm-title { font-size: 23px !important; }
  .home-adm-panel h3 { font-size: 15px !important; }
  .home-adm-chip { padding: 5px 8px !important; font-size: 8px !important; }
  .home-adm-table-wrap { width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .age-table,.home-adm-age-table { min-width: 520px !important; font-size: 10px !important; }
  .age-table th,.age-table td,.home-adm-age-table th,.home-adm-age-table td { padding: 8px 7px !important; }
  .uniform-poster-wrap { padding: 0 !important; }
  .uniform-poster-static { border-radius: var(--m-radius) !important; overflow: hidden !important; }

  /* ---------- Facilities ---------- */
  .facilities-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .facility-card { overflow: hidden !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .facility-header { min-height: 0 !important; padding: 16px !important; }
  .facility-icon { font-size: 25px !important; }
  .facility-header h3 { margin: 5px 0 4px !important; font-size: 16px !important; }
  .facility-header p { margin: 0 !important; font-size: 10.5px !important; line-height: 1.5 !important; }
  .facility-body { padding: 13px 15px !important; background: var(--m-surface) !important; }
  .facility-body li { margin-bottom: 5px !important; color: var(--m-muted) !important; font-size: 10.5px !important; line-height: 1.4 !important; }
  .activities-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  .activity-chip { min-height: 44px !important; padding: 9px !important; border-radius: 10px !important; font-size: 10px !important; }
  .bus-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .bus-card { padding: 14px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }

  /* ---------- Contact ---------- */
  .contact-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .contact-info { gap: 9px !important; }
  .contact-form-card,
  .office-hours-card,
  .info-card,
  .map-card { padding: 15px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .contact-form-card h3,.office-hours-card h3,.info-card h3 { color: var(--m-text) !important; font-size: 16px !important; }
  .form-row { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .form-group { margin-bottom: 10px !important; }
  .form-group label { margin-bottom: 5px !important; color: var(--m-muted) !important; font-size: 10px !important; }
  .form-group input,.form-group textarea,.form-group select {
    width: 100% !important;
    min-height: 45px !important;
    padding: 10px 11px !important;
    border: 1px solid var(--m-line) !important;
    border-radius: 10px !important;
    background: var(--m-bg) !important;
    color: var(--m-text) !important;
  }
  .maps-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .map-card { min-height: 0 !important; }
  .office-status-card { padding: 13px !important; border-radius: 13px !important; }
  .office-status-actions { flex-wrap: wrap !important; gap: 6px !important; }
  .office-status-action { min-height: 38px !important; padding: 8px 10px !important; font-size: 10px !important; }
  .hours-row-item,.info-row { padding: 8px 0 !important; font-size: 10.5px !important; }

  /* ---------- Campus pages ---------- */
  .branch-hero {
    min-height: 0 !important;
    padding: 32px 0 30px !important;
  }
  .branch-hero-badge { margin-bottom: 10px !important; padding: 5px 9px !important; font-size: 8.5px !important; }
  .branch-hero h1 { margin-bottom: 9px !important; font-size: clamp(29px,8.5vw,36px) !important; line-height: 1.12 !important; }
  .branch-hero p { margin-bottom: 14px !important; font-size: 12px !important; line-height: 1.6 !important; }
  .portal-big { width: auto !important; min-height: 43px !important; padding: 9px 12px !important; font-size: 11px !important; }
  .portal-big::after { width: 24px !important; height: 24px !important; font-size: 12px !important; }
  .info-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .info-card { min-height: 0 !important; }
  .prog-tags { gap: 5px !important; }
  .prog-tag { padding: 5px 7px !important; font-size: 9px !important; }

  /* ---------- Calendar ---------- */
  .calendar-view-switch {
    margin: 0 0 16px !important;
    padding: 4px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
    border-radius: 13px !important;
    background: var(--m-surface-2) !important;
  }
  .calendar-view-tab { min-height: 42px !important; padding: 8px 7px !important; border-radius: 10px !important; font-size: 10px !important; line-height: 1.25 !important; }
  .calendar-shell { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .calendar-board { padding: 12px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .calendar-topline { margin-bottom: 12px !important; padding-bottom: 12px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; flex-direction: row !important; }
  html[dir="rtl"] .calendar-topline { flex-direction: row !important; }
  .calendar-brand { min-width: 0 !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; }
  .calendar-brand img { height: 38px !important; width: auto !important; }
  .calendar-brand-title { font-size: 16px !important; line-height: 1.1 !important; color: var(--m-text) !important; }
  .calendar-year-pill { flex: 0 0 auto !important; padding: 7px 9px !important; border-radius: 9px !important; font-size: 11px !important; }
  .month-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .month-card { border-radius: 11px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; box-shadow: none !important; }
  .month-head { min-height: 46px !important; padding: 7px 9px !important; grid-template-columns: 1fr 94px !important; }
  .month-title { font-size: 12px !important; }
  .school-days { width: 94px !important; min-height: 29px !important; font-size: 9px !important; }
  .mini-cal th { padding: 5px 1px !important; font-size: 8px !important; }
  .mini-cal td { height: 27px !important; font-size: 10.5px !important; }
  .month-note { min-height: 0 !important; padding: 6px 8px !important; font-size: 8.5px !important; background: var(--m-surface-2) !important; color: var(--m-muted) !important; }
  .key-panel { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .key-card { padding: 14px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .key-card.dark { background: #10263d !important; }
  .key-card h3 { margin-bottom: 10px !important; font-size: 16px !important; }
  .key-row { padding-bottom: 7px !important; gap: 7px !important; }
  .key-text strong { font-size: 10.5px !important; }
  .key-date { font-size: 8.5px !important; }
  .summary-table th,.summary-table td { padding: 7px 6px !important; font-size: 9.5px !important; }
  .calendar-note { padding: 12px !important; border-radius: 12px !important; font-size: 10px !important; box-shadow: none !important; }
  .calendar-actions { margin-top: 12px !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 7px !important; }
  .calendar-actions .btn { width: 100% !important; padding: 9px !important; font-size: 9.5px !important; }
  .print-tip { font-size: 8.5px !important; }
  .events-calendar { border-radius: var(--m-radius) !important; overflow: hidden !important; }
  .events-calendar-head { padding: 15px !important; }
  .events-title { font-size: 22px !important; line-height: 1.2 !important; }
  .events-subtitle { font-size: 10.5px !important; line-height: 1.45 !important; }
  .events-head-badges { gap: 5px !important; }
  .events-head-badges span,.events-year-badge { padding: 5px 7px !important; font-size: 8px !important; }
  .events-body { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; padding: 12px !important; }
  .events-toolbar { gap: 8px !important; }
  .semester-switch { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 5px !important; }
  .semester-btn { min-height: 41px !important; padding: 8px !important; font-size: 9.5px !important; }
  .event-filters { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; }
  .event-filter-label { font-size: 8.5px !important; }
  .event-filter-wrap button { min-height: 34px !important; padding: 6px 8px !important; font-size: 8.5px !important; }
  .events-mini-stats { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 6px !important; }
  .events-month-heading { font-size: 16px !important; }
  .events-list { gap: 6px !important; }
  .events-source { padding: 12px !important; }
  .events-footnote,.events-note { font-size: 9px !important; line-height: 1.45 !important; }

  /* ---------- Privacy ---------- */
  .privacy-wrap { padding-top: 0 !important; }
  .privacy-intro { margin-bottom: 16px !important; font-size: 12px !important; line-height: 1.65 !important; }
  .privacy-last-updated { margin-bottom: 14px !important; font-size: 9px !important; }
  .privacy-section { margin-bottom: 9px !important; padding: 15px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .privacy-section h2 { margin-bottom: 7px !important; font-size: 16px !important; color: var(--m-text) !important; }
  .privacy-section p,.privacy-section li { font-size: 11px !important; line-height: 1.6 !important; color: var(--m-muted) !important; }

  /* ---------- Pathway Advisor ---------- */
  .pa-page { background: var(--m-bg) !important; }
  .pa-hero { padding: 30px 0 24px !important; min-height: 0 !important; }
  .pa-hero-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 13px !important; }
  .pa-eyebrow { margin-bottom: 7px !important; font-size: 8.5px !important; }
  .pa-hero h1 { margin-bottom: 8px !important; font-size: 30px !important; line-height: 1.1 !important; }
  .pa-hero p { margin-bottom: 12px !important; font-size: 11.5px !important; line-height: 1.55 !important; }
  .pa-trust-row { gap: 5px !important; }
  .pa-trust-row span { padding: 5px 7px !important; font-size: 8px !important; }
  .pa-route-box { padding: 13px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .pa-route-box-title { font-size: 15px !important; }
  .pa-route-mini { min-height: 54px !important; padding: 9px !important; border-radius: 10px !important; }
  .pa-route-mini-code { width: 30px !important; height: 30px !important; font-size: 10px !important; }
  .pa-route-mini strong { font-size: 10.5px !important; }
  .pa-route-mini small { font-size: 8.5px !important; }
  .pa-advisor-section { padding: 30px 0 !important; }
  .pa-workspace-shell { display: block !important; }
  .pa-workspace { padding: 14px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .pa-question-title { font-size: 20px !important; }
  .pa-question-sub { font-size: 10.5px !important; }
  .pa-options { gap: 7px !important; }
  .pa-options button { min-height: 45px !important; padding: 9px 10px !important; font-size: 10px !important; border-radius: 10px !important; }
  .pa-question-nav { gap: 7px !important; }
  .pa-btn { min-height: 42px !important; padding: 9px 11px !important; font-size: 10px !important; }
  .pa-result-grid,.pa-route-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .pa-result-card,.pa-route-card { padding: 13px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }

  /* ---------- Future Vision ---------- */
  .fv-hero { min-height: 0 !important; padding: 34px 0 30px !important; }
  .fv-badge { margin-bottom: 9px !important; padding: 5px 9px !important; font-size: 8.5px !important; }
  .fv-hero h1 { margin-bottom: 8px !important; font-size: 30px !important; line-height: 1.1 !important; }
  .fv-hero p { font-size: 11.5px !important; line-height: 1.55 !important; }
  .fv-section { padding: 34px 0 40px !important; background: var(--m-bg) !important; }
  .fv-form { padding: 16px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; }
  .fv-form-title { font-size: 19px !important; color: var(--m-text) !important; }
  .fv-form-sub { font-size: 10.5px !important; color: var(--m-muted) !important; }
  .fv-field { margin-bottom: 10px !important; }
  .fv-label { margin-bottom: 5px !important; font-size: 9.5px !important; color: var(--m-muted) !important; }
  .fv-input,.fv-select { min-height: 45px !important; padding: 10px !important; border-radius: 10px !important; background: var(--m-bg) !important; color: var(--m-text) !important; border: 1px solid var(--m-line) !important; }
  .fv-dreams { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  .fv-generate-btn { min-height: 45px !important; font-size: 11px !important; }
  .fv-poster-wrap { padding: 10px !important; border-radius: 12px !important; }
  .fv-result-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 7px !important; }
  .fv-action-btn { width: 100% !important; min-height: 43px !important; }

  /* ---------- Footer ---------- */
  .footer {
    padding: 34px var(--m-gutter) max(24px, env(safe-area-inset-bottom)) !important;
  }
  .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 20px 14px !important;
  }
  .footer-grid > :first-child { grid-column: 1 / -1 !important; }
  .footer-brand-name { margin-bottom: 7px !important; font-size: 17px !important; line-height: 1.25 !important; }
  .footer-brand-name span { margin-top: 2px !important; font-size: 9px !important; }
  .footer-desc { max-width: none !important; margin-bottom: 9px !important; font-size: 10px !important; line-height: 1.55 !important; }
  .footer-contact { font-size: 10px !important; line-height: 1.65 !important; }
  .footer-col h4 { margin-bottom: 8px !important; font-size: 11px !important; }
  .footer-col li { margin-bottom: 5px !important; }
  .footer-col a { font-size: 9.5px !important; }
  .footer-bottom {
    margin-top: 22px !important;
    padding-top: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    font-size: 8.5px !important;
  }
  .footer-bottom-links { gap: 8px 12px !important; flex-wrap: wrap !important; }
  .footer-bottom-links a { font-size: 8.5px !important; }

  /* ---------- Floating actions ---------- */
  .back-to-top {
    width: 40px !important;
    height: 40px !important;
    right: calc(12px + env(safe-area-inset-right)) !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    border-radius: 12px !important;
  }
  .dak-ai-bubble {
    width: 48px !important;
    height: 48px !important;
    right: calc(12px + env(safe-area-inset-right)) !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }
  .dak-ai-bubble svg { width: 32px !important; height: 32px !important; }
  .dak-ai-chat {
    left: var(--m-gutter) !important;
    right: var(--m-gutter) !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(66dvh, 540px) !important;
    border-radius: 16px !important;
  }
  .wa-fab {
    width: 48px !important;
    height: 48px !important;
    left: calc(12px + env(safe-area-inset-left)) !important;
    right: auto !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }
  .wa-menu {
    left: var(--m-gutter) !important;
    right: var(--m-gutter) !important;
    bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
  }
  html[dir="rtl"] .wa-fab { left: calc(12px + env(safe-area-inset-left)) !important; right: auto !important; }

  /* ---------- Dark mode: final mobile surface ownership ---------- */
  html[data-theme="dark"] body,
  html[data-theme="dark"] .section,
  html[data-theme="dark"] .branches-section,
  html[data-theme="dark"] .why-section,
  html[data-theme="dark"] .day-at-dak,
  html[data-theme="dark"] .path-tools-section,
  html[data-theme="dark"] .icampus-section,
  html[data-theme="dark"] .premium-apps-section,
  html[data-theme="dark"] .newsletter,
  html[data-theme="dark"] .fv-section,
  html[data-theme="dark"] .pa-page { background: var(--m-bg) !important; }
  html[data-theme="dark"] .section-gray,
  html[data-theme="dark"] .news-section,
  html[data-theme="dark"] .journey-section,
  html[data-theme="dark"] .quick-access-premium { background: var(--m-surface-2) !important; }
  html[data-theme="dark"] :is(
    .prog-card,.why-card,.news-card,.day-panel,.journey-form-panel,.ql-card,.newsletter-form-panel,
    .mission-card,.team-general,.branch-detail,.branch-detail-body,.branch-detail-row,.prog-full-card,.prog-full-right,
    .subject-item,.curriculum-card,.credential-card,.step-card,.dress-card,.faq-item,.home-adm-panel,.home-adm-side-block,
    .home-adm-card,.facility-card,.facility-body,.bus-card,.contact-form-card,.office-hours-card,.info-card,.map-card,
    .calendar-board,.month-card,.key-card:not(.dark),.privacy-section,.pa-route-box,.pa-workspace,.pa-result-card,.pa-route-card,
    .fv-form,.fv-result
  ) {
    background: var(--m-surface) !important;
    border-color: var(--m-line) !important;
    color: var(--m-text) !important;
  }
  html[data-theme="dark"] :is(
    .section-title,.home-adm-title,.prog-title,.why-card h3,.news-title-text,.day-panel-title,.journey-form-head h3,
    .ql-card h3,.ql-card strong,.mission-card h3,.team-general h3,.branch-detail-row strong,.prog-full-card h2,.prog-full-card h3,
    .credential-copy h3,.curriculum-card h3,.step-card h4,.faq-text,.home-adm-panel h3,.contact-form-card h3,.office-hours-card h3,
    .info-card h3,.calendar-brand-title,.privacy-section h2,.fv-form-title
  ) { color: var(--m-text) !important; }
  html[data-theme="dark"] :is(
    .section-sub,.prog-desc,.why-card p,.news-date,.news-excerpt,.day-panel-text,.journey-input-group label,.ql-card p,
    .mission-card p,.team-general p,.branch-detail-row span,.prog-full-card p,.credential-copy p,.curriculum-card p,.step-card p,
    .faq-answer,.home-adm-sub,.facility-body li,.form-group label,.privacy-section p,.privacy-section li,.fv-form-sub,.fv-label
  ) { color: var(--m-muted) !important; }
  html[data-theme="dark"] :is(input,select,textarea,.journey-input-group input,.journey-input-group select,.fv-input,.fv-select) {
    background: var(--m-bg) !important;
    border-color: var(--m-line) !important;
    color: var(--m-text) !important;
  }
  html[data-theme="dark"] .credential-logo-frame,
  html[data-theme="dark"] .official-logo-plate { background: rgba(255,255,255,.96) !important; }

  /* ---------- RTL alignment ---------- */
  html[dir="rtl"] :is(.page-hero-inner,.branch-hero-inner,.pa-hero-copy,.privacy-section,.contact-form-card,.info-card,.facility-card,.step-card,.dress-card) { text-align: right !important; }
  html[dir="rtl"] :is(.prog-card,.why-card,.news-card,.ql-card,.pa-route-card,.pa-result-card) { text-align: right !important; }
}

/* Small phones: iPhone SE / compact Android */
@media (max-width: 374px) {
  :root { --m-gutter: 15px; }
  .logo img,#navbar .logo img { height: 39px !important; max-width: 154px !important; }
  .hero-right { height: 188px !important; min-height: 188px !important; }
  .hero-left { padding: 20px 16px 16px !important; }
  .hero-title { font-size: 29px !important; }
  html[dir="rtl"] .hero-title { font-size: 27px !important; }
  .stat-num { font-size: 16px !important; }
  .stat-label { font-size: 7px !important; }
  .programmes-grid,.why-cards,.steps-grid,.ql-grid,.day-steps-list.compact,.activities-grid,.fv-dreams { grid-template-columns: 1fr !important; }
  .prog-card.c3 { grid-column: auto !important; }
  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-grid > :first-child { grid-column: auto !important; }
}

/* Landscape phones: reduce vertical bulk, keep touch targets */
@media (max-width: 767px) and (orientation: landscape) and (max-height: 520px) {
  .hero { display: grid !important; grid-template-columns: .9fr 1.1fr !important; padding-top: 10px !important; }
  .hero-right { order: 0 !important; height: 310px !important; min-height: 310px !important; border-radius: var(--m-radius-lg) 0 0 var(--m-radius-lg) !important; }
  .hero-left { order: 1 !important; min-height: 310px !important; padding: 18px !important; border-radius: 0 var(--m-radius-lg) var(--m-radius-lg) 0 !important; }
  .hero-title { font-size: 28px !important; }
  .hero-desc { font-size: 11px !important; }
  .hero-stats { margin-top: 12px !important; padding-top: 10px !important; }
  .page-hero,.branch-hero,.fv-hero,.pa-hero { padding-top: 22px !important; padding-bottom: 22px !important; }
}

@media (prefers-reduced-motion: reduce) {
  @media (max-width: 767px) {
    *,*::before,*::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  }
}

/* ======================================================================
   MOBILE REFINEMENT PASS — compact homepage components
   ====================================================================== */
@media (max-width: 767px) {
  #navbar { background: var(--m-surface) !important; }

  .hero-actions { flex-direction: row !important; align-items: stretch !important; }
  .hero-actions .btn,
  .hero-actions a { flex: 1 1 auto !important; height: auto !important; }

  /* Slim school-office strip */
  .home-office-status {
    padding: 0 var(--m-gutter) !important;
    margin: -8px 0 0 !important;
    background: var(--m-bg) !important;
  }
  .home-office-status .container { padding-inline: 0 !important; }
  .home-office-status .office-status-card.compact {
    padding: 12px 13px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8px 10px !important;
    align-items: center !important;
    border-radius: 14px !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .home-office-status .office-status-main { min-width: 0 !important; }
  .home-office-status .office-status-dot { width: 9px !important; height: 9px !important; }
  .home-office-status .office-status-kicker { font-size: 8px !important; }
  .home-office-status .office-status-title { font-size: 11.5px !important; line-height: 1.25 !important; color: var(--m-text) !important; }
  .home-office-status .office-status-note { grid-column: 1 / -1 !important; margin: 0 !important; font-size: 9px !important; color: var(--m-muted) !important; }
  .home-office-status .office-status-actions { grid-column: 2 !important; grid-row: 1 !important; display: flex !important; gap: 4px !important; }
  .home-office-status .office-status-action { min-height: 32px !important; padding: 6px 8px !important; font-size: 8.5px !important; border-radius: 9px !important; }

  /* Why DAK side panel becomes a concise proof strip */
  .why-showcase { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .why-panel {
    min-height: 0 !important;
    padding: 15px !important;
    border-radius: var(--m-radius) !important;
    box-shadow: none !important;
  }
  .why-panel-content { min-height: 0 !important; display: block !important; }
  .why-panel-kicker { margin-bottom: 4px !important; font-size: 8.5px !important; }
  .why-panel-title { margin-bottom: 5px !important; font-size: 18px !important; line-height: 1.22 !important; }
  .why-panel-text { margin: 0 0 11px !important; font-size: 10.5px !important; line-height: 1.5 !important; }
  .why-metrics { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 5px !important; }
  .why-metric { min-height: 62px !important; padding: 8px 3px !important; border-radius: 10px !important; }
  .why-metric .n { font-size: 17px !important; line-height: 1 !important; }
  .why-metric .l { margin-top: 5px !important; font-size: 6.8px !important; line-height: 1.2 !important; }

  /* News becomes a clean list */
  .news-card { position: relative !important; }
  .news-excerpt {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
  .mobile-news-more { margin-top: 8px !important; }
  .mobile-news-more > summary {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    list-style: none !important;
    cursor: pointer !important;
    border-radius: 11px !important;
    border: 1px solid var(--m-line) !important;
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
  }
  .mobile-news-more > summary::-webkit-details-marker { display: none !important; }
  .mobile-news-more > summary::after { content: '＋'; margin-inline-start: 6px; color: var(--m-teal); }
  .mobile-news-more[open] > summary::after { content: '−'; }
  .mobile-news-more .news-card { margin-top: 8px !important; }
  .mobile-news-more .ar-only { display: none !important; }
  html[lang="ar"] .mobile-news-more .en-only { display: none !important; }
  html[lang="ar"] .mobile-news-more .ar-only { display: inline !important; }

  /* Guided tools: remove decorative bulk */
  .path-tools-panel {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .path-tools-intro {
    padding: 0 !important;
    margin: 0 0 18px !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
  }
  .path-tools-intro .section-label { text-align: center !important; }
  .path-tools-intro h2 { color: var(--m-text) !important; }
  .path-tools-intro p { max-width: 32rem !important; margin: 0 auto !important; color: var(--m-muted) !important; font-size: 11.5px !important; line-height: 1.55 !important; }
  .path-tools-route { display: none !important; }
  .path-tools-grid { gap: 8px !important; }
  .path-tool-card {
    position: relative !important;
    min-height: 0 !important;
    padding: 14px 52px 14px 14px !important;
    background: var(--m-surface) !important;
    border: 1px solid var(--m-line) !important;
    color: var(--m-text) !important;
  }
  html[dir="rtl"] .path-tool-card { padding: 14px 14px 14px 52px !important; }
  .path-tool-index { width: 32px !important; height: 32px !important; margin-bottom: 8px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 9px !important; font-size: 10px !important; }
  .path-tool-icon { position: absolute !important; top: 14px !important; right: 14px !important; width: 34px !important; height: 34px !important; font-size: 13px !important; border-radius: 50% !important; }
  html[dir="rtl"] .path-tool-icon { right: auto !important; left: 14px !important; }
  .path-tool-card h3 { margin: 0 0 4px !important; color: var(--m-text) !important; font-size: 14px !important; line-height: 1.28 !important; }
  .path-tool-card p { margin: 0 0 9px !important; color: var(--m-muted) !important; font-size: 9.5px !important; line-height: 1.45 !important; }
  .path-tool-action { width: fit-content !important; min-height: 33px !important; padding: 6px 8px !important; font-size: 9px !important; border-radius: 9px !important; }
  .path-tool-arrow { width: 22px !important; height: 22px !important; font-size: 9px !important; }

  /* Quick access is a readable list, not squeezed tiles */
  .ql-grid { grid-template-columns: 1fr !important; gap: 6px !important; }
  .ql-card {
    min-height: 66px !important;
    padding: 9px 10px !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0,1fr) 28px !important;
    align-items: center !important;
    gap: 9px !important;
    border-radius: 12px !important;
  }
  .ql-icon { width: 36px !important; height: 36px !important; min-width: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 10px !important; font-size: 17px !important; }
  .ql-content { min-width: 0 !important; }
  .ql-title { color: var(--m-text) !important; font-size: 11.5px !important; line-height: 1.25 !important; }
  .ql-desc { margin-top: 2px !important; color: var(--m-muted) !important; font-size: 9px !important; line-height: 1.35 !important; }
  .ql-arrow { width: 28px !important; height: 28px !important; min-width: 28px !important; font-size: 10px !important; }

  /* School apps */
  .apps-showcase {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  .premium-app-card,.app-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 14px !important;
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    border: 1px solid var(--m-line) !important;
  }
  .app-card-top { margin-bottom: 9px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; }
  .app-icon-wrap { width: 38px !important; height: 38px !important; min-width: 38px !important; border-radius: 10px !important; font-size: 18px !important; }
  .app-badge { padding: 5px 7px !important; border-radius: 999px !important; font-size: 8px !important; line-height: 1.2 !important; }
  .app-info { margin-bottom: 9px !important; }
  .app-name { margin: 0 0 3px !important; color: var(--m-text) !important; font-size: 16px !important; line-height: 1.2 !important; }
  .app-desc { margin: 0 !important; color: var(--m-muted) !important; font-size: 10px !important; line-height: 1.45 !important; }
  .app-feature-row { display: none !important; }
  .app-btns { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; }
  .store-btn {
    min-height: 48px !important;
    padding: 7px 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-radius: 10px !important;
  }
  .store-icon { font-size: 16px !important; }
  .store-text span { font-size: 7px !important; line-height: 1.1 !important; }
  .store-text strong { font-size: 9.5px !important; line-height: 1.15 !important; }

  /* Newsletter actual form class */
  .nl-form { display: grid !important; grid-template-columns: 1fr !important; gap: 7px !important; }
  .nl-form input,.nl-form button { width: 100% !important; min-height: 44px !important; }

  /* Mobile appearance control */
  .mobile-menu .theme-control--mobile {
    margin-top: 7px !important;
    padding: 9px !important;
    border-radius: 12px !important;
    background: var(--m-surface-2) !important;
    border: 1px solid var(--m-line) !important;
    box-shadow: none !important;
  }
  .theme-mobile-heading { color: var(--m-text) !important; font-size: 10px !important; }
  .theme-segment { background: var(--m-bg) !important; }
  .theme-segment-option { min-height: 39px !important; padding: 5px 3px !important; color: var(--m-muted) !important; }
  .theme-segment-option.is-active { background: var(--m-surface) !important; border-color: var(--m-line) !important; color: var(--m-text) !important; box-shadow: none !important; }
}
/* Desktop preservation for mobile-only news disclosure markup */
@media (min-width: 768px) {
  .mobile-news-more { display: contents; }
  .mobile-news-more > summary { display: none; }
  .mobile-news-more > .news-card { display: block; }
}
@media (max-width: 767px) {
  /* Final homepage clarity details */
  .home-office-status .office-status-card.compact { grid-template-columns: 1fr !important; }
  .home-office-status .office-status-actions { display: none !important; }
  .home-office-status .office-status-note { grid-column: 1 !important; }
  .prog-card.c4 { grid-column: 1 / -1 !important; }
  .day-step-btn strong { color: var(--m-text) !important; }
  .day-step-btn i { font-style: normal !important; }

  .premium-apps-section,
  .icampus-section {
    background: var(--m-bg) !important;
  }
  .premium-apps-section::before,
  .premium-apps-section::after,
  .icampus-section::before,
  .icampus-section::after { display: none !important; }
  .premium-apps-section .section-label { color: var(--m-teal) !important; }
  .premium-apps-section .section-title { color: var(--m-text) !important; text-shadow: none !important; }
  .premium-apps-section .section-sub { color: var(--m-muted) !important; }

  .newsletter-card {
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    border: 1px solid var(--m-line) !important;
  }
  .newsletter-card::before,.newsletter-card::after { display: none !important; }
  .newsletter-badge { color: var(--m-teal) !important; background: rgba(7,153,168,.08) !important; border-color: rgba(7,153,168,.18) !important; }
  .newsletter-copy h2 { color: var(--m-text) !important; text-shadow: none !important; }
  .newsletter-copy p { color: var(--m-muted) !important; }
  .newsletter-form-panel { background: var(--m-surface-2) !important; border: 1px solid var(--m-line) !important; }
  .newsletter-form-title { color: var(--m-text) !important; }
  .newsletter-form-text,.newsletter-trust { color: var(--m-muted) !important; }
}
@media (max-width: 767px) {
  .mission-card h3,
  .mission-card.values h3,
  .value-title { color: var(--m-text) !important; }
  .value-desc { color: var(--m-muted) !important; }
  .mission-card.values .value-item { background: var(--m-surface-2) !important; border: 1px solid var(--m-line) !important; }
}
@media (max-width: 767px) {
  .news-grid > .news-card:nth-child(n+4) { display: none !important; }
  .news-grid.mobile-news-expanded > .news-card:nth-child(n+4) { display: block !important; }
  .mobile-news-toggle {
    width: 100% !important;
    min-height: 42px !important;
    margin-top: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--m-line) !important;
    border-radius: 11px !important;
    background: var(--m-surface) !important;
    color: var(--m-text) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
  }
  .mobile-news-toggle::after { content: '＋'; margin-inline-start: 6px; color: var(--m-teal); }
  .mobile-news-toggle.is-open::after { content: '−'; }
  .mobile-news-toggle .ar-only { display: none !important; }
  html[lang="ar"] .mobile-news-toggle .en-only { display: none !important; }
  html[lang="ar"] .mobile-news-toggle .ar-only { display: inline !important; }
}
@media (min-width: 768px) { .mobile-news-toggle { display: none !important; } }


/* DAK CSS: theme-v27.css */
/* ======================================================================
   DORAT AL KHALEEJ — THEME QA v27
   Final contrast and theme-isolation pass.
   Loaded after v26. Keeps the v24 mobile layout while fixing remaining
   low-contrast text, legacy white-card overrides and mixed light/dark UI.
   ====================================================================== */

:root{
  --v27-bg:#f4f8fa;
  --v27-surface:#ffffff;
  --v27-surface-soft:#edf4f7;
  --v27-surface-raised:#ffffff;
  --v27-text:#142436;
  --v27-heading:#102033;
  --v27-muted:#516171;
  --v27-muted-2:#697a89;
  --v27-border:#d5e1e7;
  --v27-border-strong:#bfd0d9;
  --v27-teal:#007783;
  --v27-teal-soft:#e2f5f6;
  --v27-purple:#684299;
  --v27-gold:#8b5b08;
  --v27-shadow:0 10px 28px rgba(16,32,51,.07);
}
html[data-theme="dark"]{
  --v27-bg:#07131f;
  --v27-surface:#0f2030;
  --v27-surface-soft:#15283a;
  --v27-surface-raised:#193047;
  --v27-text:#f5f8fb;
  --v27-heading:#ffffff;
  --v27-muted:#c3cfda;
  --v27-muted-2:#a9b8c6;
  --v27-border:#334b61;
  --v27-border-strong:#47637c;
  --v27-teal:#66e5ef;
  --v27-teal-soft:#123840;
  --v27-purple:#c3a6ef;
  --v27-gold:#ffd66e;
  --v27-shadow:0 10px 30px rgba(0,0,0,.22);
}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
html,body{background:var(--v27-bg)!important;color:var(--v27-text)!important}

/* ---------- Core text ---------- */
html[data-theme="light"] :is(.section-label,.page-hero .accent,.page-hero-title .accent,.fv-badge){color:var(--v27-teal)!important}
html[data-theme="dark"] :is(.section-label,.page-hero .accent,.page-hero-title .accent,.fv-badge){color:var(--v27-teal)!important}
:is(.section-sub,.prog-desc,.news-excerpt,.news-date,.ql-desc,.value-desc,.print-tip,.events-subtitle,.events-footnote,.events-source-meta,.events-month-heading p,.privacy-section p,.privacy-section li){color:var(--v27-muted)!important}

/* Breadcrumb slash inherited legacy white and vanished in light mode. */
html[data-theme="light"] .breadcrumb>span{color:#8a99a6!important}
html[data-theme="dark"] .breadcrumb>span{color:#7f92a4!important}

/* ---------- Header and navigation ---------- */
html[data-theme="light"] #navbar{background:rgba(255,255,255,.97)!important;border-bottom-color:var(--v27-border)!important}
html[data-theme="dark"] #navbar{background:rgba(7,19,31,.97)!important;border-bottom-color:var(--v27-border)!important}
#navbar .nav-links a:not(.nav-portal-btn),#navbar .lang-toggle{color:var(--v27-text)!important}
.hamburger{background:var(--v27-surface-soft)!important;border-color:var(--v27-border)!important}
.hamburger span{background:var(--v27-text)!important}
.mobile-menu{background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
.mobile-menu a,.mobile-menu .lang-toggle{color:var(--v27-text)!important}
.theme-control--mobile,.theme-segment{background:var(--v27-surface-soft)!important;border-color:var(--v27-border)!important}
.theme-segment-option{color:var(--v27-muted)!important}
.theme-segment-option.is-active{background:var(--v27-surface)!important;color:var(--v27-text)!important}

/* ---------- Internal page hero ---------- */
html[data-theme="light"] .page-hero{
  background:radial-gradient(circle at 8% 8%,rgba(0,151,167,.10),transparent 34%),radial-gradient(circle at 92% 90%,rgba(107,63,160,.08),transparent 36%),linear-gradient(135deg,#f8fcfd 0%,#edf6f8 52%,#f5f2fa 100%)!important;
  border-bottom:1px solid var(--v27-border)!important;
}
html[data-theme="dark"] .page-hero{
  background:radial-gradient(circle at 8% 8%,rgba(102,229,239,.09),transparent 34%),radial-gradient(circle at 92% 90%,rgba(195,166,239,.08),transparent 36%),linear-gradient(135deg,#0d1d2b 0%,#102235 52%,#121b2d 100%)!important;
  border-bottom:1px solid var(--v27-border)!important;
}
html[data-theme="light"] .page-hero :is(h1,.page-hero-title){color:var(--v27-heading)!important}
html[data-theme="dark"] .page-hero :is(h1,.page-hero-title){color:#fff!important}
html[data-theme="light"] .page-hero :is(p,.page-hero-sub){color:var(--v27-muted)!important}
html[data-theme="dark"] .page-hero :is(p,.page-hero-sub){color:var(--v27-muted)!important}
.page-hero-badge{color:var(--v27-teal)!important;border-color:rgba(0,119,131,.28)!important;background:rgba(0,119,131,.07)!important}
html[data-theme="dark"] .page-hero-badge{border-color:rgba(102,229,239,.30)!important;background:rgba(102,229,239,.07)!important}

/* Special branded heroes stay dark in both modes; never inherit page-heading colours. */
.pa-hero,.branch-hero,.fv-hero{color:#fff!important}
.pa-hero h1,.pa-hero h2,.pa-hero-copy>p,.branch-hero h1,.branch-hero p,.branch-hero-badge,.fv-hero h1,.fv-hero p{color:#fff!important}
.pa-hero-copy>p,.branch-hero p,.fv-hero p{color:rgba(255,255,255,.82)!important}
.pa-hero .pa-eyebrow,.pa-hero .pa-trust-row span{color:rgba(255,255,255,.82)!important}

/* ---------- General cards/surfaces ---------- */
html[data-theme="light"] :is(.mission-card,.team-general,.branch-detail,.branch-detail-body,.home-adm-panel,.home-adm-side-block,.home-adm-card,.contact-form-card,.office-hours-card,.map-card,.facility-card,.facility-body,.bus-card,.step-card,.dress-card,.faq-item,.privacy-section,.info-card:not(.navy):not(.purple),.prog-full-card,.prog-full-right,.subject-item,.calendar-board,.month-card,.pa-route-box,.pa-workspace,.pa-result-card,.fv-form,.fv-result,.prog-card,.why-card,.news-card,.journey-form-panel,.journey-premium-card,.ql-card,.app-card,.newsletter-form-panel,.path-tool-card,.events-calendar,.event-item){background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] :is(.mission-card,.team-general,.branch-detail,.branch-detail-body,.home-adm-panel,.home-adm-side-block,.home-adm-card,.contact-form-card,.office-hours-card,.map-card,.facility-card,.facility-body,.bus-card,.step-card,.dress-card,.faq-item,.privacy-section,.info-card:not(.navy):not(.purple),.prog-full-card,.prog-full-right,.subject-item,.calendar-board,.month-card,.pa-route-box,.pa-workspace,.pa-result-card,.fv-form,.fv-result,.prog-card,.why-card,.news-card,.journey-form-panel,.journey-premium-card,.ql-card,.app-card,.newsletter-form-panel,.path-tool-card,.events-calendar,.event-item){background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important;box-shadow:none!important}

/* ---------- About / branch detail ---------- */
html[data-theme="light"] .branch-detail-body{background:var(--v27-surface)!important}
html[data-theme="dark"] .branch-detail-body{background:var(--v27-surface)!important}
html[data-theme="light"] .branch-detail-row{background:var(--v27-surface-soft)!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] .branch-detail-row{background:var(--v27-surface-soft)!important;border-color:var(--v27-border)!important}
html[data-theme="light"] .branch-detail-row strong{color:var(--v27-heading)!important}
html[data-theme="dark"] .branch-detail-row strong{color:var(--v27-heading)!important}
.branch-detail-row span{color:var(--v27-muted)!important}

/* Branch page information cards and links. */
html[data-theme="light"] .info-card:not(.navy):not(.purple){background:var(--v27-surface)!important}
html[data-theme="dark"] .info-card:not(.navy):not(.purple){background:var(--v27-surface)!important}
.info-card:not(.navy):not(.purple) .info-row{background:transparent!important;border-color:var(--v27-border)!important}
.info-card:not(.navy):not(.purple) .info-row .lbl{color:var(--v27-muted)!important}
.info-card:not(.navy):not(.purple) .info-row .val{color:var(--v27-text)!important}
html[data-theme="light"] .info-card:not(.navy):not(.purple) .info-row a{color:#006875!important}
html[data-theme="dark"] .info-card:not(.navy):not(.purple) .info-row a{color:#72e8f0!important}

/* ---------- Contact: legacy mobile CSS used white card + navy text in dark mode ---------- */
@media(max-width:760px){
  html[data-theme="light"] body.contact-page .office-hours-card{background:#fff!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
  html[data-theme="dark"] body.contact-page .office-hours-card{background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
  html[data-theme="light"] body.contact-page .office-hours-card h4,
  html[data-theme="light"] body.contact-page .office-hours-card .hours-row-item strong{color:var(--v27-heading)!important}
  html[data-theme="dark"] body.contact-page .office-hours-card h4,
  html[data-theme="dark"] body.contact-page .office-hours-card .hours-row-item strong{color:#fff!important}
  body.contact-page .office-hours-card p,
  body.contact-page .office-hours-card .hours-row-item small{color:var(--v27-muted)!important}
  body.contact-page .office-hours-card .hours-row-item{color:var(--v27-text)!important;border-bottom-color:var(--v27-border)!important;background:transparent!important}
  html[data-theme="light"] body.contact-page .office-hours-card .hours-row-item span{color:#005f69!important;background:#e4f6f7!important;border-color:#acdfe3!important}
  html[data-theme="dark"] body.contact-page .office-hours-card .hours-row-item span{color:#b9f7fb!important;background:#123640!important;border-color:#2e6670!important}
  html[data-theme="dark"] body.contact-page .office-hours-card .hours-row-item.closed span{color:#ffdd7c!important;background:#3d321a!important;border-color:#6a5625!important}
  body.contact-page .office-hours-card .hours-kicker{color:var(--v27-teal)!important;background:var(--v27-teal-soft)!important;border-color:var(--v27-border)!important}
}

/* Contact coloured campus cards intentionally remain branded. */
body.contact-page .contact-info .info-card.navy{background:linear-gradient(135deg,#16293c,#203a52)!important}
body.contact-page .contact-info .info-card.purple{background:linear-gradient(135deg,#4b2a78,#64399a)!important}
body.contact-page .contact-info .info-card.navy :is(h4,.info-row span,.info-row a),
body.contact-page .contact-info .info-card.purple :is(h4,.info-row span,.info-row a){color:#fff!important}
body.contact-page .contact-info .info-card.navy .info-row strong,
body.contact-page .contact-info .info-card.purple .info-row strong{color:rgba(255,255,255,.72)!important}
body.contact-page .contact-info .info-card.navy .info-row a{color:#69e7ef!important}
body.contact-page .contact-info .info-card.purple .info-row a{color:#ffe27c!important}

/* ---------- Forms ---------- */
:is(input,select,textarea,.journey-input-group input,.journey-input-group select,.fv-input,.fv-select){background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border-strong)!important}
:is(input,textarea)::placeholder{color:var(--v27-muted-2)!important;opacity:1!important}
:is(.form-group label,.journey-input-group label,.journey-field label,.fv-label,.newsletter-form-panel label){color:var(--v27-text)!important}
html[data-theme="dark"] select option{background:#0e1d2b!important;color:#f5f8fb!important}

/* ---------- Admissions / FAQ ---------- */
html[data-theme="light"] .faq-num{color:#63358f!important;background:linear-gradient(135deg,#e5f5f7,#eee8f7)!important}
html[data-theme="dark"] .faq-num{color:#d6c0f5!important;background:linear-gradient(135deg,#153a42,#2a2440)!important}
.faq-question,.faq-text{color:var(--v27-heading)!important}
.faq-arrow{color:var(--v27-muted)!important}
.faq-answer{color:var(--v27-muted)!important}

/* ---------- Facilities: original brand teal/orange were too bright for white copy ---------- */
.facility-header.c-teal{background:#007a86!important}
.facility-header.c-purple{background:#5a3588!important}
.facility-header.c-orange{background:#a95f00!important}
.facility-header.c-yellow{background:#f1c232!important}
.facility-header.c-teal :is(h3,p),.facility-header.c-purple :is(h3,p),.facility-header.c-orange :is(h3,p){color:#fff!important}
.facility-header.c-teal p,.facility-header.c-purple p,.facility-header.c-orange p{color:rgba(255,255,255,.88)!important}
.facility-header.c-yellow :is(h3,p){color:#172333!important}
.facility-header .facility-icon{color:inherit!important}
.facility-body ul li{color:var(--v27-muted)!important;border-color:var(--v27-border)!important}
.activity-chip{background:var(--v27-surface)!important;color:var(--v27-heading)!important;border-color:var(--v27-border)!important}

/* ---------- Programmes ---------- */
.prog-full-left.c1{background:#007a86!important}
.prog-full-left.c2{background:#5a3588!important}
.prog-full-left.c3{background:#a95f00!important}
.prog-full-left.c4{background:#14263a!important}
.prog-full-left :is(h2,p,.age,.secondary-programmes-title,.secondary-programme){color:#fff!important}
.prog-full-left p{color:rgba(255,255,255,.88)!important}
.prog-full-left .secondary-programmes-title{color:rgba(255,255,255,.82)!important}
.prog-full-left .age{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.20)!important}
html[data-theme="dark"] .prog-full-right{background:var(--v27-surface)!important}
html[data-theme="light"] .prog-full-right{background:#fff!important}

/* Pearson/Ministry official logo artwork needs a neutral plate in both modes. */
.official-logo-plate,.credential-logo-frame,.ministry-card-logo,.edexcel-card-logo,.edexcel-logo-wrap img,.home-edexcel-left img{background:#fff!important}

/* ---------- Find Your Path ---------- */
.pa-hero h1{color:#fff!important}
.pa-hero-copy>p{color:rgba(255,255,255,.82)!important}
html[data-theme="light"] .pa-route-number{color:#6f7f8d!important}
html[data-theme="dark"] .pa-route-number{color:#9fb4c6!important}
html[data-theme="light"] .pa-route-tag{color:#006f7a!important}
html[data-theme="dark"] .pa-route-tag{color:#66e5ef!important}
html[data-theme="dark"] .pa-route-card.senior .pa-route-tag{color:#ffd58b!important}
html[data-theme="dark"] :is(.pa-route-card,.pa-route-mini,.pa-result-card,.pa-result-section,.pa-question-wrap,.pa-option){background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] :is(.pa-route-card h3,.pa-route-card .pa-route-cta,.pa-question-title,.pa-result-main){color:var(--v27-heading)!important}
html[data-theme="dark"] :is(.pa-route-card p,.pa-route-meta span,.pa-question-sub){color:var(--v27-muted)!important}

/* ---------- Future Vision ---------- */
html[data-theme="light"] .fv-badge{color:#006f7a!important}
html[data-theme="dark"] .fv-badge{color:#66e5ef!important}
.fv-form-title{color:var(--v27-heading)!important}
.fv-form-sub{color:var(--v27-muted)!important}

/* ---------- Calendar ---------- */
.calendar-view-switch{background:var(--v27-surface-soft)!important;border-color:var(--v27-border)!important;box-shadow:none!important}
.calendar-view-tab{color:var(--v27-muted)!important}
.calendar-view-tab[aria-selected="true"]{background:var(--v27-surface)!important;color:var(--v27-heading)!important;border-color:var(--v27-border)!important;box-shadow:none!important}
.calendar-brand-title,.key-card:not(.dark) h3{color:var(--v27-heading)!important}
.month-card,.calendar-board,.key-card:not(.dark){background:var(--v27-surface)!important;border-color:var(--v27-border)!important}
.mini-cal th,.summary-table th{background:var(--v27-surface-soft)!important;color:var(--v27-heading)!important}
.mini-cal td,.summary-table td{background:var(--v27-surface)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
.mini-cal td.muted{background:var(--v27-surface-soft)!important;color:var(--v27-muted-2)!important}
.month-note{background:var(--v27-surface-soft)!important;color:var(--v27-muted)!important;border-color:var(--v27-border)!important}
.summary-table .total td{background:rgba(241,194,50,.15)!important;color:var(--v27-heading)!important}

/* ---------- Homepage dark-mode leftover dark copy ---------- */
html[data-theme="dark"] .why-icon{color:#fff!important;background:#1b3348!important;border-color:#38546c!important}
html[data-theme="dark"] .premium-app-card .store-btn.google :is(.store-icon,.store-text span,.store-text strong){color:#102033!important}
html[data-theme="dark"] .newsletter-form-panel button{color:#102033!important}
html[data-theme="dark"] .newsletter-form-title{color:#fff!important}
html[data-theme="dark"] .newsletter-form-text,.newsletter-trust{color:var(--v27-muted)!important}

/* ---------- Assistant / WhatsApp ---------- */
html[data-theme="light"] .dak-ai-chat{background:rgba(255,255,255,.98)!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] .dak-ai-chat{background:#0f2030!important;color:var(--v27-text)!important;border-color:var(--v27-border)!important;box-shadow:0 22px 66px rgba(0,0,0,.42)!important}
html[data-theme="dark"] .dak-ai-suggestions,html[data-theme="dark"] .dak-ai-input-row{background:#0f2030!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] .dak-ai-suggestions button{background:#15283a!important;color:#f5f8fb!important;border-color:#334b61!important}
html[data-theme="dark"] .dak-ai-input-row input{background:#0a1825!important;color:#f5f8fb!important;border-color:#47637c!important}

html[data-theme="light"] .wa-menu{background:#fff!important;color:#24323d!important}
html[data-theme="dark"] .wa-menu{background:#102233!important;color:#f5f8fb!important;border:1px solid var(--v27-border)!important}
html[data-theme="dark"] .wa-menu-body{background:#0b1a26!important}
html[data-theme="dark"] .wa-greeting,html[data-theme="dark"] .wa-option{background:#15283a!important;color:#f5f8fb!important}
html[data-theme="dark"] .wa-option-name{color:#fff!important}
html[data-theme="dark"] .wa-option-sub{color:#b9c6d1!important}

/* ---------- Buttons / links ---------- */
.btn-outline{color:var(--v27-heading)!important;border-color:var(--v27-border-strong)!important;background:transparent!important}
.btn-outline:hover{background:var(--v27-surface-soft)!important}
html[data-theme="light"] :is(.map-open,.map-card .map-open){background:#fff!important;color:#173047!important;border-color:var(--v27-border)!important}
html[data-theme="dark"] :is(.map-open,.map-card .map-open){background:#162a3d!important;color:#fff!important;border-color:#36536c!important}

/* ---------- Footer remains intentionally dark in both themes ---------- */
.footer{background:#0f1f31!important;color:#fff!important}
.footer :is(.footer-brand-name,.footer-col h4){color:#fff!important}
.footer :is(.footer-desc,.footer-contact,.footer-col li,.footer-bottom,.footer-bottom-links a){color:rgba(255,255,255,.80)!important}
.footer a{color:#dceff3!important}
.footer-contact a{color:#77e7ef!important}

/* ---------- Mobile: neutralise legacy white !important overrides ---------- */
@media(max-width:760px){
  html[data-theme="light"] .branch-detail-body,
  html[data-theme="light"] .branch-detail-row,
  html[data-theme="light"] .info-card:not(.navy):not(.purple){background:var(--v27-surface)!important}
  html[data-theme="dark"] .branch-detail-body,
  html[data-theme="dark"] .branch-detail-row,
  html[data-theme="dark"] .info-card:not(.navy):not(.purple){background:var(--v27-surface)!important}
  html[data-theme="light"] .branch-detail-row{border-color:var(--v27-border)!important}
  html[data-theme="dark"] .branch-detail-row{border-color:var(--v27-border)!important}
  html[data-theme="dark"] .branch-detail-row strong{color:#fff!important}
  html[data-theme="dark"] .branch-detail-row span{color:var(--v27-muted)!important}
  html[data-theme="dark"] .info-card:not(.navy):not(.purple) .info-row{border-bottom-color:var(--v27-border)!important}
  html[data-theme="dark"] .info-card:not(.navy):not(.purple) .info-row .lbl{color:var(--v27-muted)!important}
  html[data-theme="dark"] .info-card:not(.navy):not(.purple) .info-row .val{color:#fff!important}

  /* Keep body copy comfortably legible without re-expanding the compact layout. */
  :is(.section-sub,.prog-desc,.news-excerpt,.mission-card p,.team-general p,.branch-detail-row span,.curriculum-card p,.step-card p,.faq-answer,.facility-body,.privacy-section p,.privacy-section li){font-size:12.5px!important;line-height:1.62!important}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* ===== v27 final visibility refinements ===== */
html[data-theme="light"] .breadcrumb>span{color:#647583!important}
html[data-theme="dark"] .breadcrumb>span{color:#9aabbb!important}

/* Programme coloured panels must always keep light copy in both themes. */
html[data-theme="light"] body .prog-full-card .prog-full-left>p,
html[data-theme="dark"] body .prog-full-card .prog-full-left>p,
html[data-theme="light"] body .prog-full-card .prog-full-left .secondary-programmes-title,
html[data-theme="dark"] body .prog-full-card .prog-full-left .secondary-programmes-title{
  color:rgba(255,255,255,.93)!important;
}
html[data-theme="light"] body .prog-full-card .prog-full-left :is(h2,.age,.secondary-programme),
html[data-theme="dark"] body .prog-full-card .prog-full-left :is(h2,.age,.secondary-programme){color:#fff!important}

/* Dark homepage controls: explicit backgrounds avoid inherited dark-on-dark text. */
html[data-theme="dark"] .premium-app-card .store-btn.google{
  background:#57dce7!important;
  background-image:linear-gradient(135deg,#72e8ef,#46cbd8)!important;
  border-color:rgba(255,255,255,.18)!important;
}
html[data-theme="dark"] .newsletter-form-panel button{
  background:#57dce7!important;
  background-image:linear-gradient(135deg,#72e8ef,#46cbd8)!important;
  color:#102033!important;
  border-color:rgba(255,255,255,.18)!important;
}

/* Yellow facility header uses dark copy and icon for reliable contrast. */
.facility-header.c-yellow .facility-icon{color:#172333!important}

/* Admission age table: fit on phones instead of forcing a 520px horizontal table. */
@media (max-width: 600px){
  .age-table-wrap{overflow:visible!important;max-width:100%!important}
  table.age-table.home-adm-age-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .age-table thead th,.home-adm-age-table thead th{
    padding:9px 5px!important;
    font-size:9px!important;
    line-height:1.25!important;
    letter-spacing:.015em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .age-table tbody td,.home-adm-age-table tbody td{
    padding:9px 5px!important;
    font-size:10px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .age-table th:first-child,.age-table td:first-child{width:43%!important}
  .age-table th:nth-child(2),.age-table td:nth-child(2),
  .age-table th:nth-child(3),.age-table td:nth-child(3){width:28.5%!important}
}

/* Decorative app glow stays inside desktop cards; omit it on tablets to avoid visual clipping. */
@media (max-width: 900px){.app-card-glow{display:none!important}}


/* DAK CSS: production-final.css */
/* ======================================================================
   DORAT AL KHALEEJ — PRODUCTION FINAL QA
   Release candidate: unified visual identity + responsive fit
   Canonical device policy:
   - Phone: <= 767px
   - Tablet/iPad: 768–1199px, touch-first
   - Laptop/Desktop/PC: base desktop; compact safeguards for scaled monitors
   This file intentionally loads LAST and replaces all retired hotfix layers.
   ====================================================================== */

/* ---------- Canonical palette ---------- */
:root{
  --pf-bg:#f4f8fa;
  --pf-surface:#ffffff;
  --pf-surface-soft:#edf4f7;
  --pf-surface-raised:#ffffff;
  --pf-text:#142436;
  --pf-heading:#102033;
  --pf-muted:#586a7c;
  --pf-muted-2:#748494;
  --pf-border:#d5e1e7;
  --pf-border-strong:#bfd0d9;
  --pf-teal:#007783;
  --pf-teal-bright:#00bcd4;
  --pf-purple:#684299;
  --pf-gold:#d69a32;
  --pf-navy:#1a2332;
  --pf-shadow:0 12px 32px rgba(16,32,51,.08);
}
html[data-theme="dark"]{
  --pf-bg:#07131f;
  --pf-surface:#0f2030;
  --pf-surface-soft:#15283a;
  --pf-surface-raised:#193047;
  --pf-text:#f5f8fb;
  --pf-heading:#ffffff;
  --pf-muted:#c3cfda;
  --pf-muted-2:#a9b8c6;
  --pf-border:#334b61;
  --pf-border-strong:#47637c;
  --pf-teal:#66e5ef;
  --pf-teal-bright:#66e5ef;
  --pf-purple:#c3a6ef;
  --pf-gold:#ffd66e;
  --pf-shadow:0 12px 34px rgba(0,0,0,.25);
}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
html,body{max-width:100%;background:var(--pf-bg)!important;color:var(--pf-text)!important}
body{overflow-x:hidden!important}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}

/* ---------- Text/contrast baseline ---------- */
:is(.section-title,.home-adm-title,.calendar-brand-title,.privacy-section h2,.fv-form-title){color:var(--pf-heading)!important}
:is(.section-sub,.prog-desc,.news-excerpt,.news-date,.ql-desc,.print-tip,.events-subtitle,.events-footnote,.privacy-section p,.privacy-section li){color:var(--pf-muted)!important}
.section-label{color:var(--pf-teal)!important}
.form-group label,.journey-input-group label,.journey-field label,.fv-label{color:var(--pf-text)!important;font-weight:700}
input::placeholder,textarea::placeholder{color:var(--pf-muted-2)!important;opacity:1}
html[data-theme="dark"] :is(input,select,textarea){color-scheme:dark}

/* ---------- Header/navigation ---------- */
html[data-theme="light"] #navbar{background:rgba(255,255,255,.97)!important;border-bottom-color:var(--pf-border)!important}
html[data-theme="dark"] #navbar{background:rgba(7,19,31,.97)!important;border-bottom-color:var(--pf-border)!important}
#navbar .nav-links a:not(.nav-portal-btn),#navbar .lang-toggle{color:var(--pf-text)!important}
.hamburger{background:var(--pf-surface-soft)!important;border-color:var(--pf-border)!important}
.hamburger span{background:var(--pf-text)!important}
.mobile-menu{background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
.mobile-menu a,.mobile-menu .lang-toggle{color:var(--pf-text)!important}
.theme-control--mobile,.theme-segment{background:var(--pf-surface-soft)!important;border-color:var(--pf-border)!important}
.theme-segment-option{color:var(--pf-muted)!important}
.theme-segment-option.is-active{background:var(--pf-surface)!important;color:var(--pf-text)!important}

/* ---------- Internal page hero: exact legacy identity, every device/theme ---------- */
.page-hero,
html[data-theme="light"] .page-hero,
html[data-theme="dark"] .page-hero{
  background:#1A2332!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.page-hero::before{content:''!important;position:absolute!important;top:-80px!important;left:-80px!important;width:420px!important;height:420px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(0,188,212,.11),transparent 70%)!important;opacity:1!important;pointer-events:none!important}
.page-hero::after{content:''!important;position:absolute!important;right:-40px!important;bottom:-60px!important;width:300px!important;height:300px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(107,63,160,.14),transparent 70%)!important;opacity:1!important;pointer-events:none!important}
.page-hero :is(h1,.page-hero-title){color:#fff!important;-webkit-text-fill-color:#fff!important}
.page-hero :is(h1,.page-hero-title) .accent,.page-hero .accent{color:#00BCD4!important;-webkit-text-fill-color:#00BCD4!important}
.page-hero :is(p,.page-hero-sub){color:rgba(255,255,255,.66)!important;-webkit-text-fill-color:rgba(255,255,255,.66)!important}
.page-hero-badge{color:#00BCD4!important;background:rgba(0,188,212,.10)!important;border-color:rgba(0,188,212,.28)!important}
.page-hero .breadcrumb a{color:rgba(255,255,255,.48)!important}
.page-hero .breadcrumb>span{color:rgba(255,255,255,.30)!important}
.page-hero .breadcrumb strong{color:rgba(255,255,255,.82)!important}

/* Special branded heroes always keep their intended dark identity. */
.pa-hero,.branch-hero,.fv-hero{color:#fff!important}
.pa-hero :is(h1,h2),.branch-hero h1,.fv-hero h1{color:#fff!important;-webkit-text-fill-color:#fff!important}
.pa-hero-copy>p,.branch-hero p,.fv-hero p{color:rgba(255,255,255,.82)!important}

/* ---------- Canonical generic surfaces ---------- */
html[data-theme="light"] :is(
  .team-general,.branch-detail,.branch-detail-body,.home-adm-panel,.home-adm-side-block,.home-adm-card,
  .contact-form-card,.office-hours-card,.map-card,.facility-card,.facility-body,.bus-card,.step-card,.dress-card,
  .faq-item,.privacy-section,.info-card:not(.navy):not(.purple),.prog-full-card,.prog-full-right,.subject-item,
  .calendar-board,.month-card,.key-card:not(.dark),.pa-route-box,.pa-workspace,.pa-result-card,.fv-form,.fv-result,
  .prog-card,.why-card,.news-card,.journey-form-panel,.ql-card,.newsletter-form-panel,.path-tool-card,.events-calendar,.event-item
){background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
html[data-theme="dark"] :is(
  .team-general,.branch-detail,.branch-detail-body,.home-adm-panel,.home-adm-side-block,.home-adm-card,
  .contact-form-card,.office-hours-card,.map-card,.facility-card,.facility-body,.bus-card,.step-card,.dress-card,
  .faq-item,.privacy-section,.info-card:not(.navy):not(.purple),.prog-full-card,.prog-full-right,.subject-item,
  .calendar-board,.month-card,.key-card:not(.dark),.pa-route-box,.pa-workspace,.pa-result-card,.fv-form,.fv-result,
  .prog-card,.why-card,.news-card,.journey-form-panel,.ql-card,.newsletter-form-panel,.path-tool-card,.events-calendar,.event-item
){background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}

/* ---------- Branded cards: SAME identity in Light & Dark ---------- */
.branch-card.teal{background:linear-gradient(135deg,#075c66 0%,#0b8792 48%,#12bfd0 100%)!important;color:#fff!important}
.branch-card.purple{background:linear-gradient(135deg,#2b1d54 0%,#5f36a1 55%,#7b4dc1 100%)!important;color:#fff!important}
.branch-card :is(.branch-name,.branch-eyebrow,.branch-quote,.branch-link){color:#fff!important;-webkit-text-fill-color:#fff!important}
.branch-card .branch-name span{color:#FDD835!important;-webkit-text-fill-color:#FDD835!important}
.branch-card .branch-tags .tag{color:#fff!important;background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.28)!important}
.branch-card .branch-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%!important;min-height:46px!important;padding:13px 22px!important;border-radius:12px!important;background:rgba(10,29,47,.90)!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:0 12px 26px rgba(0,0,0,.18)!important;text-decoration:none!important}

/* About foundation cards return to their original coloured identity in both themes. */
html[data-theme="light"] body .mission-grid .mission-card.vision,
html[data-theme="dark"] body .mission-grid .mission-card.vision{background:linear-gradient(145deg,#007b86 0%,#0797a4 100%)!important;background-color:#007b86!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
html[data-theme="light"] body .mission-grid .mission-card.mission,
html[data-theme="dark"] body .mission-grid .mission-card.mission{background:linear-gradient(145deg,#543083 0%,#7045a5 100%)!important;background-color:#543083!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
html[data-theme="light"] body .mission-grid .mission-card.values,
html[data-theme="dark"] body .mission-grid .mission-card.values{background:linear-gradient(145deg,#12263a 0%,#1b344c 100%)!important;background-color:#12263a!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}
html[data-theme] body .mission-grid .mission-card :is(h3,.value-title){color:#fff!important;-webkit-text-fill-color:#fff!important;background:transparent!important;background-image:none!important;text-shadow:none!important;opacity:1!important;visibility:visible!important}
html[data-theme] body .mission-grid .mission-card>p{color:rgba(255,255,255,.86)!important;-webkit-text-fill-color:rgba(255,255,255,.86)!important;background:transparent!important;background-image:none!important;opacity:1!important;visibility:visible!important}
html[data-theme] body .mission-grid .mission-card .value-desc{color:rgba(255,255,255,.74)!important;-webkit-text-fill-color:rgba(255,255,255,.74)!important;background:transparent!important;background-image:none!important;opacity:1!important;visibility:visible!important}
html[data-theme] body .mission-grid .mission-card .value-item{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;color:#fff!important}

/* Coloured campus detail headers. */
.branch-detail-header h3,.branch-detail-header p{color:#fff!important;-webkit-text-fill-color:#fff!important}
.branch-detail-header.teal::before{background:linear-gradient(135deg,#073744 0%,#0097a7 100%)!important}
.branch-detail-header.purple::before{background:linear-gradient(135deg,#241943 0%,#6b3fa0 100%)!important}
.branch-detail-body{background:var(--pf-surface)!important}
.branch-detail-row{background:var(--pf-surface-soft)!important;border-color:var(--pf-border)!important}
.branch-detail-row strong{color:var(--pf-heading)!important}
.branch-detail-row span{color:var(--pf-muted)!important}

/* Premium dark homepage panels stay dark in both themes. */
.premium-apps-section{background:linear-gradient(135deg,#0d2133 0%,#10283c 55%,#242242 100%)!important;color:#fff!important}
.premium-apps-section .section-title{color:#fff!important}
.premium-apps-section .section-sub{color:rgba(255,255,255,.72)!important}
html[data-theme="light"] body .premium-apps-section .app-card.premium-app-card,
html[data-theme="dark"] body .premium-apps-section .app-card.premium-app-card{background:linear-gradient(145deg,rgba(255,255,255,.125),rgba(255,255,255,.055))!important;background-color:transparent!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important}
html[data-theme] body .premium-apps-section .app-card.premium-app-card :is(.app-name){color:#fff!important;-webkit-text-fill-color:#fff!important}
html[data-theme] body .premium-apps-section .app-card.premium-app-card .app-desc{color:rgba(255,255,255,.74)!important;-webkit-text-fill-color:rgba(255,255,255,.74)!important}
html[data-theme] body .premium-apps-section .app-card.premium-app-card .app-feature-row span{color:rgba(255,255,255,.80)!important;-webkit-text-fill-color:rgba(255,255,255,.80)!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.10)!important}
html[data-theme] body .premium-apps-section .app-card.premium-app-card .store-btn.google :is(.store-icon,.store-text span,.store-text strong){color:#102033!important;-webkit-text-fill-color:#102033!important}

.day-panel,.journey-story-panel{background:linear-gradient(135deg,#132131,#1a2e44 58%,#241e45)!important;color:#fff!important}
.day-panel-title,.journey-story-panel h3{color:#fff!important;-webkit-text-fill-color:#fff!important}
.day-panel-text,.journey-story-panel p{color:rgba(255,255,255,.74)!important;-webkit-text-fill-color:rgba(255,255,255,.74)!important}

/* Events header is permanently dark. */
.events-hero,.events-calendar-hero,.events-header,.events-intro{color:#fff}
.events-hero :is(h1,h2,h3),.events-calendar-hero :is(h1,h2,h3),.events-header :is(h1,h2,h3),.events-intro :is(h1,h2,h3){color:#fff!important;-webkit-text-fill-color:#fff!important}
.events-hero p,.events-calendar-hero p,.events-header p,.events-intro p{color:rgba(255,255,255,.72)!important}

/* Contact coloured campus cards remain branded. */
body.contact-page .contact-info .info-card.navy{background:linear-gradient(135deg,#16293c,#203a52)!important;color:#fff!important}
body.contact-page .contact-info .info-card.purple{background:linear-gradient(135deg,#4b2a78,#64399a)!important;color:#fff!important}
body.contact-page .contact-info .info-card.navy :is(h4,.info-row span,.info-row a),
body.contact-page .contact-info .info-card.purple :is(h4,.info-row span,.info-row a){color:#fff!important}
body.contact-page .contact-info .info-card.navy .info-row strong,
body.contact-page .contact-info .info-card.purple .info-row strong{color:rgba(255,255,255,.72)!important}
body.contact-page .contact-info .info-card.navy .info-row a{color:#69e7ef!important}
body.contact-page .contact-info .info-card.purple .info-row a{color:#ffe27c!important}

/* School Office: no invisible copy, no empty fixed-height shell. */
body.contact-page .office-hours-card{height:auto!important;min-height:0!important;overflow:hidden!important;align-self:start!important}
body.contact-page .office-hours-card :is(.hours-card-head,.hours-list,.hours-row-item,.hours-row-item>div){opacity:1!important;visibility:visible!important}
html[data-theme="light"] body.contact-page .office-hours-card{background:#fff!important;color:#142436!important;border-color:#d5e1e7!important;box-shadow:0 14px 36px rgba(16,32,51,.08)!important}
html[data-theme="dark"] body.contact-page .office-hours-card{background:#0f2030!important;color:#f5f8fb!important;border-color:#334b61!important;box-shadow:0 14px 36px rgba(0,0,0,.24)!important}
body.contact-page .office-hours-card :is(h3,h4,.hours-row-item strong){color:var(--pf-heading)!important;-webkit-text-fill-color:var(--pf-heading)!important}
body.contact-page .office-hours-card :is(p,.hours-row-item small){color:var(--pf-muted)!important;-webkit-text-fill-color:var(--pf-muted)!important}
body.contact-page .office-hours-card .hours-row-item{background:transparent!important;border-color:var(--pf-border)!important}
html[data-theme="light"] body.contact-page .office-hours-card .hours-row-item>span{color:#00606b!important;background:#e4f6f7!important;border-color:#acdfe3!important}
html[data-theme="dark"] body.contact-page .office-hours-card .hours-row-item>span{color:#b9f7fb!important;background:#123640!important;border-color:#2e6670!important}
html[data-theme="light"] body.contact-page .office-hours-card .hours-row-item.closed>span{color:#8a6200!important;background:#fff5cf!important;border-color:#efd990!important}
html[data-theme="dark"] body.contact-page .office-hours-card .hours-row-item.closed>span{color:#ffdd7c!important;background:#3d321a!important;border-color:#6a5625!important}

/* ---------- Forms ---------- */
:is(input,select,textarea,.journey-input-group input,.journey-input-group select,.fv-input,.fv-select){background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border-strong)!important}
html[data-theme="dark"] select option{background:#0e1d2b!important;color:#f5f8fb!important}
.newsletter-form input[type="email"],.nl-form input[type="email"]{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;clip:auto!important;transform:none!important}

/* ---------- Programmes/facilities coloured panels ---------- */
.prog-full-left.c1{background:#007a86!important}.prog-full-left.c2{background:#5a3588!important}.prog-full-left.c3{background:#a95f00!important}.prog-full-left.c4{background:#14263a!important}
.prog-full-left :is(h2,p,.age,.secondary-programmes-title,.secondary-programme){color:#fff!important;-webkit-text-fill-color:#fff!important}
.prog-full-left p{color:rgba(255,255,255,.88)!important}
.facility-header.c-teal{background:#007a86!important}.facility-header.c-purple{background:#5a3588!important}.facility-header.c-orange{background:#a95f00!important}.facility-header.c-yellow{background:#f1c232!important}
.facility-header.c-teal :is(h3,p),.facility-header.c-purple :is(h3,p),.facility-header.c-orange :is(h3,p){color:#fff!important}
.facility-header.c-yellow :is(h3,p){color:#172333!important}
.official-logo-plate,.credential-logo-frame,.ministry-card-logo,.edexcel-card-logo,.edexcel-logo-wrap img,.home-edexcel-left img{background:#fff!important}

/* ---------- Calendar ---------- */
.calendar-view-switch{background:var(--pf-surface-soft)!important;border-color:var(--pf-border)!important;box-shadow:none!important}
.calendar-view-tab{color:var(--pf-muted)!important}
.calendar-view-tab[aria-selected="true"]{background:var(--pf-surface)!important;color:var(--pf-heading)!important;border-color:var(--pf-border)!important;box-shadow:none!important}
.calendar-brand-title,.key-card:not(.dark) h3{color:var(--pf-heading)!important}
.month-card,.calendar-board,.key-card:not(.dark){background:var(--pf-surface)!important;border-color:var(--pf-border)!important}
.mini-cal th,.summary-table th{background:var(--pf-surface-soft)!important;color:var(--pf-heading)!important}
.mini-cal td,.summary-table td{background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
.mini-cal td.muted{background:var(--pf-surface-soft)!important;color:var(--pf-muted-2)!important}
.month-note{background:var(--pf-surface-soft)!important;color:var(--pf-muted)!important;border-color:var(--pf-border)!important}
.calendar-official-logo{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}
.calendar-official-logo img{width:clamp(150px,15vw,230px)!important;height:auto!important;object-fit:contain!important}
html[data-theme="light"] .calendar-logo-light{display:block!important} html[data-theme="light"] .calendar-logo-dark{display:none!important}
html[data-theme="dark"] .calendar-logo-light{display:none!important} html[data-theme="dark"] .calendar-logo-dark{display:block!important}

/* ---------- Assistant / WhatsApp / footer ---------- */
.footer{background:#0f1f31!important;color:#fff!important}
.footer :is(.footer-brand-name,.footer-col h4){color:#fff!important}
.footer :is(.footer-desc,.footer-contact,.footer-col li,.footer-bottom,.footer-bottom-links a){color:rgba(255,255,255,.80)!important}
.footer a{color:#dceff3!important}.footer-contact a{color:#77e7ef!important}
html[data-theme="light"] .dak-ai-chat{background:rgba(255,255,255,.98)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
html[data-theme="dark"] .dak-ai-chat{background:#0f2030!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
html[data-theme="light"] .wa-menu{background:#fff!important;color:#24323d!important}
html[data-theme="dark"] .wa-menu{background:#102233!important;color:#f5f8fb!important;border-color:var(--pf-border)!important}

/* ---------- Equal-height / exact box rhythm ---------- */
:is(.branches-grid,.apps-showcase,.mission-grid,.branch-detail-grid,.programmes-grid,.news-grid,.why-cards,.ql-grid,.facilities-grid,.activities-grid,.bus-grid,.maps-grid,.info-grid,.steps-grid,.dress-grid,.curriculum-grid,.subject-grid){align-items:stretch!important}
:is(.branches-grid,.apps-showcase,.branch-detail-grid,.programmes-grid,.news-grid,.why-cards,.ql-grid,.facilities-grid,.activities-grid,.bus-grid,.maps-grid,.info-grid,.steps-grid,.dress-grid,.curriculum-grid,.subject-grid)>*{height:100%}
.branch-card,.premium-app-card,.branch-detail,.prog-card,.news-card,.why-card,.ql-card,.facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,.subject-item{display:flex;flex-direction:column;min-width:0}
.branch-detail-body,.facility-body{flex:1}
.premium-app-card .app-btns,.branch-card .branch-link{margin-top:auto}

/* Avoid content forcing unequal/overflowing boxes. */
:where(.container,.hero,.hero-left,.hero-right,.branch-card,.prog-card,.news-card,.why-card,.ql-card,.mission-card,.branch-detail,.contact-grid,.contact-info,.contact-form-card,.office-hours-card,.calendar-shell,.calendar-board,.key-panel,.footer-grid,.footer-col,.journey-premium-card,.journey-story-panel,.journey-form-panel){min-width:0}
:where(h1,h2,h3,h4,h5,h6,p,a,button,span,strong,small,label,li,td,th){overflow-wrap:break-word;word-break:normal}

/* ---------- Responsive tables: never move the entire page ---------- */
.responsive-table-shell,.home-adm-table-wrap{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.responsive-table-shell>table{margin-inline:0!important}

/* ---------- Mobile/tablet menu behaves like a modal drawer ---------- */
@media (max-width:1199px){
  body.dak-menu-open{width:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
  .mobile-menu-backdrop{position:fixed;inset:0;z-index:8997;display:none;background:rgba(8,20,34,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .mobile-menu-backdrop.is-open{display:block}
  html[data-theme="dark"] .mobile-menu-backdrop{background:rgba(0,0,0,.58)}
  #hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  #hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.5)}
  #hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  #hamburger span{transform-origin:center}
  .mobile-menu{z-index:8999!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
}

/* ---------- PHONE: same order/identity as laptop, mobile fit only ---------- */
@media (max-width:767px){
  :root{--m-bg:var(--pf-bg);--m-surface:var(--pf-surface);--m-surface-2:var(--pf-surface-soft);--m-text:var(--pf-text);--m-muted:var(--pf-muted);--m-line:var(--pf-border);--m-line-strong:var(--pf-border-strong);--m-teal:var(--pf-teal);--m-purple:var(--pf-purple);--m-gold:var(--pf-gold)}
  body{background:var(--pf-bg)!important;color:var(--pf-text)!important}
  .section,.section-gray{padding-block:46px!important}
  .section-title{font-size:clamp(25px,7.4vw,31px)!important;line-height:1.13!important}
  .section-sub{font-size:14px!important;line-height:1.65!important;margin-bottom:28px!important}
  .page-hero{padding:0!important}
  .page-hero-inner{padding-top:42px!important;padding-bottom:42px!important}
  .page-hero h1{font-size:clamp(31px,9vw,40px)!important}
  .page-hero p{font-size:14px!important;line-height:1.65!important}

  /* Preserve DOM/laptop order; only stack. */
  .hero,.day-showcase,.journey-premium-card,.contact-grid,.home-adm-grid,.fv-wrap{grid-template-columns:1fr!important}
  .hero-left,.hero-right,.day-picture,.day-panel,.journey-story-panel,.journey-form-panel{order:initial!important}

  /* Equal boxes for any side-by-side mobile grids. */
  :is(.why-cards,.ql-grid,.day-insight-grid,.journey-accuracy-summary,.values-grid,.subject-grid,.steps-grid,.dress-grid){grid-auto-rows:1fr!important;align-items:stretch!important}
  :is(.why-cards,.ql-grid,.day-insight-grid,.journey-accuracy-summary,.values-grid,.subject-grid,.steps-grid,.dress-grid)>*{height:100%!important}

  .mission-card{padding:18px!important}
  .mission-card.values .values-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .mission-card.values .value-item{padding:0!important;min-height:0!important}

  .branch-card{min-height:0!important;padding:24px 20px!important}
  .branch-card .branch-tags{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .branch-card .branch-tags .tag{width:100%!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important}

  .mobile-menu{top:var(--m-nav-h,64px)!important;left:10px!important;right:10px!important;width:auto!important;max-height:calc(100dvh - var(--m-nav-h,64px) - 20px)!important;border:1px solid var(--pf-border)!important;border-radius:0 0 18px 18px!important;box-shadow:0 20px 46px rgba(15,38,61,.20)!important}

  /* A Day at DAK mobile journey, keeping same semantic order. */
  .day-at-dak{overflow:visible!important}
  .day-picture{display:none!important}
  .day-panel{padding:18px 16px!important;border-radius:20px!important}
  .day-panel-title{font-size:20px!important;line-height:1.25!important}
  .day-panel-text{font-size:13px!important;line-height:1.62!important;margin-bottom:18px!important}
  .day-steps-list.compact{position:relative!important;display:flex!important;flex-direction:column!important;gap:10px!important;padding:2px 0 2px 22px!important;overflow:visible!important;max-height:none!important}
  .day-steps-list.compact::before{content:'';position:absolute;left:17px;top:16px;bottom:16px;width:2px;border-radius:999px;background:linear-gradient(180deg,#00bcd4 0%,#f5a623 52%,#8b5ed7 100%);opacity:.62}
  .day-step-btn{position:relative!important;width:100%!important;min-height:0!important;padding:12px 12px 12px 18px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;border-radius:14px!important;background:var(--pf-surface)!important;border:1px solid var(--pf-border)!important;box-shadow:0 5px 16px rgba(15,38,61,.04)!important;text-align:start!important}
  .day-step-btn::before{content:'';position:absolute;left:-10px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:var(--pf-surface)!important;border:2px solid var(--pf-teal)!important;box-shadow:0 0 0 4px var(--pf-bg)!important}
  .day-step-btn i{width:40px!important;height:40px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:var(--pf-surface-soft)!important;font-size:21px!important;font-style:normal!important}
  .day-step-btn strong{color:var(--pf-text)!important;font-size:13px!important}.day-step-btn span span{color:var(--pf-muted)!important;font-size:10.5px!important}
  html[dir="rtl"] .day-steps-list.compact{padding:2px 22px 2px 0!important}html[dir="rtl"] .day-steps-list.compact::before{right:17px;left:auto}html[dir="rtl"] .day-step-btn{padding:12px 18px 12px 12px!important}html[dir="rtl"] .day-step-btn::before{right:-10px;left:auto}


  /* Paired cards stay identical in height even when copy length differs. */
  .branches-grid,.apps-showcase{grid-auto-rows:1fr!important}
  .branches-grid>.branch-card,.apps-showcase>.premium-app-card{height:100%!important}

  /* Keep the same child-journey order/content as laptop, but compact it for phones. */
  .journey-story-panel{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important;padding:22px!important;gap:14px!important}
  .journey-story-panel h3{font-size:24px!important;line-height:1.12!important;margin:0!important}
  .journey-story-panel p{font-size:13px!important;line-height:1.58!important;margin:0!important}
  .journey-story-top{margin-bottom:2px!important}
  .journey-story-badge{font-size:9.5px!important;padding:7px 10px!important}
  .journey-story-icon{width:42px!important;height:42px!important;font-size:18px!important}
  .glowing-journey-path{display:none!important}
  .journey-path-pills{margin-top:2px!important;gap:6px!important}
  .journey-path-pills span{font-size:10px!important;padding:6px 9px!important}

  /* School office actions/email remain visible. */
  .home-office-status .office-status-card.compact{grid-template-columns:1fr!important}
  .home-office-status .office-status-actions{display:flex!important;grid-column:1!important;grid-row:auto!important;width:100%!important;flex-wrap:wrap!important;gap:6px!important;margin-top:2px!important}
  .home-office-status .office-status-action{display:inline-flex!important;flex:1 1 0!important;align-items:center!important;justify-content:center!important;min-height:34px!important;font-size:10px!important}

  /* Tables stay readable and scroll only locally. */
  .age-table,.home-adm-age-table{min-width:540px!important;width:max-content!important;max-width:none!important;font-size:11px!important}
  .summary-table{min-width:470px!important;width:max-content!important;max-width:none!important;font-size:10px!important}
  .mini-cal{width:100%!important;table-layout:fixed!important}

  /* Reduce GPU-heavy decoration on phones without changing appearance. */
  .app-card-glow,.premium-apps-section::before,.premium-apps-section::after{animation:none!important}
  .premium-app-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .branch-card:hover,.premium-app-card:hover,.news-card:hover,.why-card:hover,.ql-card:hover{transform:none!important}
}

/* ---------- TABLET/iPAD: laptop identity, tablet proportions ---------- */
@media (min-width:768px) and (max-width:1199px){
  html,body{max-width:100%;overflow-x:hidden}
  .container,.page-hero-inner,.branch-hero-inner,.pa-hero-grid,.fv-hero-content{width:min(100% - 44px,1080px)!important;max-width:1080px!important;margin-inline:auto!important}
  .section,.section-gray{padding-block:54px!important}
  .section-title{font-size:clamp(30px,4.1vw,42px)!important;line-height:1.12!important;margin-bottom:12px!important}
  .section-sub{font-size:clamp(14.5px,1.7vw,16.5px)!important;line-height:1.66!important;margin-bottom:36px!important}
  .page-hero-inner,.branch-hero-inner{padding-block:50px!important}
  .page-hero h1,.branch-hero h1,.pa-hero h1,.fv-hero h1,.page-hero-title{font-size:clamp(38px,5vw,52px)!important;line-height:1.07!important}
  .page-hero p,.branch-hero p,.pa-hero p,.fv-hero p,.page-hero-sub{font-size:15.5px!important;line-height:1.68!important;max-width:720px!important}

  /* Tablet navigation: same identity, touch-safe menu. */
  #navbar{height:78px!important;padding:0 22px!important}
  #navbar .logo img{height:58px!important;max-width:min(220px,31vw)!important}
  .nav-links>a{display:none!important}
  .nav-links .theme-control--desktop,.nav-links>.lang-toggle{display:inline-flex!important}
  .hamburger{display:flex!important;min-width:44px!important;min-height:44px!important}
  .mobile-menu{top:78px!important;right:20px!important;left:auto!important;width:min(440px,calc(100vw - 40px))!important;max-height:calc(100dvh - 98px)!important;padding:14px!important;border-radius:0 0 18px 18px!important}
  html[dir="rtl"] .mobile-menu{right:auto!important;left:20px!important}
  .mobile-menu .theme-control--mobile,.mobile-menu>.lang-toggle{display:none!important}

  /* Core layout mirrors laptop order, only adapts columns. */
  .hero{grid-template-columns:1fr!important;min-height:0!important;height:auto!important}
  .hero-left{padding:50px 38px 38px!important;min-height:0!important}.hero-right{height:320px!important;min-height:320px!important}
  .hero-title{font-size:clamp(40px,5.7vw,58px)!important}.hero-desc{font-size:16px!important;line-height:1.7!important}
  .hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}

  :is(.branches-grid,.programmes-grid,.news-grid,.why-cards,.ql-grid,.mission-grid,.branch-detail-grid,.facilities-grid,.activities-grid,.bus-grid,.maps-grid,.info-grid,.steps-grid,.dress-grid,.curriculum-grid,.subject-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
  :is(.branches-grid,.programmes-grid,.news-grid,.why-cards,.ql-grid,.mission-grid,.branch-detail-grid,.facilities-grid,.activities-grid,.bus-grid,.maps-grid,.info-grid,.steps-grid,.dress-grid,.curriculum-grid,.subject-grid)>*{height:100%!important}
  .mission-card.values{grid-column:1 / -1!important}.mission-card.values .values-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .branch-card,.prog-card,.news-card,.why-card,.ql-card,.mission-card,.branch-detail,.facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,.subject-item{min-height:0!important;height:100%!important}

  /* Branch programme bubbles: equal, never clipped. */
  .branches-section .branch-tags-single-line{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  .branches-section .branch-tags-single-line .tag{width:100%!important;min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:7px 9px!important;text-align:center!important;white-space:normal!important}

  .day-showcase{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;gap:22px!important;align-items:stretch!important}.day-picture,.day-panel{height:auto!important;min-width:0!important}
  .journey-premium-card{grid-template-columns:1fr!important}.journey-story-panel,.journey-form-panel{min-height:0!important;padding:30px!important}
  .journey-premium-inputs,.journey-inputs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.journey-premium-inputs .wide,.journey-premium-btn,.journey-input-group:first-child{grid-column:1/-1!important}
  .home-adm-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;gap:20px!important;align-items:start!important}
  .contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:22px!important;align-items:start!important}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .month-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .age-table,.home-adm-age-table{min-width:650px!important;width:max-content!important;max-width:none!important}.summary-table{min-width:520px!important;width:max-content!important;max-width:none!important}

  /* Tablet visual performance. */
  .app-card-glow{animation:none!important}.premium-app-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

@media (min-width:768px) and (max-width:899px){
  .container,.page-hero-inner,.branch-hero-inner,.pa-hero-grid,.fv-hero-content{width:min(100% - 36px,840px)!important}
  .home-adm-grid,.contact-grid,.fv-wrap,.day-showcase{grid-template-columns:1fr!important}
  .mission-card.values .values-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-brand{grid-column:1/-1!important}
}

@media (min-width:900px) and (max-width:1199px){
  .hero{grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr)!important;align-items:stretch!important}
  .hero-right{height:auto!important;min-height:500px!important}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- LAPTOP / PC / EXTERNAL MONITOR safeguards ---------- */
@media (min-width:900px) and (hover:hover) and (pointer:fine){
  /* Use laptop-like section geometry even if Windows scaling reduces CSS width. */
  .branches-grid,.branch-detail-grid,.apps-showcase{align-items:stretch!important}
  .branch-card,.branch-detail,.premium-app-card{height:100%!important}
}

@media (min-width:1200px){
  :where(.branches-grid,.programmes-grid,.why-showcase,.why-cards,.news-grid,.day-showcase,.contact-grid,.calendar-shell,.home-adm-grid,.footer-grid)>*{min-width:0!important}
  .branch-tags .tag,.nav-links a,.btn{white-space:normal}
}

@media (min-width:1200px) and (max-width:1450px){
  #navbar{padding-inline:28px!important}
  #navbar .logo img{max-width:218px!important;height:auto!important;max-height:68px!important}
  .nav-links{gap:1px!important;min-width:0!important}
  .nav-links a{padding-inline:8px!important;font-size:12px!important}
  .nav-links .lang-toggle{padding-inline:8px!important}
  .branch-tags-single-line{display:flex!important;flex-wrap:wrap!important}.branch-tags-single-line .tag{width:auto!important;min-width:0!important;white-space:normal!important}
}

/* Scaled laptop/monitor: keep desktop visual rhythm without collisions. */
@media (min-width:900px) and (max-width:1199px) and (hover:hover) and (pointer:fine){
  #navbar{padding-inline:16px!important}
  #navbar .logo img{max-width:180px!important;height:auto!important;max-height:58px!important}
  /* Keep the menu drawer at this width instead of crushing the full desktop nav. */
  .nav-links>a{display:none!important}.hamburger{display:flex!important}
  .section,.section-gray{padding-block:58px!important}
  .branches-grid,.branch-detail-grid,.apps-showcase,.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ---------- Journey accuracy ---------- */
.journey-premium-inputs select,.journey-premium-inputs input[type="date"]{width:100%;min-height:68px;border:1px solid var(--pf-border-strong)!important;border-radius:18px;background:var(--pf-surface)!important;color:var(--pf-text)!important;padding:0 18px;font:inherit;font-size:16px;outline:none;box-sizing:border-box}
.journey-premium-inputs select:focus,.journey-premium-inputs input[type="date"]:focus{border-color:var(--pf-teal)!important;box-shadow:0 0 0 3px rgba(0,167,188,.12)}
.journey-accuracy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 28px}
.journey-accuracy-item{padding:16px 18px;border:1px solid var(--pf-border)!important;border-radius:18px;background:var(--pf-surface)!important;min-width:0}
.journey-accuracy-item small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-muted)!important;margin-bottom:7px;font-weight:800}
.journey-accuracy-item strong{display:block;color:var(--pf-heading)!important;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.journey-accuracy-item.is-warning{background:#fff8e8!important;border-color:#efd28a!important}
.journey-accuracy-item.is-ok{background:#effaf5!important;border-color:#a7dec7!important}
html[data-theme="dark"] .journey-accuracy-item.is-warning{background:#3a3020!important;border-color:#8a6a2c!important}
html[data-theme="dark"] .journey-accuracy-item.is-ok{background:#17362d!important;border-color:#2f775f!important}
@media(max-width:767px){.journey-accuracy-summary{grid-template-columns:1fr 1fr}.journey-accuracy-item{padding:13px}.journey-accuracy-item strong{font-size:15px}.journey-premium-inputs select,.journey-premium-inputs input[type="date"]{min-height:54px;font-size:16px}}
@media(min-width:768px) and (max-width:1199px){.journey-accuracy-summary{grid-template-columns:1fr 1fr}}

/* ---------- Motion/performance ---------- */
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
body.is-scrolling :is(.premium-apps-section::before,.premium-apps-section::after,.app-card-glow,.day-panel::before,.journey-story-glow){animation-play-state:paused!important}

/* ======================================================================
   PHONE-ONLY CORRECTIONS — 2026-09-22
   Desktop/laptop (>=768px) intentionally untouched.
   ====================================================================== */
@media (max-width:767px){
  /* Programmes: centre every subject/support card and keep long labels fitted. */
  .prog-full-right .subject-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .prog-full-right .subject-item{
    min-width:0!important;
    min-height:132px!important;
    height:auto!important;
    padding:12px 8px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    text-align:center!important;
    font-size:clamp(13px,3.55vw,15.5px)!important;
    line-height:1.28!important;
    font-weight:600!important;
    overflow:hidden!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .prog-full-right .subject-item>span:first-child{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    font-size:20px!important;
    line-height:1!important;
    text-align:center!important;
  }
  .prog-full-right .subject-item>span:last-child{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    text-align:center!important;
  }

  /* Calendar: replace the cramped desktop-like header with a clean phone stack. */
  .calendar-board{
    padding:15px!important;
  }
  .calendar-topline{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    margin-bottom:16px!important;
    padding:4px 0 16px!important;
    text-align:center!important;
  }
  html[dir="rtl"] .calendar-topline{flex-direction:column!important}
  .calendar-brand{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    text-align:center!important;
  }
  .calendar-official-logo{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .calendar-brand img{
    width:auto!important;
    max-width:min(82%,280px)!important;
    height:auto!important;
    max-height:60px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  .calendar-brand-copy{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  .calendar-brand-title{
    margin:0!important;
    font-size:clamp(24px,7.2vw,30px)!important;
    line-height:1.08!important;
    text-align:center!important;
  }
  .calendar-brand-copy .section-label{
    display:none!important;
  }
  .calendar-year-pill{
    width:auto!important;
    min-width:142px!important;
    max-width:100%!important;
    padding:10px 18px!important;
    border-radius:13px!important;
    font-size:16px!important;
    line-height:1.2!important;
    text-align:center!important;
    align-self:center!important;
  }
  .calendar-view-switch{
    gap:5px!important;
    padding:5px!important;
  }
  .calendar-view-tab{
    min-width:0!important;
    min-height:46px!important;
    padding:9px 6px!important;
    font-size:11px!important;
    text-align:center!important;
    white-space:normal!important;
  }

  /* Child journey: compact, phone-native form controls. */
  .journey-form-panel{
    padding:20px 18px 22px!important;
  }
  .journey-form-panel .journey-form-head{
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    padding:0 0 16px!important;
    margin:0 0 18px!important;
  }
  .journey-form-panel .journey-form-icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:14px!important;
    font-size:19px!important;
  }
  .journey-form-panel .journey-form-head strong{
    font-size:clamp(21px,6.4vw,26px)!important;
    line-height:1.08!important;
    margin:0 0 4px!important;
  }
  .journey-form-panel .journey-form-head small{
    font-size:12px!important;
    line-height:1.4!important;
  }
  .journey-premium-inputs{
    gap:12px!important;
  }
  .journey-input-group label{
    font-size:11px!important;
    line-height:1.25!important;
    margin-bottom:4px!important;
  }
  .journey-premium-inputs input,
  .journey-premium-inputs select,
  .journey-premium-inputs input[type="date"]{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0 13px!important;
    border-radius:13px!important;
    font-size:16px!important;
    line-height:52px!important;
    box-sizing:border-box!important;
  }
  .journey-premium-inputs input[type="date"]{
    -webkit-appearance:auto!important;
    appearance:auto!important;
  }
  .journey-premium-btn{
    min-height:52px!important;
    height:auto!important;
    margin-top:2px!important;
    padding:12px 14px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }
  .journey-note{
    display:none!important;
  }

  /* Newsletter/email: explicitly keep the email signup visible on phones. */
  .newsletter{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    padding:0 var(--m-gutter) 32px!important;
  }
  .newsletter-card,
  .newsletter-copy,
  .newsletter-form-panel{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .newsletter-form-panel{
    margin-top:12px!important;
  }
  .nl-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .nl-form input[type="email"]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 13px!important;
    border-radius:11px!important;
    font-size:16px!important;
    position:static!important;
    transform:none!important;
    clip:auto!important;
  }
  .nl-form button{
    width:100%!important;
    min-height:46px!important;
  }
  .footer-contact,
  .footer-contact a{
    visibility:visible!important;
    opacity:1!important;
  }
}


/* DAK CSS: mobile-final-polish.css */
/* ======================================================================
   DORAT AL KHALEEJ — MOBILE FINAL POLISH
   Scope: PHONE ONLY (<= 767px). Desktop/laptop/tablet remain unchanged.
   Goal: calm, readable, touch-friendly, premium mobile experience.
   ====================================================================== */

@media (max-width: 767px) {
  :root {
    --mf-gutter: 16px;
    --mf-radius: 18px;
    --mf-radius-lg: 24px;
    --mf-touch: 48px;
    --mf-section: 40px;
    --mf-shadow: 0 10px 30px rgba(16, 38, 61, .07);
  }

  html {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
  }

  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
  }

  html[lang="ar"] body,
  html[dir="rtl"] body {
    line-height: 1.72 !important;
  }

  *, *::before, *::after { box-sizing: border-box !important; }
  img, svg, video, canvas, iframe { max-width: 100% !important; height: auto; }
  :where(.container,.page-hero-inner,.branch-hero-inner,.pa-shell,.fv-wrap,.privacy-wrap) {
    width: 100% !important;
    max-width: none !important;
    padding-inline: var(--mf-gutter) !important;
    margin-inline: auto !important;
  }
  :where(section,article,div,form,fieldset,ul,ol,li) { min-width: 0; }
  :where(h1,h2,h3,h4,h5,h6,p,li,a,button,label,span,strong,small,td,th) {
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* ---------- Navigation ---------- */
  #navbar,
  nav#navbar {
    min-height: 70px !important;
    height: 70px !important;
    padding-inline: max(var(--mf-gutter), env(safe-area-inset-left)) max(var(--mf-gutter), env(safe-area-inset-right)) !important;
  }
  #navbar .logo img,
  .logo img {
    height: 46px !important;
    width: auto !important;
    max-width: min(230px, 64vw) !important;
    object-fit: contain !important;
  }
  .hamburger {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 13px !important;
  }
  .mobile-menu {
    top: 70px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100dvh - 82px) !important;
    padding: 10px 10px max(16px, env(safe-area-inset-bottom)) !important;
    border-radius: 0 0 18px 18px !important;
  }
  .mobile-menu a,
  .mobile-menu .lang-toggle {
    min-height: 46px !important;
    padding: 11px 12px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  /* ---------- Global typography ---------- */
  .section,
  .section-gray {
    padding-block: var(--mf-section) !important;
  }
  .section-label,
  .page-hero-badge,
  .branch-hero-badge {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .1em !important;
  }
  .section-title,
  .home-adm-title,
  .path-tools-intro h2 {
    max-width: 22rem !important;
    margin-inline: auto !important;
    margin-bottom: 10px !important;
    font-size: clamp(25px, 7.4vw, 31px) !important;
    line-height: 1.15 !important;
  }
  .section-sub,
  .home-adm-sub {
    max-width: 35rem !important;
    margin-inline: auto !important;
    margin-bottom: 25px !important;
    font-size: 14px !important;
    line-height: 1.68 !important;
  }
  html[lang="ar"] .section-title,
  html[dir="rtl"] .section-title {
    line-height: 1.38 !important;
  }

  .page-hero,
  .branch-hero {
    min-height: 0 !important;
    padding: 0 !important;
  }
  .page-hero-inner,
  .branch-hero-inner {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .page-hero h1,
  .page-hero-title,
  .branch-hero h1,
  .pa-hero h1,
  .fv-hero h1 {
    font-size: clamp(30px, 8.6vw, 38px) !important;
    line-height: 1.09 !important;
    letter-spacing: -.025em !important;
  }
  .page-hero p,
  .page-hero-sub,
  .branch-hero p,
  .pa-hero p,
  .fv-hero p {
    font-size: 14px !important;
    line-height: 1.68 !important;
  }
  html[lang="ar"] :is(.page-hero h1,.page-hero-title,.branch-hero h1,.pa-hero h1,.fv-hero h1),
  html[dir="rtl"] :is(.page-hero h1,.page-hero-title,.branch-hero h1,.pa-hero h1,.fv-hero h1) {
    line-height: 1.38 !important;
    letter-spacing: 0 !important;
  }

  /* ---------- Buttons / form controls ---------- */
  :where(.btn, a.btn, button.btn, .journey-premium-btn, .path-tool-action, .office-status-action) {
    min-height: var(--mf-touch) !important;
    padding: 12px 16px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select) {
    min-height: 52px !important;
    height: 52px !important;
    padding-inline: 14px !important;
    border-radius: 13px !important;
  }
  textarea {
    min-height: 118px !important;
    padding: 13px 14px !important;
    border-radius: 13px !important;
  }
  input[type="date"] {
    padding-block: 0 !important;
    line-height: normal !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
  }

  /* ---------- Homepage hero ---------- */
  .hero {
    min-height: 0 !important;
    padding: 12px var(--mf-gutter) 22px !important;
    gap: 0 !important;
  }
  .hero-right {
    height: 190px !important;
    min-height: 190px !important;
    border-radius: var(--mf-radius-lg) var(--mf-radius-lg) 0 0 !important;
    overflow: hidden !important;
  }
  .hero-left {
    padding: 22px 20px 24px !important;
    border-radius: 0 0 var(--mf-radius-lg) var(--mf-radius-lg) !important;
  }
  .hero-title {
    font-size: clamp(31px, 9vw, 39px) !important;
    line-height: 1.05 !important;
    margin-bottom: 11px !important;
  }
  .hero-desc {
    font-size: 14px !important;
    line-height: 1.66 !important;
    margin-bottom: 18px !important;
  }
  .hero-actions {
    gap: 8px !important;
    align-items: stretch !important;
  }
  .hero-actions .btn { flex: 1 1 0 !important; }
  .hero-stats {
    gap: 8px !important;
    margin-top: 18px !important;
  }
  .hero-stat {
    padding: 11px 9px !important;
    border-radius: 13px !important;
  }
  .hero-stat strong { font-size: 17px !important; }
  .hero-stat span { font-size: 10.5px !important; line-height: 1.35 !important; }

  /* ---------- Universal cards ---------- */
  :is(
    .branch-card,.prog-card,.news-card,.why-card,.ql-card,.mission-card,.branch-detail,
    .facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,
    .subject-item,.contact-form-card,.office-hours-card,.home-adm-card,.home-adm-panel,
    .home-adm-side-block,.faq-item,.privacy-section,.key-card,.calendar-board,.month-card,
    .pa-route-card,.pa-workspace,.pa-result-card,.fv-form,.fv-result,.premium-app-card
  ) {
    border-radius: var(--mf-radius) !important;
    box-shadow: var(--mf-shadow) !important;
  }
  :is(.branch-card,.prog-card,.news-card,.why-card,.ql-card,.mission-card,.branch-detail,.facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,.home-adm-card,.key-card,.pa-route-card) {
    padding: 18px !important;
  }
  :is(.branch-card,.prog-card,.news-card,.why-card,.ql-card,.facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,.subject-item,.premium-app-card):hover {
    transform: none !important;
  }

  /* ---------- Homepage grids ---------- */
  .branches-grid,
  .programmes-grid,
  .news-grid,
  .apps-showcase,
  .premium-apps-grid,
  .icampus-grid,
  .branch-detail-grid,
  .facilities-grid,
  .activities-grid,
  .bus-grid,
  .maps-grid,
  .info-grid,
  .steps-grid,
  .dress-grid,
  .curriculum-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .why-cards,
  .ql-grid,
  .values-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .why-card,
  .ql-card,
  .value-item {
    min-height: 0 !important;
    padding: 15px !important;
  }
  .why-card h3,
  .ql-title,
  .value-title { font-size: 14px !important; line-height: 1.3 !important; }
  .why-card p,
  .ql-desc,
  .value-desc { font-size: 12px !important; line-height: 1.55 !important; }

  /* ---------- Branch cards ---------- */
  .branch-card {
    min-height: 0 !important;
    padding: 20px !important;
  }
  .branch-name { font-size: 23px !important; line-height: 1.15 !important; }
  .branch-quote { font-size: 13px !important; line-height: 1.58 !important; }
  .branch-tags,
  .branch-tags-single-line {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  .branch-tags .tag,
  .branch-tags-single-line .tag {
    width: 100% !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }

  /* ---------- Programmes ---------- */
  .prog-card { min-height: 0 !important; }
  .prog-title { font-size: 17px !important; line-height: 1.28 !important; }
  .prog-desc { font-size: 12.5px !important; line-height: 1.58 !important; }
  .prog-age { font-size: 10.5px !important; }
  .prog-full-card {
    border-radius: var(--mf-radius-lg) !important;
    overflow: hidden !important;
  }
  .prog-full-left,
  .prog-full-right { padding: 20px 18px !important; }
  .prog-full-left h2 { font-size: 25px !important; line-height: 1.14 !important; }
  .prog-full-left p { font-size: 13.5px !important; line-height: 1.64 !important; }
  .prog-full-right :is(h2,h3) { font-size: 23px !important; line-height: 1.18 !important; }
  .prog-full-right .subject-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .prog-full-right .subject-item {
    min-height: 126px !important;
    height: auto !important;
    padding: 14px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
    font-size: clamp(13.5px,3.8vw,15.5px) !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
  }
  .prog-full-right .subject-item > span:first-child { font-size: 21px !important; line-height: 1 !important; }
  .prog-full-right .subject-item > span:last-child { width: 100% !important; text-align: center !important; }
  .secondary-programmes { gap: 9px !important; }
  .secondary-programme { font-size: 12.5px !important; line-height: 1.45 !important; }

  /* ---------- News ---------- */
  .news-card { padding: 17px !important; }
  .news-date,.news-tag { font-size: 10px !important; }
  .news-title-text { font-size: 17px !important; line-height: 1.32 !important; }
  .news-excerpt { font-size: 12.5px !important; line-height: 1.62 !important; }

  /* ---------- A Day at DAK ---------- */
  .day-panel {
    padding: 18px !important;
    border-radius: var(--mf-radius-lg) !important;
  }
  .day-panel-title { font-size: 22px !important; line-height: 1.22 !important; }
  .day-panel-text { font-size: 13px !important; line-height: 1.62 !important; }
  .day-step-btn {
    min-height: 62px !important;
    padding: 11px 12px 11px 17px !important;
    grid-template-columns: 40px minmax(0,1fr) !important;
    gap: 10px !important;
  }
  .day-step-btn strong { font-size: 13px !important; line-height: 1.3 !important; }
  .day-step-btn span span { font-size: 11px !important; line-height: 1.35 !important; }

  /* ---------- Journey ---------- */
  .journey-premium-card {
    border-radius: var(--mf-radius-lg) !important;
    overflow: hidden !important;
  }
  .journey-story-panel,
  .journey-form-panel { padding: 20px 18px !important; }
  .journey-story-panel h3 { font-size: 24px !important; line-height: 1.12 !important; }
  .journey-story-panel p { font-size: 13px !important; line-height: 1.62 !important; }
  .journey-form-panel .journey-form-head {
    grid-template-columns: 44px minmax(0,1fr) !important;
    gap: 11px !important;
    margin-bottom: 17px !important;
    padding-bottom: 15px !important;
  }
  .journey-form-panel .journey-form-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }
  .journey-form-panel .journey-form-head strong {
    font-size: clamp(21px,6vw,25px) !important;
    line-height: 1.1 !important;
  }
  .journey-form-panel .journey-form-head small { font-size: 12.5px !important; line-height: 1.45 !important; }
  .journey-premium-inputs { gap: 12px !important; }
  .journey-input-group label { font-size: 12px !important; line-height: 1.35 !important; margin-bottom: 6px !important; }
  .journey-premium-inputs input,
  .journey-premium-inputs select,
  .journey-premium-inputs input[type="date"] {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    line-height: normal !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
  }
  .journey-premium-btn { margin-top: 2px !important; font-size: 14px !important; }
  .journey-note,[data-i18n="journey_note"] { display: none !important; }

  /* ---------- Guided tools / quick access ---------- */
  .path-tools-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .path-tool-card { padding: 17px !important; border-radius: var(--mf-radius) !important; }
  .path-tool-card h3 { font-size: 17px !important; line-height: 1.3 !important; }
  .path-tool-card p { font-size: 12.5px !important; line-height: 1.58 !important; }
  .ql-card { min-height: 112px !important; }
  .ql-icon { font-size: 21px !important; }

  /* ---------- Apps ---------- */
  .premium-app-card,
  .app-card {
    min-height: 0 !important;
    padding: 17px !important;
    border-radius: var(--mf-radius) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .app-name,.app-card h3 { font-size: 17px !important; line-height: 1.25 !important; }
  .app-desc,.app-card p { font-size: 12.5px !important; line-height: 1.55 !important; }
  .app-btns { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  .store-btn {
    min-height: 52px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }
  .store-icon { font-size: 18px !important; }
  .store-text span { font-size: 8px !important; line-height: 1.15 !important; }
  .store-text strong { font-size: 10.5px !important; line-height: 1.18 !important; }

  /* ---------- Stay in the Loop: must always be visible ---------- */
  .newsletter {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 8px var(--mf-gutter) 34px !important;
    background: var(--pf-bg) !important;
    overflow: visible !important;
  }
  .newsletter-card,
  .newsletter-card.reveal,
  .newsletter-card.reveal.visible {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: var(--mf-radius-lg) !important;
    background: linear-gradient(145deg,#10263d 0%,#142c44 54%,#27203f 100%) !important;
    box-shadow: 0 18px 40px rgba(15,38,61,.16) !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: hidden !important;
  }
  .newsletter-card::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg,var(--pf-teal),var(--pf-purple),var(--pf-gold)) !important;
    opacity: .95 !important;
  }
  .newsletter-card::after { display: none !important; }
  .newsletter-copy {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 23px 20px 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .newsletter-copy::before,.newsletter-copy::after { display: none !important; }
  .newsletter-badge {
    margin-bottom: 10px !important;
    padding: 6px 9px !important;
    font-size: 9.5px !important;
    color: #76eef4 !important;
    background: rgba(0,188,212,.11) !important;
    border-color: rgba(118,238,244,.22) !important;
  }
  .newsletter h2,
  .newsletter-copy h2 {
    margin: 0 0 8px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: clamp(27px,8vw,33px) !important;
    line-height: 1.08 !important;
    text-align: start !important;
  }
  .newsletter p,
  .newsletter-copy p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    -webkit-text-fill-color: rgba(255,255,255,.78) !important;
    font-size: 13.5px !important;
    line-height: 1.62 !important;
    text-align: start !important;
  }
  .newsletter-pills { display: none !important; }
  .newsletter-form-panel {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 10px 10px !important;
    padding: 18px !important;
    border: 1px solid rgba(16,38,61,.08) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .newsletter-form-panel::before { display: none !important; }
  .newsletter-form-title {
    margin-bottom: 5px !important;
    color: #172637 !important;
    -webkit-text-fill-color: #172637 !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
  }
  .newsletter-form-text {
    margin-bottom: 13px !important;
    color: #687687 !important;
    -webkit-text-fill-color: #687687 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }
  .nl-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .nl-form input[type="email"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 14px !important;
    border: 1.5px solid #d3dee6 !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #172637 !important;
    -webkit-text-fill-color: #172637 !important;
    font-size: 16px !important;
    position: static !important;
    transform: none !important;
    clip: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }
  .nl-form input[type="email"]::placeholder { color: #8795a5 !important; opacity: 1 !important; }
  .nl-form button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
  }
  .newsletter-trust {
    margin-top: 10px !important;
    color: #6f7b89 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  html[data-theme="dark"] .newsletter-form-panel {
    background: #132638 !important;
    border-color: #2f4558 !important;
  }
  html[data-theme="dark"] .newsletter-form-title { color: #f4f8fb !important; -webkit-text-fill-color:#f4f8fb !important; }
  html[data-theme="dark"] .newsletter-form-text,
  html[data-theme="dark"] .newsletter-trust { color: #aebcca !important; -webkit-text-fill-color:#aebcca !important; }
  html[data-theme="dark"] .nl-form input[type="email"] { background:#0d1d2c !important; color:#f4f8fb !important; -webkit-text-fill-color:#f4f8fb !important; border-color:#385066 !important; }

  /* ---------- About ---------- */
  .mission-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .mission-card { padding: 18px !important; }
  .mission-card h3 { font-size: 18px !important; line-height: 1.3 !important; }
  .mission-card p { font-size: 13px !important; line-height: 1.62 !important; }
  .mission-card.values .values-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .mission-card.values .value-item { padding: 13px !important; border-radius: 14px !important; }
  .branch-detail-body { font-size: 13px !important; line-height: 1.6 !important; }

  /* ---------- Admissions ---------- */
  .steps-grid,.dress-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .step-card,.dress-card { min-height: 0 !important; }
  .step-card h3,.dress-card h3 { font-size: 17px !important; line-height: 1.3 !important; }
  .step-card p,.dress-card p { font-size: 13px !important; line-height: 1.62 !important; }
  .home-adm-grid { grid-template-columns: 1fr !important; gap: 13px !important; }
  .home-adm-panel,.home-adm-card,.home-adm-side-block { padding: 18px !important; }
  .home-adm-card h3 { font-size: 17px !important; line-height: 1.3 !important; }
  .home-adm-card p { font-size: 13px !important; line-height: 1.62 !important; }
  .faq-list { gap: 9px !important; }
  .faq-item { padding: 0 !important; }
  .faq-question { min-height: 56px !important; padding: 14px 14px !important; gap: 10px !important; }
  .faq-text { font-size: 14px !important; line-height: 1.45 !important; }
  .faq-answer { padding: 0 14px 14px !important; font-size: 13px !important; line-height: 1.62 !important; }

  /* ---------- Calendar ---------- */
  .calendar-view-switch {
    width: 100% !important;
    padding: 5px !important;
    gap: 5px !important;
    border-radius: 16px !important;
  }
  .calendar-view-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 9px 7px !important;
    border-radius: 12px !important;
    font-size: 11.5px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
  }
  .calendar-board { padding: 16px !important; }
  .calendar-topline {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
    padding-bottom: 15px !important;
    text-align: center !important;
  }
  .calendar-brand {
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
    text-align: center !important;
  }
  .calendar-official-logo img,
  .calendar-brand img {
    width: auto !important;
    max-width: 235px !important;
    max-height: 58px !important;
    margin-inline: auto !important;
  }
  .calendar-brand-copy { width: 100% !important; text-align: center !important; }
  .calendar-brand-title { font-size: 27px !important; line-height: 1.08 !important; text-align: center !important; }
  .calendar-brand-copy .section-label { display: none !important; }
  .calendar-year-pill {
    min-width: 138px !important;
    padding: 9px 15px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    text-align: center !important;
  }
  .month-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .month-card { padding: 15px !important; }
  .month-card h3,.events-month-heading { font-size: 18px !important; line-height: 1.25 !important; }
  .month-note,.events-note,.events-footnote { font-size: 12px !important; line-height: 1.55 !important; }
  .key-panel { grid-template-columns: 1fr !important; gap: 10px !important; }
  .key-card { padding: 16px !important; }
  .key-card h3 { font-size: 20px !important; line-height: 1.25 !important; }
  .key-list { font-size: 12.5px !important; line-height: 1.6 !important; }
  .events-toolbar,.events-head-badges,.events-mini-stats { gap: 8px !important; }
  .event-filters { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
  .event-filter-wrap { flex: 1 1 140px !important; min-width: 0 !important; }
  .events-list { gap: 9px !important; }

  /* ---------- Tables: local scrolling only ---------- */
  .responsive-table-shell,
  .home-adm-table-wrap,
  .table-wrap,
  .summary-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    border-radius: 14px !important;
  }
  .age-table,.home-adm-age-table { min-width: 540px !important; width: max-content !important; max-width: none !important; font-size: 11.5px !important; }
  .summary-table { min-width: 470px !important; width: max-content !important; max-width: none !important; font-size: 11px !important; }
  .mini-cal { width: 100% !important; table-layout: fixed !important; font-size: 11px !important; }

  /* ---------- Facilities ---------- */
  .facility-card,.bus-card { overflow: hidden !important; }
  .facility-header { padding: 18px !important; }
  .facility-header h3 { font-size: 19px !important; line-height: 1.25 !important; }
  .facility-header p,.facility-body p,.bus-card p { font-size: 13px !important; line-height: 1.6 !important; }
  .facility-body { padding: 16px 18px 18px !important; }

  /* ---------- Contact ---------- */
  .contact-grid { grid-template-columns: 1fr !important; gap: 13px !important; }
  .contact-form-card,.office-hours-card,.info-card,.map-card { padding: 18px !important; }
  .form-row { grid-template-columns: 1fr !important; gap: 11px !important; }
  .form-group label { font-size: 12px !important; margin-bottom: 6px !important; }
  .info-card h4,.office-hours-card h3 { font-size: 18px !important; line-height: 1.3 !important; }
  .info-row,.hours-row-item { font-size: 13px !important; line-height: 1.55 !important; }

  /* ---------- Path advisor / future vision ---------- */
  .pa-hero-grid,.fv-wrap { grid-template-columns: 1fr !important; gap: 14px !important; }
  .pa-route-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .pa-route-card { padding: 17px !important; }
  .pa-route-card h3 { font-size: 17px !important; line-height: 1.3 !important; }
  .pa-route-card p,.pa-mini-list { font-size: 12.5px !important; line-height: 1.58 !important; }
  .pa-workspace { padding: 16px !important; }
  .pa-question-wrap { font-size: 14px !important; line-height: 1.55 !important; }
  .fv-form { padding: 18px !important; }
  .fv-form-title { font-size: 21px !important; line-height: 1.25 !important; }
  .fv-form-sub { font-size: 13px !important; line-height: 1.6 !important; }

  /* ---------- Privacy ---------- */
  body.privacy-page .privacy-wrap { padding-inline: var(--mf-gutter) !important; }
  body.privacy-page .privacy-intro { font-size: 14px !important; line-height: 1.72 !important; }
  body.privacy-page .privacy-section { padding: 18px !important; margin-bottom: 12px !important; }
  body.privacy-page .privacy-section h2 { font-size: 20px !important; line-height: 1.28 !important; margin-bottom: 10px !important; }
  body.privacy-page .privacy-section :is(p,li) { font-size: 13.5px !important; line-height: 1.72 !important; }
  body.privacy-page .privacy-section ul { padding-inline-start: 20px !important; }
  html[dir="rtl"] body.privacy-page .privacy-section ul { padding-inline-start: 0 !important; padding-inline-end: 20px !important; }

  /* ---------- Footer ---------- */
  .footer { padding: 36px var(--mf-gutter) max(26px, env(safe-area-inset-bottom)) !important; }
  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 14px !important;
  }
  .footer-grid > div:first-child { grid-column: 1 / -1 !important; }
  .footer-brand-name { font-size: 24px !important; line-height: 1.15 !important; }
  .footer-brand-name span { font-size: 10px !important; letter-spacing: .08em !important; margin-top: 5px !important; }
  .footer-desc { max-width: 34rem !important; font-size: 13px !important; line-height: 1.65 !important; }
  .footer-contact {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
  }
  .footer-contact a { visibility: visible !important; opacity: 1 !important; }
  .footer-col h4 { margin-bottom: 10px !important; font-size: 11px !important; letter-spacing: .14em !important; }
  .footer-col li { margin-bottom: 8px !important; }
  .footer-col a { font-size: 12.5px !important; line-height: 1.45 !important; }
  .footer-bottom {
    margin-top: 26px !important;
    padding-top: 18px !important;
    gap: 13px !important;
    font-size: 10.5px !important;
    line-height: 1.5 !important;
  }
  .footer-bottom-links { gap: 9px 12px !important; flex-wrap: wrap !important; }
  .footer-bottom-links a { font-size: 10.5px !important; }

  /* ---------- Floating controls ---------- */
  .wa-float,
  .whatsapp-float,
  #whatsappBtn {
    left: max(14px, env(safe-area-inset-left)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
  .wa-float,
  .whatsapp-float,
  #whatsappBtn,
  .dak-ai-bubble {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }
  .dak-ai-bubble {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
  .dak-ai-bubble svg { width: 34px !important; height: 34px !important; }
  .back-to-top {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 66px) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 13px !important;
  }

  /* ---------- Mobile motion/performance ---------- */
  .app-card-glow,
  .premium-apps-section::before,
  .premium-apps-section::after,
  .icampus-section::before,
  .icampus-section::after,
  .newsletter::before,
  .newsletter::after {
    animation: none !important;
  }
  :is(.branch-card,.prog-card,.news-card,.why-card,.ql-card,.premium-app-card,.facility-card,.bus-card,.map-card,.info-card) {
    transition-duration: .18s !important;
  }
}

@media (max-width: 359px) {
  :root { --mf-gutter: 13px; }
  .hero-actions { flex-direction: column !important; }
  .why-cards,.ql-grid,.values-grid { grid-template-columns: 1fr !important; }
  .prog-full-right .subject-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-grid > div:first-child { grid-column: auto !important; }
  .app-btns { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) and (orientation: landscape) {
  .hero-right { height: 160px !important; min-height: 160px !important; }
  .page-hero-inner,.branch-hero-inner { padding-top: 26px !important; padding-bottom: 26px !important; }
  .mobile-menu { max-height: calc(100dvh - 70px) !important; }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation: none !important; transition-duration: .01ms !important; }
}

/* Final mobile legibility sweep */
@media (max-width: 767px) {
  .hero-badge { font-size: 10px !important; }
  .stat-label { font-size: 9.5px !important; line-height: 1.3 !important; letter-spacing: .05em !important; }
  .stat-num { font-size: 19px !important; }
  .breadcrumb,
  .breadcrumb a,
  .breadcrumb span { font-size: 10.5px !important; line-height: 1.35 !important; }

  .home-office-status .office-status-kicker { font-size: 10px !important; }
  .home-office-status .office-status-title { font-size: 13.5px !important; line-height: 1.3 !important; }
  .home-office-status .office-status-note { font-size: 11px !important; line-height: 1.45 !important; }
  .home-office-status .office-status-action { min-height: 38px !important; font-size: 10.5px !important; }

  .pa-hero :is(.pa-kicker,.pa-chip,.pa-mini-list span),
  .pa-advisor-section :is(.pa-kicker,.pa-chip,.pa-mini-list span) { font-size: 10px !important; line-height: 1.35 !important; }
  .fv-label,.fv-form label { font-size: 12px !important; line-height: 1.35 !important; }

  .calendar-board :is(.calendar-kicker,.calendar-tip,.events-footnote,.events-source-meta) { font-size: 11px !important; line-height: 1.45 !important; }
  .calendar-board .calendar-action,
  .calendar-board .btn { font-size: 11.5px !important; }

  .footer { padding-bottom: max(96px, calc(env(safe-area-inset-bottom) + 82px)) !important; }
  .footer-bottom,
  .footer-bottom *,
  .footer-bottom-links a { font-size: 10.5px !important; line-height: 1.5 !important; }
}


/* DAK CSS: mobile-edge-fit.css */
/* ======================================================================
   DORAT AL KHALEEJ — MOBILE EDGE FIT
   Scope: PHONE ONLY (<= 767px)
   Goal: use the full phone width, remove awkward side strips/gaps, keep
         every important element visible, readable, touch-friendly and calm.
   Desktop/laptop/tablet are intentionally untouched.
   ====================================================================== */

@media (max-width: 767px) {
  :root {
    --mef-content: 12px;
    --mef-card-gap: 8px;
    --mef-safe-left: max(var(--mef-content), env(safe-area-inset-left));
    --mef-safe-right: max(var(--mef-content), env(safe-area-inset-right));
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  body {
    font-size: 15.5px !important;
    line-height: 1.64 !important;
  }

  main,
  #main,
  .main-content,
  .page-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow: visible !important;
  }

  /* Make section backgrounds genuinely full-bleed. Content receives its own
     small, consistent inner gutter instead of nested 16–32px side gaps. */
  :is(
    .section,.section-gray,.hero,.page-hero,.branch-hero,.newsletter,.footer,
    .premium-apps-section,.icampus-section,.path-tools-section,.home-adm-section,
    .calendar-section,.events-section,.privacy-page main
  ) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  :where(
    .section > .container,
    .section-gray > .container,
    .premium-apps-section > .container,
    .icampus-section > .container,
    .path-tools-section > .container,
    .home-adm-section > .container,
    .calendar-section > .container,
    .events-section > .container,
    .privacy-wrap,
    .pa-shell,
    .fv-wrap
  ) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  /* Keep headings readable but do not let them create a narrow column. */
  .section-title,
  .section-sub,
  .home-adm-title,
  .home-adm-sub,
  .path-tools-intro h2,
  .path-tools-intro p {
    max-width: min(100%, 38rem) !important;
  }

  /* ---------- Navbar / menu ---------- */
  #navbar,
  nav#navbar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  .mobile-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 0 16px 16px !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  /* ---------- Homepage hero: full-width surface ---------- */
  .hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .hero-left,
  .hero-right {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .hero-left {
    padding: 24px var(--mef-safe-right) 25px var(--mef-safe-left) !important;
  }

  .hero-right {
    height: 205px !important;
    min-height: 205px !important;
    overflow: hidden !important;
  }

  .hero-right :is(img,picture,video),
  .hero-slider,
  .hero-slide,
  .hero-slide img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .hero-title {
    max-width: 100% !important;
    font-size: clamp(32px, 9.3vw, 40px) !important;
    line-height: 1.05 !important;
  }

  .hero-desc {
    max-width: 100% !important;
    font-size: 14.5px !important;
    line-height: 1.68 !important;
  }

  /* ---------- Inner page heroes: background reaches screen edges ---------- */
  .page-hero,
  .branch-hero {
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .page-hero-inner,
  .branch-hero-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  /* ---------- Cards / grids: near edge-to-edge without looking cramped ---------- */
  :is(
    .branches-grid,.programmes-grid,.news-grid,.apps-showcase,.premium-apps-grid,
    .icampus-grid,.branch-detail-grid,.facilities-grid,.activities-grid,.bus-grid,
    .maps-grid,.info-grid,.steps-grid,.dress-grid,.curriculum-grid,.home-adm-grid,
    .mission-grid,.contact-grid,.path-tools-grid,.pa-route-grid,.month-grid
  ) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  :is(
    .branch-card,.prog-card,.news-card,.why-card,.ql-card,.mission-card,.branch-detail,
    .facility-card,.bus-card,.map-card,.info-card,.step-card,.dress-card,.curriculum-card,
    .subject-item,.contact-form-card,.office-hours-card,.home-adm-card,.home-adm-panel,
    .home-adm-side-block,.faq-item,.privacy-section,.key-card,.calendar-board,.month-card,
    .pa-route-card,.pa-workspace,.pa-result-card,.fv-form,.fv-result,.premium-app-card,
    .journey-premium-card,.day-panel
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Slightly tighter global edge gutter than the previous pass. */
  :where(.section > .container,.section-gray > .container) {
    padding-left: max(var(--mef-card-gap), env(safe-area-inset-left)) !important;
    padding-right: max(var(--mef-card-gap), env(safe-area-inset-right)) !important;
  }

  /* Headings inside those sections still need breathing room. */
  :where(.section > .container,.section-gray > .container) > :is(.section-label,.section-title,.section-sub) {
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  /* ---------- Programme full cards / subject grids ---------- */
  .prog-full-card,
  .journey-premium-card,
  .calendar-board,
  body.privacy-page .privacy-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  .prog-full-right .subject-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  .prog-full-right .subject-item {
    min-width: 0 !important;
    max-width: 100% !important;
    padding-inline: 10px !important;
    overflow: visible !important;
  }

  .prog-full-right .subject-item > span:last-child {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  /* ---------- Forms: never clipped on narrow iPhones ---------- */
  :is(form,fieldset,.form-row,.form-group,.journey-premium-inputs,.journey-input-group,.nl-form) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  :is(input:not([type="hidden"]),select,textarea,button) {
    max-width: 100% !important;
  }

  input[type="date"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* ---------- Stay in the Loop: full-width, guaranteed visible ---------- */
  .newsletter {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 30px !important;
    overflow: visible !important;
  }

  .newsletter-card,
  .newsletter-card.reveal,
  .newsletter-card.reveal.visible {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .newsletter-copy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px var(--mef-safe-right) 20px var(--mef-safe-left) !important;
  }

  .newsletter-form-panel {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 var(--mef-safe-right) 12px var(--mef-safe-left) !important;
    padding: 18px !important;
  }

  .nl-form,
  .nl-form input[type="email"],
  .nl-form button {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .nl-form button {
    display: flex !important;
  }

  /* ---------- Calendar ---------- */
  .calendar-view-switch {
    width: calc(100% - (var(--mef-card-gap) * 2)) !important;
    margin-left: var(--mef-card-gap) !important;
    margin-right: var(--mef-card-gap) !important;
  }

  .calendar-board {
    border-radius: 16px !important;
  }

  .calendar-topline,
  .calendar-brand,
  .calendar-brand-copy {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .calendar-official-logo img,
  .calendar-brand img {
    max-width: min(100%, 245px) !important;
  }

  /* ---------- Tables: full available width, scroll only inside table shell ---------- */
  .responsive-table-shell,
  .home-adm-table-wrap,
  .table-wrap,
  .summary-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  /* ---------- Privacy ---------- */
  body.privacy-page .privacy-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  body.privacy-page .privacy-section {
    padding: 18px 16px !important;
  }

  /* ---------- Footer: full bleed, content safe ---------- */
  .footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--mef-safe-left) !important;
    padding-right: var(--mef-safe-right) !important;
  }

  .footer-grid,
  .footer-bottom {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .footer-contact,
  .footer-desc,
  .footer-col,
  .footer-col a {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  /* ---------- Reveal animation safety: content must never stay invisible ---------- */
  .reveal,
  .reveal.visible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* ---------- Generic anti-clipping ---------- */
  :is(
    .hero-left,.hero-right,.page-hero-inner,.branch-hero-inner,.container,
    .branch-card,.prog-card,.prog-full-card,.subject-item,.journey-premium-card,
    .journey-form-panel,.calendar-board,.privacy-section,.newsletter-copy,
    .newsletter-form-panel,.footer-grid
  ) > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label,li,td,th) {
    max-width: 100% !important;
  }

  /* Local horizontal scrollers are allowed; the page itself is not. */
  body > :not(.responsive-table-shell):not(.table-wrap) {
    max-width: 100% !important;
  }
}

@media (max-width: 359px) {
  :root {
    --mef-content: 10px;
    --mef-card-gap: 6px;
  }

  .hero-left {
    padding-top: 21px !important;
    padding-bottom: 22px !important;
  }

  .hero-right {
    height: 190px !important;
    min-height: 190px !important;
  }

  .newsletter-form-panel {
    padding: 15px !important;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .hero-right {
    height: 180px !important;
    min-height: 180px !important;
  }
}


/* DAK CSS: mobile-footer-safe.css */
/*
 * DAK mobile footer readability and safe spacing.
 * Narrow phones only: desktop and tablet layouts remain exactly as approved.
 * This file must load AFTER mobile-edge-fit.css to restore the footer's inner
 * content gutter while allowing its navy background to extend edge-to-edge.
 */
@media only screen and (max-width: 767px) {
  html body .footer {
    --footer-phone-gutter: clamp(18px, 5vw, 24px);
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 36px max(var(--footer-phone-gutter), env(safe-area-inset-left))
      max(142px, calc(120px + env(safe-area-inset-bottom)))
      max(var(--footer-phone-gutter), env(safe-area-inset-right)) !important;
    border-radius: 28px 28px 0 0 !important;
  }

  .footer .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px clamp(15px, 4.5vw, 24px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 30px !important;
    padding: 0 !important;
    min-width: 0 !important;
    align-items: start;
  }

  .footer .footer-grid > div:first-child {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .footer .footer-brand-name {
    max-width: 100% !important;
    font-size: clamp(25px, 7vw, 30px) !important;
    line-height: 1.22 !important;
    overflow-wrap: break-word !important;
    letter-spacing: -.025em !important;
    margin-bottom: 12px !important;
  }

  .footer .footer-brand-name span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    letter-spacing: .065em !important;
    margin-top: 5px !important;
  }

  .footer .footer-desc {
    max-width: 34rem !important;
    margin: 0 0 18px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    overflow-wrap: normal !important;
  }

  .footer .footer-contact {
    display: block !important;
    max-width: 100% !important;
    font-size: 13.5px !important;
    line-height: 1.9 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .footer .footer-contact a {
    display: inline !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
  }

  .footer .footer-col {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer .footer-col h4 {
    margin: 0 0 10px !important;
    font-size: 11.5px !important;
    line-height: 1.5 !important;
    letter-spacing: .115em !important;
    overflow-wrap: break-word !important;
  }

  .footer .footer-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .footer .footer-col li {
    margin: 0 !important;
  }

  .footer .footer-col li a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding-block: 8px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  .footer .footer-bottom {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 23px 0 0 !important;
    gap: 19px !important;
    text-align: center !important;
    min-width: 0 !important;
  }

  .footer .footer-bottom > span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 5px !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-wrap: pretty;
  }

  .footer .footer-bottom-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    direction: inherit !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .footer .footer-bottom-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 9px 7px !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 12px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-decoration: none !important;
  }

  /* Some secondary pages have three rather than four footer links. */
  .footer .footer-bottom-links a:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: min(100%, 240px) !important;
  }

  .footer .footer-bottom-links a:focus-visible,
  .footer .footer-contact a:focus-visible,
  .footer .footer-col a:focus-visible {
    outline: 2px solid #77e7ef !important;
    outline-offset: 3px !important;
  }

  html[dir="rtl"] .footer,
  html[dir="rtl"] .footer .footer-grid,
  html[dir="rtl"] .footer .footer-col,
  html[dir="rtl"] .footer .footer-contact {
    direction: rtl !important;
    text-align: right !important;
  }

  html[dir="rtl"] .footer .footer-brand-name {
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
  }

  html[dir="rtl"] .footer .footer-brand-name span,
  html[dir="rtl"] .footer .footer-col h4 {
    letter-spacing: 0 !important;
  }

  html[dir="rtl"] .footer .footer-bottom,
  html[dir="rtl"] .footer .footer-bottom > span,
  html[dir="rtl"] .footer .footer-bottom-links a {
    text-align: center !important;
  }
}

/* 2026-09-23: compact phone footer final pass.
   Keep the footer edge-to-edge, but remove the excess blank space above and
   below the content while preserving a safe zone for the floating controls. */
@media only screen and (max-width: 767px) {
  html body .footer {
    padding-top: 22px !important;
    padding-bottom: max(78px, calc(62px + env(safe-area-inset-bottom))) !important;
  }

  .footer .footer-grid {
    gap: 20px clamp(15px, 4.5vw, 24px) !important;
    margin-bottom: 20px !important;
  }

  .footer .footer-bottom {
    padding-top: 18px !important;
    gap: 14px !important;
  }

  .footer .footer-bottom-links {
    gap: 8px !important;
  }
}

/* 2026-09-23: tighten the first mobile footer block.
   Removes the two small empty bands the user identified: above the school
   name and below the contact/e-mail block. Phone only. */
@media only screen and (max-width: 767px) {
  html body .footer {
    padding-top: 12px !important;
  }

  .footer .footer-brand-name {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  .footer .footer-brand-name span {
    margin-top: 3px !important;
  }

  .footer .footer-desc {
    margin-bottom: 10px !important;
    line-height: 1.58 !important;
  }

  .footer .footer-contact {
    margin: 0 !important;
    line-height: 1.72 !important;
  }

  .footer .footer-grid {
    row-gap: 12px !important;
  }
}

/* ================================================================
   V6.4 — PHONE FOOTER TOP SEAM / WHITE GAP FIX
   Phone only. Makes the footer background fully cover the top edge on
   every page, including the former white sliver/rounded-corner exposure.
   Tablet and desktop remain unchanged.
   ================================================================ */
@media only screen and (max-width: 767px) {
  html body .footer {
    margin-top: -2px !important;
    border-radius: 0 !important;
    background: #172435 !important;
    background-clip: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 -3px 0 #172435 !important;
  }

  html body .footer::before,
  html body .footer::after {
    top: -3px !important;
  }
}

/* ================================================================
   V6.5 — PHONE FOOTER BOTTOM HEIGHT REFINEMENT
   Keep the V6.4 full background coverage, but remove the unnecessary
   long empty space below the footer content on phones.
   ================================================================ */
@media only screen and (max-width: 767px) {
  html body .footer {
    padding-bottom: max(42px, calc(16px + env(safe-area-inset-bottom))) !important;
  }

  .footer .footer-bottom {
    margin-bottom: 0 !important;
  }

  .footer .footer-bottom-links {
    margin-bottom: 0 !important;
  }
}



/* DAK CSS: responsive-final-pass.css */
/* ======================================================================
   DAK RESPONSIVE FINAL PASS — 2026-09-23
   Phone + touch-tablet fixes only. Approved laptop/desktop layout remains
   untouched. Tablet rules are gated by html.dak-tablet.
   ====================================================================== */

/* ---------- Phone + tablet: remove the white separator below newsletter ---------- */
@media (max-width: 767px) {
  .newsletter {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background: linear-gradient(135deg,#10263d 0%,#15283c 54%,#241d3a 100%) !important;
  }
  .newsletter + .footer,
  .footer { margin-top: 0 !important; }
}

html.dak-tablet .newsletter {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background: linear-gradient(135deg,#10263d 0%,#15283c 54%,#241d3a 100%) !important;
}
html.dak-tablet .newsletter + .footer,
html.dak-tablet .footer { margin-top: 0 !important; }

/* ---------- Tablet navigation: language + theme are always visible ---------- */
html.dak-tablet #navbar {
  height: 76px !important;
  padding: 0 20px !important;
  gap: 10px !important;
}
html.dak-tablet #navbar .logo { min-width: 0 !important; flex: 0 1 auto !important; }
html.dak-tablet #navbar .logo img {
  width: auto !important;
  height: 54px !important;
  max-width: min(215px, 31vw) !important;
  object-fit: contain !important;
}
html.dak-tablet #navbar .nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-inline-start: auto !important;
  min-width: 0 !important;
}
html.dak-tablet #navbar .nav-links > a { display: none !important; }
html.dak-tablet #navbar .nav-links > .theme-control--desktop,
html.dak-tablet #navbar .nav-links > .lang-toggle { display: inline-flex !important; }
html.dak-tablet #navbar .theme-control--desktop { margin: 0 !important; }
html.dak-tablet #navbar .theme-trigger {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 13px !important;
}
html.dak-tablet #navbar .theme-trigger-chevron { display: none !important; }
html.dak-tablet #navbar .theme-trigger-icon svg { width: 20px !important; height: 20px !important; }
html.dak-tablet #navbar .lang-toggle {
  min-width: 72px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  border-radius: 13px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
html.dak-tablet #navbar .hamburger {
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
}

/* Also keep the same controls available inside the opened tablet menu. */
html.dak-tablet .mobile-menu {
  top: 76px !important;
  width: min(430px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 92px) !important;
  padding: 14px !important;
  gap: 3px !important;
  overflow-y: auto !important;
}
html.dak-tablet .mobile-menu > .lang-toggle {
  display: flex !important;
  width: 100% !important;
  min-height: 46px !important;
  margin-top: 7px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--pf-border, #dbe3e9) !important;
  border-radius: 12px !important;
  background: var(--pf-surface-2, #f3f6f8) !important;
}
html.dak-tablet .mobile-menu .theme-control--mobile {
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 9px !important;
  border: 1px solid var(--pf-border, #dbe3e9) !important;
  border-radius: 13px !important;
  background: var(--pf-surface-2, #f3f6f8) !important;
}

/* ---------- Tablet child-journey form ---------- */
html.dak-tablet .journey-premium-card {
  grid-template-columns: 1fr !important;
  gap: 20px !important;
}
html.dak-tablet .journey-story-panel,
html.dak-tablet .journey-form-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 28px !important;
}
html.dak-tablet .journey-form-head {
  display: grid !important;
  grid-template-columns: 52px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 0 0 22px !important;
  padding: 0 0 18px !important;
}
html.dak-tablet .journey-form-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 15px !important;
}
html.dak-tablet .journey-form-head strong {
  display: block !important;
  font-size: 27px !important;
  line-height: 1.08 !important;
  margin: 0 0 4px !important;
}
html.dak-tablet .journey-form-head small {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
html.dak-tablet .journey-premium-inputs,
html.dak-tablet .journey-inputs {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 18px 16px !important;
  align-items: start !important;
}
html.dak-tablet .journey-premium-inputs .wide,
html.dak-tablet .journey-premium-btn,
html.dak-tablet .journey-input-group:first-child { grid-column: 1 / -1 !important; }
html.dak-tablet .journey-input-group {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  gap: 7px !important;
}
html.dak-tablet .journey-input-group label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: start !important;
  white-space: normal !important;
}
html.dak-tablet .journey-premium-inputs input,
html.dak-tablet .journey-premium-inputs select,
html.dak-tablet .journey-premium-inputs input[type="date"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}
html.dak-tablet .journey-premium-btn {
  min-height: 54px !important;
  margin-top: 2px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
}

/* ---------- Tablet floating actions: never overlap ---------- */
html.dak-tablet .dak-ai-bubble {
  right: max(24px, env(safe-area-inset-right)) !important;
  bottom: max(26px, calc(env(safe-area-inset-bottom) + 18px)) !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 19px !important;
}
html.dak-tablet .dak-ai-bubble .dak-bot-mark,
html.dak-tablet .dak-ai-bubble svg { width: 36px !important; height: 36px !important; }
html.dak-tablet .back-to-top {
  right: max(27px, env(safe-area-inset-right)) !important;
  bottom: max(102px, calc(env(safe-area-inset-bottom) + 94px)) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 15px !important;
}
html.dak-tablet .wa-fab,
html.dak-tablet[dir="rtl"] .wa-fab {
  left: max(24px, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: max(26px, calc(env(safe-area-inset-bottom) + 18px)) !important;
  width: 56px !important;
  height: 56px !important;
}

/* ---------- Tablet calendar ---------- */
html.dak-tablet .calendar-view-switch {
  width: min(620px, 100%) !important;
  margin: 0 auto 20px !important;
  padding: 5px !important;
  gap: 5px !important;
  border-radius: 16px !important;
}
html.dak-tablet .calendar-view-tab {
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  border-radius: 12px !important;
  white-space: normal !important;
}
html.dak-tablet .calendar-shell {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  min-width: 0 !important;
}
html.dak-tablet .calendar-board {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 22px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
html.dak-tablet .calendar-topline {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
  padding: 2px 0 18px !important;
  text-align: center !important;
}
html.dak-tablet .calendar-brand {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(150px,190px) minmax(0,1fr) !important;
  gap: 20px !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}
html.dak-tablet[dir="rtl"] .calendar-brand { grid-template-columns: minmax(0,1fr) minmax(150px,190px) !important; }
html.dak-tablet .calendar-official-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}
html.dak-tablet .calendar-brand img {
  width: 100% !important;
  max-width: 185px !important;
  height: auto !important;
  max-height: 62px !important;
  object-fit: contain !important;
}
html.dak-tablet .calendar-brand-copy {
  min-width: 0 !important;
  text-align: start !important;
}
html.dak-tablet[dir="rtl"] .calendar-brand-copy { text-align: right !important; }
html.dak-tablet .calendar-brand-title {
  margin: 0 0 6px !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}
html.dak-tablet .calendar-brand-copy .section-label {
  display: block !important;
  margin: 0 !important;
  font-size: 10.5px !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
  text-align: inherit !important;
  white-space: normal !important;
}
html.dak-tablet .calendar-year-pill {
  min-width: 0 !important;
  width: auto !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  align-self: center !important;
}
html.dak-tablet .month-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}
html.dak-tablet .month-card { min-width: 0 !important; overflow: hidden !important; }
html.dak-tablet .month-head {
  grid-template-columns: minmax(0,1fr) 104px !important;
  gap: 7px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
}
html.dak-tablet[dir="rtl"] .month-head { grid-template-columns: 104px minmax(0,1fr) !important; }
html.dak-tablet .school-days { width: 104px !important; font-size: 10.5px !important; }
html.dak-tablet .mini-cal { width: 100% !important; table-layout: fixed !important; }
html.dak-tablet .mini-cal th { font-size: 9px !important; padding: 7px 0 !important; }
html.dak-tablet .mini-cal td { height: 30px !important; font-size: 12px !important; }
html.dak-tablet .key-panel {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}
html.dak-tablet .key-card { min-width: 0 !important; padding: 18px !important; }
html.dak-tablet .summary-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
html.dak-tablet .summary-table th,
html.dak-tablet .summary-table td {
  padding: 8px 5px !important;
  font-size: 10.5px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html.dak-tablet .events-calendar { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
html.dak-tablet .events-calendar-head { grid-template-columns: minmax(0,1fr) auto !important; gap: 16px !important; padding: 24px !important; }
html.dak-tablet .events-body { grid-template-columns: 1fr !important; }
html.dak-tablet .events-side { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px !important; }
html.dak-tablet .month-strip { max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }

/* ---------- Tablet assistant window ---------- */
html.dak-tablet .dak-ai-chat.dak-v4 {
  right: max(24px, env(safe-area-inset-right)) !important;
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px)) !important;
  width: min(430px, calc(100vw - 48px)) !important;
  height: min(640px, calc(100dvh - 72px)) !important;
  min-height: 500px !important;
  border-radius: 24px !important;
}
html.dak-tablet .dak-v4-header { min-height: 66px !important; padding: 11px 12px !important; }
html.dak-tablet .dak-ai-messages.dak-v4-messages { padding: 16px !important; }
html.dak-tablet .dak-v4-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
html.dak-tablet .dak-v4-topic { min-height: 72px !important; }
html.dak-tablet .dak-v4-composer textarea { font-size: 16px !important; }

/* ---------- General tablet overflow / touch QA ---------- */
html.dak-tablet body { overflow-x: hidden !important; }
html.dak-tablet :is(.container,.calendar-shell,.calendar-board,.month-grid,.key-panel,.journey-premium-card,.journey-form-panel,.journey-story-panel,.events-calendar,.events-body) { min-width: 0 !important; }
html.dak-tablet :is(input,select,textarea,button,a) { -webkit-tap-highlight-color: transparent; }
html.dak-tablet :is(input,select,textarea) { font-size: 16px; }

@media (max-width: 820px) {
  html.dak-tablet .calendar-brand {
    grid-template-columns: 150px minmax(0,1fr) !important;
    gap: 14px !important;
  }
  html.dak-tablet[dir="rtl"] .calendar-brand { grid-template-columns: minmax(0,1fr) 150px !important; }
  html.dak-tablet .calendar-brand img { max-width: 150px !important; }
  html.dak-tablet .calendar-brand-title { font-size: 27px !important; }
  html.dak-tablet .calendar-brand-copy .section-label { font-size: 9.5px !important; }
  html.dak-tablet .key-panel { grid-template-columns: 1fr !important; }
  html.dak-tablet .events-side { grid-template-columns: 1fr !important; }
}

@media (max-width: 740px) {
  /* If a small tablet reports a narrow CSS viewport, keep the calendar readable. */
  html.dak-tablet .month-grid { grid-template-columns: 1fr !important; }
}

/* ---------- Assistant focus mode: keep floating controls out of the conversation ---------- */
@media (max-width: 767px) {
  body.dak-chat-open .back-to-top,
  body.dak-chat-open .wa-fab,
  body.dak-chat-open .wa-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

html.dak-tablet body.dak-chat-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
html.dak-tablet body.dak-chat-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10010;
  background: rgba(8,20,36,.28);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
html.dak-tablet body.dak-chat-open .back-to-top,
html.dak-tablet body.dak-chat-open .wa-fab,
html.dak-tablet body.dak-chat-open .wa-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ---------- Tablet tables: never create page-level horizontal overflow ---------- */
html.dak-tablet :is(.home-adm-table-wrap,.age-table-wrap,.responsive-table-shell,.table-wrap) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-inline: contain !important;
}
html.dak-tablet :is(.age-table,.home-adm-age-table) {
  min-width: 620px !important;
  width: max-content !important;
  max-width: none !important;
}


/* DAK CSS: tablet-laptop-header.css */
/* ======================================================================
   DAK iPad / Tablet Header — Laptop-style navigation
   2026-09-23
   Applies only when tablet-detect.js adds html.dak-tablet.
   Desktop/laptop and phone layouts are intentionally untouched.
   ====================================================================== */

html.dak-tablet #navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  width: 100% !important;
  min-height: 126px !important;
  height: auto !important;
  padding: 12px 18px 10px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px 12px !important;
  background: rgba(255,255,255,.985) !important;
  border-bottom: 1px solid rgba(26,35,50,.09) !important;
  box-shadow: 0 8px 24px rgba(15,38,61,.055) !important;
  overflow: visible !important;
}

html.dak-tablet #navbar .logo {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  height: 58px !important;
  line-height: 0 !important;
}
html.dak-tablet #navbar .logo img {
  display: block !important;
  width: auto !important;
  height: 58px !important;
  max-width: min(300px, 44vw) !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

/* No mobile drawer on iPad/tablet: all navigation is visible like laptop. */
html.dak-tablet #navbar .hamburger {
  display: none !important;
}
html.dak-tablet .mobile-menu,
html.dak-tablet .mobile-menu.open,
html.dak-tablet .mobile-menu-backdrop,
html.dak-tablet .mobile-menu-backdrop.is-open {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.dak-tablet #navbar .nav-links {
  order: 3 !important;
  position: static !important;
  display: flex !important;
  flex: 1 0 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 5px !important;
  overflow: visible !important;
}

html.dak-tablet #navbar .nav-links > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 6px 9px !important;
  border-radius: 8px !important;
  color: var(--text, #1A2332) !important;
  font-size: 11.4px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
html.dak-tablet #navbar .nav-links > a:not(.nav-portal-btn):hover,
html.dak-tablet #navbar .nav-links > a:not(.nav-portal-btn):focus-visible {
  background: var(--gray, #F5F7FA) !important;
  color: var(--purple, #6B3FA0) !important;
}

html.dak-tablet #navbar .nav-links > a.nav-portal-btn,
html.dak-tablet #navbar .nav-links > a.nav-portal-btn:visited {
  color: #fff !important;
  background: linear-gradient(135deg,#6B3FA0 0%,#7B4CC4 100%) !important;
  border: 1px solid rgba(107,63,160,.28) !important;
  box-shadow: 0 5px 13px rgba(107,63,160,.11) !important;
  padding-inline: 10px !important;
}

/* Laptop-style appearance and language controls stay at the top right. */
html.dak-tablet #navbar .nav-links > .theme-control--desktop,
html.dak-tablet #navbar .nav-links > .lang-toggle {
  display: inline-flex !important;
  position: absolute !important;
  top: 14px !important;
  z-index: 2 !important;
}
html.dak-tablet #navbar .nav-links > .theme-control--desktop {
  inset-inline-end: 96px !important;
  margin: 0 !important;
}
html.dak-tablet #navbar .theme-trigger {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  border: 1px solid rgba(26,35,50,.13) !important;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(26,35,50,.06) !important;
}
html.dak-tablet #navbar .theme-trigger-text,
html.dak-tablet #navbar .theme-trigger-chevron {
  display: none !important;
}
html.dak-tablet #navbar .theme-trigger-icon,
html.dak-tablet #navbar .theme-trigger-icon svg {
  width: 21px !important;
  height: 21px !important;
}

html.dak-tablet #navbar .nav-links > .lang-toggle {
  inset-inline-end: 18px !important;
  min-width: 70px !important;
  width: 70px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  border: 1px solid rgba(26,35,50,.13) !important;
  background: #fff !important;
  color: var(--navy, #1A2332) !important;
  box-shadow: 0 5px 16px rgba(26,35,50,.06) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
html.dak-tablet #navbar .nav-links > .lang-toggle .lang-toggle-track {
  display: none !important;
}
html.dak-tablet #navbar .nav-links > .lang-toggle .lang-toggle-label {
  display: inline !important;
}

/* Dark theme keeps the exact same geometry. */
html.dak-tablet[data-theme="dark"] #navbar {
  background: rgba(12,25,40,.985) !important;
  border-bottom-color: rgba(255,255,255,.10) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.20) !important;
}
html.dak-tablet[data-theme="dark"] #navbar .nav-links > a:not(.nav-portal-btn) {
  color: #eef4f8 !important;
}
html.dak-tablet[data-theme="dark"] #navbar .theme-trigger,
html.dak-tablet[data-theme="dark"] #navbar .nav-links > .lang-toggle {
  background: #14243a !important;
  color: #eef4f8 !important;
  border-color: rgba(255,255,255,.13) !important;
}

/* Larger iPads can use a true single-row laptop header. */
@media (min-width: 1000px) {
  html.dak-tablet #navbar {
    min-height: 82px !important;
    height: 82px !important;
    padding: 0 14px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
  }
  html.dak-tablet #navbar .logo {
    height: 58px !important;
  }
  html.dak-tablet #navbar .logo img {
    height: 58px !important;
    max-height: 58px !important;
    max-width: 238px !important;
  }
  html.dak-tablet #navbar .nav-links {
    order: initial !important;
    position: static !important;
    flex: 1 1 auto !important;
    width: auto !important;
    margin-inline-start: auto !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 1px !important;
  }
  html.dak-tablet #navbar .nav-links > a {
    min-height: 32px !important;
    padding: 5px 5px !important;
    font-size: 10.1px !important;
  }
  html.dak-tablet #navbar .nav-links > a.nav-portal-btn {
    padding-inline: 7px !important;
  }
  html.dak-tablet #navbar .nav-links > .theme-control--desktop,
  html.dak-tablet #navbar .nav-links > .lang-toggle {
    position: static !important;
    inset: auto !important;
    flex: 0 0 auto !important;
  }
  html.dak-tablet #navbar .theme-trigger {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 10px !important;
  }
  html.dak-tablet #navbar .nav-links > .lang-toggle {
    width: 62px !important;
    min-width: 62px !important;
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 10px !important;
    padding-inline: 7px !important;
    font-size: 11px !important;
  }
}

/* Intermediate iPads: keep all links visible and readable without a drawer. */
@media (min-width: 700px) and (max-width: 999px) {
  html.dak-tablet #navbar .nav-links {
    padding-inline: 2px !important;
  }
  html.dak-tablet #navbar .nav-links > a {
    font-size: 11.2px !important;
    padding-inline: 8px !important;
  }
}

/* ======================================================================
   iPad logo visibility hard-fix
   Only one official lockup may be visible at a time. The generic tablet
   image rule above intentionally sizes logo images, but must not override
   the light/dark visibility rules from dark-mode.css.
   ====================================================================== */
html.dak-tablet #navbar .logo .logo-light {
  display: block !important;
}
html.dak-tablet #navbar .logo .logo-dark {
  display: none !important;
}
html.dak-tablet[data-theme="dark"] #navbar .logo .logo-light {
  display: none !important;
}
html.dak-tablet[data-theme="dark"] #navbar .logo .logo-dark {
  display: block !important;
}


/* ======================================================================
   iPad calendar/header single-row compact fix
   Keep all top navigation items on one row on iPad landscape and wide
   tablet widths, especially on Calendar where long labels + portals used
   to wrap into a second line.
   ====================================================================== */
@media (min-width: 1000px) and (max-width: 1199px) {
  html.dak-tablet #navbar {
    min-height: 76px !important;
    height: 76px !important;
    padding: 0 10px !important;
    gap: 6px !important;
  }
  html.dak-tablet #navbar .logo {
    height: 50px !important;
  }
  html.dak-tablet #navbar .logo img {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 180px !important;
  }
  html.dak-tablet #navbar .nav-links {
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    overflow: visible !important;
  }
  html.dak-tablet #navbar .nav-links > a {
    min-height: 30px !important;
    padding: 4px 4px !important;
    font-size: 9.2px !important;
    letter-spacing: -0.01em !important;
  }
  html.dak-tablet #navbar .nav-links > a.nav-portal-btn {
    padding-inline: 6px !important;
    border-radius: 8px !important;
  }
  html.dak-tablet #navbar .theme-trigger {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }
  html.dak-tablet #navbar .nav-links > .lang-toggle {
    width: 56px !important;
    min-width: 56px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding-inline: 6px !important;
    font-size: 10px !important;
  }
}


/* ======================================================================
   iPad Calendar — keep both portal buttons on one line
   Prevents "Portal" from wrapping below the campus name.
   Calendar page/tablet only.
   ====================================================================== */
@media (min-width: 700px) and (max-width: 1199px) {
  html.dak-tablet body.page-calendar #navbar .nav-links > a.nav-portal-btn,
  html.dak-tablet body.page-calendar #navbar .nav-links > a.nav-portal-btn:visited {
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-wrap: nowrap !important;
    line-height: 1 !important;
  }
}

/* Give the portals a little extra room on common iPad landscape widths
   without changing the approved laptop/desktop header. */
@media (min-width: 1000px) and (max-width: 1199px) {
  html.dak-tablet body.page-calendar #navbar .nav-links {
    column-gap: 0 !important;
  }
  html.dak-tablet body.page-calendar #navbar .nav-links > a.nav-portal-btn {
    padding-inline: 6px !important;
    font-size: 9px !important;
  }
}


/* DAK CSS: tablet-final-refinement.css */
/* ======================================================================
   DAK iPad / Tablet Final Refinement — 2026-09-23
   Tablet-only. Keeps approved phone + laptop/desktop layouts untouched.
   ====================================================================== */

/* ---------- Journey: retain the polished laptop visual language ---------- */
html.dak-tablet .journey-premium-card {
  max-width: 1080px !important;
  margin: 34px auto 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(26,35,50,.08) !important;
  box-shadow: 0 24px 62px rgba(26,35,50,.10) !important;
}

html.dak-tablet .journey-story-panel {
  padding: 40px 40px 34px !important;
  min-height: 450px !important;
}
html.dak-tablet .journey-story-top { margin-bottom: 28px !important; }
html.dak-tablet .journey-story-panel h3 {
  max-width: 560px !important;
  font-size: clamp(31px,4.2vw,40px) !important;
  line-height: 1.08 !important;
  margin-bottom: 12px !important;
}
html.dak-tablet .journey-story-panel p {
  max-width: 610px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin-bottom: 18px !important;
}

/* Undo the generic <=980px stacked-road treatment on real tablets. */
html.dak-tablet .glowing-journey-path {
  min-height: 238px !important;
  margin-top: 18px !important;
  padding: 0 !important;
  border-radius: 26px !important;
}
html.dak-tablet .journey-road {
  display: block !important;
  inset: 16px 18px 18px !important;
  width: calc(100% - 36px) !important;
  height: calc(100% - 34px) !important;
}
html.dak-tablet .journey-moving-light { display: block !important; }
html.dak-tablet .journey-road-step {
  position: absolute !important;
  width: 142px !important;
  margin: 0 !important;
  display: block !important;
  padding: 13px 13px 14px !important;
  border-radius: 20px !important;
  transform: none !important;
}
html.dak-tablet .journey-road-step .road-icon {
  margin: 0 0 9px !important;
  flex: none !important;
}
html.dak-tablet .journey-road-step.step-start {
  left: 20px !important;
  right: auto !important;
  bottom: 20px !important;
  top: auto !important;
}
html.dak-tablet .journey-road-step.step-grow {
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translate(-50%,-50%) !important;
}
html.dak-tablet .journey-road-step.step-grad {
  right: 20px !important;
  left: auto !important;
  top: 20px !important;
  bottom: auto !important;
}
html.dak-tablet[dir="rtl"] .journey-road-step.step-start,
html.dak-tablet[lang="ar"] .journey-road-step.step-start {
  right: 20px !important;
  left: auto !important;
}
html.dak-tablet[dir="rtl"] .journey-road-step.step-grad,
html.dak-tablet[lang="ar"] .journey-road-step.step-grad {
  left: 20px !important;
  right: auto !important;
}
html.dak-tablet .journey-path-pills {
  margin-top: 18px !important;
  justify-content: center !important;
  gap: 9px !important;
}

/* Laptop-like two-panel layout where tablet width genuinely allows it. */
@media (min-width: 1000px) {
  html.dak-tablet .journey-premium-card {
    grid-template-columns: minmax(0,1.08fr) minmax(360px,.82fr) !important;
  }
  html.dak-tablet .journey-story-panel,
  html.dak-tablet .journey-form-panel {
    min-height: 100% !important;
  }
}
@media (max-width: 999px) {
  html.dak-tablet .journey-premium-card { grid-template-columns: 1fr !important; }
}

/* ---------- Journey form: clean labels, no overlap, comfortable fields ---------- */
html.dak-tablet .journey-form-panel {
  padding: 34px 36px 36px !important;
}
html.dak-tablet .journey-form-panel::before { display: none !important; }
html.dak-tablet .journey-form-head {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
}
html.dak-tablet .journey-form-icon {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  flex: 0 0 50px !important;
}
html.dak-tablet .journey-form-head strong {
  font-size: 22px !important;
  line-height: 1.12 !important;
  margin: 0 0 5px !important;
}
html.dak-tablet .journey-form-head small {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
html.dak-tablet .journey-premium-inputs,
html.dak-tablet .journey-inputs {
  display: grid !important;
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr) !important;
  gap: 20px 18px !important;
  align-items: start !important;
}
html.dak-tablet .journey-premium-inputs .wide,
html.dak-tablet .journey-premium-btn,
html.dak-tablet .journey-input-group:first-child {
  grid-column: 1 / -1 !important;
}
html.dak-tablet .journey-input-group,
html.dak-tablet .journey-dob-field,
html.dak-tablet .journey-grade-field {
  position: static !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  align-self: start !important;
}
html.dak-tablet .journey-input-group label,
html.dak-tablet .journey-dob-field label,
html.dak-tablet .journey-grade-field label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  text-align: start !important;
  white-space: normal !important;
}
html.dak-tablet .journey-premium-inputs input,
html.dak-tablet .journey-premium-inputs select,
html.dak-tablet .journey-premium-inputs input[type="date"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 15px !important;
  box-sizing: border-box !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html.dak-tablet .journey-premium-inputs select:disabled {
  opacity: 1 !important;
  -webkit-text-fill-color: currentColor !important;
}
html.dak-tablet .journey-premium-btn {
  min-height: 56px !important;
  margin: 0 !important;
  border-radius: 15px !important;
  font-size: 15px !important;
}

@media (max-width: 760px) {
  html.dak-tablet .journey-form-panel { padding: 30px 26px 32px !important; }
  html.dak-tablet .journey-premium-inputs,
  html.dak-tablet .journey-inputs { grid-template-columns: 1fr !important; }
  html.dak-tablet .journey-dob-field,
  html.dak-tablet .journey-grade-field { grid-column: 1 / -1 !important; }
}

/* ---------- Tablet footer: compact, laptop-like, no white wedges ---------- */
html.dak-tablet .newsletter {
  margin: 0 !important;
  padding-bottom: 0 !important;
  background: linear-gradient(135deg,#10263d 0%,#15283c 54%,#241d3a 100%) !important;
}
html.dak-tablet .newsletter-card {
  margin-bottom: 0 !important;
}
html.dak-tablet .newsletter + .footer,
html.dak-tablet .footer {
  margin-top: 0 !important;
  border-radius: 0 !important;
}
html.dak-tablet .footer {
  padding: 34px 30px 24px !important;
  overflow: hidden !important;
}
html.dak-tablet .footer-grid {
  width: min(100%,1120px) !important;
  grid-template-columns: minmax(0,1.45fr) minmax(150px,.75fr) minmax(150px,.75fr) !important;
  gap: 32px !important;
  margin: 0 auto 22px !important;
  align-items: start !important;
}
html.dak-tablet .footer-grid > div:first-child,
html.dak-tablet .footer-col {
  min-width: 0 !important;
}
html.dak-tablet .footer-brand-name { font-size: 19px !important; margin-bottom: 9px !important; }
html.dak-tablet .footer-brand-name span { font-size: 10.5px !important; }
html.dak-tablet .footer-desc {
  font-size: 12.5px !important;
  line-height: 1.58 !important;
  margin-bottom: 12px !important;
  max-width: 480px !important;
}
html.dak-tablet .footer-contact {
  font-size: 12.5px !important;
  line-height: 1.75 !important;
}
html.dak-tablet .footer-col h4 {
  margin-bottom: 12px !important;
  font-size: 11px !important;
}
html.dak-tablet .footer-col ul li { margin-bottom: 7px !important; }
html.dak-tablet .footer-col ul li a { font-size: 12.5px !important; }
html.dak-tablet .footer-bottom {
  width: min(100%,1120px) !important;
  margin: 0 auto !important;
  padding-top: 17px !important;
  gap: 12px 20px !important;
  font-size: 11.5px !important;
  flex-wrap: wrap !important;
}
html.dak-tablet .footer-bottom-links {
  gap: 14px !important;
  flex-wrap: wrap !important;
}
html.dak-tablet .footer-bottom-links a { font-size: 11.5px !important; }

@media (max-width: 900px) {
  html.dak-tablet .footer { padding: 30px 26px 22px !important; }
  html.dak-tablet .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 24px 30px !important;
  }
  html.dak-tablet .footer-grid > div:first-child {
    grid-column: 1 / -1 !important;
  }
  html.dak-tablet .footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
}


/* ======================================================================
   DAK iPad / Tablet Journey Form Clean Fix — 2026-09-23
   Final tablet-only override. Keeps phone and laptop/desktop untouched.
   ====================================================================== */
html.dak-tablet .journey-premium-inputs,
html.dak-tablet .journey-inputs {
  grid-template-columns: minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
html.dak-tablet .journey-premium-inputs .wide,
html.dak-tablet .journey-premium-inputs .compact,
html.dak-tablet .journey-dob-field,
html.dak-tablet .journey-grade-field,
html.dak-tablet .journey-premium-btn,
html.dak-tablet .journey-input-group:first-child {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
html.dak-tablet .journey-input-group,
html.dak-tablet .journey-dob-field,
html.dak-tablet .journey-grade-field {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 7px !important;
  min-width: 0 !important;
  width: 100% !important;
  align-items: stretch !important;
}
html.dak-tablet .journey-input-group label,
html.dak-tablet .journey-dob-field label,
html.dak-tablet .journey-grade-field label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html.dak-tablet .journey-premium-inputs input,
html.dak-tablet .journey-premium-inputs input[type="date"],
html.dak-tablet .journey-premium-inputs select {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  font-size: 16px !important;
  line-height: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html.dak-tablet .journey-premium-inputs select {
  padding-inline-end: 44px !important;
}
html.dak-tablet .journey-premium-inputs select:disabled {
  opacity: .9 !important;
  cursor: default !important;
}
html.dak-tablet .journey-premium-btn {
  min-height: 56px !important;
  height: auto !important;
  margin-top: 2px !important;
  padding: 14px 18px !important;
  border-radius: 15px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}
/* Give the tablet form its own calm readable measure. */
html.dak-tablet .journey-form-panel {
  min-width: 0 !important;
}
@media (max-width: 999px) {
  html.dak-tablet .journey-form-panel {
    padding: 30px 30px 32px !important;
  }
}
@media (max-width: 780px) {
  html.dak-tablet .journey-form-panel {
    padding: 28px 24px 30px !important;
  }
  html.dak-tablet .journey-form-head strong {
    font-size: 21px !important;
  }
}

/* 2026-09-23 — iPad/tablet DOB value alignment polish */
html.dak-tablet #journeyDob {
  text-align: center !important;
  text-align-last: center !important;
  padding-inline: 46px !important;
  line-height: 56px !important;
}
html.dak-tablet #journeyDob::-webkit-date-and-time-value {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
html.dak-tablet #journeyDob::-webkit-datetime-edit {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
html.dak-tablet #journeyDob::-webkit-datetime-edit-fields-wrapper {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
html.dak-tablet #journeyDob::-webkit-calendar-picker-indicator {
  margin: 0 !important;
}


/* DAK CSS: tablet-journey-stability.css */
/* DAK Tablet Journey Stability Fix — 2026-09-23
   Tablet-only. Prevents iPad form stretching, clipping and awkward field layout. */
html.dak-tablet .journey-premium-section,
html.dak-tablet .journey-premium-section .container {
  overflow-x: clip !important;
}

html.dak-tablet .journey-premium-card {
  width: calc(100% - 40px) !important;
  max-width: 1120px !important;
  min-width: 0 !important;
  margin: 30px auto 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html.dak-tablet .journey-story-panel,
html.dak-tablet .journey-form-panel {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* The form itself stays calm and readable on tablets. */
html.dak-tablet .journey-form-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px 32px 32px !important;
}

html.dak-tablet .journey-form-head {
  margin: 0 0 22px !important;
  padding: 0 0 18px !important;
}

html.dak-tablet .journey-premium-inputs,
html.dak-tablet .journey-inputs {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

html.dak-tablet .journey-premium-inputs .wide,
html.dak-tablet .journey-premium-inputs .compact,
html.dak-tablet .journey-premium-btn,
html.dak-tablet .journey-input-group {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.dak-tablet .journey-input-group,
html.dak-tablet .journey-dob-field,
html.dak-tablet .journey-grade-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  overflow: visible !important;
}

html.dak-tablet .journey-input-group label,
html.dak-tablet .journey-dob-field label,
html.dak-tablet .journey-grade-field label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: start !important;
  white-space: normal !important;
}

html.dak-tablet .journey-premium-inputs input,
html.dak-tablet .journey-premium-inputs select,
html.dak-tablet .journey-premium-inputs input[type="date"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  font-size: 16px !important;
  line-height: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.dak-tablet .journey-premium-inputs input[type="date"] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  padding-inline: 14px !important;
}

html.dak-tablet .journey-premium-inputs select {
  padding-inline-end: 42px !important;
}

html.dak-tablet .journey-premium-btn {
  min-height: 56px !important;
  height: auto !important;
  margin: 2px 0 0 !important;
  padding: 13px 18px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

/* Portrait iPads: one calm vertical composition. */
@media (max-width: 899px) {
  html.dak-tablet .journey-premium-card {
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important;
  }
  html.dak-tablet .journey-story-panel {
    padding: 34px 30px 30px !important;
  }
  html.dak-tablet .journey-form-panel {
    padding: 28px 30px 30px !important;
  }
}

/* Landscape / larger tablets: use the laptop-style two-panel composition,
   while keeping the form controls stacked so they never crush each other. */
@media (min-width: 900px) {
  html.dak-tablet .journey-premium-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
    gap: 0 !important;
  }
  html.dak-tablet .journey-story-panel {
    min-height: 100% !important;
    padding: 38px 36px 34px !important;
  }
  html.dak-tablet .journey-form-panel {
    min-height: 100% !important;
    padding: 34px 32px !important;
  }
}

html.dak-tablet[dir="rtl"] .journey-premium-inputs input,
html.dak-tablet[dir="rtl"] .journey-premium-inputs select,
html.dak-tablet[lang="ar"] .journey-premium-inputs input,
html.dak-tablet[lang="ar"] .journey-premium-inputs select {
  text-align: right !important;
}


/* DAK CSS: all-pages-phone-card-polish.css */

/* =================================================================
   DAK — ALL INNER PAGES PHONE CARD POLISH V1.3
   Phone only (<=620px). iPad / Tablet / Laptop / Desktop unchanged.
   Purpose: smaller, calmer, more consistent cards without harming
   readability, touch targets, tables, forms, or branded identities.
   ================================================================= */
@media (max-width:620px){

  body.dak-inner-page{
    --pc-radius:16px;
    --pc-radius-lg:18px;
    --pc-pad:15px;
    --pc-gap:10px;
    --pc-shadow:0 8px 22px rgba(26,35,50,.065);
  }

  /* ---------------------------------------------------------------
     Shared card rhythm
     --------------------------------------------------------------- */
  body.dak-inner-page :is(
    .team-general,
    .branch-detail,
    .home-adm-panel,
    .home-adm-card,
    .step-card,
    .dress-card,
    .faq-item,
    .calendar-board,
    .month-card,
    .key-card,
    .events-calendar,
    .event-item,
    .contact-form-card,
    .office-hours-card,
    .map-card,
    .info-card,
    .facility-card,
    .bus-card,
    .pa-route-box,
    .pa-route-card,
    .pa-route-mini,
    .pa-workspace,
    .pa-question-wrap,
    .pa-option,
    .pa-result-card,
    .pa-result-section,
    .pa-official-resource,
    .pa-ig-verified,
    .pa-verified-section,
    .fv-form,
    .fv-result,
    .fv-poster-frame,
    .prog-full-card,
    .subject-item,
    .curriculum-card,
    .credential-card,
    .error-card
  ){
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body.dak-inner-page :is(
    .team-general,
    .branch-detail,
    .home-adm-panel,
    .step-card,
    .dress-card,
    .faq-item,
    .month-card,
    .key-card,
    .contact-form-card,
    .office-hours-card,
    .map-card,
    .info-card,
    .facility-card,
    .bus-card,
    .pa-route-box,
    .pa-route-card,
    .pa-workspace,
    .pa-question-wrap,
    .pa-result-card,
    .pa-result-section,
    .pa-official-resource,
    .pa-verified-section,
    .fv-form,
    .fv-result,
    .prog-full-card,
    .curriculum-card,
    .credential-card,
    .error-card
  ){
    border-radius:var(--pc-radius-lg) !important;
    box-shadow:var(--pc-shadow) !important;
  }

  /* Touch devices should not jump on hover */
  body.dak-inner-page :is(
    .branch-detail,.home-adm-card,.step-card,.dress-card,.faq-item,
    .month-card,.key-card,.event-item,.info-card,.facility-card,.bus-card,
    .pa-route-card,.pa-route-mini,.pa-option,.pa-result-section,
    .subject-item,.curriculum-card,.credential-card
  ):hover{
    transform:none !important;
  }

  /* ---------------------------------------------------------------
     ABOUT — Mission / Values / Campuses
     --------------------------------------------------------------- */
  body.dak-inner-page .mission-grid{
    gap:10px !important;
  }
  body.dak-inner-page .mission-card{
    min-height:0 !important;
    padding:18px 16px !important;
    border-radius:17px !important;
  }
  body.dak-inner-page .mission-card h3{
    margin-bottom:8px !important;
    font-size:19px !important;
    line-height:1.18 !important;
  }
  body.dak-inner-page .mission-card > p{
    font-size:12.5px !important;
    line-height:1.58 !important;
  }
  body.dak-inner-page .mission-card.values .values-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:14px !important;
  }
  body.dak-inner-page .mission-card.values .value-item{
    padding:4px 2px !important;
  }
  body.dak-inner-page .value-icon{
    margin-bottom:5px !important;
    font-size:22px !important;
  }
  body.dak-inner-page .value-title{
    font-size:11.5px !important;
  }
  body.dak-inner-page .value-desc{
    font-size:10.5px !important;
    line-height:1.45 !important;
  }
  body.dak-inner-page .team-general{
    margin-top:20px !important;
    padding:18px 16px !important;
  }
  body.dak-inner-page .team-general p{
    font-size:12.5px !important;
    line-height:1.65 !important;
  }
  body.dak-inner-page .branch-detail-grid{
    gap:11px !important;
    margin-top:28px !important;
  }
  body.dak-inner-page .branch-detail-header{
    min-height:118px !important;
    padding:19px 17px !important;
  }
  body.dak-inner-page .branch-detail-header h3{
    margin-bottom:5px !important;
    font-size:24px !important;
  }
  body.dak-inner-page .branch-detail-header p{
    font-size:10px !important;
  }
  body.dak-inner-page .branch-detail-body{
    padding:15px !important;
  }
  body.dak-inner-page .branch-detail-row{
    gap:5px !important;
    padding:11px 13px !important;
    box-sizing:border-box !important;
  }
  body.dak-inner-page .branch-detail-row strong{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.4 !important;
  }
  body.dak-inner-page .branch-detail-row span{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11.5px !important;
    line-height:1.52 !important;
    overflow-wrap:anywhere !important;
  }
  body.dak-inner-page .branch-detail-row a{
    display:inline !important;
    line-height:1.52 !important;
    overflow-wrap:anywhere !important;
  }

  /* ---------------------------------------------------------------
     ADMISSION REQUIREMENTS
     --------------------------------------------------------------- */
  body.dak-inner-page .home-adm-grid{
    gap:11px !important;
  }
  body.dak-inner-page .home-adm-panel{
    padding:16px !important;
  }
  body.dak-inner-page .home-adm-panel-top{
    margin-bottom:12px !important;
  }
  body.dak-inner-page .home-adm-panel-top h3{
    font-size:20px !important;
    line-height:1.16 !important;
  }
  body.dak-inner-page .home-adm-panel-top p{
    font-size:11.5px !important;
    line-height:1.55 !important;
  }
  body.dak-inner-page .home-adm-cards{
    gap:8px !important;
    margin-top:12px !important;
  }
  body.dak-inner-page .home-adm-card{
    gap:9px !important;
    padding:11px 12px !important;
    border-radius:13px !important;
    box-shadow:none !important;
  }
  body.dak-inner-page .home-adm-card span{
    margin-top:1px !important;
    font-size:16px !important;
  }
  body.dak-inner-page .home-adm-card strong{
    font-size:11.5px !important;
    line-height:1.45 !important;
  }
  body.dak-inner-page .home-adm-side-cta{
    gap:12px !important;
  }
  body.dak-inner-page .home-adm-cta-title{
    font-size:16px !important;
  }
  body.dak-inner-page .home-adm-cta-sub{
    font-size:11px !important;
    line-height:1.5 !important;
  }

  /* ---------------------------------------------------------------
     ADMISSIONS — Steps / Dress cards
     --------------------------------------------------------------- */
  body.dak-inner-page .steps-grid,
  body.dak-inner-page .dress-grid{
    gap:10px !important;
  }
  body.dak-inner-page .step-card,
  body.dak-inner-page .dress-card{
    min-height:0 !important;
    padding:16px 14px !important;
  }
  body.dak-inner-page .step-num{
    width:36px !important;
    height:36px !important;
    margin-bottom:9px !important;
    font-size:15px !important;
  }
  body.dak-inner-page .step-card h3,
  body.dak-inner-page .dress-card h3{
    margin-bottom:6px !important;
    font-size:16.5px !important;
    line-height:1.24 !important;
  }
  body.dak-inner-page .step-card p,
  body.dak-inner-page .dress-card p,
  body.dak-inner-page .dress-card li{
    font-size:11.5px !important;
    line-height:1.55 !important;
  }
  body.dak-inner-page .dress-card ul li{
    padding:6px 0 !important;
  }

  /* ---------------------------------------------------------------
     FAQ — tighter but touch-safe
     --------------------------------------------------------------- */
  body.dak-inner-page .faq-list{
    gap:8px !important;
  }
  body.dak-inner-page .faq-item{
    border-radius:14px !important;
    box-shadow:0 5px 16px rgba(26,35,50,.055) !important;
  }
  body.dak-inner-page .faq-question{
    min-height:58px !important;
    grid-template-columns:34px minmax(0,1fr) 30px !important;
    gap:9px !important;
    padding:11px 12px !important;
    font-size:12.5px !important;
    line-height:1.42 !important;
  }
  body.dak-inner-page .faq-num{
    width:34px !important;
    height:34px !important;
    border-radius:11px !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page .faq-arrow{
    width:30px !important;
    height:30px !important;
    font-size:13px !important;
  }
  body.dak-inner-page .faq-answer{
    padding-left:55px !important;
    padding-right:12px !important;
    font-size:11.5px !important;
    line-height:1.62 !important;
  }
  body[dir="rtl"].dak-inner-page .faq-answer,
  html[dir="rtl"] body.dak-inner-page .faq-answer{
    padding-right:55px !important;
    padding-left:12px !important;
  }

  /* ---------------------------------------------------------------
     CALENDAR — cards only; table/grid logic preserved
     --------------------------------------------------------------- */
  body.dak-inner-page.page-calendar .calendar-shell{
    gap:12px !important;
  }
  body.dak-inner-page.page-calendar .calendar-board{
    padding:12px !important;
    border-radius:18px !important;
  }
  body.dak-inner-page.page-calendar .month-grid{
    gap:9px !important;
  }
  body.dak-inner-page.page-calendar .month-card{
    border-radius:14px !important;
    overflow:hidden !important;
  }
  body.dak-inner-page.page-calendar .month-head{
    padding:9px 10px !important;
  }
  body.dak-inner-page.page-calendar .month-title{
    font-size:14px !important;
  }
  body.dak-inner-page.page-calendar .month-eyebrow{
    font-size:8px !important;
  }
  body.dak-inner-page.page-calendar .month-note{
    padding:8px 9px !important;
    font-size:9px !important;
    line-height:1.4 !important;
  }
  body.dak-inner-page.page-calendar .key-panel{
    gap:9px !important;
  }
  body.dak-inner-page.page-calendar .key-card{
    padding:13px 12px !important;
    border-radius:14px !important;
  }
  body.dak-inner-page.page-calendar .key-date{
    font-size:12px !important;
  }
  body.dak-inner-page.page-calendar .key-text{
    font-size:10.5px !important;
    line-height:1.45 !important;
  }
  body.dak-inner-page.page-calendar .events-calendar{
    border-radius:16px !important;
  }
  body.dak-inner-page.page-calendar .events-calendar-head{
    gap:10px !important;
    padding:16px 14px !important;
  }
  body.dak-inner-page.page-calendar .events-title{
    font-size:23px !important;
  }
  body.dak-inner-page.page-calendar .events-subtitle{
    font-size:11px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page.page-calendar .events-body{
    gap:10px !important;
    padding:12px !important;
  }
  body.dak-inner-page.page-calendar .event-item{
    grid-template-columns:48px 30px minmax(0,1fr) !important;
    gap:6px !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }
  body.dak-inner-page.page-calendar .event-symbol{
    width:29px !important;
    height:29px !important;
    border-radius:9px !important;
  }
  body.dak-inner-page.page-calendar .event-copy strong{
    font-size:11.5px !important;
    line-height:1.4 !important;
  }
  body.dak-inner-page.page-calendar .event-type{
    font-size:8px !important;
  }
  body.dak-inner-page.page-calendar .events-side{
    gap:9px !important;
  }

  /* ---------------------------------------------------------------
     CONTACT + CAMPUS DETAIL PAGES
     --------------------------------------------------------------- */
  body.dak-inner-page .contact-grid,
  body.dak-inner-page .info-grid{
    gap:11px !important;
  }
  body.dak-inner-page :is(.contact-form-card,.office-hours-card,.info-card){
    padding:17px 15px !important;
  }
  body.dak-inner-page .info-card h2,
  body.dak-inner-page .info-card h3,
  body.dak-inner-page .contact-form-card h2,
  body.dak-inner-page .office-hours-card h3{
    font-size:20px !important;
    line-height:1.18 !important;
  }
  body.dak-inner-page .info-card p{
    margin-bottom:12px !important;
    font-size:12px !important;
    line-height:1.58 !important;
  }
  body.dak-inner-page .info-row{
    gap:4px !important;
    padding:9px 0 !important;
  }
  body.dak-inner-page .info-row .lbl{
    font-size:10.5px !important;
  }
  body.dak-inner-page .info-row .val{
    font-size:11.5px !important;
    line-height:1.45 !important;
  }
  body.dak-inner-page .info-icon{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:17px !important;
  }
  body.dak-inner-page .map-card{
    border-radius:17px !important;
  }
  body.dak-inner-page .map-card iframe{
    height:230px !important;
  }
  body.dak-inner-page .map-open{
    min-height:44px !important;
    padding:10px 12px !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page .hours-row-item{
    padding:12px 14px !important;
    gap:10px !important;
    font-size:11.5px !important;
    border-radius:15px !important;
    box-sizing:border-box !important;
  }
  body.dak-inner-page .hours-row-item strong{
    display:block !important;
    margin:0 !important;
    line-height:1.22 !important;
  }
  body.dak-inner-page .hours-row-item small{
    display:block !important;
    margin-top:4px !important;
    line-height:1.4 !important;
  }
  body.dak-inner-page .hours-row-item span{
    line-height:1.2 !important;
  }
  body.dak-inner-page .portal-big{
    min-height:44px !important;
    padding:9px 13px !important;
    font-size:11px !important;
  }
  body.dak-inner-page .portal-big::after{
    width:25px !important;
    height:25px !important;
    font-size:13px !important;
  }

  /* Contact office card remains fully usable */
  body.dak-inner-page .office-status-card{
    padding:14px !important;
    border-radius:16px !important;
  }
  body.dak-inner-page .office-status-title{
    font-size:13px !important;
  }
  body.dak-inner-page .office-status-note{
    font-size:10.5px !important;
  }
  body.dak-inner-page .office-status-actions{
    gap:7px !important;
  }
  body.dak-inner-page .office-status-action{
    min-height:42px !important;
    padding:8px 10px !important;
    font-size:10px !important;
  }

  /* ---------------------------------------------------------------
     FACILITIES
     --------------------------------------------------------------- */
  body.dak-inner-page .facilities-grid,
  body.dak-inner-page .bus-grid{
    gap:10px !important;
  }
  body.dak-inner-page .facility-card,
  body.dak-inner-page .bus-card{
    min-height:0 !important;
    padding:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }
  body.dak-inner-page .facility-header{
    padding:15px 14px !important;
  }
  body.dak-inner-page .facility-icon{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:18px !important;
  }
  body.dak-inner-page .facility-header h3{
    font-size:17px !important;
  }
  body.dak-inner-page .facility-body{
    padding:14px !important;
    font-size:11.5px !important;
    line-height:1.55 !important;
  }
  body.dak-inner-page .activity-chip{
    padding:5px 8px !important;
    font-size:9px !important;
  }

  /* ---------------------------------------------------------------
     STUDENT PATHWAY ADVISOR
     --------------------------------------------------------------- */
  body.dak-inner-page.pa-page .pa-shell{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  body.dak-inner-page.pa-page .pa-route-box{
    padding:15px !important;
  }
  body.dak-inner-page.pa-page .pa-route-box-head{
    margin-bottom:11px !important;
  }
  body.dak-inner-page.pa-page .pa-route-box-title{
    font-size:21px !important;
  }
  body.dak-inner-page.pa-page .pa-route-mini{
    min-height:58px !important;
    gap:9px !important;
    padding:10px 11px !important;
    border-radius:14px !important;
  }
  body.dak-inner-page.pa-page .pa-route-mini-code{
    width:36px !important;
    height:36px !important;
    border-radius:11px !important;
    font-size:12px !important;
  }
  body.dak-inner-page.pa-page .pa-route-mini strong{
    font-size:11.5px !important;
  }
  body.dak-inner-page.pa-page .pa-route-mini small{
    font-size:9px !important;
  }
  body.dak-inner-page.pa-page .pa-route-grid{
    gap:10px !important;
  }
  body.dak-inner-page.pa-page .pa-route-card{
    min-height:0 !important;
    padding:16px 15px !important;
    border-radius:16px !important;
  }
  body.dak-inner-page.pa-page .pa-route-top{
    margin-bottom:13px !important;
  }
  body.dak-inner-page.pa-page .pa-route-tag{
    font-size:8.5px !important;
  }
  body.dak-inner-page.pa-page .pa-route-number{
    font-size:11px !important;
  }
  body.dak-inner-page.pa-page .pa-route-card h3{
    margin-bottom:7px !important;
    font-size:20px !important;
    line-height:1.12 !important;
  }
  body.dak-inner-page.pa-page .pa-route-card p{
    font-size:11px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page.pa-page .pa-route-meta{
    gap:5px !important;
    margin-top:11px !important;
  }
  body.dak-inner-page.pa-page .pa-route-meta span{
    padding:5px 7px !important;
    font-size:8.5px !important;
  }
  body.dak-inner-page.pa-page .pa-route-cta{
    min-height:42px !important;
    margin-top:12px !important;
    font-size:10px !important;
  }
  body.dak-inner-page.pa-page .pa-workspace{
    padding:13px !important;
  }
  body.dak-inner-page.pa-page .pa-workspace-top{
    gap:8px !important;
    margin-bottom:11px !important;
  }
  body.dak-inner-page.pa-page .pa-question-wrap{
    padding:15px !important;
    border-radius:16px !important;
  }
  body.dak-inner-page.pa-page .pa-question-title{
    font-size:20px !important;
    line-height:1.14 !important;
  }
  body.dak-inner-page.pa-page .pa-question-sub{
    font-size:11px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page.pa-page .pa-options{
    gap:8px !important;
  }
  body.dak-inner-page.pa-page .pa-option{
    min-height:52px !important;
    padding:10px 11px !important;
    border-radius:13px !important;
  }
  body.dak-inner-page.pa-page .pa-option strong{
    font-size:11.5px !important;
  }
  body.dak-inner-page.pa-page .pa-option small{
    font-size:9.5px !important;
    line-height:1.4 !important;
  }
  body.dak-inner-page.pa-page .pa-result-card{
    padding:15px !important;
  }
  body.dak-inner-page.pa-page .pa-result-grid{
    gap:9px !important;
  }
  body.dak-inner-page.pa-page .pa-result-section{
    padding:13px !important;
    border-radius:14px !important;
  }
  body.dak-inner-page.pa-page .pa-result-section h3{
    font-size:14px !important;
  }
  body.dak-inner-page.pa-page .pa-result-section :is(li,p){
    font-size:10.5px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page.pa-page .pa-mini-row{
    padding:8px 0 !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page.pa-page .pa-official-resource{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:10px !important;
    padding:13px !important;
  }
  body.dak-inner-page.pa-page .pa-official-resource-mark{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
  }
  body.dak-inner-page.pa-page .pa-ig-verified{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:10px !important;
    padding:13px !important;
    border-radius:14px !important;
  }
  body.dak-inner-page.pa-page .pa-ig-verified-mark{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
  }
  body.dak-inner-page.pa-page .pa-ig-verified-copy strong{
    font-size:11.5px !important;
  }
  body.dak-inner-page.pa-page .pa-ig-verified-copy p{
    font-size:9.5px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page.pa-page .pa-source-actions,
  body.dak-inner-page.pa-page .pa-result-actions{
    gap:7px !important;
  }
  body.dak-inner-page.pa-page .pa-btn,
  body.dak-inner-page.pa-page .pa-source-link{
    min-height:42px !important;
    padding:8px 10px !important;
    font-size:9.5px !important;
  }

  /* ---------------------------------------------------------------
     FUTURE VISION
     --------------------------------------------------------------- */
  body.dak-inner-page .fv-wrap{
    gap:11px !important;
  }
  body.dak-inner-page .fv-form{
    padding:17px 15px !important;
    border-radius:17px !important;
  }
  body.dak-inner-page .fv-form-title{
    font-size:21px !important;
    line-height:1.16 !important;
  }
  body.dak-inner-page .fv-form-sub{
    font-size:11.5px !important;
    line-height:1.5 !important;
  }
  body.dak-inner-page .fv-field{
    margin-bottom:11px !important;
  }
  body.dak-inner-page .fv-label{
    margin-bottom:5px !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page :is(.fv-input,.fv-select){
    min-height:44px !important;
    padding:9px 11px !important;
    border-radius:12px !important;
    font-size:16px !important; /* prevents iOS input zoom */
  }
  body.dak-inner-page .fv-dreams{
    gap:7px !important;
  }
  body.dak-inner-page .fv-dreams button{
    min-height:44px !important;
    padding:8px 9px !important;
    border-radius:12px !important;
    font-size:10px !important;
  }
  body.dak-inner-page .fv-generate-btn,
  body.dak-inner-page .fv-action-btn{
    min-height:44px !important;
    padding:9px 12px !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page .fv-result{
    padding:14px !important;
    border-radius:17px !important;
  }
  body.dak-inner-page .fv-poster-frame{
    border-radius:16px !important;
  }

  /* ---------------------------------------------------------------
     PROGRAMMES — programme panels / subject / credentials
     --------------------------------------------------------------- */
  body.dak-inner-page .prog-tabs{
    gap:6px !important;
  }
  body.dak-inner-page .prog-tab{
    min-height:42px !important;
    padding:7px 10px !important;
    font-size:10px !important;
  }
  body.dak-inner-page .prog-full-card{
    border-radius:17px !important;
  }
  body.dak-inner-page .prog-full-left,
  body.dak-inner-page .prog-full-right{
    padding:17px 15px !important;
  }
  body.dak-inner-page .prog-full-left .icon{
    margin-bottom:10px !important;
    font-size:36px !important;
  }
  body.dak-inner-page .prog-full-left h2{
    font-size:22px !important;
  }
  body.dak-inner-page .prog-full-left p,
  body.dak-inner-page .prog-full-right p{
    font-size:11.5px !important;
    line-height:1.55 !important;
  }
  body.dak-inner-page .secondary-programmes{
    gap:5px !important;
    margin-bottom:10px !important;
  }
  body.dak-inner-page .secondary-programme{
    min-height:36px !important;
    padding:7px 9px !important;
    border-radius:10px !important;
    font-size:10px !important;
  }
  body.dak-inner-page .subject-grid{
    gap:7px !important;
    margin-bottom:18px !important;
  }
  body.dak-inner-page .subject-item{
    min-height:76px !important;
    padding:10px 8px !important;
    border-radius:12px !important;
    gap:7px !important;
    font-size:10.5px !important;
  }
  body.dak-inner-page .subject-item span{
    font-size:15px !important;
  }
  body.dak-inner-page .prog-features{
    margin-bottom:18px !important;
  }
  body.dak-inner-page .prog-features li{
    gap:7px !important;
    padding:6px 0 !important;
    font-size:10.5px !important;
    line-height:1.48 !important;
  }
  body.dak-inner-page .curriculum-grid{
    gap:9px !important;
  }
  body.dak-inner-page .curriculum-card,
  body.dak-inner-page .credential-card{
    min-height:0 !important;
    padding:14px !important;
    border-radius:16px !important;
  }
  body.dak-inner-page .credential-stage{
    min-height:118px !important;
    border-radius:13px !important;
  }
  body.dak-inner-page .credential-logo-frame{
    min-height:86px !important;
    padding:8px !important;
  }
  body.dak-inner-page .credential-copy{
    padding-top:11px !important;
  }
  body.dak-inner-page .credential-copy h3{
    font-size:16.5px !important;
    line-height:1.2 !important;
  }
  body.dak-inner-page .credential-copy p{
    font-size:10.5px !important;
    line-height:1.5 !important;
  }

  /* ---------------------------------------------------------------
     404 / simple utility cards
     --------------------------------------------------------------- */
  body.dak-inner-page .error-card{
    padding:20px 16px !important;
  }
}

/* Very narrow phones: small final trim, no squeezed controls. */
@media (max-width:360px){
  body.dak-inner-page .hours-row-item{
    padding:11px 12px !important;
  }

  body.dak-inner-page .branch-detail-row{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body.dak-inner-page :is(
    .mission-card,.team-general,.branch-detail-body,.home-adm-panel,
    .step-card,.dress-card,.contact-form-card,.office-hours-card,.info-card,
    .pa-route-card,.pa-question-wrap,.pa-result-card,.fv-form,.fv-result,
    .prog-full-left,.prog-full-right,.curriculum-card,.credential-card
  ){
    padding-left:13px !important;
    padding-right:13px !important;
  }

  body.dak-inner-page.pa-page .pa-route-card h3,
  body.dak-inner-page .prog-full-left h2{
    font-size:19px !important;
  }

  body.dak-inner-page.page-calendar .event-item{
    grid-template-columns:45px 28px minmax(0,1fr) !important;
  }
}


/* DAK CSS: site-life.css */
/* ================================================================
   DAK SITE LIFE V2.6
   Quiet page/scroll motion. No content is hidden if JavaScript fails.
   ================================================================ */
body.dak-life-ready{animation:dakLifePageSettle .32s ease-out}
.dak-life-watch.dak-life-inview{animation:dakLifeSectionIn .58s cubic-bezier(.2,.72,.2,1)}
@keyframes dakLifePageSettle{from{opacity:.985}to{opacity:1}}
@keyframes dakLifeSectionIn{from{opacity:.94;transform:translateY(8px)}to{opacity:1;transform:none}}

/* A very quiet ambient drift on large screens only; keeps mobile GPU work low. */
@media (min-width:701px) and (prefers-reduced-motion:no-preference){
  .dak-live-section::before{animation:dakLifeGridDrift 24s ease-in-out infinite alternate}
  .branches-section::before{animation:dakLifeGlowA 18s ease-in-out infinite alternate}
  .branches-section::after{animation:dakLifeGlowB 22s ease-in-out infinite alternate}
}
@keyframes dakLifeGridDrift{from{transform:translate3d(-5px,-3px,0)}to{transform:translate3d(7px,5px,0)}}
@keyframes dakLifeGlowA{from{transform:translate3d(-5px,0,0) scale(.98)}to{transform:translate3d(10px,8px,0) scale(1.04)}}
@keyframes dakLifeGlowB{from{transform:translate3d(5px,3px,0) scale(1)}to{transform:translate3d(-9px,-5px,0) scale(1.035)}}

/* Touch acknowledgement without changing layouts. */
@media (hover:none){
  :where(.branch-link,.ql-card,.dak-live-calendar-link,.dak-live-card-link,.dak-live-mini-link,.office-status-action):active{transform:scale(.985)}
}

@media (prefers-reduced-motion:reduce){
  body.dak-life-ready,.dak-life-watch.dak-life-inview{animation:none!important}
  .dak-live-section::before,.branches-section::before,.branches-section::after{animation:none!important}
}


/* DAK CSS: quality-production.css */
/* ================================================================
   DAK PRODUCTION QUALITY LAYER — V7.8
   Non-layout polish only. Keeps approved responsive geometry intact.
   ================================================================ */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  scroll-padding-top: 96px;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button,
input,
select,
textarea {
  font: inherit;
}

img,
svg {
  max-width: 100%;
}

img {
  image-rendering: auto;
}

a,
button,
[role="button"],
input,
select,
textarea {
  touch-action: manipulation;
}

::selection {
  background: rgba(0, 188, 212, .22);
  color: #142436;
}

html[data-theme="dark"] ::selection {
  background: rgba(0, 188, 212, .34);
  color: #ffffff;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(0, 188, 212, .48);
  outline-offset: 3px;
}

@supports (text-wrap: balance) {
  .hero-title,
  .page-title,
  .section-title,
  .branch-name,
  .journey-form-head strong,
  .pa-hero h1,
  .pa-intro-head h2,
  .fv-title,
  h1,
  h2 {
    text-wrap: balance;
  }
}

@media (min-width: 900px) {
  html {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 151, 167, .55) rgba(20, 36, 54, .06);
  }

  html::-webkit-scrollbar {
    width: 10px;
  }

  html::-webkit-scrollbar-track {
    background: rgba(20, 36, 54, .045);
  }

  html::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(0, 188, 212, .72), rgba(107, 63, 160, .64));
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
  }
}

@media (max-width: 899px) {
  html {
    scroll-padding-top: 82px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

