/* ── FONTS ── */
@font-face {
  font-family: 'PP Neue Montreal';
  src: url('https://assets.website-files.com/6009ec8cda7f305645c9d91b/60176f9bb43e36419997ecfe_PPNeueMontreal-Book.otf') format('opentype');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'PP Neue Montreal';
  src: url('https://assets.website-files.com/6009ec8cda7f305645c9d91b/60176f9b39c5673e51a86f5a_PPNeueMontreal-Medium.otf') format('opentype');
  font-weight: 500; font-display: swap;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── TOKENS ── */
:root {
  --teal:    #7A8C75;
  --teal-m:  #A8B8A3;
  --aqua:    #D4DDD1;
  --parch:   #F5F0E8;
  --parch-d: #EDE6D9;
  --parch-dd:#E2D9C9;
  --gold:    #B8976A;
  --gold-l:  #D4B896;
  --stone:   #7A6E68;
  --stone-l: #B0A8A2;
  --ink:     #2C2420;
  --ink-2:   #3A2E2A;
  --muted:   #7A6E68;
  --white:   #FDFAF6;

  --shadow-primary:
    0 1px 2px 0 rgba(5,26,36,0.10),
    0 4px 4px 0 rgba(5,26,36,0.09),
    0 9px 6px 0 rgba(5,26,36,0.05),
    0 17px 7px 0 rgba(5,26,36,0.01),
    0 26px 7px 0 rgba(5,26,36,0),
    inset 0 2px 8px 0 rgba(255,255,255,0.5);
  --shadow-secondary:
    0 0 0 0.5px rgba(0,0,0,0.05),
    0 4px 30px rgba(0,0,0,0.08);
}

html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'PP Neue Montreal', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400; background: var(--white); color: var(--ink); overflow-x: hidden;
}

/* ── SERIF UTIL ── */
.serif { font-family: 'Cormorant Garamond', 'PP Mondwest', Georgia, serif; }

/* ── CURSOR ── */
.cursor {
  position: fixed; width: 7px; height: 7px; background: var(--ink); border-radius: 50%;
  pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); opacity: 0;
  mix-blend-mode: multiply; transition: opacity 0.3s;
}
.cursor-ring {
  position: fixed; width: 28px; height: 28px;
  border: 0.5px solid var(--teal-m); border-radius: 50%;
  pointer-events: none; z-index: 9998; transform: translate(-50%,-50%); opacity: 0;
}

/* ── TYPOGRAPHY ── */
.display {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300; line-height: 1.06; color: var(--ink-2); letter-spacing: -0.01em;
}
.display-xl  { font-size: clamp(44px, 7vw, 96px); }
.display-lg  { font-size: clamp(34px, 5vw, 68px); }
.display-md  { font-size: clamp(28px, 4vw, 52px); }
.display em  { font-style: italic; color: var(--teal-m); }
/* override display to mondwest for accent headings */
.display-mondwest {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300; line-height: 1.06; color: var(--ink-2); letter-spacing: -0.01em;
}

