/* ==========================================================================
   SKILLPATH INTERNATIONAL ACADEMY — TWENTY TWENTY-FOUR (TT4) MASTER CSS
   Paste into: Appearance > Editor > Styles (top-right) > ⋮ > Additional CSS
   Reproduces https://github.com/ajxrhaider/spk with 100% Native Core Blocks
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --purple: #2e1b70;
  --purple-deep: #21164b;
  --purple-about: #292064;
  --blue: #0093cf;
  --blue-a11y: #0074a6;
  --gold: #f9c600;
  --gold-soft: #ffd64b;
  --ink: #25233a;
  --body-text: #555365;
  --surface: #f5f5f8;
  --surface-alt: #f8f7fc;
  --border-soft: #e4e0ef;
}

/* Global Typography & TT4 Page Reset */
body {
  font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: var(--body-text);
  font-size: 16px;
  line-height: 1.8;
}

h1, h2, h3, h4, .wp-block-heading {
  font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: var(--ink);
}

main.wp-block-group {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Neutralize Twenty Twenty-Four default global side padding & vertical block gaps on Skillpath pages */
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > main,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) main .wp-block-spacer,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > * + * {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-home-hero,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-inner-hero,
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-school-banner {
  margin: 0 24px !important;
  width: auto !important;
  max-width: none !important;
}

/* Automatically hide default TT4 Page H1 when a Skillpath Hero/Auth banner is present */
body.page:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) main > .wp-block-group:has(.wp-block-post-title),
body.page:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-block-post-title:first-child {
  display: none !important;
}

/* Constrained Container Width matching spk (.container max-width: 1200px) */
.sia-container > .wp-block-group__inner-container,
.sia-container.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1200px !important;
}

.sia-section {
  padding: 70px 28px !important;
}

.sia-bg-light {
  background-color: var(--surface) !important;
}

/* Overlines, Eyebrows & Section Headings */
.sia-overline {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px !important;
  font-weight: 700;
  color: var(--blue) !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.sia-eyebrow {
  color: var(--gold) !important;
  font-size: 14px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 !important;
}

.sia-section-heading {
  max-width: 700px !important;
  margin: 0 auto 35px !important;
  text-align: center;
}

.sia-section-heading h2 {
  font-size: 36px;
  font-weight: 600;
  margin-top: 0 !important;
}

.sia-intro {
  font-size: 19px !important;
  max-width: 820px !important;
  margin: 0 0 35px 0 !important;
  color: var(--body-text);
}

/* Brand Buttons (.sia-btn-purple / .sia-btn-gold / .sia-btn-outline) */
.sia-btn-purple .wp-block-button__link,
a.sia-btn-purple-link {
  background-color: var(--purple) !important;
  border: 2px solid var(--purple) !important;
  color: #ffffff !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 12px 23px !important;
  text-decoration: none !important;
  transition: filter 0.2s ease, transform 0.15s ease;
}

.sia-btn-gold .wp-block-button__link {
  background-color: var(--gold) !important;
  border: 2px solid var(--gold) !important;
  color: var(--purple) !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  text-decoration: none !important;
  transition: filter 0.2s ease, transform 0.15s ease;
}

.sia-btn-outline .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid var(--purple) !important;
  color: var(--purple) !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 12px 23px !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.sia-btn-outline .wp-block-button__link:hover {
  background-color: var(--purple) !important;
  color: #ffffff !important;
}

.sia-btn-purple .wp-block-button__link:hover,
.sia-btn-gold .wp-block-button__link:hover {
  filter: brightness(0.95);
}

/* ==========================================================================
   1. HOME HERO 3-SLIDE CAROUSEL (.sia-home-hero)
   ========================================================================== */
.sia-home-hero {
  position: relative;
  margin: 0 24px !important;
  padding: 0 !important;
  overflow: hidden;
}

.sia-home-hero .sia-slide {
  display: none;
  min-height: 590px !important;
  margin: 0 !important;
  padding: 40px 28px !important;
}

.sia-home-hero .sia-slide.is-active,
.block-editor-page .sia-home-hero .sia-slide:first-child {
  display: flex;
}

.sia-home-hero .sia-slide .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(25, 15, 67, 0.78), rgba(25, 15, 67, 0.45)) !important;
  opacity: 1 !important;
}

.sia-home-hero .sia-slide .wp-block-cover__inner-container {
  max-width: 850px !important;
  margin: 0 auto !important;
  text-align: center;
}

