:root{
  --bg:#f3ecdf;
  --bg-deep:#eadfcd;
  --surface:rgba(255,250,242,0.88);
  --surface-strong:#fff9ef;
  --surface-border:rgba(16,36,56,0.1);
  --ink:#102438;
  --ink-soft:#33516c;
  --muted:#5f7486;
  --accent:#0f766e;
  --accent-strong:#0a5c56;
  --accent-soft:rgba(15,118,110,0.12);
  --gold:#c2862d;
  --gold-soft:rgba(194,134,45,0.15);
  --shadow-lg:0 30px 70px rgba(16,36,56,0.16);
  --shadow-md:0 18px 44px rgba(16,36,56,0.12);
  --shadow-sm:0 10px 24px rgba(16,36,56,0.08);
  --radius-lg:32px;
  --radius-md:22px;
  --radius-sm:14px;
  --site-width:min(1180px, calc(100vw - 40px));
  --body-font:"Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;
  --display-font:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-width:320px;
  font-family:var(--body-font);
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(194,134,45,0.18), transparent 30%),
    radial-gradient(circle at top right, rgba(15,118,110,0.12), transparent 28%),
    linear-gradient(180deg, #f8f2e8 0%, #f1e8da 32%, #f5efe5 100%);
}

body.lightbox-open{
  overflow:hidden;
}

body.reduce-motion *,
body.reduce-motion *::before,
body.reduce-motion *::after{
  animation:none !important;
  transition-duration:0.01ms !important;
  scroll-behavior:auto !important;
}

a,
a:visited{
  color:inherit;
}

img{
  max-width:100%;
}

button,
input,
textarea{
  font:inherit;
}