.eyebrow {
  font-family: 'Courier New', Courier, monospace;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 28px; display: block;
}
.label {
  font-size: 10px; font-weight: 400; letter-spacing: 0.34em;
  text-transform: uppercase; color: var(--teal-m); display: block; margin-bottom: 18px;
}
.body-text { font-size: 15px; line-height: 1.9; color: var(--ink); }
.body-text-sm { font-size: 13px; line-height: 1.8; color: var(--muted); }

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'PP Neue Montreal', sans-serif;
  font-weight: 400; font-size: 14px; text-decoration: none; cursor: pointer;
  border: none; outline: none;
  transition: opacity 0.25s, transform 0.2s; white-space: nowrap;
}
.btn:hover { opacity: 0.86; transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn-primary {
  background: var(--ink); color: #fff;
  border-radius: 999px; padding: 12px 28px;
  box-shadow: var(--shadow-primary);
}
.btn-secondary {
  background: var(--white); color: var(--ink);
  border-radius: 999px; padding: 12px 28px;
  box-shadow: var(--shadow-secondary);
}
.btn-teal {
  background: var(--teal); color: var(--parch);
  border-radius: 999px; padding: 12px 28px;
  box-shadow: var(--shadow-primary);
}
.btn-gold {
  background: transparent; color: var(--gold);
  border-radius: 999px; padding: 11px 28px;
  border: 0.5px solid var(--gold-l);
  box-shadow: var(--shadow-secondary);
}
.btn-gold:hover { background: var(--gold-l); color: var(--ink); }
.btn-white {
  background: var(--white); color: var(--ink);
  border-radius: 999px; padding: 12px 28px;
  box-shadow: var(--shadow-secondary);
}
.btn-ghost {
  background: transparent; color: var(--white);
  border-radius: 999px; padding: 11px 28px;
  border: 0.5px solid rgba(255,255,255,0.35);
}
.btn-ghost:hover { background: rgba(255,255,255,0.08); }
.btn-group { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 28px 72px;
  transition: background 0.5s, padding 0.4s, box-shadow 0.4s;
}
nav.scrolled {
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  padding: 18px 72px;
  box-shadow: 0 1px 0 rgba(5,26,36,0.07);
}
.nav-logo {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300; font-size: 20px; letter-spacing: 0.2em;
  color: var(--ink); text-transform: uppercase; text-decoration: none; transition: opacity 0.3s;
}
.nav-logo:hover { opacity: 0.6; }
.nav-logo-co { font-size: 15px; letter-spacing: 0.14em; opacity: 0.65; vertical-align: middle; position: relative; top: -1px; }
.nav-links { display: flex; gap: 44px; list-style: none; align-items: center; }
.nav-links a {
  font-size: 13px; font-weight: 400; color: var(--muted); text-decoration: none;
  transition: color 0.25s; letter-spacing: 0.02em;
}
.nav-links a:hover, .nav-links a.active { color: var(--ink); }

/* ── MOBILE NAV ── */
.nav-burger {
  display: none; flex-direction: column; justify-content: center;
  gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; z-index: 210;
}
.nav-burger span { display: block; width: 22px; height: 0.5px; background: var(--ink); transition: transform 0.3s, opacity 0.3s; }
.mobile-menu {
  display: none; position: fixed; inset: 0; z-index: 300;
  background: var(--white); flex-direction: column;
  justify-content: center; align-items: center; text-align: center;
  opacity: 0; transition: opacity 0.35s;
}
.mobile-menu.open { display: flex; opacity: 1; }
.mobile-menu-close {
  position: absolute; top: 28px; right: 28px;
  background: none; border: none; font-size: 28px; color: var(--muted); cursor: pointer;
}
.mobile-nav { display: flex; flex-direction: column; gap: 28px; }
.mobile-nav a {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(28px, 8vw, 44px); color: var(--ink); text-decoration: none; transition: opacity 0.2s;
}
.mobile-nav a:hover { opacity: 0.55; }
.mobile-menu-footer {
  position: absolute; bottom: 40px;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--stone-l);
}

/* ── LAYOUT ── */
.section { padding: 120px 72px; position: relative; }
.section-sm { padding: 80px 72px; }
.section-lg { padding: 160px 72px; }
.container { max-width: 1140px; margin: 0 auto; }
.rule { height: 0.5px; background: rgba(5,26,36,0.08); margin: 0 72px; }
.rule-teal { background: linear-gradient(to right, transparent, var(--aqua), transparent); }

