
/* 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;
  }
}