:focus-visible{
  outline:3px solid rgba(15,118,110,0.45);
  outline-offset:3px;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.skip-link{
  position:absolute;
  left:16px;
  top:-48px;
  z-index:100;
  padding:12px 16px;
  background:var(--ink);
  color:#fff;
  border-radius:10px;
  text-decoration:none;
}

.skip-link:focus{
  top:16px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(248,243,235,0.8);
  border-bottom:1px solid rgba(16,36,56,0.08);
}

.site-header-inner{
  width:var(--site-width);
  margin:0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand-mark{
  display:inline-flex;
  align-items:center;
  width:min(280px, 48vw);
}

.brand-mark img{
  display:block;
  width:100%;
  height:auto;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.site-nav a,
.site-nav a:visited{
  text-decoration:none;
  padding:10px 14px;
  border-radius:999px;
  color:var(--ink-soft);
  font-size:15px;
  transition:background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.site-nav a:any-link{
  color:var(--ink-soft);
  text-decoration:none;
}

.site-nav a:hover{
  color:var(--ink);
  background:rgba(255,255,255,0.6);
  transform:translateY(-1px);
}

.site-nav .nav-secondary{
  background:rgba(16,36,56,0.06);
  color:var(--ink);
}

.button,
.button:visited{
  color:inherit;
}

.button-primary,
.button-primary:visited{
  color:#fff;
}

.button-primary:any-link{
  color:#fff;
  text-decoration:none;
}

.button-secondary,
.button-secondary:visited{
  color:var(--ink);
}

.button-secondary:any-link{
  color:var(--ink);
  text-decoration:none;
}

.hero-section{
  position:relative;
  overflow:hidden;
  padding:60px 0 56px;
}

.hero-media{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.hero-poster-shell,
.hero-overlay,
.hero-grid,
.hero-orb{
  position:absolute;
  inset:0;
}

.hero-poster-shell{
  background:
    linear-gradient(135deg, rgba(13,33,56,0.95), rgba(16,58,84,0.8)),
    url("images/hero-poster.svg") center/cover no-repeat;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.36;
}

.hero-video-mobile{
  display:none;
}

.hero-overlay{
  background:
    linear-gradient(180deg, rgba(8,24,41,0.4), rgba(243,236,223,0.76) 74%, rgba(243,236,223,0.96)),
    linear-gradient(115deg, rgba(194,134,45,0.12), transparent 44%);
}

.hero-grid{
  opacity:0.2;
  background-image:
    linear-gradient(rgba(255,255,255,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.9), rgba(0,0,0,0.15));
}

.hero-orb{
  border-radius:50%;
  filter:blur(12px);
}

.hero-orb-one{
  inset:auto auto 26% 6%;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(194,134,45,0.38), rgba(194,134,45,0));
}

.hero-orb-two{
  inset:10% 10% auto auto;
  width:360px;
  height:360px;
  background:radial-gradient(circle, rgba(15,118,110,0.28), rgba(15,118,110,0));
}

.hero-shell{
  position:relative;
  z-index:1;
  width:var(--site-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap:28px;
  align-items:end;
}

.hero-copy,
.hero-panel,
.info-card,
.feature-card,
.proof-card,
.fit-lead-card,
.fit-card,
.quote-panel,
.demo-card,
.access-card{
  backdrop-filter:blur(14px);
  background:var(--surface);
  border:1px solid var(--surface-border);
  box-shadow:var(--shadow-md);
}

.hero-copy{
  padding:44px;
  border-radius:var(--radius-lg);
}

.eyebrow{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.2;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent-strong);
  font-weight:700;
}

.hero-copy h1,
.section-intro h2,
.access-card h2{
  margin:0;
  font-family:var(--display-font);
  font-weight:700;
  letter-spacing:-0.03em;
}

.hero-copy h1{
  max-width:12ch;
  font-size:clamp(2.9rem, 4.4vw, 5.3rem);
  line-height:0.95;
}

.hero-lead{
  margin:24px 0 0;
  max-width:680px;
  font-size:1.12rem;
  line-height:1.75;
  color:var(--ink-soft);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 24px;
  border:none;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.01em;
  cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.button:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
}

.button-primary{
  background:var(--accent);
  color:#fff;
}

.button-primary:hover{
  background:var(--accent-strong);
}

.button-secondary{
  background:rgba(16,36,56,0.08);
  color:var(--ink);
}

.button-secondary:hover{
  background:rgba(16,36,56,0.13);
}

.button[disabled]{
  cursor:wait;
  transform:none;
  opacity:0.72;
  box-shadow:none;
}

.hero-points{
  margin:26px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
  color:var(--ink-soft);
}

.hero-points li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  line-height:1.5;
}

.hero-points li::before{
  content:"";
  width:10px;
  height:10px;
  margin-top:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--accent));
}

.hero-panel{
  padding:28px;
  border-radius:28px;
}

.panel-label{
  margin:0 0 18px;
  color:var(--muted);
  font-size:0.95rem;
  font-weight:700;
}

.hero-panel-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.hero-panel-grid article{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,0.68);
  border:1px solid rgba(16,36,56,0.06);
}

.hero-panel-grid h2{
  margin:0;
  font-size:1.05rem;
  line-height:1.2;
}

.hero-panel-grid p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:0.96rem;
  line-height:1.5;
}

.section{
  width:var(--site-width);
  margin:0 auto;
  padding:44px 0 28px;
  scroll-margin-top:100px;
}

.section-intro{
  max-width:760px;
}

.section-intro-wide{
  max-width:860px;
}

.section-intro h2,
.access-card h2{
  font-size:clamp(2rem, 3.2vw, 3.25rem);
  line-height:1.02;
}

.section-intro p:last-child,
.access-card p{
  color:var(--ink-soft);
  line-height:1.75;
  font-size:1.04rem;
}

.overview-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.info-card,
.proof-card{
  padding:28px;
  border-radius:24px;
}

.section-fit{
  padding-top:52px;
}