.sia-home-hero .sia-slide h1 {
  font-size: clamp(35px, 5vw, 56px) !important;
  line-height: 1.12 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  max-width: 800px;
  margin: 14px auto 22px !important;
}

.sia-hero-copy {
  color: #ffffff !important;
  font-size: 18px !important;
  max-width: 600px;
  margin: 0 auto 26px !important;
}

.sia-slide-dots {
  position: absolute;
  bottom: 22px;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: 9px;
}

.sia-slide-dots button {
  width: 12px;
  height: 12px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: transparent;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.sia-slide-dots button.selected {
  background: var(--gold);
  border-color: var(--gold);
  transform: scale(1.15);
}

/* ==========================================================================
   2. INNER PAGE HERO BANNER (.sia-inner-hero) & HOME CTA BANNER (.sia-school-banner)
   ========================================================================== */
.sia-inner-hero {
  margin: 0 24px !important;
  min-height: 220px !important;
  padding: 56px 28px !important;
}

.sia-inner-hero .wp-block-cover__background,
.sia-school-banner .wp-block-cover__background {
  background-color: rgba(33, 19, 87, 0.80) !important;
  opacity: 1 !important;
}

.sia-inner-hero .wp-block-cover__inner-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.sia-breadcrumb {
  font-size: 14px !important;
  color: #e2ddf0 !important;
  margin: 0 0 10px 0 !important;
}

.sia-breadcrumb a {
  color: var(--gold) !important;
  text-decoration: none;
  font-weight: 600;
}

.sia-inner-hero h1 {
  font-size: clamp(32px, 4vw, 44px) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.sia-school-banner {
  margin: 0 24px !important;
  padding: 70px 28px !important;
  text-align: center;
}

.sia-school-banner h2 {
  color: #ffffff !important;
  font-size: clamp(32px, 4vw, 40px) !important;
  margin: 0 0 12px !important;
}

.sia-school-banner p {
  color: #ffffff !important;
  font-size: 18px !important;
  margin: 0 auto 24px !important;
  max-width: 680px;
}

/* ==========================================================================
   3. 4 SCHOOL SECTION CARDS (.sia-sections-wrap / .sia-service-card)
   ========================================================================== */
.sia-sections-wrap {
  padding: 28px 28px 10px !important;
}

.sia-sections-grid {
  gap: 20px !important;
}

.sia-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 3px;
  padding: 28px 20px 26px !important;
  min-height: 300px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sia-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(37, 35, 58, 0.16);
}

.sia-service-card.is-purple {
  background-color: var(--purple) !important;
  color: #ffffff !important;
}

.sia-service-card.is-blue {
  background-color: var(--blue-a11y) !important;
  color: #ffffff !important;
}

.sia-service-card.is-gold {
  background-color: var(--gold) !important;
  color: var(--purple) !important;
}

.sia-service-icon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin: 0 auto 14px !important;
}

.sia-service-card.is-gold .sia-service-icon {
  background: rgba(46, 27, 112, 0.10);
}

.sia-service-card h3 {
  font-size: 22px !important;
  font-weight: 600 !important;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 12px !important;
  color: inherit !important;
}

.sia-service-card h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Stretched card link so clicking anywhere on a section card opens its page */
.sia-service-card h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}

.sia-service-card p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  color: inherit !important;
}

/* ==========================================================================
   4. HOME "WHAT WE OFFER" + "FROM THE DIRECTOR" (.sia-offer-item / .sia-director-card)
   ========================================================================== */
.sia-offer-grid {
  gap: 24px 26px !important;
  margin-top: 24px !important;
}

.sia-offer-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.sia-offer-badge {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  background-color: #ebf8fc;
  color: var(--blue);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin: 0 !important;
}

.sia-offer-item h3 {
  font-size: 19px !important;
  font-weight: 600 !important;
  margin: 0 0 6px 0 !important;
}

.sia-offer-item p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.sia-director-card {
  background-color: var(--surface) !important;
  padding: 32px !important;
  border-top: 4px solid var(--gold) !important;
  height: 100%;
}

.sia-director-card h2 {
  font-size: 28px !important;
  margin: 0 0 18px 0 !important;
}

.sia-director-photo {
  float: left;
  margin: 0 20px 12px 0 !important;
}

.sia-director-photo img {
  width: 125px !important;
  height: 145px !important;
  object-fit: contain;
  background: #eceaf3;
  border: 1px solid #ded8ec;
  border-radius: 3px;
  padding: 10px;
}

