:root{
  color-scheme:dark;
  --bg:#0b0f12;
  --surface:rgba(31,39,43,.72);
  --surface-strong:rgba(39,48,52,.88);
  --text:#f7f9f8;
  --muted:#bec9c8;
  --line:rgba(255,255,255,.13);
  --accent:#f4511e;
  --accent-hover:#ff6b3d;
  --focus:#ffaf8d;
  --shadow:0 20px 50px rgba(0,0,0,.24);
  --content:1220px;
  --bg-elevated:var(--surface-strong);
  --bg-base:var(--bg);
  --text-primary:var(--text);
  --text-secondary:var(--muted);
  font-family:"Segoe UI",system-ui,sans-serif
}
:root[data-theme=light]{
  color-scheme:light;
  --bg:#fff;
  --surface:rgba(255,255,255,.68);
  --surface-strong:rgba(255,255,255,.92);
  --text:#172023;
  --muted:#455359;
  --line:rgba(23,32,35,.13);
  --accent:#bd390c;
  --accent-hover:#9d2d08;
  --focus:#b53b0b;
  --shadow:0 20px 50px rgba(36,52,49,.11)
}
:root[data-contrast=high]{
  --muted:var(--text);
  --line:var(--text)
}
:root[data-font-scale=small]{
  font-size:93.75%
}
:root[data-font-scale=large]{
  font-size:112.5%
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body{
  margin:0;
  min-height:100dvh;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}
body::selection{
  background:var(--accent);
  color:#fff
}
::selection{
  background:var(--accent);
  color:#fff
}
button,input,select,textarea{
  font:inherit
}
button,a{
  -webkit-tap-highlight-color:transparent
}
a{
  color:inherit;
  text-underline-offset:4px
}
a:hover{
  text-decoration-color:var(--accent)
}
:is(a,button,input,select,textarea):focus-visible{
  outline:3px solid var(--focus);
  outline-offset:3px
}
h1,h2,h3,p{
  margin:0
}
h1,h2,h3{
  text-wrap:balance
}
i{
  font-style:normal
}
.skip-link{
  position:fixed;
  top:8px;
  left:8px;
  z-index:2001;
  transform:translateY(-150%);
  padding:10px 16px;
  border-radius:12px;
  background:var(--text);
  color:var(--bg)
}
.skip-link:focus{
  transform:none
}
.site-header,main,.site-footer{
  width:min(var(--content),calc(100% - 48px));
  margin-inline:auto
}
.site-header{
  position:sticky;
  top:12px;
  z-index:50;
  min-height:72px;
  margin-top:12px;
  padding:10px 16px 10px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
  box-shadow:0 14px 42px rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);
  backdrop-filter:blur(22px) saturate(1.4)
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:"Segoe UI",system-ui,sans-serif;
  font-size:1.65rem;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none
}
.brand img{
  width:34px;
  height:42px;
  object-fit:contain
}
.site-header__actions{
  display:flex;
  gap:8px
}
.header-icon{
  width:44px;
  height:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface-strong);
  color:var(--text);
  cursor:pointer;
  transition:transform .18s ease,background .18s ease
}
.header-icon:hover{
  transform:translateY(-2px);
  background:rgba(244,81,30,.16)
}
main{
  padding-bottom:92px
}
.hero{
  min-height:min(680px,calc(100svh - 90px));
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:center;
  gap:clamp(32px,7vw,90px);
  padding:80px 0 92px
}
.hero-copy{
  max-width:670px
}
.hero-context{
  width:max-content;
  max-width:100%;
  margin-bottom:22px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(244,81,30,.13);
  color:var(--accent);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase
}
.hero h1{
  font-family:"Segoe UI",system-ui,sans-serif;
  font-size:clamp(2.8rem,5vw,4.6rem);
  line-height:1.08;
  letter-spacing:-.02em
}
.hero h1 span{
  color:var(--accent)
}
.hero-summary{
  max-width:58ch;
  margin-top:26px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.75
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px
}
.button{
  min-height:48px;
  padding:11px 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid var(--line);
  border-radius:999px;
  font:inherit;
  cursor:pointer;
  text-decoration:none;
  font-weight:750;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease
}
.button:hover{
  transform:translateY(-2px)
}
.button-primary{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 10px 25px rgba(244,81,30,.22)
}
.button-primary:hover{
  background:var(--accent-hover)
}
.button-secondary{
  background:var(--surface)
}
.hero-visual{
  position:relative;
  min-height:390px;
  display:grid;
  place-items:center
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:7% 9%;
  border-radius:50%;
  background:rgba(244,81,30,.12);
  filter:blur(25px)
}
.hero-visual__frame{
  position:relative;
  width:min(100%,420px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:40px;
  background:var(--surface);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px)
}
.hero-visual__frame img{
  position:relative;
  max-width:70%;
  max-height:74%;
  object-fit:contain;
  filter:drop-shadow(0 15px 22px rgba(0,0,0,.3))
}
.hero-visual__tag{
  position:absolute;
  bottom:4%;
  left:-3%;
  padding:12px 17px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-strong);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  font-size:.8rem;
  font-weight:700
}
.hero-visual__tag i{
  color:var(--accent);
  margin-right:6px
}
.events-section,.purpose-section,.workflow-section,.audience-section,.school-network-section,.contact-section{
  margin-top:18px;
  padding:52px 0 72px;
  border-top:1px solid var(--line)
}
.section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px
}
.section-heading h2,.purpose-section h2,.workflow-section h2,.audience-section h2,.school-network-section h2,.contact-section h2{
  font-family:"Segoe UI",system-ui,sans-serif;
  font-size:clamp(2rem,3.3vw,3.2rem);
  line-height:1.15;
  letter-spacing:-.01em
}
.section-heading p,.purpose-intro p,.contact-section p{
  max-width:62ch;
  margin-top:10px;
  color:var(--muted)
}
.section-heading__mark{
  width:48px;
  height:48px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(244,81,30,.16);
  color:var(--accent)
}
.public-events{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.public-event-card,.public-event-empty{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:26px;
  background:var(--surface);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  transition:transform .2s ease,box-shadow .2s ease
}
.public-event-card:hover{
  transform:translateY(-4px);
  box-shadow:0 25px 55px rgba(0,0,0,.28)
}
.public-event-card__visual{
  position:relative;
  height:190px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#263239
}
.public-event-card__visual img{
  width:100%;
  height:100%;
  object-fit:cover
}
.public-event-card__symbol{
  font-size:5rem;
  color:rgba(255,255,255,.74);
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.28))
}
.status-pill{
  position:absolute;
  top:16px;
  left:16px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(14,19,21,.82);
  color:#fff;
  font-size:.73rem;
  font-weight:750;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px)
}
.status-pill span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff7146
}
.public-event-card__body{
  padding:23px 25px 27px
}
.public-event-card__school{
  color:var(--accent);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em
}
.public-event-card h3{
  margin:7px 0 18px;
  font-size:1.45rem;
  line-height:1.16
}
.public-event-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px 20px;
  color:var(--muted);
  font-size:.83rem
}
.public-event-card__meta span{
  display:inline-flex;
  align-items:center;
  gap:7px
}
.public-event-card__meta i{
  color:var(--accent)
}
.public-event-empty{
  min-height:316px;
  padding:30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  border-style:dashed;
  box-shadow:none
}
.public-event-empty>i{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(244,81,30,.14);
  color:var(--accent);
  font-size:1.2rem
}
.public-event-empty strong{
  font-size:1.15rem
}
.public-event-empty span{
  max-width:34ch;
  color:var(--muted);
  font-size:.9rem
}
.events-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:20px;
  color:var(--muted);
  font-size:.81rem
}
.events-note i{
  margin-top:3px;
  color:var(--accent)
}
.purpose-section{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:64px;
  align-items:start
}
.purpose-intro p{
  margin:18px 0 24px;
  line-height:1.75
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-weight:750;
  text-decoration:none
}
.purpose-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.purpose-grid article{
  min-width:0;
  min-height:225px;
  padding:24px 20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px)
}
.purpose-grid article>i{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  margin-bottom:25px;
  border-radius:14px;
  background:rgba(244,81,30,.14);
  color:var(--accent)
}
.purpose-grid h3{
  font-size:1rem;
  line-height:1.2
}
.purpose-grid p{
  margin-top:9px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5
}
.workflow-section,.audience-section,.school-network-section{
  padding-top:78px
}
.workflow-heading,.audience-heading{
  max-width:760px;
  margin-bottom:32px
}
.workflow-heading p,.audience-heading p,.school-network-copy>p{
  max-width:64ch;
  margin-top:14px;
  color:var(--muted);
  line-height:1.72
}
.workflow-track{
  margin:0;
  padding:0;
  overflow:hidden;
  list-style:none;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px)
}
.workflow-track li{
  min-height:116px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  border-top:1px solid var(--line);
  transition:background .2s ease
}
.workflow-track li:first-child{
  border-top:0
}
.workflow-track li:hover{
  background:rgba(244,81,30,.07)
}
.workflow-icon,.audience-panel__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(244,81,30,.14);
  color:var(--accent);
  font-size:1.05rem
}
.workflow-track h3{
  font-size:1.08rem
}
.workflow-track p{
  max-width:66ch;
  margin-top:5px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55
}
.workflow-stage{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}
.audience-layout{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:16px
}
.audience-panel{
  min-width:0;
  padding:30px;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px)
}
.audience-panel--management{
  background:linear-gradient(145deg,rgba(244,81,30,.13),var(--surface) 58%)
}
.audience-panel h3{
  margin-top:24px;
  font-size:1.45rem
}
.audience-panel>p{
  max-width:52ch;
  margin-top:10px;
  color:var(--muted);
  line-height:1.65
}
.audience-panel ul{
  margin:24px 0 0;
  padding:0;
  display:grid;
  gap:12px;
  list-style:none
}
.audience-panel li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:9px;
  align-items:start;
  font-size:.86rem;
  line-height:1.5
}
.audience-panel li i{
  margin-top:4px;
  color:var(--accent)
}
.school-network-section{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:64px;
  align-items:center
}
.school-network-notes{
  margin-top:26px;
  display:grid;
  gap:11px
}
.school-network-notes span{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.86rem;
  font-weight:700
}
.school-network-notes i{
  width:28px;
  color:var(--accent);
  text-align:center
}
.school-network-flow{
  padding:24px;
  display:grid;
  justify-items:stretch;
  gap:10px;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px)
}
.network-node{
  min-height:92px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  column-gap:15px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface-strong)
}
.network-node>i{
  grid-row:1/3;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(244,81,30,.12);
  color:var(--accent)
}
.network-node span{
  align-self:end;
  font-weight:800
}
.network-node small{
  align-self:start;
  margin-top:2px;
  color:var(--muted)
}
.network-node--event{
  border-color:rgba(244,81,30,.48);
  background:rgba(244,81,30,.11)
}
.network-arrow{
  color:var(--accent);
  text-align:center
}
.contact-section{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:38px;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px)
}
.contact-section h2{
  font-size:clamp(2.2rem,3.3vw,3.4rem)
}
.contact-section .button{
  flex:none
}
.email-chooser{
  width:min(560px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  padding:0;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface-strong);
  color:var(--text);
  box-shadow:0 24px 80px rgba(0,0,0,.42)
}
.email-chooser::backdrop{
  background:rgba(3,8,10,.7);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px)
}
.email-chooser__surface{padding:26px}
.email-chooser__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.email-chooser__header h2{font-size:clamp(1.55rem,4vw,2rem);line-height:1.15;letter-spacing:-.03em}
.email-chooser__header p{max-width:47ch;margin-top:9px;color:var(--muted);font-size:.9rem;line-height:1.55}
.email-chooser__close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  color:var(--text);
  font:400 1.55rem/1 system-ui,sans-serif;
  cursor:pointer
}
.email-chooser__close:hover{background:rgba(244,81,30,.12);color:var(--accent)}
.email-chooser__providers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.email-provider{
  min-width:0;
  padding:14px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease
}
.email-provider:hover{transform:translateY(-2px);border-color:rgba(244,81,30,.6);background:rgba(244,81,30,.08)}
.email-provider__badge{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(244,81,30,.14);
  color:var(--accent);
  font-weight:850
}
.email-provider strong,.email-provider small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.email-provider strong{font-size:.9rem}
.email-provider small{margin-top:3px;color:var(--muted);font-size:.72rem}
.email-provider__arrow{color:var(--accent);font-size:1.05rem}
.email-chooser__address{margin-top:18px;color:var(--muted);font-size:.78rem;text-align:center}
.email-chooser__address strong{color:var(--text)}
.site-footer{
  min-height:130px;
  padding:40px 0 110px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:.82rem
}
.site-footer a{
  text-decoration:none
}
.public-dock{
  position:fixed;
  z-index:60;
  left:50%;
  bottom:max(16px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  display:flex;
  gap:5px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-strong);
  box-shadow:0 14px 40px rgba(0,0,0,.3);
  -webkit-backdrop-filter:blur(24px) saturate(1.5);
  backdrop-filter:blur(24px) saturate(1.5)
}
.public-dock a{
  min-width:108px;
  min-height:44px;
  padding:10px 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:999px;
  text-decoration:none;
  font-size:.86rem;
  font-weight:750;
  white-space:nowrap;
  transition:background .18s ease,transform .18s ease
}
.public-dock a:hover,.public-dock a[aria-current=page]{
  background:rgba(244,81,30,.17);
  color:var(--accent)
}
.public-dock a:hover{
  transform:translateY(-1px)
}
.a11y-backdrop{
  position:fixed;
  inset:0;
  z-index:1998;
  background:rgba(0,0,0,.55)
}
.a11y-backdrop[hidden],.a11y-panel[hidden]{
  display:none!important
}
.a11y-panel-open{
  overflow:hidden
}
.a11y-panel{
  position:fixed;
  z-index:1999;
  top:92px;
  right:24px;
  width:min(420px,calc(100vw - 32px));
  max-height:calc(100dvh - 110px);
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface-strong);
  color:var(--text);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(30px);
  backdrop-filter:blur(30px)
}
.a11y-panel__header{
  display:flex;
  justify-content:space-between;
  gap:16px
}
.a11y-panel__header h2{
  font-size:1.35rem
}
.a11y-panel__eyebrow{
  font-size:.7rem;
  color:var(--accent);
  font-weight:800
}
.a11y-panel__description{
  margin:8px 0 18px;
  color:var(--muted);
  font-size:.8rem
}
.a11y-icon-button{
  width:40px;
  height:40px;
  flex:none;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  cursor:pointer
}
.a11y-setting{
  padding:14px 0;
  border-top:1px solid var(--line)
}
.a11y-setting small,.a11y-toggle small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.7rem
}
.a11y-segmented{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:6px;
  margin-top:10px
}
.a11y-segmented--theme{
  grid-template-columns:1fr 1fr
}
.a11y-segmented button,.a11y-reset{
  min-height:43px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  font-size:.75rem;
  font-weight:700
}
.a11y-segmented button[aria-pressed=true]{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff
}
.a11y-toggle{
  width:100%;
  padding:13px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  border-top:1px solid var(--line);
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer
}
.a11y-toggle>span:first-child{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center
}
.a11y-toggle i{
  color:var(--accent)
}
.a11y-switch{
  width:43px;
  height:24px;
  flex:none;
  padding:3px;
  border-radius:999px;
  background:var(--line)
}
.a11y-switch::after{
  content:"";
  display:block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  transition:transform .2s ease
}
.a11y-toggle[aria-pressed=true] .a11y-switch{
  background:var(--accent)
}
.a11y-toggle[aria-pressed=true] .a11y-switch::after{
  transform:translateX(19px)
}
.a11y-reset{
  width:100%;
  margin-top:10px
}
.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
}
:root[data-highlight-links=true] main a{
  text-decoration:underline
}
@media(max-width:1000px){
  .hero{
    grid-template-columns:1fr;
    min-height:0;
    padding:70px 0
  }
  .hero-visual{
    min-height:320px;
    max-width:480px;
    width:100%;
    margin:auto
  }
  .purpose-section{
    grid-template-columns:1fr;
    gap:28px
  }
  .purpose-grid article{
    min-height:190px
  }
  .audience-layout{
    grid-template-columns:1fr
  }
  .school-network-section{
    grid-template-columns:1fr;
    gap:32px
  }
}
@media(max-width:700px){
  .site-header,main,.site-footer{
    width:calc(100% - 28px)
  }
  .site-header{
    top:8px;
    margin-top:8px;
    min-height:62px;
    border-radius:19px;
    padding:8px 10px 8px 15px
  }
  .brand{
    font-size:1.4rem
  }
  .brand img{
    width:29px;
    height:36px
  }
  .header-icon{
    width:42px;
    height:42px
  }
  .hero{
    padding:55px 4px 60px;
    gap:30px
  }
  .hero h1{
    font-size:clamp(3.4rem,12vw,4.8rem)
  }
  .hero-summary{
    font-size:1rem;
    margin-top:20px
  }
  .hero-actions{
    display:grid
  }
  .hero-visual{
    min-height:280px
  }
  .hero-visual__frame{
    width:min(100%,300px);
    border-radius:28px
  }
  .hero-visual__tag{
    left:0
  }
  .events-section,.purpose-section,.workflow-section,.audience-section,.school-network-section{
    padding:45px 0 58px
  }
  .section-heading__mark{
    display:none
  }
  .public-events{
    grid-template-columns:1fr
  }
  .public-event-card__visual{
    height:170px
  }
  .purpose-grid{
    grid-template-columns:1fr
  }
  .purpose-grid article{
    min-height:0;
    padding:20px
  }
  .purpose-grid article>i{
    margin-bottom:16px
  }
  .workflow-track{
    border-radius:22px
  }
  .workflow-track li{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    padding:19px 16px
  }
  .workflow-icon{
    width:42px;
    height:42px
  }
  .workflow-stage{
    grid-column:2;
    justify-self:start
  }
  .audience-panel{
    padding:22px;
    border-radius:22px
  }
  .school-network-flow{
    padding:16px;
    border-radius:22px
  }
  .network-node{
    padding:16px
  }
  .contact-section{
    display:grid;
    padding:25px
  }
  .contact-section .button{
    justify-self:start
  }
  .email-chooser__surface{padding:20px}
  .email-chooser__providers{grid-template-columns:1fr}
  .site-footer{
    display:grid;
    padding:35px 0 105px
  }
  .public-dock a{
    min-width:100px
  }
  .a11y-panel{
    inset:auto 8px 8px;
    width:auto;
    max-height:calc(100dvh - 16px)
  }
}
.motion-ready .reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)
}
.motion-ready .reveal[data-visible=true]{
  opacity:1;
  transform:none
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
  .motion-ready .reveal{
    opacity:1;
    transform:none
  }
}
:root[data-reduce-motion=true] *, :root[data-reduce-motion=true] *::before,:root[data-reduce-motion=true] *::after{
  animation-duration:.01ms!important;
  transition-duration:.01ms!important;
  scroll-behavior:auto!important
}
:root[data-reduce-motion=true] .reveal{
  opacity:1!important;
  transform:none!important
}