/* ── FADE IN ── */
@keyframes fadeInUp { 0% { opacity:0; transform:translateY(30px); } 100% { opacity:1; transform:translateY(0); } }
.fade-in { opacity:0; transform:translateY(28px); transition:opacity 0.9s ease, transform 0.9s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.fade-in-delay-1 { transition-delay: 0.15s; }
.fade-in-delay-2 { transition-delay: 0.30s; }
.fade-in-delay-3 { transition-delay: 0.45s; }
.fade-in-delay-4 { transition-delay: 0.60s; }
.hero-anim { opacity:0; transform:translateY(24px); transition:opacity 1s ease, transform 1s ease; }

/* ── MARQUEE ── */
@keyframes marquee { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.marquee-track { display:flex; width:max-content; animation:marquee 30s linear infinite; }
@media (max-width:768px) { .marquee-track { animation-duration:12s; } }
.marquee-img { height:280px; object-fit:cover; margin:0 12px; border-radius:16px; box-shadow:0 8px 32px rgba(5,26,36,0.12); flex-shrink:0; }
@media (min-width:768px) { .marquee-img { height:420px; } }

/* ── SCROLL INDICATOR ── */
.scroll-indicator {
  position:absolute; bottom:48px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  opacity:0; animation:fade-up 1s ease 2.4s forwards;
}
.scroll-indicator span { font-size:9px; letter-spacing:0.35em; text-transform:uppercase; color:var(--stone-l); }
.scroll-bar { width:0.5px; height:48px; background:linear-gradient(to bottom,var(--stone-l),transparent); animation:sb-pulse 2.5s ease-in-out 2.4s infinite; }
@keyframes sb-pulse { 0%,100%{opacity:0.3;} 50%{opacity:0.8;} }
@keyframes fade-up { from{opacity:0;transform:translateX(-50%) translateY(10px);} to{opacity:1;transform:translateX(-50%) translateY(0);} }
.hero-line-grow { width:0.5px; height:0; background:linear-gradient(to bottom,var(--teal-m),transparent); margin:0 auto 48px; animation:line-grow 1.6s cubic-bezier(.16,.85,.44,1) 1.2s forwards; }
@keyframes line-grow { to { height:64px; } }

/* ── V LINE ── */
.v-line { width:0.5px; height:0; background:linear-gradient(to bottom,var(--teal-m),transparent); margin:0 auto; }

/* ── PARTICLES ── */
.particles { position:fixed; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
.particle { position:absolute; border-radius:50%; opacity:0; animation:float-up var(--dur) ease-in-out var(--del) infinite; }
@keyframes float-up { 0%{opacity:0;transform:translateY(100vh) scale(0.3);} 15%{opacity:var(--op);} 85%{opacity:calc(var(--op)*0.4);} 100%{opacity:0;transform:translateY(-8vh) scale(1);} }

/* ── BOTTOM NAV ── */
.bottom-nav {
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  z-index:150; display:flex; align-items:center; gap:16px;
  background:var(--white); border-radius:999px; padding:10px 24px;
  box-shadow: 0 2px 8px rgba(5,26,36,0.10), 0 8px 32px rgba(5,26,36,0.12), 0 0 0 0.5px rgba(5,26,36,0.06);
}
.bottom-nav-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:20px; letter-spacing:0.1em; color:var(--ink); line-height:1; }

/* ── BG GHOST WORD ── */
.bg-word {
  position:absolute; font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300;
  font-size:clamp(100px,18vw,280px); color:transparent;
  -webkit-text-stroke:0.5px rgba(5,26,36,0.035);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; white-space:nowrap; user-select:none; z-index:0;
}

/* ── PILLARS ── */
.pillars-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:0.5px solid rgba(5,26,36,0.07); margin-top:64px; }
.pillar { padding:52px 36px; border-right:0.5px solid rgba(5,26,36,0.07); transition:background 0.4s; position:relative; overflow:hidden; }
.pillar:last-child { border-right:none; }
.pillar::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--teal),var(--teal-m)); transform:scaleX(0); transform-origin:left; transition:transform 0.5s cubic-bezier(.77,0,.18,1); }
.pillar:hover { background:rgba(5,26,36,0.02); }
.pillar:hover::after { transform:scaleX(1); }
.pillar-icon { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:38px; color:var(--teal-m); margin-bottom:20px; line-height:1; display:block; }
.pillar-name { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:20px; color:var(--ink); margin-bottom:14px; line-height:1.2; }
.pillar-desc { font-size:13px; line-height:1.8; color:var(--muted); }

/* ── QUOTE STRIP ── */
.quote-strip { background:var(--ink); padding:100px 72px; text-align:center; position:relative; overflow:hidden; }
.quote-strip::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(47,167,160,0.08),transparent); }
.quote-strip > * { position:relative; }
.big-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300; font-size:clamp(22px,3.5vw,46px); line-height:1.35; color:var(--parch); max-width:860px; margin:0 auto 40px; letter-spacing:0.01em; }

/* ── CARDS ROW ── */
.cards-row { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:64px; }
.feature-card { background:rgba(5,26,36,0.025); padding:48px 40px; transition:background 0.3s; }
.feature-card:hover { background:rgba(5,26,36,0.05); }
.feature-num { font-family:'Courier New',monospace; font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--teal-m); display:block; margin-bottom:24px; }
.feature-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:24px; color:var(--ink); margin-bottom:16px; line-height:1.2; }
.feature-desc { font-size:14px; line-height:1.85; color:var(--muted); }

