/* Calm preview theme (staging only, ?theme=calm). One geometric sans in light weights, more air, quieter surfaces,
   brand navy for text and bands, orange kept for actions. Loaded after the M3 styles and scoped to html.theme-calm. */
html.theme-calm{
  --display:"Outfit", "Inter", system-ui, sans-serif;
  --body:"Outfit", "Inter", system-ui, sans-serif;
  --cream:#F7F6F3; --line:#E6E3DC; --muted:#5F6B78; --radius:16px;
  --slate:#34495E;
}
.theme-calm body{background:var(--cream);font-size:17px;font-weight:300;letter-spacing:.005em}
.theme-calm b,.theme-calm strong{font-weight:500}
.theme-calm h1,.theme-calm h2,.theme-calm h3{font-weight:300;letter-spacing:-.02em;line-height:1.1}
.theme-calm h1{font-size:clamp(44px,5.6vw,76px)}
.theme-calm h2{font-size:clamp(34px,3.8vw,52px)}
.theme-calm h3{font-weight:400;letter-spacing:-.01em}
.theme-calm .accent,.theme-calm .ev-hero .tagline,.theme-calm .program-card .tagline,.theme-calm .ev-tag{font-style:normal;font-family:var(--display)}
.theme-calm .accent{color:var(--orange);font-weight:300}
.theme-calm .hero h1 .accent::after{display:none}
.theme-calm .eyebrow{font-weight:500;letter-spacing:.14em;color:var(--muted)}
.theme-calm p,.theme-calm li{font-weight:300}
.theme-calm .lead,.theme-calm .section-head p{font-size:19px;line-height:1.65;color:var(--muted)}

/* Header and actions */
.theme-calm header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.theme-calm nav a{font-weight:400;letter-spacing:.01em}
.theme-calm .btn{border-radius:8px;font-weight:500;letter-spacing:.01em;padding:13px 22px}
.theme-calm .btn-primary{background:var(--slate)}
.theme-calm .btn-line{border-width:1px}

/* Quieter surfaces: thin borders instead of heavy shadows, same radius everywhere */
.theme-calm .pillar,.theme-calm .vmc,.theme-calm .ev-feature,.theme-calm .area,.theme-calm .aside,.theme-calm .program-card,
.theme-calm .up-card,.theme-calm .next-card,.theme-calm .sig-card,.theme-calm .faq details,.theme-calm .contact form{
  border-radius:var(--radius);box-shadow:none}
.theme-calm .pillar,.theme-calm .area,.theme-calm .aside{border:1px solid var(--line);background:#fff}
.theme-calm .page-sec,.theme-calm .services,.theme-calm .partners{padding-block:clamp(72px,9vw,128px)}
.theme-calm .section-head{margin-bottom:56px}
.theme-calm .site-foot{background:#1F3346}

/* Next-event bar above the header */
.theme-calm .ev-bar{background:var(--slate);color:#fff;font-size:15px}
.theme-calm .ev-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.theme-calm .ev-bar p{margin:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.theme-calm .ev-bar p span:first-child{text-transform:uppercase;letter-spacing:.14em;font-size:12px;opacity:.7}
.theme-calm .ev-bar p b{font-weight:500}
.theme-calm .ev-bar p span:last-child{opacity:.85}
.theme-calm .ev-bar .btn{padding:8px 16px;font-size:14px;white-space:nowrap;flex:none}

/* Event page: sticky section navigation */
.theme-calm .ev-subnav{position:sticky;top:104px;z-index:15;background:var(--slate);margin:0 0 48px}
.theme-calm .ev-subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.theme-calm .ev-subnav a{color:#fff;text-decoration:none;padding:16px 18px;font-size:15px;white-space:nowrap;border-bottom:2px solid transparent}
.theme-calm .ev-subnav a:hover,.theme-calm .ev-subnav a:focus-visible{border-bottom-color:var(--orange)}
.theme-calm [id]{scroll-margin-top:170px}

@media (max-width:560px){ .theme-calm .ev-subnav{top:88px} }
@media (max-width:700px){
  .theme-calm .ev-bar p span{display:none}
  .theme-calm .ev-bar p b{font-size:14px}
  .theme-calm .ev-bar-in{min-height:46px}
}
