:root {
  --siah-exp-navy: #082f49;
  --siah-exp-blue: #0b5ea8;
  --siah-exp-teal: #0f766e;
  --siah-exp-deep-green: #063d27;
  --siah-exp-green: #0b5b35;
  --siah-exp-gold: #f2c94c;
  --siah-exp-radius: 30px;
  --siah-exp-shadow: 0 24px 58px rgba(3, 46, 30, 0.16);
  --siah-exp-frame: 1680px;
  --siah-exp-content: 1540px;
  --siah-exp-gutter: clamp(32px, 5vw, 96px);
}

/*
 * Astra and the individual SIAH modules previously constrained the same page
 * three times.  Registered digital surfaces now use one shared responsive
 * frame, while ordinary institutional pages keep the theme's established
 * reading width.
 */
body.siah-experience-surface .site-content > .ast-container {
  width: min(var(--siah-exp-frame), calc(100% - var(--siah-exp-gutter))) !important;
  max-width: var(--siah-exp-frame) !important;
  padding-inline: 0 !important;
}

body.siah-experience-surface :is(#primary, .content-area, .site-main, .ast-article-single, .entry-content) {
  width: 100% !important;
  max-width: none !important;
}

body.siah-experience-surface :is(.ast-article-single, .entry-content) {
  padding-inline: 0 !important;
}

body.siah-experience-surface :is(.siah-sp, .siah-ssh, .siah-hd, .siah-shop-wrap) {
  width: min(var(--siah-exp-content), calc(100% - 28px)) !important;
  max-width: var(--siah-exp-content) !important;
}

/* Purposefully compact login and permission cards stay compact. */
body.siah-experience-surface :is(.siah-shop-login, .siah-shop-denied) {
  max-width: 540px !important;
}

/* Custom applications provide their own accessible H1 inside the experience. */
body.siah-experience-surface header.entry-header,
body.siah-experience-surface .entry-header.ast-no-thumbnail {
  display: none !important;
}

body.siah-experience-surface .entry-content {
  margin-top: 0;
}

@media (min-width: 1380px) {
  body.siah-experience-surface .siah-sp__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.siah-experience-student-portal :is(.siah-ssh__grid, .siah-ssp__preview-grid),
  body.siah-experience-student-services :is(.siah-ssh__grid, .siah-ssp__preview-grid),
  body.siah-experience-student-services-preview :is(.siah-ssh__grid, .siah-ssp__preview-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.siah-experience-staff-shop-management .siah-shop-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body.siah-experience-surface .siah-sp__header,
body.siah-experience-surface .siah-ssh__hero,
body.siah-experience-surface .siah-hd__header,
body.siah-experience-surface .siah-shop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--siah-exp-radius) !important;
  box-shadow: var(--siah-exp-shadow);
}

body.siah-experience-surface .siah-sp__header::after,
body.siah-experience-surface .siah-ssh__hero::after,
body.siah-experience-surface .siah-hd__header::after,
body.siah-experience-surface .siah-shop-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 250px;
  height: 250px;
  right: -84px;
  top: -104px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(255, 255, 255, 0.035), 0 0 0 78px rgba(255, 255, 255, 0.025);
  pointer-events: none;
}

/* Digital entry portals share one calm, trustworthy family. */
body.siah-experience-staff-portal .siah-sp__header,
body.siah-experience-student-portal .siah-ssh__hero,
body.siah-experience-student-services .siah-ssh__hero,
body.siah-experience-student-services-preview .siah-ssh__hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(255, 255, 255, 0.12), transparent 29%),
    linear-gradient(135deg, var(--siah-exp-navy), var(--siah-exp-blue) 63%, var(--siah-exp-teal)) !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

/* Operational modules retain a green identity while following the same geometry. */
body.siah-experience-staff-helpdesk .siah-hd__header,
body.siah-experience-staff-shop-management .siah-shop-hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(255, 255, 255, 0.10), transparent 29%),
    linear-gradient(135deg, var(--siah-exp-deep-green), var(--siah-exp-green) 64%, var(--siah-exp-teal)) !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 3px solid var(--siah-exp-gold);
}

body.siah-experience-surface :is(.siah-sp__eyebrow, .siah-ssh__eyebrow, .siah-hd__eyebrow, .siah-shop-eyebrow) {
  color: var(--siah-exp-gold) !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.siah-experience-surface :is(.siah-sp__header, .siah-ssh__hero, .siah-hd__header, .siah-shop-hero) h1,
body.siah-experience-surface :is(.siah-sp__header, .siah-ssh__hero, .siah-hd__header, .siah-shop-hero) h2 {
  letter-spacing: -0.03em;
  line-height: 1.08;
  text-wrap: balance;
}

body.siah-experience-surface :is(.siah-sp__header, .siah-ssh__hero, .siah-hd__header, .siah-shop-hero) p {
  line-height: 1.65;
}

body.siah-experience-surface :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(242, 201, 76, 0.72);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  :root {
    --siah-exp-radius: 23px;
    --siah-exp-shadow: 0 18px 38px rgba(3, 46, 30, 0.14);
    --siah-exp-gutter: 0px;
  }

  body.siah-experience-surface .site-content > .ast-container {
    width: 100% !important;
  }

  body.siah-experience-surface :is(.siah-sp, .siah-ssh, .siah-hd, .siah-shop-wrap) {
    width: min(100% - 18px, var(--siah-exp-content)) !important;
  }

  body.siah-experience-surface .siah-sp__header,
  body.siah-experience-surface .siah-ssh__hero,
  body.siah-experience-surface .siah-hd__header,
  body.siah-experience-surface .siah-shop-hero {
    border-radius: var(--siah-exp-radius) !important;
  }

  body.siah-experience-surface .siah-sp__header::after,
  body.siah-experience-surface .siah-ssh__hero::after,
  body.siah-experience-surface .siah-hd__header::after,
  body.siah-experience-surface .siah-shop-hero::after {
    width: 185px;
    height: 185px;
    right: -94px;
    top: -78px;
  }
}

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