/* ── INTRO ── */
.intro-inner { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:120px; align-items:center; }
.intro-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300; font-size:clamp(20px,2.8vw,34px); line-height:1.5; color:var(--teal); margin-bottom:28px; border-left:2px solid var(--teal-m); padding-left:28px; }
.intro-attr { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); padding-left:28px; }

/* ── PAGE HERO ── */
.page-hero { min-height:85vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:140px 72px 100px; position:relative; overflow:hidden; background:var(--white); }
.page-hero-center { min-height:80vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:140px 72px 100px; background:var(--ink); position:relative; overflow:hidden; }
.page-hero-center::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(47,167,160,0.10),transparent); }
.page-hero-center > * { position:relative; z-index:2; }
.page-hero-dark { background:var(--ink); }
.page-hero-dark .display { color:var(--parch); }
.page-hero-dark .display em { color:var(--aqua); }
.page-hero-dark .eyebrow { color:rgba(127,201,194,0.65); }

/* ── SERVICES ── */
.service-block { padding:100px 72px; position:relative; }
.service-block:nth-child(even) { background:rgba(5,26,36,0.025); }
.sb-inner { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:1fr 1.3fr; gap:100px; align-items:start; }
.sb-inner.reverse { direction:rtl; }
.sb-inner.reverse > * { direction:ltr; }
.sb-meta { position:sticky; top:120px; }
.sb-num { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:72px; font-weight:300; color:rgba(5,26,36,0.06); line-height:1; margin-bottom:20px; transition:color 0.3s; }
.service-block:hover .sb-num { color:rgba(47,167,160,0.22); }
.sb-name { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:28px; color:var(--ink); line-height:1.2; margin-bottom:12px; }
.sb-price { font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--teal-m); margin-bottom:32px; display:block; }
.sb-content h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:18px; color:var(--ink); margin-bottom:10px; margin-top:28px; }
.sb-content h4:first-child { margin-top:0; }
.sb-content p { font-size:15px; line-height:1.9; color:var(--muted); margin-bottom:14px; }
.sb-content ul { list-style:none; margin-bottom:20px; }
.sb-content li { font-size:14px; line-height:1.7; color:var(--muted); padding:8px 0 8px 20px; border-bottom:0.5px solid rgba(5,26,36,0.06); position:relative; }
.sb-content li::before { content:'—'; position:absolute; left:0; color:var(--teal-m); }

/* ── GATHERING ── */
.five-strip { display:flex; justify-content:center; flex-wrap:wrap; border:0.5px solid rgba(255,255,255,0.12); margin:56px 0 0; }
.strip-item { padding:28px 40px; border-right:0.5px solid rgba(255,255,255,0.12); text-align:center; }
.strip-item:last-child { border-right:none; }
.strip-num { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:36px; font-weight:300; color:var(--aqua); display:block; line-height:1; margin-bottom:8px; }
.strip-label { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(199,212,208,0.5); }

/* ── PODCAST ── */
.ep-item { display:grid; grid-template-columns:72px 1fr auto; gap:48px; align-items:start; padding:44px 0; border-bottom:0.5px solid rgba(5,26,36,0.07); transition:background 0.3s; }
.ep-item:hover { background:rgba(5,26,36,0.025); margin:0 -48px; padding:44px 48px; }
.ep-item:first-child { border-top:0.5px solid rgba(5,26,36,0.07); }
.ep-num { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:40px; font-weight:300; color:rgba(5,26,36,0.08); line-height:1.1; }
.ep-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:20px; color:var(--ink); margin-bottom:10px; line-height:1.25; }
.ep-desc { font-size:13px; line-height:1.75; color:var(--muted); }

/* ── ABOUT ── */
.about-stat { padding:36px 0; border-bottom:0.5px solid rgba(199,212,208,0.12); }
.about-stat:first-child { padding-top:0; }
.about-stat:last-child { border-bottom:none; }
.stat-num { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(48px,7vw,80px); line-height:1; color:var(--parch); }
.stat-label { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:rgba(199,212,208,0.5); margin-top:8px; }