.card-kicker{
  margin:0 0 12px;
  color:var(--gold);
  font-size:0.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.info-card h3,
.feature-copy h3,
.process-step h3,
.proof-card h3,
.fit-lead-card h3,
.fit-card h3{
  margin:0;
  font-size:1.28rem;
  line-height:1.25;
}

.info-card p:last-child,
.feature-copy p:last-child,
.process-step p,
.proof-card p,
.fit-lead-card p:last-child,
.fit-card p{
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.65;
}

.fit-layout{
  margin-top:30px;
  display:grid;
  grid-template-columns:minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap:22px;
  align-items:stretch;
}

.fit-lead-card{
  padding:30px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,250,242,0.95), rgba(255,248,238,0.86)),
    radial-gradient(circle at top right, rgba(15,118,110,0.11), transparent 32%);
}

.fit-lead-card h3{
  font-size:clamp(1.55rem, 2.3vw, 2.15rem);
  line-height:1.08;
  font-family:var(--display-font);
}

.fit-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.fit-card{
  padding:24px;
  border-radius:22px;
}

.comparison-panel{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:28px;
  background:rgba(16,36,56,0.95);
  color:#fff;
  box-shadow:var(--shadow-md);
}

.comparison-panel > div{
  padding:26px 28px;
}

.comparison-panel > div + div{
  border-left:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.07);
}

.comparison-panel p{
  margin:0;
  color:rgba(255,255,255,0.78);
  line-height:1.6;
}

.comparison-panel .comparison-label{
  margin-bottom:10px;
  color:#f1d2a0;
  font-size:0.82rem;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.process-strip{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.process-step{
  padding:24px 26px;
  border-radius:22px;
  background:rgba(16,36,56,0.95);
  color:#fff;
  box-shadow:var(--shadow-md);
}

.process-step span{
  display:inline-flex;
  min-width:42px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  color:#f1d2a0;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.08em;
}

.process-step h3{
  margin-top:16px;
}

.process-step p{
  color:rgba(255,255,255,0.78);
}

.feature-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.feature-card{
  display:grid;
  gap:18px;
  padding:30px;
  border-radius:28px;
}

.feature-copy p:first-child{
  margin-top:0;
}

.feature-image-button{
  display:block;
  width:100%;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  text-align:left;
}

.feature-image-button img{
  display:block;
  width:100%;
  border-radius:20px;
  box-shadow:0 24px 40px rgba(16,36,56,0.16);
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-image-button:hover img{
  transform:translateY(-3px);
  box-shadow:0 28px 50px rgba(16,36,56,0.2);
}

.feature-image-note{
  display:inline-flex;
  margin-top:14px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--gold-soft);
  color:var(--ink);
  font-size:0.86rem;
  font-weight:700;
}

.proof-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.quote-panel{
  margin-top:24px;
  padding:30px 34px;
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(15,118,110,0.12), rgba(194,134,45,0.14)),
    var(--surface-strong);
}

.quote-text{
  margin:0;
  font-family:var(--display-font);
  font-size:clamp(1.5rem, 2.4vw, 2.15rem);
  line-height:1.25;
}

.section-demo{
  display:grid;
  grid-template-columns:minmax(0, 0.95fr) minmax(340px, 0.85fr);
  gap:24px;
  align-items:start;
}

.demo-intro p:not(.eyebrow){
  color:var(--ink-soft);
  line-height:1.75;
}

.demo-support{
  margin-top:26px;
  display:grid;
  gap:10px;
}

.demo-support p{
  margin:0;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,0.58);
  border:1px solid rgba(16,36,56,0.08);
}

.demo-card{
  padding:28px;
  border-radius:28px;
}

.contact-form{
  display:grid;
  gap:18px;
}

.form-row{
  display:grid;
  gap:8px;
}

.form-row label{
  font-weight:700;
  font-size:0.96rem;
}

.form-row input,
.form-row textarea{
  width:100%;
  box-sizing:border-box;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(16,36,56,0.14);
  background:#fffdfa;
  color:var(--ink);
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-row input:focus,
.form-row textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(15,118,110,0.14);
}