.sia-director-card p {
  font-size: 15px !important;
}

/* ==========================================================================
   5. EMPTY PUBLIC PLACEHOLDER, BLOG CARDS & TEACHER CARDS
   ========================================================================== */
.sia-empty-public {
  background-color: var(--surface) !important;
  padding: 28px 32px !important;
  text-align: center;
  max-width: 820px !important;
  margin: 0 auto !important;
  border-bottom: 3px solid var(--gold) !important;
}

.sia-empty-public h3 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.sia-empty-public p {
  margin: 0 !important;
}

.sia-blog-card {
  background: #ffffff;
  border: 1px solid #eceaf3;
  border-bottom: 3px solid var(--gold) !important;
  padding: 0 0 22px 0 !important;
  height: 100%;
}

.sia-blog-card .wp-block-post-featured-image img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.sia-blog-card > :not(.wp-block-post-featured-image) {
  padding-left: 20px;
  padding-right: 20px;
}

.sia-blog-card .wp-block-post-date {
  color: var(--blue) !important;
  font-size: 13px;
  margin-top: 16px !important;
}

.sia-staff-card {
  text-align: center;
  background: #ffffff;
  padding-bottom: 16px;
}

.sia-staff-photo {
  height: 270px;
  background: #eff1f5;
  margin-bottom: 18px !important;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sia-staff-photo img {
  width: 100%;
  height: 270px !important;
  object-fit: cover;
}

.sia-qualification {
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600;
  margin: 2px 0 10px !important;
}

/* ==========================================================================
   6. ABOUT PAGE SECTIONS (.sia-about-*)
   ========================================================================== */
.sia-about-wrap h2 {
  color: var(--purple-about) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  font-size: clamp(1.8rem, 3vw, 2.65rem) !important;
}

.sia-about-wrap h3 {
  color: var(--purple-about) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
}

.sia-about-figure {
  margin: 0 !important;
  border-radius: 20px;
  overflow: hidden;
  background: var(--purple-about);
}

.sia-about-figure img {
  width: 100%;
  height: 380px !important;
  object-fit: cover;
  display: block;
}

.sia-about-figure figcaption {
  color: #ffffff !important;
  padding: 1rem 1.5rem;
  margin: 0 !important;
  font-weight: 600;
  text-align: left;
}

.sia-purpose-card,
.sia-skill-card {
  padding: 1.7rem !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 16px;
  background-color: var(--surface-alt) !important;
  height: 100%;
}

.sia-symbol {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  font-size: 1.6rem;
  background: #eee8fa;
  color: #322573 !important;
  border-radius: 14px;
  margin: 0 0 1rem 0 !important;
}

.sia-stage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.6rem !important;
  background-color: var(--purple-about) !important;
  border-radius: 16px;
  color: #f1efff !important;
  height: 100%;
  transition: transform 0.2s ease;
}

.sia-stage-card:hover {
  transform: translateY(-4px);
}

.sia-stage-card h3 {
  color: #ffffff !important;
  margin: 0 0 10px 0 !important;
}

.sia-stage-card p {
  color: #e8e4fa !important;
}

.sia-stage-num {
  color: var(--gold-soft) !important;
  font-size: 2rem !important;
  font-weight: 800;
  line-height: 1;
  margin: 0 0 1rem 0 !important;
}

.sia-stage-link {
  margin-top: auto !important;
  padding-top: 12px;
}

.sia-stage-link a {
  color: var(--gold-soft) !important;
  font-weight: 600;
  text-decoration: none;
}

.sia-stage-link a::after {
  content: '';
  position: absolute;
  inset: 0;
}

.sia-value-card {
  padding: 1.4rem !important;
  border-left: 4px solid #e5bd2e !important;
  background-color: #faf9f5 !important;
  border-radius: 8px;
}

.sia-about-visit {
  padding: 2.5rem !important;
  border-radius: 18px;
  background-color: var(--purple-about) !important;
  color: #efebff !important;
}

.sia-about-visit h2,
.sia-about-visit .sia-overline,
.sia-about-visit p {
  color: #ffffff !important;
}

/* ==========================================================================
   7. ACADEMICS CARDS, ADMISSIONS SIDEBAR & CONTACT IMAGE
   ========================================================================== */
