
    :root {
      --ink: #07090c;
      --ink-2: #0f1319;
      --ink-3: #161c24;
      --paper: #f4f1e9;
      --paper-2: #ddd9cf;
      --white: #ffffff;
      --red: #e31f33;
      --red-hot: #ff3048;
      --violet: #7868ff;
      --blue: #4aa8ff;
      --line: rgba(255,255,255,.16);
      --line-dark: rgba(7,9,12,.14);
      --display: "Archivo Black", Impact, sans-serif;
      --condensed: "Bebas Neue", "Arial Narrow", sans-serif;
      --script: "Allura", cursive;
      --body: "Manrope", Arial, sans-serif;
      --serif: "Instrument Serif", Georgia, serif;
      --header-h: 76px;
      --pad: max(5vw, 18px);
      --ease: cubic-bezier(.2,.75,.2,1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { background: var(--ink); color-scheme: dark; scroll-behavior: auto; }
    body {
      margin: 0;
      min-width: 200px;
      min-height: 100%;
      background: var(--ink);
      color: var(--white);
      font-family: var(--body);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    body.home-active { overflow: hidden; }
    button, input, textarea, select { font: inherit; }
    button { color: inherit; }
    a { color: inherit; }
    img { display: block; max-width: 100%; height: auto; }
    ::selection { background: var(--red); color: var(--white); }

    .skip-link {
      position: fixed;
      z-index: 2000;
      top: 10px;
      left: 10px;
      padding: .75rem 1rem;
      background: var(--paper);
      color: var(--ink);
      transform: translateY(-150%);
      transition: transform .2s ease;
    }
    .skip-link:focus { transform: translateY(0); }
    .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;
    }

    .grain {
      pointer-events: none;
      position: fixed;
      inset: 0;
      z-index: 999;
      opacity: .055;
      mix-blend-mode: soft-light;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
    }

    .site-header {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 700;
      min-height: var(--header-h);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: max(12px, env(safe-area-inset-top)) var(--pad) 0;
      pointer-events: none;
      transition: background .35s ease, backdrop-filter .35s ease;
    }
    body:not(.home-active).scrolled .site-header {
      background: rgba(7,9,12,.72);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--line);
    }
    .brand, .menu-toggle { pointer-events: auto; }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      border: 0;
      padding: 0;
      background: transparent;
      color: inherit;
      text-align: left;
      text-decoration: none;
      cursor: pointer;
    }
    .brand:hover, .brand:focus-visible { text-decoration: none; }
    .brand__mark {
      width: 40px;
      aspect-ratio: 1;
      border: 0;
      border-radius: 0;
      padding: 0;
      background: transparent;
    }
    .brand__mark img { width: 100%; height: 100%; object-fit: contain; }
    .brand__type { display: grid; line-height: 1; }
    .brand__main {
      font-family: var(--display);
      font-size: .78rem;
      letter-spacing: .13em;
    }
    .brand__sub {
      margin-top: 5px;
      color: rgba(255,255,255,.66);
      font-size: .54rem;
      font-weight: 800;
      letter-spacing: .42em;
    }

    .menu-toggle {
      position: relative;
      width: 48px;
      aspect-ratio: 1;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.28);
      background: rgba(7,9,12,.34);
      backdrop-filter: blur(14px);
      cursor: pointer;
      display: grid;
      place-items: center;
      transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    .menu-toggle:hover, .menu-toggle:focus-visible {
      background: var(--red);
      border-color: var(--red);
    }
    .menu-toggle__icon { width: 18px; height: 14px; position: relative; }
    .menu-toggle__icon span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background: currentColor;
      transform-origin: center;
      transition: transform .25s ease, top .25s ease, opacity .2s ease;
    }
    .menu-toggle__icon span:nth-child(1) { top: 0; }
    .menu-toggle__icon span:nth-child(2) { top: 6px; width: 65%; right: 0; left: auto; }
    .menu-toggle__icon span:nth-child(3) { top: 12px; }
    .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1) { top: 6px; transform: rotate(45deg); }
    .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

    .nav-overlay {
      position: fixed;
      inset: 0;
      z-index: 650;
      visibility: hidden;
      opacity: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      background:
        radial-gradient(circle at 82% 15%, rgba(227,31,51,.24), transparent 28%),
        radial-gradient(circle at 10% 90%, rgba(120,104,255,.16), transparent 28%),
        var(--ink);
    }
    .nav-overlay__inner {
      min-height: 100%;
      display: grid;
      align-content: start;
      padding: calc(var(--header-h) + 42px) var(--pad) max(34px, env(safe-area-inset-bottom));
    }
    .nav-kicker {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 24px;
      color: rgba(255,255,255,.46);
      font-size: .69rem;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
    .nav-kicker::before { content: ""; width: 38px; height: 1px; background: var(--red); }
    .nav-list { display: grid; margin: 0; padding: 0; list-style: none; }
    .nav-item { border-top: 1px solid var(--line); }
    .nav-item:last-child { border-bottom: 1px solid var(--line); }
    .nav-link {
      width: 100%;
      border: 0;
      background: transparent;
      padding: 14px 0;
      display: grid;
      grid-template-columns: 30px 1fr auto;
      align-items: center;
      gap: 10px;
      text-align: left;
      text-decoration: none;
      color: inherit;
      cursor: pointer;
    }
    .nav-link__index {
      color: var(--red-hot);
      font-size: .58rem;
      font-weight: 800;
      letter-spacing: .16em;
    }
    .nav-link__label {
      font-family: var(--display);
      font-size: clamp(1.03rem, 5.2vw, 1.48rem);
      letter-spacing: -.025em;
      line-height: .95;
    }
    .nav-link__arrow {
      font-size: 1rem;
      transform: translateX(-5px);
      opacity: 0;
      transition: transform .22s ease, opacity .22s ease;
    }
    .nav-link:hover .nav-link__arrow, .nav-link:focus-visible .nav-link__arrow { opacity: 1; transform: none; }
    .nav-link:hover .nav-link__label, .nav-link:focus-visible .nav-link__label { color: var(--red-hot); }
    .nav-meta {
      margin-top: 30px;
      display: grid;
      gap: 18px;
      color: rgba(255,255,255,.67);
      font-size: .76rem;
      line-height: 1.6;
    }
    .nav-meta strong { color: var(--white); text-transform: uppercase; letter-spacing: .15em; font-size: .63rem; }

    .transition-curtain {
      position: fixed;
      inset: 0;
      z-index: 1500;
      pointer-events: none;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      visibility: hidden;
      overflow: hidden;
      isolation: isolate;
    }
    .transition-curtain__panel { position: relative; z-index: 1; width: calc(100% + 2px); margin-left: -1px; background: var(--red); transform: translateY(-102%); will-change: transform; }
    .transition-curtain__panel:nth-child(2) { background: #a90f21; }
    .transition-curtain__panel:nth-child(3) { background: #0f1319; }
    .transition-curtain__word {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: grid;
      place-items: center;
      color: var(--white);
      text-shadow: none;
      font-family: var(--display);
      font-size: clamp(2.5rem, 13vw, 8rem);
      line-height: .82;
      text-align: center;
      letter-spacing: -.06em;
      opacity: 0;
    }

    .progress {
      position: fixed;
      z-index: 620;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      pointer-events: none;
    }
    .progress__bar { width: 100%; height: 100%; background: var(--red-hot); transform: scaleX(0); transform-origin: left; }
    body.home-active .progress { display: none; }

    main { min-height: 100%; }
    .view { display: none; position: relative; background: var(--ink); }
    .view.is-active { display: block; }
    .view--home { height: 100svh; overflow: hidden; isolation: isolate; }

    .home-bg {
      position: absolute;
      inset: 0;
      z-index: -4;
      overflow: hidden;
      background: #0a1118;
      transform-origin: 65% center;
      animation: homeBreath 14s ease-in-out infinite alternate;
    }
    .home-bg img {
      width: 100%; height: 100%; object-fit: cover;
      object-position: 57% center;
      transform: scale(1.045);
    }
    .home-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(4,7,10,.95) 0%, rgba(4,7,10,.72) 46%, rgba(4,7,10,.12) 100%),
        linear-gradient(180deg, rgba(4,7,10,.22) 0%, transparent 36%, rgba(4,7,10,.9) 100%);
    }
    .home-glow {
      position: absolute;
      z-index: -3;
      inset: -20%;
      pointer-events: none;
      background: radial-gradient(circle at var(--mx, 65%) var(--my, 34%), rgba(95,141,255,.22), transparent 26%);
      mix-blend-mode: screen;
    }
    .home-flakes { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
    .home-flake { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 0 10px rgba(255,255,255,.7); opacity: 0; animation: flakeDrift 15s ease-in-out infinite; }
    .home-flake:nth-child(1) { left: 9%; top: 30%; animation-delay: -2s; animation-duration: 17s; }
    .home-flake:nth-child(2) { left: 18%; top: 72%; width: 3px; height: 3px; animation-delay: -8s; animation-duration: 14s; }
    .home-flake:nth-child(3) { left: 31%; top: 43%; width: 5px; height: 5px; animation-delay: -5s; animation-duration: 19s; }
    .home-flake:nth-child(4) { left: 44%; top: 81%; width: 2px; height: 2px; animation-delay: -11s; animation-duration: 16s; }
    .home-flake:nth-child(5) { left: 55%; top: 26%; width: 3px; height: 3px; animation-delay: -4s; animation-duration: 18s; }
    .home-flake:nth-child(6) { left: 63%; top: 62%; width: 5px; height: 5px; animation-delay: -14s; animation-duration: 21s; }
    .home-flake:nth-child(7) { left: 72%; top: 38%; width: 2px; height: 2px; animation-delay: -6s; animation-duration: 15s; }
    .home-flake:nth-child(8) { left: 82%; top: 77%; width: 4px; height: 4px; animation-delay: -12s; animation-duration: 20s; }
    .home-flake:nth-child(9) { left: 91%; top: 48%; width: 3px; height: 3px; animation-delay: -9s; animation-duration: 17s; }
    .home-flake:nth-child(10) { left: 24%; top: 18%; width: 2px; height: 2px; animation-delay: -15s; animation-duration: 22s; }
    .home-flake:nth-child(11) { left: 49%; top: 55%; width: 3px; height: 3px; animation-delay: -1s; animation-duration: 16s; }
    .home-flake:nth-child(12) { left: 76%; top: 16%; width: 4px; height: 4px; animation-delay: -10s; animation-duration: 19s; }
    .home-word { display: none; }
    .home-frame {
      height: 100%;
      padding: calc(var(--header-h) + 22px) var(--pad) max(16px, env(safe-area-inset-bottom));
      display: grid;
      grid-template-rows: 1fr auto auto;
      gap: 16px;
    }
    .hero-copy { align-self: end; max-width: 650px; }
    .eyebrow {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 12px;
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255,255,255,.72);
    }
    .eyebrow__line { width: 32px; height: 2px; background: var(--red); }
    .hero-copy h1 {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(3.35rem, 16.4vw, 8.7rem);
      line-height: .78;
      letter-spacing: -.065em;
      text-wrap: balance;
    }
    .hero-copy h1 .accent { color: var(--red-hot); }
    .hero-copy__lede {
      max-width: 34ch;
      margin: 14px 0 0;
      color: rgba(255,255,255,.75);
      font-size: clamp(.78rem, 2.7vw, 1rem);
      line-height: 1.45;
    }
    .hero-actions { display: flex; gap: 9px; margin-top: 17px; flex-wrap: wrap; }
    .cta {
      min-height: 44px;
      padding: 0 15px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.32);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: .61rem;
      font-weight: 800;
      cursor: pointer;
      transition: transform .22s var(--ease), background .22s ease, border-color .22s ease;
    }
    .cta--primary { background: var(--red); border-color: var(--red); }
    .cta--dark { background: var(--ink); border-color: var(--ink); color: var(--white); }
    .cta--light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
    .cta--ghost { background: rgba(7,9,12,.22); backdrop-filter: blur(10px); }
    .cta:hover, .cta:focus-visible { transform: translateY(-2px); background: var(--red-hot); border-color: var(--red-hot); color: var(--white); }
    .cta__arrow { font-size: .9rem; }

    .service-rail {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid rgba(255,255,255,.28);
      border-bottom: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(10px);
      background: rgba(7,9,12,.2);
    }
    .service-slot { padding: 10px 7px; border-right: 1px solid rgba(255,255,255,.16); }
    .service-slot:last-child { border-right: 0; }
    .service-slot__day { display: block; color: rgba(255,255,255,.54); font-size: .48rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }
    .service-slot__time { display: block; margin-top: 3px; font-family: var(--display); font-size: clamp(.82rem, 3.8vw, 1.08rem); letter-spacing: -.02em; }
    .home-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: rgba(255,255,255,.58);
      font-size: .52rem;
      letter-spacing: .09em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .home-meta a { text-decoration: none; }
    .home-meta__canada { display: inline-flex; align-items: center; gap: 6px; }
    .home-meta__canada img { width: 12px; filter: invert(20%) sepia(95%) saturate(4200%) hue-rotate(345deg) brightness(110%); }

    .home-frame { grid-template-rows: 2fr 1fr; gap: 0; }
    .home-main { min-height: 0; min-width: 0; align-self: stretch; justify-self: stretch; display: block; overflow: hidden; position: relative; container-type: size; container-name: home-main; }
    .home-main__inner { position: absolute; bottom: 0; left: 0; width: 100%; transform-origin: bottom left; display: grid; align-content: end; gap: 14px; max-width: 650px; }
    .home-info { min-width: 0; min-height: 0; width: 100%; padding: 0; border-top: 0; background: linear-gradient(180deg, rgba(7,9,12,.08), rgba(7,9,12,.48)); backdrop-filter: blur(7px); overflow: hidden; position: relative; container-type: size; container-name: home-info; }
    .home-info__inner { position: absolute; bottom: 0; width: 100%; transform-origin: bottom center; }
    .home-wordmark { display: grid; width: max-content; max-width: min(70vw, 340px); line-height: .78; filter: drop-shadow(0 8px 24px rgba(0,0,0,.38)); }
    .home-wordmark__line { display: block; width: max-content; transform-origin: left center; font-family: var(--condensed); font-size: clamp(4rem, 19vw, 7.3rem); font-weight: 400; letter-spacing: .018em; }
    .home-wordmark__church { display: block; width: max-content; margin-top: 8px; transform-origin: left center; font-family: var(--condensed); font-size: clamp(1.22rem, 5.9vw, 2.15rem); font-weight: 400; letter-spacing: .36em; }
    .home-wordmark__divider { margin-top: 10px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
    .home-wordmark__divider i { display: block; height: 2px; background: var(--red); transform-origin: center; }
    .home-wordmark__divider img { width: 24px; filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(4200%) hue-rotate(342deg) brightness(112%) contrast(108%); animation: leafPulse 3.4s ease-in-out infinite; }
    .home-message { max-width: 430px; }
    .home-message h1 { margin: 0; font-family: var(--display); font-size: clamp(2.18rem, 10.3vw, 4.45rem); line-height: .87; letter-spacing: -.035em; }
    .home-message h1 span { display: block; }
    .home-message h1 .accent { color: var(--red-hot); animation: redPulse 3.8s ease-in-out infinite; }
    .home-message__lede { max-width: 31ch; margin: 10px 0 0; color: rgba(255,255,255,.78); font-size: clamp(.73rem, 2.6vw, .98rem); line-height: 1.42; }
    .home-actions { display: flex; gap: 9px; margin-top: 13px; flex-wrap: wrap; }
    .home-cta { min-height: 43px; padding: 0 14px; border-radius: 4px; border: 1px solid rgba(255,255,255,.7); display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: var(--white); background: rgba(7,9,12,.35); backdrop-filter: blur(10px); text-decoration: none; text-transform: uppercase; letter-spacing: .11em; font-size: .58rem; font-weight: 800; transition: transform .25s var(--ease), background .25s ease, box-shadow .25s ease; }
    .home-cta--primary { background: var(--red); border-color: var(--red); animation: ctaPulse 4.2s ease-in-out infinite; }
    .home-cta img { width: 16px; height: 16px; object-fit: contain; }
    .home-cta:hover, .home-cta:focus-visible { transform: translateY(-3px); background: var(--red-hot); border-color: var(--red-hot); box-shadow: 0 12px 30px rgba(227,31,51,.28); }
    .home-info { min-width: 0; width: 100%; padding-top: 8px; border-top: 0; background: linear-gradient(180deg, rgba(7,9,12,.08), rgba(7,9,12,.48)); backdrop-filter: blur(7px); }
    .home-info__title { margin: 0 0 8px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; font-family: var(--condensed); font-size: 1.18rem; font-weight: 400; letter-spacing: .22em; text-align: center; }
    .home-info__title i { height: 2px; background: var(--red); }
    .home-services { min-width: 0; width: min(100%, 760px); margin-inline: auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 0; }
    .home-service { min-width: 0; padding: 8px 5px 10px; border-right: 0; display: grid; justify-items: center; align-content: start; text-align: center; }
    .home-service__day { max-width: 100%; overflow-wrap: anywhere; }
    .home-service__icon { width: 30px; aspect-ratio: 1; margin-bottom: 5px; border-radius: 50%; display: grid; place-items: center; background: var(--red); box-shadow: 0 0 0 0 rgba(227,31,51,.28); animation: servicePulse 3s ease-in-out infinite; }
    .home-service:nth-child(2) .home-service__icon { animation-delay: .35s; }
    .home-service:nth-child(3) .home-service__icon { animation-delay: .7s; }
    .home-service__icon img { width: 16px; height: 16px; }
    .home-service__day { min-height: 1.8em; color: rgba(255,255,255,.66); font-size: .43rem; font-weight: 800; line-height: 1.2; letter-spacing: .11em; text-transform: uppercase; }
    .home-service__time { margin-top: 3px; font-family: var(--display); font-size: clamp(.82rem, 3.6vw, 1.1rem); letter-spacing: -.02em; }
    .home-kids { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--white); }
    .home-kids__brand { display: grid; justify-items: center; line-height: .72; }
    .home-kids__brand em { color: #f3c14b; font-family: var(--script); font-size: 1.15rem; font-style: normal; transform: rotate(-4deg); }
    .home-kids__brand strong { font-family: var(--condensed); font-size: .69rem; font-weight: 400; letter-spacing: .27em; }
    .home-kids__rule { width: 1px; height: 22px; background: var(--red); }
    .home-kids__copy { font-family: var(--condensed); font-size: .66rem; font-weight: 400; letter-spacing: .16em; white-space: nowrap; }
    .home-address { min-height: 42px; padding: 7px 4px 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; }
    .home-address__icon { width: 20px; height: 20px; }
    .home-address__copy { min-width: 0; display: grid; }
    .home-address__copy strong { font-size: .54rem; letter-spacing: .1em; white-space: nowrap; }
    .home-address__copy span { margin-top: 2px; color: rgba(255,255,255,.52); font-size: .38rem; letter-spacing: .08em; white-space: nowrap; }
    .home-address__rule { display: none; }
    .home-address__country { display: inline-flex; align-items: center; gap: 6px; font-size: .46rem; font-weight: 800; letter-spacing: .15em; }
    .home-address__country img { width: 15px; filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(4200%) hue-rotate(342deg) brightness(112%) contrast(108%); animation: leafPulse 3.4s ease-in-out infinite .5s; }

    @keyframes homeBreath { from { transform: scale(1.015); } to { transform: scale(1.075); } }
    @keyframes flakeDrift { 0% { transform: translate3d(-8px,40px,0) scale(.65); opacity: 0; } 18% { opacity: .58; } 52% { opacity: .2; } 78% { opacity: .48; } 100% { transform: translate3d(12px,-110px,0) scale(1.12); opacity: 0; } }
    @keyframes redPulse { 0%,100% { text-shadow: 0 0 0 rgba(227,31,51,0); } 50% { text-shadow: 0 0 20px rgba(227,31,51,.35); } }
    @keyframes leafPulse { 0%,100% { transform: scale(1); filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(4200%) hue-rotate(342deg) brightness(105%) contrast(108%); } 50% { transform: scale(1.12); filter: brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(4200%) hue-rotate(342deg) brightness(145%) contrast(108%) drop-shadow(0 0 8px rgba(227,31,51,.55)); } }
    @keyframes servicePulse { 0%,100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(227,31,51,.22); } 50% { transform: scale(1.07); box-shadow: 0 0 0 6px rgba(227,31,51,0); } }
    @keyframes ctaPulse { 0%,100% { box-shadow: 0 0 0 rgba(227,31,51,0); } 50% { box-shadow: 0 0 22px rgba(227,31,51,.32); } }

    .page-hero {
      position: relative;
      min-height: 86svh;
      padding: calc(var(--header-h) + 46px) var(--pad) 58px;
      display: grid;
      align-items: end;
      overflow: hidden;
      isolation: isolate;
      border-bottom: 1px solid var(--line);
    }
    .page-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -3;
      background:
        radial-gradient(circle at 80% 18%, rgba(120,104,255,.18), transparent 28%),
        linear-gradient(135deg, var(--ink-2), var(--ink));
    }
    .page-hero::after {
      content: attr(data-ghost);
      position: absolute;
      z-index: -2;
      left: -1vw;
      top: 11%;
      font-family: var(--display);
      font-size: clamp(7rem, 38vw, 25rem);
      line-height: .75;
      letter-spacing: -.08em;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.055);
      white-space: nowrap;
    }
    .page-hero__grid { width: 100%; display: grid; gap: 34px; }
    .page-hero h1 {
      margin: 0;
      max-width: 9ch;
      font-family: var(--display);
      font-size: clamp(3.6rem, 16vw, 10rem);
      line-height: .78;
      letter-spacing: -.07em;
      text-wrap: balance;
    }
    .page-hero h1 em { font-family: var(--serif); font-weight: 400; color: var(--red-hot); }
    .page-hero__intro { max-width: 42ch; align-self: end; }
    .page-hero__intro p { margin: 0; color: rgba(255,255,255,.68); font-size: clamp(.92rem, 2.2vw, 1.15rem); line-height: 1.65; }
    .scroll-cue { margin-top: 24px; display: inline-flex; align-items: center; gap: 11px; color: rgba(255,255,255,.52); font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; }
    .scroll-cue__line { width: 46px; height: 1px; background: var(--red); transform-origin: left; }

    .section { padding: 84px var(--pad); position: relative; }
    .section--paper { background: var(--paper); color: var(--ink); }
    .section--red { background: var(--red); color: var(--white); }
    .section--ink-2 { background: var(--ink-2); }
    .section__grid { display: grid; gap: 42px; max-width: 1240px; margin: 0 auto; }
    .section-index {
      color: var(--red);
      font-size: .64rem;
      font-weight: 800;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    .section--red .section-index { color: var(--ink); }
    .section-title {
      margin: 8px 0 0;
      font-family: var(--display);
      font-size: clamp(2.5rem, 10.5vw, 6.7rem);
      line-height: .84;
      letter-spacing: -.06em;
      text-wrap: balance;
    }
    .section-title em { font-family: var(--serif); font-weight: 400; color: var(--red); }
    .section--red .section-title em { color: var(--ink); }
    .section-lede { max-width: 48ch; margin: 18px 0 0; font-size: clamp(1rem, 2.5vw, 1.25rem); line-height: 1.65; color: rgba(255,255,255,.66); }
    .section--paper .section-lede { color: rgba(7,9,12,.66); }
    .body-copy { display: grid; gap: 20px; }
    .body-copy p { margin: 0; color: rgba(255,255,255,.7); line-height: 1.8; font-size: .94rem; }
    .section--paper .body-copy p { color: rgba(7,9,12,.72); }
    .pull-quote {
      margin: 0;
      padding: 28px 0 0;
      border-top: 2px solid var(--red);
      font-family: var(--serif);
      font-size: clamp(2rem, 7vw, 4.6rem);
      line-height: .95;
      letter-spacing: -.025em;
    }

    .photo-placeholder {
      position: relative;
      min-height: 420px;
      overflow: hidden;
      border: 1px solid currentColor;
      background:
        linear-gradient(150deg, rgba(255,255,255,.07), transparent 58%),
        repeating-linear-gradient(135deg, transparent 0 34px, rgba(255,255,255,.035) 34px 35px),
        var(--ink-3);
      color: var(--white);
    }
    .section--paper .photo-placeholder {
      background:
        linear-gradient(150deg, rgba(227,31,51,.12), transparent 58%),
        repeating-linear-gradient(135deg, transparent 0 34px, rgba(7,9,12,.045) 34px 35px),
        #d9d5ca;
      color: var(--ink);
    }
    .photo-placeholder::before, .photo-placeholder::after { content: ""; position: absolute; background: currentColor; opacity: .22; }
    .photo-placeholder::before { width: 1px; top: 0; bottom: 0; left: 50%; transform: rotate(32deg); }
    .photo-placeholder::after { height: 1px; left: 0; right: 0; top: 50%; transform: rotate(-18deg); }
    .photo-placeholder__top {
      position: absolute;
      top: 16px; left: 16px; right: 16px;
      display: flex; justify-content: space-between; gap: 12px;
      font-size: .54rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase;
    }
    .photo-placeholder__copy { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 2; }
    .photo-placeholder__copy strong { display: block; font-family: var(--display); font-size: clamp(1.5rem, 6vw, 2.8rem); line-height: .9; letter-spacing: -.04em; }
    .photo-placeholder__copy span { display: block; margin-top: 10px; max-width: 36ch; opacity: .64; font-size: .66rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; }
    .photo-placeholder__badge {
      position: absolute; z-index: 3; right: 14px; bottom: 14px;
      width: 76px; aspect-ratio: 1; border-radius: 50%;
      display: grid; place-items: center; text-align: center;
      background: var(--red); color: var(--white);
      font-size: .47rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
      transform: rotate(8deg);
    }

    .beliefs { max-width: 1120px; margin: 42px auto 0; border-top: 1px solid var(--line-dark); }
    .belief {
      border-bottom: 1px solid var(--line-dark);
    }
    .belief summary {
      list-style: none;
      display: grid;
      grid-template-columns: 28px 1fr auto;
      align-items: center;
      gap: 12px;
      padding: 22px 0;
      cursor: pointer;
    }
    .belief summary::-webkit-details-marker { display: none; }
    .belief__num { color: var(--red); font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
    .belief__title { font-family: var(--display); font-size: clamp(1.03rem, 4vw, 1.65rem); line-height: 1; letter-spacing: -.025em; }
    .belief__plus { width: 28px; aspect-ratio: 1; border: 1px solid var(--line-dark); border-radius: 50%; display: grid; place-items: center; transition: transform .25s ease, background .25s ease; }
    .belief[open] .belief__plus { transform: rotate(45deg); background: var(--red); color: var(--white); border-color: var(--red); }
    .belief__content { padding: 0 0 28px 40px; max-width: 76ch; }
    .belief__refs { color: var(--red); font-size: .69rem; font-weight: 800; letter-spacing: .05em; line-height: 1.6; }
    .belief__content p { margin: 12px 0 0; color: rgba(7,9,12,.68); line-height: 1.75; }

    .method-grid { display: grid; gap: 12px; margin-top: 38px; }
    .method-card {
      min-height: 210px;
      padding: 22px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.025);
      display: grid;
      align-content: start;
      gap: 34px;
      transition: transform .28s var(--ease), background .28s ease, border-color .28s ease;
    }
    .method-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.35); }
    .method-card__top { display: flex; justify-content: space-between; align-items: start; }
    .method-card__num { color: var(--red); font-size: .6rem; font-weight: 800; letter-spacing: .17em; }
    .method-card h3 { margin: 0; font-family: var(--display); font-size: 1.7rem; letter-spacing: -.04em; }
    .method-card p { margin: 8px 0 0; color: rgba(255,255,255,.62); line-height: 1.6; font-size: .79rem; }
    .method-value { margin-top: 12px; color: var(--white); font-weight: 800; font-size: .77rem; word-break: break-word; }
    .copy-btn { min-height: 44px; border: 0; background: transparent; color: var(--red-hot); padding: 0; margin-top: 4px; display: inline-flex; align-items: center; font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; touch-action: manipulation; }
    .copy-btn:hover, .copy-btn:focus-visible { text-decoration: underline; }
    .scripture {
      margin: 70px auto 0;
      max-width: 18ch;
      text-align: center;
      font-family: var(--serif);
      font-size: clamp(2.1rem, 8vw, 5rem);
      line-height: .95;
    }
    .scripture cite { display: block; margin-top: 18px; font-family: var(--body); font-style: normal; font-size: .57rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; color: var(--red); }

    .word-stack { display: grid; margin-top: 38px; border-top: 1px solid var(--line); }
    .word-stack__item {
      padding: 18px 0;
      border-bottom: 1px solid var(--line);
      font-family: var(--display);
      font-size: clamp(2.35rem, 12vw, 7.7rem);
      line-height: .8;
      letter-spacing: -.065em;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 20px;
    }
    .word-stack__item span { color: var(--red); font-size: .58rem; letter-spacing: .14em; }

    /* Academy Core Values: tone the giant word-stack down so all nine values
       fit comfortably on a single screen without scroll. Same family + weight
       as the global rule, just smaller and tighter. Stack the scripture
       BELOW the caption (column flex) so it never overlaps wrapped caption
       lines, with the verse right-aligned and the caption left-aligned. */
    [data-view="academy"] .word-stack__item {
      font-size: clamp(1.35rem, 5vw, 3.2rem);
      padding: 12px 0;
      gap: 8px;
      line-height: 1.1;
      flex-direction: column;
      align-items: stretch;
    }
    [data-view="academy"] .word-stack__item span {
      font-size: .54rem;
      letter-spacing: .12em;
      align-self: flex-end;
      text-align: right;
    }

    .structure-grid { display: grid; gap: 14px; margin-top: 38px; }
    .structure-card { border: 1px solid var(--line-dark); padding: 28px; min-height: 270px; display: grid; align-content: start; row-gap: 22px; }
    .structure-card h3 { margin: 0; max-width: 11ch; font-family: var(--display); font-size: clamp(1.7rem, 6vw, 3.2rem); line-height: .9; letter-spacing: -.05em; }
    .structure-card p { margin: 28px 0 0; color: rgba(7,9,12,.67); line-height: 1.7; font-size: .86rem; }
    .structure-card--dark { background: var(--ink); color: var(--white); border-color: var(--ink); }
    .structure-card--dark p { color: rgba(255,255,255,.65); }

    .alignment-list { display: grid; margin-top: 34px; border-top: 1px solid var(--line); }
    .alignment-item { padding: 18px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: center; }
    .alignment-item__check { color: var(--red-hot); font-family: var(--display); }
    .alignment-item strong { font-size: .82rem; letter-spacing: .04em; }

    .application {
      max-width: 1050px;
      margin: 0 auto;
      border: 1px solid var(--line-dark);
      background: #fff;
      color: var(--ink);
    }
    .application__head { padding: 24px; border-bottom: 1px solid var(--line-dark); display: flex; justify-content: space-between; gap: 20px; align-items: end; }
    .application__head h3 { margin: 0; font-family: var(--display); font-size: clamp(1.6rem, 7vw, 3.2rem); line-height: .88; letter-spacing: -.04em; }
    .application__step-label { color: var(--red); font-size: .58rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
    .application__progress { height: 4px; background: #e4e0d7; }
    .application__progress-bar { width: 33.333%; height: 100%; background: var(--red); transition: width .35s var(--ease); }
    .application__body { padding: 24px; }
    .form-step { display: none; }
    .form-step.is-active { display: block; }
    .form-step h4 { margin: 0 0 22px; font-family: var(--display); font-size: 1.35rem; letter-spacing: -.03em; }
    .field-grid { display: grid; gap: 17px; }
    .field { display: grid; gap: 7px; }
    .field label, .fieldset-label { font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .field input, .field textarea, .field select {
      width: 100%; border: 0; border-bottom: 1px solid rgba(7,9,12,.28); border-radius: 0; background: transparent; color: var(--ink); padding: 10px 0 12px; outline: none;
    }
    .field input[type="date"], .university-form__field input[type="date"] { cursor: pointer; }
    .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--red); }
    .field textarea { min-height: 110px; resize: vertical; }
    .choice-grid { display: grid; gap: 10px; margin-top: 12px; }
    .choice { display: flex; align-items: start; gap: 10px; padding: 12px; border: 1px solid var(--line-dark); font-size: .76rem; line-height: 1.45; }
    .choice input { accent-color: var(--red); margin-top: 3px; }
    .form-actions { margin-top: 26px; display: flex; justify-content: space-between; gap: 12px; }
    .form-btn { min-height: 44px; border: 1px solid var(--ink); background: var(--ink); color: var(--white); padding: 0 18px; border-radius: 999px; text-transform: uppercase; letter-spacing: .12em; font-size: .59rem; font-weight: 800; cursor: pointer; }
    .form-btn--back { background: transparent; color: var(--ink); }
    .form-btn:hover, .form-btn:focus-visible { background: var(--red); color: var(--white); border-color: var(--red); }
    .form-success { display: none; padding: 54px 24px; text-align: center; }
    .form-success.is-active { display: block; }
    .form-success__mark { width: 62px; aspect-ratio: 1; border-radius: 50%; margin: 0 auto 18px; display: grid; place-items: center; background: var(--red); color: var(--white); font-family: var(--display); font-size: 1.3rem; transition: background-color .3s var(--ease); }
    .form-success__mark[data-state="sent"] { background: #1f8b48; }
    .form-success__mark[data-state="error"] { background: #b02020; }
    .form-success h4 { margin: 0; font-family: var(--display); font-size: 2rem; }
    .form-success__copy { max-width: 50ch; margin: 12px auto 0; color: rgba(7,9,12,.62); line-height: 1.65; }
    .form-success p { max-width: 50ch; margin: 12px auto 0; color: rgba(7,9,12,.62); line-height: 1.65; }
    .form-success__fine { margin-top: 22px; font-size: .8rem; color: rgba(7,9,12,.55); }
    .ride-success { display: none; padding: 54px 24px; text-align: center; }
    .ride-success.is-active { display: block; }
    .ride-success h4 { margin: 0; font-family: var(--display); font-size: 2rem; }
    .ride-success__copy, .ride-success p { max-width: 48ch; margin: 12px auto 0; color: rgba(7,9,12,.65); line-height: 1.65; }

    /* Modal */
    .modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: flex-start; justify-content: center; padding: calc(var(--header-h, 88px) + 18px) clamp(16px, 4vw, 48px) clamp(16px, 4vw, 48px); background: rgba(7,9,12,0); backdrop-filter: blur(0); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .34s var(--ease), visibility .34s step-end, background-color .34s var(--ease), backdrop-filter .34s var(--ease); overflow: hidden; }
    .modal.is-open { visibility: visible; opacity: 1; pointer-events: auto; background: rgba(7,9,12,.74); backdrop-filter: blur(6px); transition: opacity .34s var(--ease), visibility 0s linear 0s, background-color .34s var(--ease), backdrop-filter .34s var(--ease); }
    .modal.is-closing { visibility: visible; pointer-events: none; opacity: 0; background: rgba(7,9,12,0); backdrop-filter: blur(0); transition: opacity .34s var(--ease), visibility 0s linear .34s, background-color .34s var(--ease), backdrop-filter .34s var(--ease); }
    .modal__panel { position: relative; width: min(720px, 100%); max-height: calc(100vh - var(--header-h, 88px) - 32px - 48px); overflow-y: auto; background: var(--white); color: var(--ink); border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.45); transform: translateX(-110%); opacity: 0; transition: transform .42s var(--ease), opacity .3s var(--ease); will-change: transform, opacity; }
    .modal.is-open .modal__panel { transform: translateX(0); opacity: 1; transition: transform .42s var(--ease), opacity .3s var(--ease); }
    .modal.is-closing .modal__panel { transform: translateX(110%); opacity: 0; transition: transform .42s var(--ease), opacity .3s var(--ease); }
    .modal__panel--dark { background: var(--ink); color: var(--white); }
    .modal__header { padding: 28px 32px 18px; border-bottom: 1px solid rgba(7,9,12,.12); }
    .modal__panel--dark .modal__header { border-bottom-color: rgba(255,255,255,.12); }
    .modal__eyebrow { color: var(--red); font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
    .modal__title { margin: 6px 0 4px; font-family: var(--display); font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: .9; letter-spacing: -.03em; }
    .modal__sub { margin: 8px 0 0; font-size: .86rem; color: rgba(7,9,12,.62); line-height: 1.55; }
    .modal__panel--dark .modal__sub { color: rgba(255,255,255,.65); }
    .modal__close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: transparent; color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
    .modal__close:hover, .modal__close:focus-visible { background: rgba(0,0,0,.08); }
    .modal__panel--dark .modal__close:hover, .modal__panel--dark .modal__close:focus-visible { background: rgba(255,255,255,.12); }
    .modal__body { padding: 24px 32px 28px; }
    .modal__body .form-fieldset { margin-top: 18px; }
    .modal__body .form-fieldset legend { margin-bottom: 8px; }
    .modal__field { display: grid; gap: 6px; margin-bottom: 14px; }
    .modal__field label { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(7,9,12,.7); }
    .modal__panel--dark .modal__field label { color: rgba(255,255,255,.7); }
    .modal__field input[type="text"], .modal__field input[type="email"], .modal__field input[type="tel"], .modal__field textarea {
      width: 100%; min-height: 44px; padding: 12px 14px; border: 1px solid rgba(7,9,12,.18); border-radius: 8px; background: var(--white); color: var(--ink); font: inherit; font-size: .95rem;
    }
    .modal__panel--dark .modal__field input[type="text"],
    .modal__panel--dark .modal__field input[type="email"],
    .modal__panel--dark .modal__field input[type="tel"],
    .modal__panel--dark .modal__field textarea {
      background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: var(--white);
    }
    .modal__field textarea { min-height: 96px; resize: vertical; }
    .modal__choices { display: grid; gap: 8px; }
    .modal__choice { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid rgba(7,9,12,.16); border-radius: 8px; cursor: pointer; font-size: .9rem; }
    .modal__panel--dark .modal__choice { border-color: rgba(255,255,255,.16); }
    .modal__choice input { width: 18px; height: 18px; accent-color: var(--red); margin: 0; }
    .modal__other { margin: 10px 0 0; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .28s var(--ease), opacity .2s var(--ease), margin-top .28s var(--ease); }
    .modal__other.is-visible { max-height: 120px; opacity: 1; }
    .modal__other input { width: 100%; min-height: 44px; padding: 12px 14px; border: 1px solid rgba(7,9,12,.18); border-radius: 8px; background: var(--white); color: var(--ink); font: inherit; font-size: .95rem; }
    .modal__actions { margin-top: 22px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
    .modal__success { margin: 24px 0 0; padding: 36px 24px; border-radius: 14px; background: var(--ink); color: var(--white); text-align: center; font-size: .92rem; line-height: 1.5; }
    .modal__success--sent { background: var(--ink); color: var(--white); border: 1px solid rgba(255,255,255,.08); }
    .modal__success--sent .modal__success-icon { width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%; background: #1f8b48; display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(31,139,72,.18); animation: successPop .42s cubic-bezier(.2,.75,.2,1.2) both; }
    .modal__success--sent .modal__success-icon svg { width: 26px; height: 26px; stroke: var(--white); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 30; stroke-dashoffset: 30; animation: successTick .55s .15s cubic-bezier(.2,.75,.2,1) forwards; }
    .modal__success--sent strong { display: block; margin: 0 0 6px; font-size: 1.45rem; font-weight: 800; letter-spacing: -.01em; }
    .modal__success--sent span { display: block; color: rgba(255,255,255,.72); font-size: .88rem; }
    .modal__success--error { background: var(--ink); color: var(--white); border: 1px solid rgba(255,255,255,.08); }
    .modal__success--error .modal__success-icon { width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%; background: #b02020; display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(176,32,32,.18); animation: successPop .42s cubic-bezier(.2,.75,.2,1.2) both; }
    .modal__success--error .modal__success-icon svg { width: 28px; height: 28px; stroke: var(--white); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
    .modal__success--error strong { display: block; margin: 0 0 6px; font-size: 1.25rem; font-weight: 800; }
    .modal__success--error span { display: block; color: rgba(255,255,255,.78); font-size: .88rem; }
    @keyframes successPop { 0% { transform: scale(.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
    @keyframes successTick { to { stroke-dashoffset: 0; } }
    .modal__submit.is-loading { position: relative; color: transparent !important; pointer-events: none; }
    .modal__submit.is-loading::after {
      content: '';
      position: absolute;
      top: 50%; left: 50%;
      width: 18px; height: 18px;
      margin-top: -9px; margin-left: -9px;
      border-radius: 50%;
      border: 2px solid rgba(255,255,255,.35);
      border-top-color: var(--white);
      animation: modalSpin .8s linear infinite;
    }
    @keyframes modalSpin { to { transform: rotate(360deg); } }
    .modal__submit { min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--red); color: var(--white); font-weight: 800; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
    .modal__submit:hover, .modal__submit:focus-visible { background: var(--red-hot); }
    body.modal-open { overflow: hidden; }
    .modal--calendar { z-index: 800; align-items: stretch; padding: 0; }
    .modal--calendar .modal__panel { width: 100vw; height: 100dvh; max-width: none; max-height: none; overflow: hidden; padding: clamp(48px, 4vw, 72px) clamp(16px, 3vw, 48px) clamp(16px, 2vw, 32px); border-radius: 0; background: var(--ink); box-shadow: none; transform: scale(.98); }
    .modal--calendar.is-open .modal__panel { transform: scale(1); }
    .modal--calendar.is-closing .modal__panel { transform: scale(.96); }
    .calendar-modal__content { width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; background: transparent; }
    .calendar-modal__content img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 96px); min-width: 0; min-height: 0; object-fit: contain; }
    .calendar-modal__close { z-index: 1; top: 18px; right: 18px; border: 1px solid rgba(255,255,255,.28); background: rgba(7,9,12,.88); color: var(--white); box-shadow: 0 8px 24px rgba(0,0,0,.24); }
    .calendar-modal__close:hover, .calendar-modal__close:focus-visible { background: var(--red); }
    .modal--event-detail { align-items: stretch; padding: 0; }
    .modal--event-detail .modal__panel { width: 100vw; height: 100dvh; max-width: none; max-height: none; overflow: hidden; padding: clamp(56px, 5vw, 82px) clamp(18px, 5vw, 76px) clamp(18px, 3vw, 44px); border-radius: 0; background: var(--ink); color: var(--white); box-shadow: none; transform: scale(.985); }
    .modal--event-detail.is-open .modal__panel { transform: scale(1); }
    .modal--event-detail.is-closing .modal__panel { transform: scale(.97); }
    .event-detail__layout { width: 100%; height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(22px, 4vw, 64px); }
    .event-detail__artwork { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; background: #080b10; }
    .event-detail__artwork img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
    .event-detail__content { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
    .event-detail__content .event-card__body { min-height: 100%; padding: clamp(8px, 1.5vw, 24px) 0; gap: 28px; }
    .event-detail__content h3 { max-width: 14ch; font-size: clamp(2rem, 4.4vw, 4.8rem); line-height: .94; }
    .event-detail__content .event-card__summary { max-width: 52ch; font-size: .95rem; }
    .event-detail__content .event-fact { grid-template-columns: minmax(82px, .38fr) 1fr; font-size: .82rem; }
    .event-detail__content .event-fact strong { font-size: .62rem; }
    .event-detail__content .cta { justify-self: start; }
    .modal--event-detail .modal__close { z-index: 3; top: 16px; right: 18px; border: 1px solid rgba(255,255,255,.28); background: rgba(7,9,12,.88); color: var(--white); box-shadow: 0 8px 24px rgba(0,0,0,.24); }
    .modal--event-detail .modal__close:hover, .modal--event-detail .modal__close:focus-visible { background: var(--red); }
    .modal--event-detail, .modal--event-detail .modal__panel { transition-duration: .34s; }
    @media (prefers-reduced-motion: reduce) {
      .modal--calendar, .modal--calendar .modal__panel, .modal--event-detail, .modal--event-detail .modal__panel { transition: none; }
    }
    @media (max-width: 640px) {
      .modal__header, .modal__body { padding-left: 22px; padding-right: 22px; }
      .calendar-frame__hint { text-align: left; }
      .modal--event-detail .modal__panel { padding: 56px 16px 16px; }
      .event-detail__layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 42dvh) minmax(0, 1fr); gap: 14px; }
      .event-detail__content .event-card__body { padding: 6px 2px 16px; gap: 18px; }
      .event-detail__content h3 { font-size: clamp(1.8rem, 8vw, 2.7rem); }
      .event-detail__content .event-card__summary { font-size: .86rem; }
      .event-detail__content .event-fact { grid-template-columns: minmax(76px, .35fr) 1fr; }
      .modal--event-detail .modal__close { top: 10px; right: 12px; }
    }
    .form-subsection { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line-dark); }
    .form-subsection:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
    .form-subsection h4 { margin: 0 0 20px; color: var(--red); font-family: var(--condensed); font-size: 1.35rem; font-weight: 400; letter-spacing: .04em; }
    .form-fieldset { margin: 22px 0 0; padding: 0; border: 0; }
    .form-fieldset legend { margin-bottom: 10px; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .attendance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ministry-type-grid { grid-template-columns: 1fr; }
    .belief-checks { display: grid; gap: 9px; margin-top: 12px; }
    .belief-checks .choice { min-width: 0; }
    .other-field { margin-top: 10px; }
    .signature-wrap { margin-top: 20px; }
    .signature-toolbar { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .signature-toolbar strong { font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
    .signature-clear { min-height: 36px; border: 1px solid var(--line-dark); border-radius: 999px; padding: 0 14px; background: transparent; color: var(--ink); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
    .signature-canvas { display: block; width: 100%; height: 220px; border: 1px solid var(--line-dark); border-radius: 8px; background: var(--white); touch-action: none; cursor: crosshair; }
    .signature-help { margin: 7px 0 0; color: rgba(7,9,12,.55); font-size: .65rem; }

    .contact-grid { display: grid; gap: 14px; margin-top: 40px; }
    .contact-card {
      min-height: 190px;
      border: 1px solid var(--line-dark);
      padding: 24px;
      display: grid;
      align-content: space-between;
      text-decoration: none;
      transition: background .25s ease, color .25s ease, transform .25s var(--ease);
    }
    .contact-card:hover, .contact-card:focus-visible { background: var(--red); color: var(--white); transform: translateY(-4px); }
    .contact-card__label { font-size: .58rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
    .contact-card__value { font-family: var(--display); font-size: clamp(1.25rem, 5vw, 2.1rem); line-height: .95; letter-spacing: -.04em; }
    .subject-row { display: flex; gap: 8px; margin-top: 24px; flex-wrap: wrap; }
    .subject-chip { border: 1px solid var(--line-dark); background: transparent; color: var(--ink); border-radius: 999px; min-height: 44px; padding: 0 14px; cursor: pointer; text-transform: uppercase; letter-spacing: .1em; font-size: .56rem; font-weight: 800; touch-action: manipulation; }
    .subject-chip:hover, .subject-chip:focus-visible { background: var(--ink); color: var(--white); }

    .coming-view { min-height: 100svh; overflow: hidden; }
    .coming-stage {
      min-height: 100svh;
      padding: calc(var(--header-h) + 42px) var(--pad) max(28px, env(safe-area-inset-bottom));
      display: grid;
      align-content: center;
      background:
        radial-gradient(circle at 80% 18%, rgba(227,31,51,.32), transparent 28%),
        linear-gradient(145deg, var(--ink-3), var(--ink));
      position: relative;
      isolation: isolate;
    }
    .coming-stage::before {
      content: "";
      position: absolute;
      z-index: -1;
      width: 46vw; max-width: 560px; aspect-ratio: 1;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 50%; right: -12%; top: 14%;
      box-shadow: 0 0 0 8vw rgba(255,255,255,.018), 0 0 0 16vw rgba(255,255,255,.012);
    }
    .coming-title { margin: 0; max-width: 10ch; font-family: var(--display); font-size: clamp(3.4rem, 16vw, 9rem); line-height: .8; letter-spacing: -.065em; }
    .coming-title span { color: var(--red-hot); }
    .coming-copy { max-width: 40ch; margin: 22px 0 0; color: rgba(255,255,255,.66); line-height: 1.7; }
    .coming-route { margin-top: 10px; color: var(--red-hot); font-size: .61rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

    .site-footer {
      position: relative;
      overflow: hidden;
      padding: 74px var(--pad) 28px;
      background: var(--paper);
      color: var(--ink);
    }
    .footer-call { max-width: 1000px; font-family: var(--display); font-size: clamp(3rem, 13vw, 9rem); line-height: .78; letter-spacing: -.07em; }
    .footer-call span { color: var(--red); }
    .footer-grid { margin-top: 70px; padding-top: 24px; border-top: 1px solid var(--line-dark); display: grid; gap: 30px; }
    .footer-brand { display: flex; align-items: center; gap: 12px; }
    .footer-brand img { width: 42px; filter: invert(1); }
    .footer-brand strong { font-family: var(--display); font-size: 1rem; letter-spacing: -.02em; }
    .footer-col { display: grid; align-content: start; gap: 8px; color: rgba(7,9,12,.66); font-size: .74rem; line-height: 1.55; }
    .footer-col strong { color: var(--ink); text-transform: uppercase; letter-spacing: .12em; font-size: .58rem; }
    .footer-link { border: 0; padding: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; text-decoration: none; }
    .footer-link:hover, .footer-link:focus-visible { color: var(--red); }
    .footer-bottom { margin-top: 46px; padding-top: 18px; border-top: 1px solid var(--line-dark); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .54rem; text-transform: uppercase; letter-spacing: .12em; color: rgba(7,9,12,.48); }

    .toast {
      position: fixed;
      z-index: 1800;
      left: 50%; bottom: max(18px, env(safe-area-inset-bottom));
      transform: translate(-50%, 18px);
      opacity: 0;
      visibility: hidden;
      background: var(--paper); color: var(--ink);
      border-radius: 999px;
      padding: 11px 16px;
      font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
      box-shadow: 0 18px 40px rgba(0,0,0,.35);
      white-space: nowrap;
    }

    .pastors-art {
      position: relative;
      min-height: 460px;
      aspect-ratio: 4 / 5;
      overflow: hidden;
      border: 1px solid var(--line);
      background:
        radial-gradient(circle at 30% 22%, rgba(120,104,255,.22), transparent 32%),
        radial-gradient(circle at 76% 74%, rgba(227,31,51,.24), transparent 38%),
        var(--ink-3);
    }
    .pastors-art::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 50%, rgba(7,9,12,.15) 68%, rgba(7,9,12,.94) 100%);
      pointer-events: none;
    }
    .pastors-art img { position: absolute; z-index: 1; left: 50%; bottom: -18%; width: auto; max-width: none; height: 115%; object-fit: contain; transform: translateX(-50%); }
    .pastors-art__label { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 56px 18px 18px; display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; align-items: end; }
    .pastors-art__label strong { max-width: 8ch; font-family: var(--display); font-size: clamp(1.65rem, 5.6vw, 2.45rem); line-height: .84; letter-spacing: -.05em; }
    .pastors-art__label span { max-width: none; color: rgba(255,255,255,.66); text-align: left; font-size: .5rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }

    .fellowship-seal {
      position: relative;
      min-height: 420px;
      overflow: hidden;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      background:
        radial-gradient(circle at center, rgba(208,152,29,.14), transparent 52%),
        repeating-linear-gradient(135deg, transparent 0 34px, rgba(255,255,255,.025) 34px 35px),
        var(--ink-3);
    }
    .fellowship-seal img { width: min(82%, 500px); filter: drop-shadow(0 26px 36px rgba(0,0,0,.42)); }
    .fellowship-seal__caption { position: absolute; left: 16px; right: 16px; bottom: 14px; display: flex; justify-content: space-between; color: rgba(255,255,255,.5); font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

    .method-card__brand { min-height: 56px; display: flex; align-items: center; justify-content: flex-start; margin-bottom: 22px; gap: 10px; flex-wrap: nowrap; }
    .method-card__brand img { width: 56px; height: 56px; object-fit: contain; object-position: left center; }
    .method-card__brand--coin { gap: 10px; }
    .method-card__brand--coin img { flex: 1 1 0; width: auto; height: auto; min-width: 0; aspect-ratio: 1 / 1; object-fit: contain; }

    .legal-panel {
      margin-top: 28px;
      padding: 24px;
      border: 1px solid var(--line-dark);
      background: #e8e4da;
    }
    .legal-panel h4 { margin: 0 0 14px; font-family: var(--display); font-size: 1.25rem; letter-spacing: -.03em; }
    .legal-panel p, .legal-panel li { color: rgba(7,9,12,.72); font-size: .8rem; line-height: 1.7; }
    .legal-panel ul { margin: 0; padding-left: 20px; }
    .choice-inline { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
    .choice-inline .choice { min-width: 100px; flex: 1 1 120px; }
    .ride-form fieldset { margin: 24px 0 0; padding: 0; border: 0; }
    .ride-form legend { margin-bottom: 10px; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

    .gospel-copy { display: grid; gap: 18px; }
    .gospel-copy h3 { margin: 12px 0 0; font-family: var(--display); font-size: clamp(1.45rem, 5vw, 2.4rem); line-height: .95; letter-spacing: -.04em; }
    .gospel-copy p { margin: 0; color: rgba(7,9,12,.72); line-height: 1.82; }
    .prayer-card { padding: 28px; background: var(--ink); color: var(--white); border: 1px solid var(--ink); }
    .prayer-card__kicker { color: var(--red-hot); font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    .prayer-card h3 { margin: 10px 0 24px; font-family: var(--display); font-size: clamp(2rem, 8vw, 4rem); line-height: .88; letter-spacing: -.05em; }
    .prayer-card p { margin: 0 0 16px; color: rgba(255,255,255,.76); line-height: 1.8; }
    .prayer-card p:last-child { margin-bottom: 0; }

    .jesus-next { display: grid; gap: 34px; }
    .jesus-next__title .section-title { max-width: 8ch; font-size: clamp(3rem, 10vw, 5rem); }
    .jesus-next__copy { max-width: 46rem; }
    .jesus-next__copy .section-lede { margin-top: 0; color: rgba(255,255,255,.84); }

    .contact-photo {
      position: relative;
      min-height: 440px;
      aspect-ratio: 4 / 5;
      overflow: hidden;
      margin: 0;
      border: 1px solid var(--line-dark);
      background: var(--ink-3);
    }
    .contact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.86) contrast(1.04); }
    .contact-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(7,9,12,.88) 100%); pointer-events: none; }
    .contact-photo figcaption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: end; color: var(--white); }
    .contact-photo figcaption strong { max-width: 10ch; font-family: var(--display); font-size: clamp(1.6rem, 6vw, 2.6rem); line-height: .88; letter-spacing: -.04em; }
    .contact-photo figcaption span { max-width: 16ch; color: rgba(255,255,255,.66); text-align: right; font-size: .54rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }

    .events-grid { display: grid; gap: 16px; margin-top: 42px; }
    .event-card { position: relative; overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.025); display: grid; grid-template-rows: auto 1fr; transition: transform .28s var(--ease), border-color .28s ease, background .28s ease; }
    .event-card:hover, .event-card:focus-within { transform: translateY(-5px); border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.05); }
    .event-card__open { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
    .event-card__open:focus-visible { outline: 3px solid var(--red-hot); outline-offset: -5px; }
    .event-card__body .cta { position: relative; z-index: 2; }
    .event-card__poster { aspect-ratio: 5 / 8; display: grid; place-items: center; overflow: hidden; background: #08121f; }
    .event-card__poster--landscape { aspect-ratio: 8 / 5; }
    .event-card__poster--square { aspect-ratio: 1 / 1; }
    .event-card__poster--portrait, .event-card--endtimes .event-card__poster { aspect-ratio: 4 / 5; }
    .event-card--pei .event-card__poster, .event-card--windsor .event-card__poster { aspect-ratio: 3 / 4; }
    .event-card--university .event-card__poster { aspect-ratio: 1 / 1; }
    .event-card--pei .event-card__poster, .event-card--windsor .event-card__poster { background: #21384a; }
    .event-card--business .event-card__poster { background: #1a1410; }
    .event-card__poster img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center center; }
    .event-card__body { padding: 24px; display: grid; align-content: space-between; gap: 28px; }
    .event-card__date { color: var(--red-hot); font-size: .58rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .event-card--university .event-card__date { color: #f3c14b; }
    .event-card h3 { margin: 10px 0 0; font-family: var(--display); font-size: clamp(1.7rem, 6vw, 2.7rem); line-height: .9; letter-spacing: -.045em; }
    .event-card__summary { margin: 12px 0 0; color: rgba(255,255,255,.64); font-size: .82rem; line-height: 1.65; }
    .event-facts { margin: 22px 0 0; display: grid; border-top: 1px solid var(--line); }
    .event-fact { padding: 12px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 78px 1fr; gap: 12px; font-size: .72rem; line-height: 1.5; }
    .event-fact strong { color: rgba(255,255,255,.45); font-size: .54rem; letter-spacing: .12em; text-transform: uppercase; }
    .event-card__tagline { margin: 18px 0 0; color: var(--red-hot); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

    .university-poster-section { padding-top: clamp(48px, 7vw, 84px); padding-bottom: clamp(48px, 7vw, 84px); }
    .university-poster { width: min(100%, 860px); margin: 0 auto; border: 1px solid rgba(255,255,255,.16); background: #fff; box-shadow: 0 24px 64px rgba(0,0,0,.28); }
    .university-poster img { display: block; width: 100%; height: auto; }
    .university-promo { background: var(--paper); color: var(--ink); }
    .university-promo__inner { width: min(1240px, 100%); margin: 0 auto; }
    .university-promo__lead .section-title { max-width: 10ch; font-size: clamp(2.4rem, 5vw, 4.2rem); }
    .university-promo__copy { max-width: 58ch; }
    .university-promo__copy p { margin: 0 0 16px; color: rgba(7,9,12,.72); line-height: 1.8; }
    .university-promo__copy p:last-child { margin-bottom: 0; }
    .university-highlights { margin-top: clamp(42px, 7vw, 76px); display: grid; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
    .university-highlight { min-width: 0; min-height: 128px; padding: 24px clamp(18px, 2.2vw, 34px); display: grid; align-content: center; justify-items: center; gap: 9px; border-bottom: 1px solid var(--line-dark); text-align: center; }
    .university-highlight:last-child { border-bottom: 0; }
    .university-highlight strong { color: var(--red); font-size: .57rem; letter-spacing: .15em; text-transform: uppercase; }
    .university-highlight span { font-family: var(--display); font-size: clamp(1.15rem, 3vw, 1.55rem); font-weight: 800; line-height: 1.1; }
    .university-pilot-note { margin: clamp(32px, 5vw, 54px) 0 0; padding: clamp(26px, 4vw, 48px); display: grid; align-items: center; gap: 18px; border-left: 10px solid var(--red); background: var(--ink); color: var(--white); }
    .university-pilot-note__label { color: var(--red-hot); font-size: .62rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
    .university-pilot-note__offer strong { display: block; margin-top: 8px; color: var(--red-hot); font-family: var(--display); font-size: clamp(2.2rem, 5.6vw, 4.25rem); line-height: .9; letter-spacing: -.045em; }
    .university-pilot-note p { max-width: 44ch; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(.96rem, 1.8vw, 1.12rem); line-height: 1.7; }
    .university-application { background: var(--paper); color: var(--ink); padding-top: 36px; }
    .university-application__inner { width: min(1040px, 100%); margin: 0 auto; }
    .university-application__intro { max-width: 820px; margin-bottom: 34px; }
    .university-application__intro .section-title { max-width: 12ch; }
    .university-application__intro .section-lede { color: rgba(7,9,12,.7); }
    .university-application__details { margin-top: 22px; padding-top: 18px; display: grid; gap: 14px; border-top: 1px solid var(--line-dark); }
    .university-application__details p { margin: 0; color: rgba(7,9,12,.72); font-size: .82rem; line-height: 1.6; }
    .university-application__details strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
    .university-application__required-note { margin: 14px 0 0; color: rgba(7,9,12,.62); font-size: .74rem; line-height: 1.5; }
    .university-application__form-wrap { padding: clamp(20px, 4vw, 48px); border: 1px solid rgba(7,9,12,.18); background: #fff; box-shadow: 0 18px 54px rgba(7,9,12,.09); }
    .university-form__grid { display: grid; gap: 28px; }
    .university-form__section { min-width: 0; margin: 0; padding: 24px 0 0; border: 0; border-top: 1px solid rgba(7,9,12,.16); grid-column: 1 / -1; }
    .university-form__section > legend { padding: 0 12px 0 0; color: var(--red); font-family: var(--condensed); font-size: 1.25rem; letter-spacing: .1em; text-transform: uppercase; }
    .university-form__fields { display: grid; gap: 18px; }
    .university-form__field { min-width: 0; display: grid; align-content: start; gap: 8px; }
    .university-form__field label { color: var(--ink); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .university-form__field input, .university-form__field textarea, .university-form__field select { width: 100%; min-height: 50px; padding: 13px 14px; border: 1px solid rgba(7,9,12,.24); border-radius: 2px; background: #fff; color: var(--ink); font: inherit; font-size: .92rem; }
    .university-form__field textarea { min-height: 140px; resize: vertical; line-height: 1.6; }
    .university-form__field input::placeholder, .university-form__field textarea::placeholder { color: rgba(7,9,12,.5); }
    .university-form__field input:focus-visible, .university-form__field textarea:focus-visible, .university-form__field select:focus-visible, .university-form__choice input:focus-visible { outline: 3px solid rgba(227,31,51,.5); outline-offset: 2px; }
    .university-form__field small { color: rgba(7,9,12,.62); font-size: .72rem; line-height: 1.5; }
    .university-form__field-label { color: var(--ink); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .university-form__choice { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid rgba(7,9,12,.12); display: grid; gap: 14px; }
    .university-form__choice legend { color: var(--ink); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .university-form__choice > label { display: flex; align-items: flex-start; gap: 11px; color: rgba(7,9,12,.82); font-size: .83rem; line-height: 1.55; }
    .university-form__options { display: flex; flex-wrap: wrap; gap: 8px 22px; }
    .university-form__options label { display: inline-flex; align-items: center; gap: 8px; color: rgba(7,9,12,.82); font-size: .83rem; line-height: 1.5; }
    .university-form__choice input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--red); }
    .university-form__prose, .university-form__commitment { grid-column: 1 / -1; margin: 0; color: rgba(7,9,12,.76); font-size: .88rem; line-height: 1.7; }
    .university-form__commitment { padding: 18px 20px; border-left: 4px solid var(--red); background: rgba(227,31,51,.07); }
    .university-form__footer { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 22px; flex-wrap: wrap; }
    .university-form__privacy { max-width: 46ch; margin: 0; color: rgba(7,9,12,.6); font-size: .73rem; line-height: 1.55; }
    .university-form__feedback { margin-top: 24px; color: var(--ink); }
    .university-form__feedback[hidden], .university-application form[hidden] { display: none !important; }
    .university-form__feedback[data-state="error"] { padding: 18px 20px; border-left: 4px solid #a31325; background: rgba(163,19,37,.08); }
    .university-form__feedback[data-state="error"] strong { display: block; margin-bottom: 5px; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
    .university-form__feedback[data-state="error"] p { margin: 0; font-size: .88rem; line-height: 1.6; }
    .university-form__feedback.ride-success { padding: 54px 24px; border: 0; background: transparent; text-align: center; }
    .university-form__feedback .form-success__mark { width: 62px; aspect-ratio: 1; border-radius: 50%; margin: 0 auto 18px; display: grid; place-items: center; background: var(--red); color: var(--white); font-family: var(--display); font-size: 1.3rem; transition: background-color .3s var(--ease); }
    .university-form__feedback .form-success__mark[data-state="sent"] { background: #1f8b48; }
    .university-form__feedback h4 { margin: 0; font-family: var(--display); font-size: 2rem; }
    .university-form__feedback .form-success__copy, .university-form__feedback .form-success__fine { max-width: 48ch; margin: 12px auto 0; color: rgba(7,9,12,.65); line-height: 1.65; }
    .university-form__feedback .form-success__fine { margin-top: 22px; font-size: .8rem; color: rgba(7,9,12,.55); }

    .calendar-section { background: var(--paper); color: var(--ink); }
    .calendar-section__grid { gap: 42px; max-width: min(1480px, 100%); }
    .calendar-section__intro { max-width: 42rem; }
    .calendar-section .section-lede { color: rgba(7,9,12,.68); }
    .calendar-frame { width: 100%; margin: 0; padding: clamp(8px, 1.4vw, 18px); border: 1px solid var(--line-dark); background: var(--white); box-shadow: 0 24px 60px rgba(7,9,12,.14); }
    .calendar-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
    .calendar-trigger img { width: 100%; height: auto; }
    .calendar-trigger:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
    .calendar-frame__hint { margin: 14px 0 0; color: rgba(7,9,12,.56); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-align: right; text-transform: uppercase; }

    .book-grid { display: grid; gap: 16px; margin-top: 42px; }
    .book-card {
      overflow: hidden;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.025);
      display: grid;
      grid-template-rows: auto 1fr;
      transition: transform .28s var(--ease), border-color .28s ease, background .28s ease;
    }
    .book-card:hover, .book-card:focus-within { transform: translateY(-5px); border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.05); }
    .book-card__cover { min-height: 420px; padding: 30px; display: grid; place-items: center; background: linear-gradient(155deg, rgba(227,31,51,.16), transparent 48%), #11161d; }
    .book-card__cover img { width: min(80%, 300px); max-height: 390px; object-fit: contain; box-shadow: 0 26px 50px rgba(0,0,0,.45); }
    .book-card__body { padding: 24px; display: grid; align-content: space-between; gap: 28px; }
    .book-card__meta { color: var(--red-hot); font-size: .57rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .book-card h3 { margin: 10px 0 0; font-family: var(--display); font-size: clamp(1.55rem, 6vw, 2.4rem); line-height: .9; letter-spacing: -.045em; }
    .book-card p { margin: 10px 0 0; color: rgba(255,255,255,.62); font-size: .78rem; line-height: 1.6; }

    .section__grid > *, .page-hero__grid > * { min-width: 0; }
    .section__grid--two .section-title, .section__grid--media .section-title { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(2.5rem,7vw,5rem); }
    .page-hero h1 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(3.1rem,12vw,7.2rem); }
    :focus-visible { outline: 2px solid var(--red-hot); outline-offset: 4px; }

    @media (max-width: 320px) {
      :root { --header-h: 48px; --pad: 8px; }
      .site-header { min-height: var(--header-h); padding-top: 6px; }
      .brand { gap: 0; }
      .brand__mark { width: 28px; }
      .brand__type { display: none; }
      .menu-toggle { width: 34px; }
      .menu-toggle__icon { width: 14px; height: 12px; }
      .menu-toggle__icon span:nth-child(2) { top: 5px; }
      .menu-toggle__icon span:nth-child(3) { top: 10px; }
      .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1), .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) { top: 5px; }
      .nav-overlay__inner { padding: 58px 8px 18px; }
      .nav-kicker { margin-bottom: 12px; font-size: .48rem; }
      .nav-link { grid-template-columns: 20px minmax(0,1fr) 14px; gap: 5px; padding: 9px 0; }
      .nav-link__index { font-size: .42rem; }
      .nav-link__label { font-size: .78rem; line-height: .95; overflow-wrap: anywhere; }
      .nav-meta { margin-top: 16px; gap: 10px; font-size: .56rem; }
      .home-frame { padding: 52px 8px 4px; gap: 3px; }
      .home-main { gap: 5px; }
      .home-wordmark { max-width: 106px; }
      .home-wordmark__line { font-size: 1.85rem; }
      .home-wordmark__church { margin-top: 2px; font-size: .57rem; }
      .home-wordmark__divider { margin-top: 3px; gap: 5px; }
      .home-wordmark__divider img { width: 12px; }
      .home-message h1 { font-size: 1.25rem; line-height: .84; }
      .home-message__lede { margin-top: 3px; max-width: 25ch; font-size: .43rem; line-height: 1.25; }
      .home-actions { margin-top: 4px; gap: 4px; }
      .home-cta { min-height: 28px; padding: 0 6px; gap: 4px; font-size: .34rem; letter-spacing: .07em; }
      .home-cta img { width: 10px; height: 10px; }
      .home-info { padding-top: 2px; }
      .home-info__title { margin-bottom: 2px; gap: 5px; font-size: .62rem; }
      .home-service { padding: 2px 2px 3px; }
      .home-service__icon { width: 17px; margin-bottom: 1px; }
      .home-service__icon img { width: 9px; height: 9px; }
      .home-service__day { min-height: 1.6em; font-size: .23rem; letter-spacing: .05em; }
      .home-service__time { margin-top: 1px; font-size: .54rem; }
      .home-kids { min-height: 17px; gap: 4px; }
      .home-kids__brand em { font-size: .58rem; }
      .home-kids__brand strong { font-size: .29rem; letter-spacing: .17em; }
      .home-kids__rule { height: 11px; }
      .home-kids__copy { font-size: .28rem; letter-spacing: .08em; }
      .home-address { min-height: 22px; padding-top: 1px; gap: 4px; }
      .home-address__icon { width: 12px; height: 12px; }
      .home-address__copy strong { font-size: .32rem; letter-spacing: .05em; }
      .home-address__copy span { font-size: .22rem; letter-spacing: .04em; }
      .home-address__country { gap: 3px; font-size: .28rem; letter-spacing: .08em; }
      .home-address__country img { width: 9px; }
      .page-hero { min-height: 360px; padding: 58px 8px 30px; }
      .page-hero h1 { font-size: 2rem; line-height: .82; }
      .page-hero__grid { gap: 18px; }
      .page-hero__intro p { font-size: .68rem; line-height: 1.5; }
      .eyebrow { gap: 6px; font-size: .43rem; letter-spacing: .12em; }
      .eyebrow__line { width: 18px; }
      .scroll-cue { margin-top: 14px; gap: 6px; font-size: .4rem; letter-spacing: .1em; }
      .scroll-cue__line { width: 24px; }
      .section { padding: 44px 8px; }
      .section-title, .section__grid--two .section-title, .section__grid--media .section-title { font-size: 2rem; line-height: .86; overflow-wrap: anywhere; }
      .section-lede { margin-top: 12px; font-size: .72rem; line-height: 1.55; }
      .body-copy p { font-size: .7rem; line-height: 1.65; }
      .pull-quote { font-size: 1.65rem; }
      .word-stack__item { padding: 12px 0; font-size: 1.55rem; gap: 6px; }
      [data-view="academy"] .word-stack__item {
        font-size: 1.1rem;
        padding: 10px 0;
        gap: 4px;
        flex-direction: column;
        align-items: stretch;
        line-height: 1.2;
      }
      [data-view="academy"] .word-stack__item span {
        font-size: .48rem;
        align-self: flex-end;
        text-align: right;
      }
      .photo-placeholder, .pastors-art, .fellowship-seal, .contact-photo { min-height: 250px; width: 100%; }
      .structure-card, .method-card, .contact-card { min-height: 0; padding: 12px; }
      .method-grid, .structure-grid, .contact-grid, .events-grid, .book-grid { gap: 8px; margin-top: 22px; }
      .event-card__body, .book-card__body { padding: 12px; gap: 16px; }
      .event-card h3, .book-card h3 { font-size: 1.25rem; }
      .event-fact { grid-template-columns: 1fr; gap: 3px; padding: 8px 0; }
      .book-card__cover { min-height: 220px; padding: 10px; }
      .application__head { padding: 12px; display: grid; gap: 8px; }
      .application__head h3 { font-size: 1.15rem; overflow-wrap: anywhere; }
      .application__step-label { white-space: normal; }
      .application__body { padding: 12px; }
      .form-step h4, .form-subsection h4 { font-size: 1rem; overflow-wrap: anywhere; }
      .field-grid, .choice-grid, .belief-checks { gap: 9px; }
      .field label, .fieldset-label, .form-fieldset legend { font-size: .48rem; }
      .field input, .field textarea, .field select { min-width: 0; font-size: .68rem; padding: 8px 0; }
      .choice { min-width: 0; padding: 9px; gap: 6px; font-size: .62rem; overflow-wrap: anywhere; }
      .form-actions { flex-direction: column-reverse; }
      .form-btn { width: 100%; min-height: 38px; padding: 0 9px; font-size: .48rem; }
      .signature-canvas { height: 120px; }
      .legal-panel, .prayer-card { padding: 12px; }
      .site-footer { padding: 44px 8px 20px; }
      .footer-call { font-size: 2rem; }
      .footer-grid { margin-top: 36px; gap: 20px; }
    }

    @media (max-height: 700px) and (max-width: 700px) {
      :root { --header-h: 64px; }
      .site-header { min-height: var(--header-h); }
      .brand__mark { width: 34px; padding: 0; }
      .menu-toggle { width: 42px; }
      .home-frame { padding-top: calc(var(--header-h) + 4px); padding-bottom: 6px; gap: 6px; }
      .home-main { gap: 8px; }
      .home-wordmark { width: min(58vw, 218px); }
      .home-wordmark__line { font-size: clamp(2.45rem, 12.8vw, 3.25rem); }
      .home-wordmark__church { margin-top: 5px; font-size: .76rem; }
      .home-wordmark__divider { margin-top: 6px; }
      .home-wordmark__divider img { width: 18px; }
      .home-message h1 { font-size: clamp(1.78rem, 8.4vw, 2.25rem); }
      .home-message__lede { margin-top: 6px; font-size: .64rem; }
      .home-actions { margin-top: 8px; }
      .home-cta { min-height: 36px; padding-inline: 10px; font-size: .48rem; }
      .home-info { padding-top: 5px; }
      .home-info__title { margin-bottom: 4px; font-size: .65rem; }
      .home-service { padding: 5px 4px 6px; }
      .home-service__icon { width: 24px; margin-bottom: 3px; }
      .home-service__icon img { width: 13px; height: 13px; }
      .home-service__day { font-size: .37rem; }
      .home-kids { min-height: 25px; gap: 8px; }
      .home-kids__brand em { font-size: .84rem; }
      .home-kids__brand strong { font-size: .5rem; }
      .home-kids__rule { height: 17px; }
      .home-kids__copy { font-size: .43rem; }
      .home-address { min-height: 30px; padding-top: 3px; }
      .home-address__copy strong { font-size: .45rem; }
      .home-address__copy span { font-size: .32rem; }
      .eyebrow { margin-bottom: 8px; }
    }

    @media (max-width: 320px) and (max-height: 500px) {
      :root { --header-h: 42px; --pad: 6px; }
      .site-header { min-height: 42px; padding: 4px 6px 0; }
      .brand__mark { width: 24px; }
      .menu-toggle { width: 30px; }
      .home-frame { padding: 45px 6px 3px; gap: 2px; }
      .home-main { gap: 3px; }
      .home-wordmark { width: max-content; max-width: 92px; }
      .home-wordmark__line { font-size: 1.55rem; }
      .home-wordmark__church { margin-top: 1px; font-size: .48rem; }
      .home-wordmark__divider { margin-top: 2px; gap: 4px; }
      .home-wordmark__divider img { width: 10px; }
      .home-message h1 { font-size: 1.08rem; line-height: .82; }
      .home-message__lede { margin-top: 2px; font-size: .36rem; line-height: 1.18; }
      .home-actions { margin-top: 3px; gap: 3px; }
      .home-cta { min-height: 25px; padding: 0 5px; gap: 3px; font-size: .3rem; }
      .home-cta img { width: 8px; height: 8px; }
      .home-info { padding-top: 1px; }
      .home-info__title { margin-bottom: 1px; gap: 4px; font-size: .54rem; }
      .home-info__title i { height: 1px; }
      .home-service { padding: 1px; }
      .home-service__icon { width: 14px; margin-bottom: 0; }
      .home-service__icon img { width: 7px; height: 7px; }
      .home-service__day { min-height: 1.45em; font-size: .2rem; line-height: 1.05; }
      .home-service__time { margin-top: 0; font-size: .46rem; }
      .home-kids { min-height: 14px; gap: 3px; }
      .home-kids__brand em { font-size: .48rem; }
      .home-kids__brand strong { font-size: .24rem; }
      .home-kids__rule { height: 9px; }
      .home-kids__copy { max-width: 86px; white-space: normal; text-align: center; font-size: .23rem; line-height: 1.1; }
      .home-address { min-height: 18px; padding-top: 0; gap: 3px; }
      .home-address__icon { width: 9px; height: 9px; }
      .home-address__copy strong { font-size: .26rem; }
      .home-address__copy span { font-size: .17rem; }
      .home-address__country { gap: 2px; font-size: .23rem; }
      .home-address__country img { width: 7px; }
    }

    @media (min-width: 700px) {
      :root { --header-h: 88px; }
      .brand__mark { width: 46px; }
      .brand__main { font-size: .9rem; }
      .nav-overlay__inner { grid-template-columns: minmax(0,1.6fr) minmax(240px,.7fr); gap: 7vw; align-content: center; }
      .nav-kicker, .nav-list { grid-column: 1; }
      .nav-meta { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
      .nav-link { padding: 15px 0; }
      .nav-link__label { font-size: clamp(1.25rem, 3vw, 2rem); }
      .home-frame { padding-top: calc(var(--header-h) + 20px); grid-template-columns: minmax(340px,520px) minmax(0,1fr); grid-template-rows: 2fr 1fr; column-gap: 6vw; }
      .home-main { grid-column: 1; grid-row: 1; align-self: stretch; justify-self: stretch; max-width: 470px; }
      .home-info { grid-column: 1 / -1; grid-row: 2; }
      .home-wordmark { width: min(29vw, 262px); }
      .home-wordmark__line { font-size: clamp(4rem, 7vw, 5.55rem); }
      .home-wordmark__church { font-size: clamp(1.05rem, 2vw, 1.5rem); }
      .home-message h1 { font-size: clamp(2.35rem, 4.1vw, 3.72rem); }
      .home-message__lede { max-width: 34ch; }
      .home-info__title { max-width: 720px; margin-left: auto; margin-right: auto; font-size: 1.35rem; }
      .home-service { padding: 10px; }
      .home-service__icon { width: 38px; }
      .home-service__icon img { width: 20px; height: 20px; }
      .home-service__day { font-size: .55rem; }
      .home-service__time { font-size: 1.28rem; }
      .home-address { padding-top: 9px; }
      .home-address__icon { width: 24px; height: 24px; }
      .home-address__copy strong { font-size: .65rem; }
      .home-address__copy span { font-size: .46rem; }
      .home-address__country { font-size: .58rem; }
      .home-word { writing-mode: horizontal-tb; transform: none; top: 14%; left: 3vw; font-size: clamp(8rem, 20vw, 19rem); }
      .page-hero__grid { grid-template-columns: minmax(0,1.25fr) minmax(280px,.55fr); align-items: end; }
      .section { padding-top: 120px; padding-bottom: 120px; }
      .section__grid--two { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: start; gap: 7vw; }
      .section__grid--media { grid-template-columns: minmax(0,1fr) minmax(0,.9fr); align-items: center; gap: 7vw; }
      .photo-placeholder, .pastors-art, .fellowship-seal, .contact-photo { min-height: 620px; }
      .jesus-next { grid-template-columns: minmax(0,.78fr) minmax(320px,1fr); gap: clamp(48px,7vw,96px); align-items: start; }
      .method-grid { grid-template-columns: repeat(2, 1fr); }
      .events-grid { grid-template-columns: repeat(2, 1fr); }
      .book-grid { grid-template-columns: repeat(2, 1fr); }
      .structure-grid { grid-template-columns: repeat(2,1fr); }
      .field-grid--two { grid-template-columns: repeat(2,1fr); }
      .choice-grid--two { grid-template-columns: repeat(2,1fr); }
      .attendance-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
      .ministry-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .contact-grid { grid-template-columns: repeat(2,1fr); }
      .footer-grid { grid-template-columns: 1.3fr repeat(3,1fr); }
    }

    @media (min-width: 700px) {
      .university-promo__inner { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 12px 7vw; align-items: start; }
      .university-highlights { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); }
      .university-highlight { padding: clamp(26px, 3vw, 38px) clamp(18px, 2.2vw, 34px); border-right: 1px solid var(--line-dark); border-bottom: 0; }
      .university-highlight:last-child { border-right: 0; }
      .university-pilot-note { grid-column: 1 / -1; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 32px; }
      .university-application__details { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 32px; }
      .university-form__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .university-form__field--wide, .university-form__choice, .university-form__prose, .university-form__commitment { grid-column: 1 / -1; }
    }

    @media (min-width: 700px) and (max-width: 1059px) {
      .page-hero__grid, .section__grid--two, .section__grid--media, .section__grid--story, .jesus-next { grid-template-columns: minmax(0,1fr); }
      .page-hero__intro { max-width: 54ch; }
      .section__grid--two .section-title, .section__grid--media .section-title { max-width: 10ch; font-size: clamp(3rem,8vw,4.5rem); }
      .photo-placeholder, .pastors-art, .fellowship-seal, .contact-photo { width: min(100%,620px); }
    }

@media (min-width: 1060px) {
.home-bg img { object-position: center; }
.method-grid { grid-template-columns: repeat(4,1fr); }
 .events-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.book-grid { grid-template-columns: repeat(3,1fr); }
      .contact-grid { grid-template-columns: repeat(3,1fr); }
      .page-hero { min-height: 92svh; }
      .section__grid--story { grid-template-columns: .58fr 1.12fr 1.05fr; align-items: start; gap: 4vw; }
      .section__grid--story .photo-placeholder { position: sticky; top: 120px; min-height: 540px; }
      .section__grid--story .pastors-art { position: sticky; top: 120px; min-height: 0; aspect-ratio: 4 / 5; }
      .section__grid--story .pastors-art img { height: 150%; bottom: -50%; }
    }

  

/* Shareable event landing pages */
.event-card__poster-link { display: block; color: inherit; }
.event-card__title-link { color: inherit; text-decoration: none; }
.event-card__title-link:hover { text-decoration: underline; text-decoration-color: var(--red, #ef233c); text-underline-offset: .16em; }
.event-detail-section { padding-block: clamp(42px, 7vw, 92px); }
.event-detail { width: min(1240px, calc(100% - 2 * var(--gutter, 28px))); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: start; }
.event-detail__poster { margin: 0; padding: clamp(10px, 1.5vw, 18px); background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.14); }
.event-detail__poster img { display: block; width: 100%; height: auto; max-height: 72svh; object-fit: contain; }
.event-detail__body { display: grid; gap: 24px; }
.event-detail__body .event-facts { margin-top: 8px; }
.event-detail__summary { max-width: 60ch; font-size: clamp(1rem, 1.35vw, 1.22rem); line-height: 1.7; }
.event-detail__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.event-detail__back { color: inherit; text-underline-offset: .2em; }
@media (max-width: 760px) { .event-detail { grid-template-columns: minmax(0, 1fr); } .event-detail__poster img { max-height: none; } }