/* ── FOUNDATION ── */
.programs-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:64px; }
.program-card { background:rgba(5,26,36,0.025); padding:52px 44px; transition:background 0.3s; }
.program-card:hover { background:rgba(5,26,36,0.05); }
.program-icon { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:32px; color:var(--teal-m); margin-bottom:24px; display:block; }
.program-name { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:22px; color:var(--ink); margin-bottom:14px; }

/* ── CONTACT FORM ── */
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--stone-l); margin-bottom:10px; }
.form-group input, .form-group textarea, .form-group select { width:100%; background:transparent; border:none; border-bottom:0.5px solid rgba(5,26,36,0.14); color:var(--ink); font-family:'PP Neue Montreal',sans-serif; font-size:15px; padding:14px 0; outline:none; transition:border-color 0.3s; border-radius:0; -webkit-appearance:none; }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--stone-l); }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-bottom-color:var(--teal-m); }
.form-group textarea { min-height:100px; resize:none; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }

/* ── FOOTER ── */
footer { background:var(--ink); padding:100px 72px 52px; }
.footer-grid { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:80px; margin-bottom:80px; }
.footer-brand { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:24px; letter-spacing:0.18em; color:var(--parch); text-transform:uppercase; margin-bottom:12px; }
.footer-brand-co { font-size:17px; letter-spacing:0.14em; opacity:0.65; vertical-align:middle; position:relative; top:-1px; }
.footer-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:16px; color:var(--aqua); margin-bottom:24px; opacity:0.7; }
.footer-about { font-size:13px; line-height:1.85; color:rgba(248,244,238,0.4); }
.footer-col h5 { font-size:9px; letter-spacing:0.32em; text-transform:uppercase; color:rgba(248,244,238,0.2); margin-bottom:24px; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:14px; }
.footer-col a { font-size:13px; color:rgba(248,244,238,0.4); text-decoration:none; transition:color 0.3s; }
.footer-col a:hover { color:var(--aqua); }
.footer-bottom { max-width:1140px; margin:0 auto; border-top:0.5px solid rgba(248,244,238,0.07); padding-top:32px; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom p { font-size:11px; letter-spacing:0.1em; color:rgba(248,244,238,0.22); }

/* ── ASIDE CARDS (about) ── */
.aside-card { background:rgba(5,26,36,0.03); border:0.5px solid rgba(5,26,36,0.07); padding:40px; margin-bottom:14px; }
.aside-card h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:20px; color:var(--ink); margin-bottom:12px; }
.aside-card p { font-size:13px; line-height:1.8; color:var(--muted); }
.aside-card.dark { background:var(--teal); border-color:var(--teal); }
.aside-card.dark h4 { color:var(--parch); }
.aside-card.dark p { color:rgba(199,212,208,0.7); }

/* ── MOBILE ── */
@media (max-width:900px) {
  nav { padding:22px 24px; }
  nav.scrolled { padding:14px 24px; }
  .nav-links { display:none; }
  .nav-burger { display:flex; }
  .section { padding:72px 24px; }
  .section-sm { padding:56px 24px; }
  .section-lg { padding:96px 24px; }
  .page-hero { padding:120px 24px 72px; }
  .page-hero-center { padding:120px 24px 72px; }
  .service-block { padding:72px 24px; }
  .rule { margin:0 24px; }
  .intro-inner { grid-template-columns:1fr; gap:56px; }
  .pillars-grid { grid-template-columns:1fr 1fr; }
  .pillar { border-right:none; border-bottom:0.5px solid rgba(5,26,36,0.07); }
  .cards-row { grid-template-columns:1fr; }
  .sb-inner { grid-template-columns:1fr; gap:40px; }
  .sb-inner.reverse { direction:ltr; }
  .sb-meta { position:static; }
  .footer-grid { grid-template-columns:1fr; gap:44px; }
  .footer-bottom { flex-direction:column; gap:14px; text-align:center; }
  footer { padding:72px 24px 48px; }
  .programs-grid { grid-template-columns:1fr; }
  .quote-strip { padding:72px 24px; }
  .ep-item { grid-template-columns:48px 1fr; gap:20px; }
  .ep-item .btn-group { grid-column:1/-1; }
  .bottom-nav { bottom:16px; padding:10px 20px; }
  .form-row { grid-template-columns:1fr; }
  .marquee-img { height:220px; }
}
