@font-face{font-family:Cormorant;src:url('/nativity/fonts/cormorant-semibold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Cormorant;src:url('/nativity/fonts/cormorant-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Jost;src:url('/cf-fonts/v/jost/5.2.8/latin/wght/normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--navy:#031321;--deep:#020f19;--gold:#edc47d;--cream:#f7f1e5;--ink:#17212b;--muted:#c8d1d8}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:92px}body.nativity{margin:0;background:var(--navy);color:white;font:17px/1.6 Jost,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:600;line-height:1.06}h2{font-size:clamp(38px,4.1vw,58px)}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.nativity .icon{filter:invert(87%) sepia(39%) saturate(575%) hue-rotate(338deg) brightness(97%)}.skip-link{position:fixed;top:-100px;left:15px;background:white;color:#031321;padding:12px;z-index:100}.skip-link:focus{top:10px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.29em;line-height:1.6}.event-header{position:absolute;top:0;left:0;width:100%;z-index:10}.header-inner{max-width:1320px;margin:auto;padding:25px 40px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:block;flex-shrink:0}.brand img{width:280px;height:auto;display:block}.desktop-nav{display:flex;gap:29px;font-size:14px}.desktop-nav a{padding:8px 0}.desktop-nav a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:15px 26px;min-height:52px;border:1px solid transparent;border-radius:9px;font-size:17px;line-height:1.3;font-weight:500;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:#17150f;border-color:#ffe1ab}.gold .icon{filter:none}.gold:hover{background:#f7d89f}.outline{background:#04131dd9;border-color:var(--gold);color:#f8dca5}.outline:hover{background:#102c40}.header-visit{padding:10px 21px;min-height:40px;font-size:14px}.menu-toggle{display:none;background:none;border:0;color:white;min-height:44px;min-width:44px;padding:8px}.mobile-nav{padding:20px 26px;background:#031321;border-bottom:1px solid #edc47d40}.mobile-nav:not([hidden]){display:grid;gap:18px}.nativity-hero{position:relative;min-height:760px;overflow:hidden;background:var(--navy)}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 68%;z-index:0}.hero-inner{position:relative;max-width:1440px;min-height:760px;margin:auto;padding:165px 45px 22px;display:flex;flex-direction:column;justify-content:space-between}.hero-copy{width:76%;max-width:970px;text-align:center;align-self:flex-start;text-shadow:0 2px 18px #000}.hero-eyebrow{font-family:Cormorant,Georgia,serif;color:var(--gold);font-size:25px;letter-spacing:.42em}.hero-copy h1{font-size:clamp(58px,6.9vw,106px);text-transform:uppercase;color:#f3d397;white-space:nowrap;letter-spacing:.012em;margin:0 -15px 0}.church-name{font-family:Cormorant,Georgia,serif;letter-spacing:.36em;text-transform:uppercase;font-size:18px;margin:5px 0 16px}.hero-description{font-family:Cormorant,Georgia,serif;font-size:23px;line-height:1.35}.hero-actions{display:flex;justify-content:center;gap:17px;margin-top:23px;text-shadow:none}.hero-bottom{display:flex;align-items:center;flex-direction:column;width:100%;text-shadow:0 2px 10px black;background:#03132155;padding:15px 12px 0;border-radius:14px}.event-dates{display:flex;align-items:center;gap:45px}.event-date{display:flex;align-items:center;gap:17px}.event-date>.icon{width:31px;height:31px}.event-date>div{display:grid;text-align:center}.event-date .day{font-family:Cormorant,Georgia,serif;letter-spacing:.22em;text-transform:uppercase;line-height:1.3;font-size:17px}.event-date strong{font:600 36px/1.08 Cormorant,Georgia,serif;letter-spacing:.025em}.event-date .hours{font-family:Cormorant,Georgia,serif;color:var(--gold);letter-spacing:.15em;font-size:18px;line-height:1.3}.date-divider{height:60px;border-left:1px solid #f9eac7a1}.event-year{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:9px;color:#f5dec0}.location{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-top:10px}.location .icon{width:18px}.location-separator{margin:0 9px;color:#c5a370}.section-light{background:var(--cream);color:var(--ink)}.experience{padding:29px 40px 23px}.section-heading{text-align:center}.section-heading h2{margin-top:4px;font-size:clamp(34px,3.6vw,52px)}.steps{max-width:1190px;margin:26px auto 0;display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:center;gap:12px}.step{display:flex;align-items:center;gap:20px;background:#e9dfcf77;padding:21px;border-radius:13px;min-height:132px}.step-icon{background:#e7d4b3;border-radius:50%;width:78px;height:78px;flex-shrink:0;display:grid;place-items:center}.step-icon .icon{width:37px;height:37px;filter:none}.step h3{font-size:24px;margin-bottom:7px}.step p{font-size:14px;line-height:1.45;max-width:220px}.step-arrow .icon{filter:none;width:23px}.welcome-line{text-align:center;text-transform:uppercase;letter-spacing:.3em;font-size:11px;margin-top:21px}.welcome-line span{margin:0 18px}.details-section{max-width:1300px;margin:auto;padding:100px 50px;display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}.details-art{height:470px;border-radius:170px 170px 9px 9px;overflow:hidden;border:1px solid #dfb26966}.details-art img{width:100%;height:100%;object-fit:cover;object-position:76% center}.details-copy .eyebrow,.visit-section .eyebrow{color:var(--gold);margin-bottom:16px}.details-copy h2{color:#f8e4be}.details-copy>p:not(.eyebrow){color:var(--muted);margin-top:20px;max-width:550px}.detail-schedule{margin:27px 0 0;border-top:1px solid #b8b8b635}.detail-schedule>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #b8b8b635;font-size:16px}.detail-schedule strong{font-weight:500}.detail-schedule span{color:var(--gold);white-space:nowrap}.details-copy>.detail-note{font-size:13px!important;margin-top:10px!important}.detail-actions{display:flex;align-items:center;gap:25px;margin-top:26px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#f5d39a;text-decoration:underline;text-underline-offset:4px}.text-link .icon{width:20px}.audio-invitation{display:flex;gap:110px;align-items:center;justify-content:center;padding:75px 45px}.audio-invitation-copy{max-width:500px}.audio-invitation-copy .eyebrow{color:#79603f;margin-bottom:14px}.audio-invitation-copy>p:not(.eyebrow){margin:20px 0 26px;color:#4e5860;max-width:420px}.navy-button{background:var(--navy);color:#f5dbad}.audio-preview-card{position:relative;border:1px solid #665434;background:var(--deep);color:var(--gold);width:320px;border-radius:22px;overflow:hidden;box-shadow:0 15px 40px #13243528;flex-shrink:0}.audio-preview-card>img{width:100%;height:180px;object-fit:cover;object-position:80% 65%;display:block}.audio-preview-card>div{padding:24px 28px 28px;text-align:center}.audio-preview-card h3{font-size:39px;text-transform:uppercase;margin:6px 0}.audio-preview-card p{font:22px Cormorant,Georgia,serif;color:white}.preview-link{display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;margin-top:22px}.preview-link .icon{width:18px}.visit-section{max-width:1230px;display:grid;grid-template-columns:1fr 1fr;gap:95px;padding:90px 45px;margin:auto}.visit-section h2{color:#f8e4be}.visit-section>div>p:not(.eyebrow){color:var(--muted);margin:22px 0}.event-faq{align-self:center}.event-faq details{border-bottom:1px solid #b1b5b533;padding:20px 0}.event-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:17px}.event-faq summary::-webkit-details-marker{display:none}.event-faq summary .icon{width:18px}.event-faq details[open] summary .icon{transform:rotate(180deg)}.event-faq details p{font-size:15px;line-height:1.6;color:var(--muted);padding-top:12px}.event-faq a{text-decoration:underline}.event-footer{text-align:center;border-top:1px solid #c9ac7133;padding:36px 25px 25px;color:#b1bcc4}.event-footer .brand{width:max-content;margin:auto}.event-footer .brand img{width:250px}.event-footer p{font-family:Cormorant,Georgia,serif;font-size:20px;margin:20px 0 10px}.event-footer>a:not(.brand){display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gold)}.event-footer .icon{width:16px}.event-footer small{display:block;font-size:11px;margin-top:25px}
.audio-page .event-header{position:relative}.audio-main{max-width:700px;margin:0 auto;padding:5px 25px 55px}.audio-back{display:flex;align-items:center;gap:10px;font-size:13px;color:#becbd4;width:max-content;margin:5px 0 25px}.audio-back .icon{width:18px}.audio-player{max-width:400px;margin:auto;text-align:center}.audio-title .eyebrow{color:var(--gold);font-size:14px}.audio-title h1{color:#f3ce8c;text-transform:uppercase;font-size:51px;margin:1px -15px 0}.audio-title>p:last-child{font:28px Cormorant,Georgia,serif;color:#f4e2bf}.audio-scene{height:220px;margin-top:15px;overflow:hidden;border-radius:8px}.audio-scene img{width:100%;height:100%;object-fit:cover;object-position:85% 70%}.chapter{margin-top:23px}.chapter .eyebrow{font-size:11px;color:var(--gold);letter-spacing:.16em}.chapter h2{font-size:35px;margin:3px 0}.chapter .scripture{color:#becbd4;font-size:14px;margin:5px 0 11px}.chapter>p:last-child{color:#c9d4dc;font-size:16px;line-height:1.4}.audio-progress{height:7px;background:#1b3041;border-radius:10px;margin-top:24px}.audio-progress>div{width:0;height:100%;background:var(--gold)}.time-labels{display:flex;justify-content:space-between;color:#d1dbe2;font-size:12px;margin-top:6px}.playback-controls{display:flex;align-items:center;justify-content:space-between;margin:16px 0 30px;padding:0 10px}.playback-controls button{display:grid;place-items:center;gap:8px;border:0;background:none;color:#d2d9de;opacity:.68;cursor:not-allowed;font-size:13px;line-height:1.4;width:70px;padding:8px}.playback-controls button>.icon{filter:invert(1);width:25px;height:25px}.playback-controls .play-button{background:var(--gold);border:1px solid #ffedc4;width:88px;height:88px;border-radius:50%;opacity:.9;box-shadow:0 0 28px #eac07822}.playback-controls .play-button>.icon{filter:none;width:32px;height:32px}.continuous-card{border:1px solid #294458;display:flex;align-items:center;text-align:left;gap:17px;border-radius:12px;padding:17px}.continuous-card>.icon{width:40px;height:40px}.continuous-card strong{display:block;font-size:14px;font-weight:500}.continuous-card span{display:block;color:#c4cfd7;font-size:12px;line-height:1.4;margin-top:3px}.audio-status{font-size:14px;color:var(--gold);margin-top:22px}.audio-closing{font-size:13px;color:#afbec9;margin-top:4px}
@media(min-width:1650px){.hero-art{object-fit:cover;object-position:center 65%}.hero-inner{max-width:1570px}.nativity-hero,.hero-inner{min-height:830px}.hero-copy{width:74%}.hero-copy h1{font-size:112px}}
@media(max-width:1100px){.brand img{width:235px}.header-inner{padding:23px 28px;gap:15px}.desktop-nav{gap:18px;font-size:13px}.hero-inner{padding:155px 28px 24px}.hero-copy{width:82%}.hero-copy h1{font-size:7.1vw}.hero-eyebrow{font-size:22px}.church-name{font-size:15px}.hero-description{font-size:22px}.steps{gap:8px}.step{padding:17px;gap:12px}.step-icon{width:55px;height:55px}.step-icon .icon{width:29px}.step h3{font-size:21px}.step p{font-size:13px}.details-section{gap:35px;padding:75px 35px}.detail-actions{gap:16px;flex-wrap:wrap}.audio-invitation{gap:60px}.visit-section{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:20px}.desktop-nav,.header-visit{display:none}.menu-toggle{display:block}.header-inner{padding:19px 22px}.brand img{width:235px}.nativity-hero,.hero-inner{min-height:830px}.hero-inner{padding:133px 20px 22px}.hero-art{object-position:90% center}.hero-copy{width:100%;max-width:none}.hero-eyebrow{font-size:20px;letter-spacing:.31em}.hero-copy h1{font-size:clamp(51px,11.7vw,82px);white-space:normal;max-width:600px;margin:3px auto 9px;line-height:.96}.church-name{font-size:12px;letter-spacing:.21em;max-width:340px;margin:14px auto}.hero-description{font-size:21px;max-width:420px;margin:auto;line-height:1.3}.desktop-break{display:none}.hero-actions{gap:12px;flex-direction:column;align-items:center;margin-top:22px}.hero-actions .button{min-width:245px;font-size:16px;padding:13px 21px;min-height:49px}.hero-bottom{padding:13px 8px 3px;background:#02101ae0;border:1px solid #e0bc7530}.event-dates{gap:21px}.event-date{gap:8px}.event-date>.icon{width:25px}.event-date .day{font-size:13px}.event-date strong{font-size:30px}.event-date .hours{font-size:14px;letter-spacing:.1em}.date-divider{height:53px}.event-year{font-size:10px;letter-spacing:.1em}.location{font-size:12px;line-height:1.4;margin-top:10px;align-items:flex-start;text-align:center}.location .icon{width:16px;height:17px;margin-top:2px}.location-separator{display:block;font-size:0;line-height:0;margin:4px}.experience{padding:35px 20px 28px}.section-heading .eyebrow{font-size:10px;letter-spacing:.2em}.section-heading h2{font-size:38px;margin-top:7px}.steps{display:grid;grid-template-columns:1fr;max-width:480px;gap:12px;margin-top:24px}.step{min-height:100px;gap:20px;padding:18px 22px}.step-icon{width:62px;height:62px}.step h3{font-size:25px}.step p{max-width:none;font-size:14px}.step-arrow{display:none}.welcome-line{font-size:9px;letter-spacing:.16em;white-space:nowrap}.welcome-line span{margin:0 7px}.details-section{display:flex;flex-direction:column;padding:55px 23px;gap:30px}.details-art{width:100%;max-width:450px;height:330px;border-radius:140px 140px 9px 9px}.details-copy{width:100%;max-width:450px}.details-copy h2{font-size:44px}.details-copy .eyebrow{font-size:10px}.details-copy>p:not(.eyebrow){font-size:16px}.detail-schedule>div{font-size:14px;gap:10px}.detail-actions .button{font-size:15px}.audio-invitation{padding:50px 24px;flex-direction:column;gap:35px}.audio-invitation-copy{width:100%;max-width:450px}.audio-invitation-copy h2{font-size:45px}.audio-invitation-copy>p:not(.eyebrow){font-size:16px}.audio-invitation-copy .button{font-size:15px}.audio-preview-card{width:min(100%,330px)}.visit-section{grid-template-columns:1fr;padding:55px 24px;gap:25px}.visit-section h2{font-size:45px}.visit-section .eyebrow{font-size:11px}.event-faq summary{font-size:16px}.event-footer p{font-size:18px}.audio-main{padding:0 23px 35px}.audio-back{font-size:11px;margin:0 0 15px}.audio-page .header-inner{padding:20px 23px 14px}.audio-page .brand img{width:230px}.audio-title .eyebrow{font-size:12px}.audio-title h1{font-size:45px}.audio-title>p:last-child{font-size:25px}.audio-scene{height:180px;margin-top:10px}.chapter{margin-top:16px}.chapter h2{font-size:32px}.chapter .scripture{margin:5px 0 9px}.chapter>p:last-child{font-size:15px}.audio-progress{margin-top:19px}.playback-controls{margin:12px 0 22px}.playback-controls .play-button{width:80px;height:80px}.continuous-card{padding:14px;gap:13px}.audio-status{margin-top:17px}.audio-closing{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* On phones, copy and illustration have separate space: the Bethlehem star
   must never sit behind headings, instructions or touch controls. */
@media(max-width:900px){
  html{scroll-behavior:auto;scroll-padding-top:108px}
  .desktop-nav,.header-visit{display:none}
  .menu-toggle{display:block}
  .header-inner{padding:19px 22px;gap:12px}
  .brand img{width:clamp(185px,57vw,235px)}
  .event-header{background:var(--navy)}
  .nativity:not(.audio-page) .event-header{position:sticky;top:0}
  .mobile-nav:not([hidden]){gap:6px;padding:12px 22px 18px}
  .mobile-nav a{display:flex;align-items:center;min-height:44px}
  .nativity-hero{display:flex;flex-direction:column;min-height:0;overflow:visible}
  .hero-inner{display:contents;min-height:0;padding:0}
  .hero-copy{order:1;width:100%;max-width:none;align-self:stretch;background:var(--navy);padding:28px 24px 31px;text-shadow:none}
  .hero-eyebrow{font-size:20px;letter-spacing:.28em}
  .hero-copy h1{font-size:clamp(52px,9vw,74px);line-height:1.02;white-space:normal;max-width:650px;margin:8px auto 18px}
  .church-name{font-size:12px;letter-spacing:.2em;line-height:1.7;max-width:450px;margin:0 auto 20px}
  .hero-description{font-size:22px;line-height:1.45;max-width:480px;margin:auto}
  .desktop-break{display:none}
  .hero-actions{gap:12px;flex-direction:column;align-items:center;margin:26px auto 0;max-width:340px}
  .hero-actions .button{width:100%;min-width:0;min-height:54px;padding:14px 18px;font-size:16px}
  .hero-art{order:3;position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:center}
  .hero-bottom{order:2;width:100%;padding:8px 20px 25px;background:var(--navy);border:0;border-radius:0;text-shadow:none}
  .event-dates{gap:22px}
  .event-date{gap:10px}
  .event-date>.icon{width:26px;height:26px}
  .event-date .day{font-size:13px}
  .event-date strong{font-size:31px}
  .event-date .hours{font-size:15px;letter-spacing:.1em}
  .date-divider{height:58px}
  .event-year{font-size:10px;margin-top:15px}
  .location{min-height:44px;font-size:13px;line-height:1.5;max-width:430px;margin-top:12px;align-items:center}
  .location-separator{display:block;font-size:0;line-height:0;margin:4px}
  .audio-page .brand img{width:clamp(185px,57vw,230px)}
  .audio-back{min-height:44px;margin-bottom:12px}
  .event-faq summary{min-height:44px}
  .event-footer>a:not(.brand){min-height:44px}
  .text-link{min-height:44px}
}
@media(max-width:360px){
  .hero-copy{padding:24px 20px 28px}
  .hero-copy h1{font-size:50px}
  .hero-description{font-size:21px}
  .event-dates{gap:14px}
  .event-date{gap:7px}
  .event-date strong{font-size:28px}
  .event-date .hours{font-size:13px}
  .event-date>.icon{width:23px}
  .welcome-line{font-size:8px;letter-spacing:.12em;white-space:normal;line-height:2}
  .detail-schedule>div{flex-direction:column;gap:3px}
  .audio-title h1{font-size:39px;margin-inline:0}
  .continuous-card{gap:10px;padding:13px}
  .continuous-card>.icon{width:31px;height:31px}
}
.nativity-christmas-link{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;max-width:1230px;margin:auto;padding:55px 45px 75px;border-top:1px solid #edc47d33}
.nativity-christmas-image img{display:block;width:100%;height:auto;border-radius:10px}
.nativity-christmas-link .eyebrow{color:var(--gold);margin-bottom:15px}
.nativity-christmas-link h2{font-size:47px;color:#f6dfb5}
.nativity-christmas-link p:not(.eyebrow){color:var(--muted);font-size:16px;margin:20px 0}
.nativity-christmas-link .button{font-size:15px}
.details-art img{object-position:center 60%}
/* Keep the final invitation visually distinct from the visit FAQ. */
.nativity-christmas-link{max-width:none;background:#f4ebdc;padding:60px max(35px,calc((100vw - 1140px)/2));border-top:1px solid #dbbf8e;color:#182d3b}
.nativity-christmas-link .eyebrow{color:#795c33}
.nativity-christmas-link h2{color:#182d3b}
.nativity-christmas-link p:not(.eyebrow){color:#4f606b}
@media(max-width:760px){.experience{padding-block:32px}.details-section{padding-block:42px}.audio-invitation{padding-block:42px}.visit-section{padding-block:42px}.nativity-christmas-link{padding:42px 24px;gap:25px}.nativity-christmas-link h2{font-size:42px}}
.audio-preview-card>img{object-position:center 60%}
@media(max-width:760px){.nativity-christmas-link{grid-template-columns:1fr;padding:40px 24px 50px;gap:25px}.nativity-christmas-link h2{font-size:42px}.nativity-christmas-link .button{width:100%;min-height:54px}}