.button-submit{
  width:100%;
  margin-top:4px;
}

.form-note{
  margin:0;
  color:var(--muted);
  font-size:0.92rem;
}

.form-status{
  min-height:24px;
  margin:0;
  font-weight:700;
}

.form-status.is-success{
  color:var(--accent-strong);
}

.form-status.is-error{
  color:#9f2935;
}

.section-access{
  padding-bottom:70px;
}

.access-card{
  padding:28px 32px;
  border-radius:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.hidden{
  display:none !important;
}

.site-footer{
  padding:0 20px 50px;
  text-align:center;
  color:var(--muted);
}

.lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index:40;
}

.lightbox.active{
  display:block;
}

.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,24,41,0.88);
}

.lightbox-content{
  position:relative;
  z-index:1;
  width:min(1100px, calc(100vw - 28px));
  margin:4vh auto 0;
  padding:24px;
}

.lightbox-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:min(74vh, 720px);
}

.lightbox-stage img{
  display:block;
  max-width:100%;
  max-height:74vh;
  border-radius:20px;
  box-shadow:0 24px 50px rgba(0,0,0,0.4);
  background:#fff;
}

.lightbox-close,
.lightbox-nav{
  position:absolute;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 28px rgba(0,0,0,0.28);
}

.lightbox-close{
  top:4px;
  right:4px;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font-size:28px;
}

.lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:50px;
  height:50px;
  border-radius:50%;
  background:rgba(255,255,255,0.94);
  color:var(--ink);
  font-size:28px;
}

.lightbox-prev{
  left:-2px;
}

.lightbox-next{
  right:-2px;
}

.lightbox-nav.hidden{
  display:none;
}

.lightbox-counter{
  margin-top:16px;
  text-align:center;
  color:#fff;
  font-size:0.95rem;
  letter-spacing:0.04em;
}

.portal-page{
  min-height:100vh;
}

.portal-main{
  padding-bottom:48px;
}

.portal-hero{
  padding-top:52px;
}

.portal-hero-card{
  padding:38px;
  border-radius:32px;
  background:
    linear-gradient(135deg, rgba(255,249,239,0.94), rgba(255,252,247,0.78)),
    radial-gradient(circle at top right, rgba(15,118,110,0.12), transparent 28%);
  border:1px solid var(--surface-border);
  box-shadow:var(--shadow-md);
}

.portal-hero-card h1{
  margin:0;
  font-family:var(--display-font);
  font-size:clamp(2.5rem, 4vw, 4.2rem);
  line-height:0.98;
  letter-spacing:-0.03em;
}

.portal-lead{
  max-width:760px;
  margin:20px 0 0;
  color:var(--ink-soft);
  font-size:1.08rem;
  line-height:1.75;
}

.portal-search-row{
  margin-top:30px;
  display:grid;
  gap:10px;
  max-width:640px;
}

.portal-search-label{
  font-weight:700;
}

.portal-search-input{
  width:100%;
  box-sizing:border-box;
  min-height:58px;
  padding:0 18px;
  border-radius:18px;
  border:1px solid rgba(16,36,56,0.14);
  background:#fffdfa;
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}

.portal-search-input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(15,118,110,0.14);
}

.portal-status-row{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  align-items:center;
}

.portal-status,
.portal-soon{
  margin:0;
  color:var(--muted);
}

.portal-directory{
  padding-top:22px;
}

.school-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.school-card{
  padding:30px;
  border-radius:30px;
  background:
    linear-gradient(180deg, rgba(255,250,242,0.96), rgba(255,248,238,0.86)),
    radial-gradient(circle at top right, rgba(194,134,45,0.12), transparent 32%);
  border:1px solid var(--surface-border);
  box-shadow:var(--shadow-md);
}