.sia-academic-card {
  background-color: var(--surface) !important;
  margin-bottom: 10px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.sia-academic-card figure {
  margin: 0 !important;
}

.sia-academic-card figure img {
  width: 100%;
  height: 280px !important;
  object-fit: cover;
  display: block;
}

.sia-academic-body {
  padding: 26px 28px 30px !important;
  flex: 1;
}

.sia-academic-body h2 {
  font-size: 27px !important;
  margin-top: 0 !important;
}

.sia-admission-steps li {
  padding: 8px 0;
}

.sia-aside-box {
  background-color: var(--surface) !important;
  padding: 28px !important;
  border-top: 4px solid var(--gold) !important;
}

.sia-aside-box h3 {
  margin-top: 0 !important;
}

.sia-aside-links p {
  margin: 0 !important;
  border-bottom: 1px solid #dddddd;
}

.sia-aside-links p a {
  display: block;
  padding: 10px 0;
  color: var(--purple) !important;
  font-weight: 600;
  text-decoration: none;
}

.sia-aside-links p a:hover {
  color: var(--blue) !important;
}

.sia-contact-img img {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 6px;
}

/* ==========================================================================
   8. HOME & GALLERY FILTERABLE GRID + ACCESSIBLE LIGHTBOX MODAL
   ========================================================================== */
.sia-home-gallery-grid {
  gap: 18px !important;
}

.sia-home-gallery-grid .sia-gallery-item figure img {
  width: 100%;
  height: 230px !important;
  object-fit: cover;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.sia-gallery-filters {
  margin-bottom: 30px !important;
  gap: 10px !important;
}

.sia-gallery-filters .wp-block-button__link {
  border: 1px solid #d9d5e5 !important;
  padding: 8px 18px !important;
  border-radius: 3px !important;
  background-color: #ffffff !important;
  color: var(--purple) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

.sia-gallery-filters .wp-block-button.is-active .wp-block-button__link,
.sia-gallery-filters .wp-block-button__link.is-active {
  background-color: var(--purple) !important;
  color: #ffffff !important;
  border-color: var(--purple) !important;
}

.sia-gallery-grid {
  gap: 26px !important;
}

.sia-gallery-item {
  cursor: pointer;
  background: #ffffff;
}

.sia-gallery-item[hidden] {
  display: none !important;
}

.sia-gallery-item figure {
  margin: 0 !important;
  overflow: hidden;
}

.sia-gallery-grid .sia-gallery-item figure img {
  width: 100%;
  height: 260px !important;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}

.sia-gallery-item:hover figure img {
  transform: scale(1.03);
}

.sia-gallery-title {
  font-weight: 600;
  color: var(--ink) !important;
  margin: 10px 0 2px !important;
  font-size: 15px !important;
}

.sia-gallery-cat {
  font-size: 13px !important;
  color: var(--blue) !important;
  margin: 0 !important;
}

/* Lightbox Modal */
.sia-lightbox-modal {
  position: fixed;
  inset: 0;
  background: rgba(17, 11, 39, 0.94);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px 90px;
}

.sia-lightbox-modal img {
  max-height: 78vh;
  max-width: 88vw;
  object-fit: contain;
  border-radius: 4px;
}

.sia-lightbox-close {
  position: fixed;
  top: 16px;
  right: 26px;
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
}

.sia-lightbox-caption {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 66px;
  text-align: center;
  color: #ffffff;
  font-size: 16px;
  margin: 0;
}

.sia-lightbox-prev,
.sia-lightbox-next {
  position: fixed;
  bottom: 18px;
  padding: 9px 18px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: var(--purple);
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 3px;
  cursor: pointer;
}

.sia-lightbox-prev { left: 24px; }
.sia-lightbox-next { right: 24px; }

/* ==========================================================================
   9. SPLIT GLASSMORPHIC PORTAL / CBT / STATUS SHELL (.sia-auth-section)
      + STYLING FOR FREE WP.ORG PLUGINS (Forminator, HD Quiz, Ultimate Member)
   ========================================================================== */
.sia-auth-section {
  min-height: 82vh !important;
  padding: 72px 28px !important;
}

.sia-auth-section > .wp-block-cover__background {
  background: linear-gradient(100deg, rgba(25, 16, 58, 0.90), rgba(33, 22, 75, 0.78), rgba(5, 44, 74, 0.78)) !important;
  opacity: 1 !important;
}

.sia-auth-section > .wp-block-cover__inner-container {
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.sia-auth-story {
  color: #ffffff !important;
}

.sia-auth-story h1 {
  font-size: clamp(38px, 4.4vw, 58px) !important;
  line-height: 1.12 !important;
  letter-spacing: -1.5px;
  color: #ffffff !important;
  margin: 0 0 20px !important;
}

.sia-auth-story p {
  color: #e9e4f6 !important;
}

.sia-auth-location {
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  margin-top: 32px !important;
  padding-top: 18px !important;
  font-size: 13px !important;
  color: #e1dcef !important;
}

.sia-auth-panel {
  background: #ffffff !important;
  color: var(--ink) !important;
  border-radius: 16px;
  padding: 36px 40px !important;
  box-shadow: 0 24px 60px rgba(9, 5, 32, 0.36);
}

.sia-auth-panel h2 {
  color: var(--ink) !important;
  font-size: 30px !important;
  margin: 0 0 8px !important;
}

/* Native look for Forminator, Ultimate Member, WPForms Lite & HD Quiz */
.forminator-ui .forminator-button-submit,
.um .um-button,
.sia-auth-panel input[type="submit"],
.sia-auth-panel button[type="submit"] {
  background-color: var(--purple) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 13px 22px !important;
  font-weight: 700 !important;
  border: 0 !important;
  cursor: pointer;
}

/* Responsive Breakpoints matching spk */
@media (max-width: 991px) {
  .sia-sections-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sia-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sia-home-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-home-hero,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-inner-hero,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-school-banner,
  .sia-home-hero,
  .sia-inner-hero,
  .sia-school-banner {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .sia-sections-grid,
  .sia-gallery-grid,
  .sia-home-gallery-grid {
    grid-template-columns: 1fr !important;
  }
  .sia-section {
    padding: 46px 20px !important;
  }
  .sia-auth-panel {
    padding: 26px 22px !important;
  }
}

/* Explicit Self-Contained Grid, Columns, Cover & Flex Layout Engine (Bulletproof on WordPress 7.1 + LiteSpeed) */
.sia-grid-4,
.sia-sections-grid,
.sia-home-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.sia-grid-3,
.sia-gallery-grid,
ul.wp-block-post-template,
.wp-block-post-template.is-layout-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
}

.sia-grid-2,
.sia-offer-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.sia-about-visit {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
}

/* Override Twenty Twenty-Four's 620px essay width ONLY inside <main> so Header & Footer stay untouched */
main,
.entry-content,
.sia-section,
.sia-container,
.sia-home-hero,
.sia-inner-hero,
.sia-school-banner,
.sia-auth-section {
  --wp--style--global--content-size: 1180px !important;
  --wp--style--global--wide-size: 1280px !important;
}

.sia-container > *,
.sia-container.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.sia-auth-section > .wp-block-cover__inner-container,
.sia-auth-section > .wp-block-cover__inner-container > .wp-block-columns {
  max-width: 1180px !important;
  width: 100% !important;
}

/* Guarantee WordPress Cover Background Images never render inline above text & Hero Slides never stack */
.sia-home-hero .sia-slide:not(.is-active) {
  display: none !important;
}

.sia-home-hero .sia-slide.is-active,
.sia-inner-hero.wp-block-cover,
.sia-school-banner.wp-block-cover,
.sia-auth-section.wp-block-cover {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.sia-home-hero .wp-block-cover img.wp-block-cover__image-background,
.sia-inner-hero.wp-block-cover img.wp-block-cover__image-background,
.sia-school-banner.wp-block-cover img.wp-block-cover__image-background,
.sia-auth-section.wp-block-cover img.wp-block-cover__image-background {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 0 !important;
}

.sia-home-hero .wp-block-cover__background,
.sia-inner-hero .wp-block-cover__background,
.sia-school-banner .wp-block-cover__background,
.sia-auth-section .wp-block-cover__background {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.sia-home-hero .wp-block-cover__inner-container,
.sia-inner-hero .wp-block-cover__inner-container,
.sia-school-banner .wp-block-cover__inner-container,
.sia-auth-section .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

/* Self-contained WP Columns & Buttons flex safety */
.sia-section .wp-block-columns,
.sia-auth-section .wp-block-columns {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 36px !important;
  align-items: flex-start;
  width: 100% !important;
}

.sia-section .wp-block-columns > .wp-block-column,
.sia-auth-section .wp-block-columns > .wp-block-column {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

.sia-auth-section .wp-block-columns {
  align-items: center !important;
}

.sia-auth-story figure.wp-block-image img {
  width: 78px !important;
  height: 78px !important;
  object-fit: contain !important;
  background: rgba(255, 255, 255, 0.96) !important;
  padding: 8px !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24) !important;
}

.wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center;
}

@media (max-width: 991px) {
  .sia-grid-4,
  .sia-sections-grid,
  .sia-home-gallery-grid,
  .sia-grid-3,
  .sia-gallery-grid,
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sia-section .wp-block-columns,
  .sia-auth-section .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .sia-section .wp-block-column,
  .sia-auth-section .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 680px) {
  .sia-grid-4,
  .sia-grid-3,
  .sia-grid-2,
  .sia-offer-grid,
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v3.2.0 public-page polish: prevent theme/content overflow while preserving the completed TT4 header/footer */
html { overflow-x:clip; }
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > main { min-width:0; max-width:none !important; }
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > * { min-width:0; }
.sia-home-hero .sia-slide { background-position:center 45% !important; }
.sia-home-hero .sia-slide .wp-block-cover__inner-container { width:min(100% - 36px, 980px) !important; }
.sia-home-hero .sia-slide h1 { max-width:900px; text-wrap:balance; }
.sia-section img { max-width:100%; height:auto; }
.sia-grid-3 > *, .sia-grid-4 > *, .sia-grid-5 > * { min-width:0; }
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-home-hero,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-inner-hero,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-school-banner { margin-left:12px !important; margin-right:12px !important; }
  .sia-section { padding:48px 18px !important; }
  .sia-home-hero .sia-slide { min-height:490px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .sia-home-hero *, .sia-section * { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* v3.4.3 mobile layout corrections — keep TT4 header/footer intact */
@media (max-width:782px) {
  .sia-section .wp-block-columns,
  .sia-auth-section .wp-block-columns {
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:24px !important;
  }
  .sia-section .wp-block-columns > .wp-block-column,
  .sia-auth-section .wp-block-columns > .wp-block-column {
    flex:0 0 100% !important;
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
  .sia-section,
  .sia-container { min-width:0 !important; }
  .sia-section .wp-block-group,
  .sia-section .wp-block-column,
  .sia-auth-section .wp-block-column { min-width:0 !important; }
  .sia-auth-section .wp-block-cover__inner-container { padding:16px 12px !important; }
  .sia-auth-story { text-align:center; }
  .sia-auth-story figure.wp-block-image { margin-left:auto !important; margin-right:auto !important; }
  .sia-auth-story h1 { font-size:clamp(30px,8vw,42px) !important; line-height:1.12 !important; }
  .sia-home-hero .sia-slide { min-height:clamp(430px,72svh,540px) !important; padding:34px 16px 54px !important; }
  .sia-home-hero .sia-slide h1 { font-size:clamp(31px,8vw,46px) !important; line-height:1.12 !important; }
  .sia-home-hero .sia-hero-copy { font-size:16px !important; line-height:1.55 !important; }
  .sia-inner-hero .wp-block-cover__inner-container,
  .sia-school-banner .wp-block-cover__inner-container { padding:24px 16px !important; }
  .sia-section img,
  .sia-home-hero img { max-width:100%; }
  .sia-section .wp-block-buttons,
  .sia-auth-section .wp-block-buttons { justify-content:center; }
  .sia-section .wp-block-button,
  .sia-auth-section .wp-block-button { max-width:100%; }
}

@media (max-width:600px) {
  .sia-sections-grid,
  .sia-home-gallery-grid,
  .sia-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .sia-section { padding:38px 14px !important; }
  .sia-section-heading h2 { font-size:clamp(25px,7vw,32px) !important; line-height:1.2 !important; }
  .sia-intro { font-size:16px !important; line-height:1.6 !important; }
  .sia-home-hero .sia-slide { min-height:440px !important; }
}

@media (max-width:480px) {
  .sia-sections-grid,
  .sia-home-gallery-grid,
  .sia-gallery-grid { grid-template-columns:1fr !important; }
  .sia-service-card { min-height:0 !important; padding:22px 18px !important; }
  .sia-service-card h3 { min-height:0; }
}

@media (max-width:380px) {
  .sia-home-hero .sia-slide { min-height:420px !important; }
}

/* v3.4.2: compact auth layout and floating guide on phone-sized screens */
/* v3.4.3: preserve header/footer content while reflowing their blocks on small screens */
.sia-sections-wrap { padding-bottom:32px !important; }
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-height:0 !important;
    height:auto !important;
    padding:0 12px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header :is(.wp-block-group,.wp-block-columns,.wp-block-column,.wp-block-cover,.wp-block-cover__inner-container) {
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin-block:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group {
    padding-top:4px !important;
    padding-bottom:4px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-spacer {
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:5px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns > .wp-block-column {
    flex:0 0 100% !important;
    flex-basis:100% !important;
    width:100% !important;
    min-width:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex {
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px 12px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-logo img {
    width:68px !important;
    height:auto !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-title {
    font-size:clamp(21px,6vw,30px) !important;
    line-height:1.15 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header p,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header a {
    max-width:100%;
    min-width:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere;
    line-height:1.35 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background {
    min-height:0 !important;
    height:auto !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns {
    min-height:0 !important;
    height:auto !important;
    align-content:center !important;
    padding:8px 12px !important;
    margin-block:0 !important;
    row-gap:6px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns > .wp-block-column {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns p,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns a {
    margin:0 !important;
    font-size:12px !important;
    line-height:1.35 !important;
    text-align:center;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer .wp-block-columns {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 14px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer .wp-block-column {
    flex:initial !important;
    width:auto !important;
    min-width:0 !important;
  }
}
@media (max-width:480px) {
  .sia-sections-wrap { padding-bottom:22px !important; }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer .wp-block-columns {
    grid-template-columns:1fr !important;
  }
}

/* v3.4.4: restore intentional spacing neutralized by the TT4 page reset */
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-sections-wrap {
  padding:28px 28px 34px !important;
  margin-bottom:0 !important;
}
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-section {
  padding:clamp(48px,6vw,76px) clamp(18px,4vw,56px) !important;
  margin-bottom:0 !important;
}
body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer {
  padding-top:38px !important;
  padding-bottom:30px !important;
}
.sia-teacher-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),370px)) !important;
  justify-content:center !important;
  justify-items:stretch !important;
  gap:24px !important;
  width:100% !important;
  margin:18px auto 0 !important;
}
.sia-teacher-card { height:auto !important; min-height:0 !important; align-self:stretch; }
.sia-section:has(.sia-teacher-grid) .sia-section-heading { text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
.sia-section-heading { margin-bottom:28px !important; }

@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-sections-wrap {
    padding:20px 14px 26px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .entry-content.wp-block-post-content > .sia-section {
    padding:48px 18px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > footer {
    padding-top:30px !important;
    padding-bottom:24px !important;
  }
  .sia-teacher-grid { grid-template-columns:minmax(0,1fr) !important; row-gap:22px !important; width:100% !important; }
  .sia-teacher-card { height:auto !important; min-height:0 !important; }
  .sia-section-heading { margin-bottom:22px !important; }
}

/* v3.4.7 mobile masthead: full-width contact strip and a single aligned brand/nav row */
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    row-gap:8px !important;
    padding:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header > *,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background {
    display:block !important;
    padding:10px 12px !important;
    text-align:center !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) {
    display:flex !important;
    flex-flow:row nowrap !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:8px !important;
    min-height:64px !important;
    padding:6px 14px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-logo {
    flex:0 0 52px !important;
    width:52px !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-logo img {
    display:block !important;
    width:52px !important;
    height:52px !important;
    object-fit:contain !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-title {
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:clamp(20px,6vw,26px) !important;
    line-height:1.1 !important;
    text-align:left !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-tagline {
    margin:2px 0 0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation {
    flex:0 0 44px !important;
    width:44px !important;
    max-width:44px !important;
    margin:0 0 0 auto !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container-open {
    display:flex !important;
    width:44px !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns {
    padding:8px 12px !important;
    gap:4px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns p,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-columns a {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-align:center !important;
  }
}

/* v3.4.8: final mobile masthead sizing and safe site-title wrapping */
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header {
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    row-gap:0 !important;
    overflow:visible !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background {
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
    min-height:58px !important;
    padding:11px 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background p,
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background a {
    font-size:13px !important;
    line-height:1.4 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) {
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
    min-height:78px !important;
    padding:10px 14px !important;
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-logo {
    flex:0 0 52px !important;
    width:52px !important;
    min-width:52px !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-logo img {
    width:52px !important;
    height:52px !important;
    object-fit:contain !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-title {
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:clamp(21px,7vw,28px) !important;
    line-height:1.12 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-title a {
    display:block !important;
    width:auto !important;
    max-width:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-site-tagline {
    font-size:12px !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation {
    flex:0 0 44px !important;
    width:44px !important;
    max-width:44px !important;
    min-width:44px !important;
    margin:0 0 0 auto !important;
  }
}

/* v3.4.9: reserve a real title slot and make any colored contact block full bleed */
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .has-background {
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) {
    position:relative !important;
    display:block !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:82px !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:10px 14px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-site-logo {
    position:absolute !important;
    left:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:52px !important;
    min-width:52px !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-site-title {
    position:absolute !important;
    left:76px !important;
    right:68px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    display:block !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:clamp(22px,7vw,28px) !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-site-title a {
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-site-tagline {
    position:absolute !important;
    left:76px !important;
    right:68px !important;
    top:calc(50% + 17px) !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-navigation {
    position:absolute !important;
    right:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:44px !important;
    min-width:44px !important;
    margin:0 !important;
  }
}

/* v3.5.0: put the contact strip first and turn the open mobile menu into a clean drawer */
@media (max-width:782px) {
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-group.has-background {
    order:-10 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation:has(.wp-block-navigation__responsive-container.is-menu-open) {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open {
    position:fixed !important;
    inset:0 !important;
    z-index:1000000 !important;
    display:block !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
    padding:18px 16px 28px !important;
    background:#ffffff !important;
    color:#21164b !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-dialog {
    position:relative !important;
    width:min(100%,520px) !important;
    min-height:100% !important;
    margin:0 auto !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-close {
    position:relative !important;
    width:100% !important;
    height:auto !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container-close {
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    z-index:2 !important;
    display:flex !important;
    width:44px !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
    color:#21164b !important;
    background:#f3f1f8 !important;
    border-radius:10px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container-content {
    width:100% !important;
    padding:48px 0 20px !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display:block !important;
    width:100% !important;
    padding:13px 12px !important;
    border-bottom:1px solid #eeeaf5 !important;
    color:#21164b !important;
    font-size:16px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position:static !important;
    inset:auto !important;
    display:block;
    width:auto !important;
    min-width:0 !important;
    margin:0 0 8px 14px !important;
    padding:0 0 0 10px !important;
    border-left:2px solid #e4def0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  body:has(.sia-home-hero, .sia-inner-hero, .sia-auth-section) .wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding:10px 12px !important;
    font-size:14px !important;
  }
}

/* v3.5.2: force the core Navigation overlay to use viewport geometry, not its 44px menu-button parent */
@media (max-width:782px) {
  .wp-block-navigation:has(.wp-block-navigation__responsive-container.is-menu-open),
  .wp-block-navigation:has(.wp-block-navigation__responsive-container-open[aria-expanded="true"]) {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
  }
  .wp-block-navigation__responsive-container {
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    margin:0 !important;
    transform:none !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display:block !important;
    z-index:2147483000 !important;
  }
  .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-close {
    width:100% !important;
    max-width:520px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  .wp-block-navigation__responsive-container-content {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position:static !important;
    inset:auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 0 8px 14px !important;
    padding:0 0 0 10px !important;
    border-left:2px solid #e4def0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  body:has(.wp-block-navigation__responsive-container.is-menu-open) {
    overflow:hidden !important;
  }
}

@media (max-width:600px) {
  .sia-auth-section {
    min-height:0 !important;
    padding:18px 12px !important;
  }
  .sia-auth-section .wp-block-columns {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
  }
  .sia-auth-section .wp-block-columns > .wp-block-column {
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
  }
  .sia-auth-section .wp-block-column:has(.sia-auth-story) { display:none !important; }
  .sia-auth-section .sia-auth-panel {
    width:100% !important;
    max-width:540px !important;
    margin:0 auto !important;
    padding:22px 18px !important;
    border-radius:16px !important;
    box-shadow:0 14px 40px rgba(17,11,39,.18) !important;
  }
  .sia-auth-section .sia-auth-panel h2 { font-size:clamp(26px,7vw,34px) !important; line-height:1.15 !important; }
  .sia-auth-section .sia-auth-panel > p { font-size:15px !important; line-height:1.55 !important; }
  .sia-auth-section .sia-account-choice {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
  }
  .sia-auth-section .sia-account-choice label,
  .sia-auth-section .sia-account-choice span { min-width:0 !important; }

}


/* v3.5.3: higher-specificity reset for the actual TT4 logo-row navigation parent.
   The earlier absolute-position rule outranked the general open-menu reset, leaving
   the fixed responsive overlay inside the 44px transformed menu-button containing block. */
@media (max-width:782px) {
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-navigation,
  body:has(.wp-block-navigation__responsive-container-open[aria-expanded="true"]) .wp-site-blocks > header .wp-block-group.is-layout-flex:has(.wp-block-site-logo) .wp-block-navigation {
    position:static !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }
}