.school-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.school-badge{
  margin:0;
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(15,118,110,0.12);
  color:var(--accent-strong);
  font-size:0.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.school-meta{
  margin:0;
  color:var(--muted);
  font-size:0.95rem;
}

.school-card h3{
  margin:18px 0 0;
  font-size:2rem;
  line-height:1.02;
  font-family:var(--display-font);
}

.school-copy{
  margin:14px 0 0;
  color:var(--ink-soft);
  line-height:1.7;
}

.school-details{
  margin:22px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:var(--ink-soft);
}

.school-details li{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.school-details li::before{
  content:"";
  width:9px;
  height:9px;
  margin-top:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--accent));
}

.school-actions{
  margin-top:24px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.portal-empty{
  margin-top:28px;
  padding:28px;
  border-radius:24px;
  background:rgba(255,250,242,0.78);
  border:1px solid var(--surface-border);
  box-shadow:var(--shadow-sm);
}

.portal-empty p{
  margin:0;
  color:var(--ink-soft);
  line-height:1.7;
}

.portal-empty p + p{
  margin-top:8px;
}

.portal-empty .button{
  margin-top:18px;
}

.portal-support{
  padding-top:12px;
}

.portal-support-card{
  background:
    linear-gradient(135deg, rgba(255,250,242,0.94), rgba(255,250,242,0.82)),
    radial-gradient(circle at top right, rgba(15,118,110,0.12), transparent 28%);
}

@media (max-width: 1080px){
  .hero-shell,
  .section-demo{
    grid-template-columns:1fr;
  }

  .hero-copy h1{
    max-width:none;
  }

  .hero-panel{
    max-width:760px;
  }

  .overview-grid,
  .process-strip,
  .proof-grid,
  .fit-layout,
  .comparison-panel{
    grid-template-columns:1fr;
  }

  .fit-card-grid{
    grid-template-columns:1fr;
  }

  .comparison-panel > div + div{
    border-left:none;
    border-top:1px solid rgba(255,255,255,0.14);
  }

  .feature-grid{
    grid-template-columns:1fr;
  }

  .school-grid{
    grid-template-columns:1fr;
  }

  .access-card{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width: 820px){
  .site-header-inner{
    padding:14px 0;
    align-items:flex-start;
    flex-direction:column;
  }

  .site-nav{
    width:100%;
    justify-content:flex-start;
  }

  .hero-section{
    padding-top:32px;
  }

  .hero-copy,
  .hero-panel,
  .feature-card,
  .demo-card,
  .info-card,
  .proof-card,
  .fit-lead-card,
  .fit-card,
  .comparison-panel > div,
  .quote-panel,
  .access-card,
  .portal-hero-card,
  .school-card,
  .portal-empty{
    padding:24px;
  }

  .hero-panel-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 680px){
  :root{
    --site-width:min(1180px, calc(100vw - 24px));
  }

  .hero-video-desktop{
    display:none;
  }

  .hero-video-mobile{
    display:block;
  }

  .hero-copy h1{
    font-size:clamp(2.45rem, 12vw, 3.8rem);
  }

  .hero-actions{
    flex-direction:column;
  }

  .button{
    width:100%;
  }

  .school-actions{
    flex-direction:column;
  }

  .site-nav a{
    padding:8px 10px;
  }

  .section{
    padding-top:34px;
  }

  .lightbox-content{
    width:min(1100px, calc(100vw - 12px));
    padding:12px;
  }

  .lightbox-stage{
    min-height:60vh;
  }

  .lightbox-close{
    top:10px;
    right:10px;
  }

  .lightbox-nav{
    top:auto;
    bottom:20px;
    transform:none;
  }

  .lightbox-prev{
    left:calc(50% - 62px);
  }

  .lightbox-next{
    right:calc(50% - 62px);
  }

  .lightbox-counter{
    margin-top:12px;
    padding-bottom:60px;
  }

  .portal-status-row,
  .school-card-top{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto;
  }

  .hero-video{
    display:none;
  }

  .feature-image-button img,
  .button,
  .site-nav a{
    transition:none;
  }
}
