/* V21: distinct sections, short copy and a compact shop. */
.conference-intro {padding:76px 0;background:var(--paper);overflow:visible;}
.conference-intro .hero-film-shell {min-height:0;width:min(1160px,calc(100% - 48px));max-width:1160px;gap:54px;align-items:center;padding:0;margin:0 auto;}
.conference-intro .film-invitation {font-size:clamp(36px,4vw,58px);line-height:1.04;margin:14px 0 18px;}
.conference-summary {font-size:17px;line-height:1.6;color:var(--muted);max-width:460px;}
.conference-facts {display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;margin:26px 0;}
.conference-facts>div {border-top:1px solid var(--line);padding-top:12px;min-width:0;}
.conference-facts dt {font:600 10px/1.4 var(--sans);letter-spacing:.1em;color:var(--copper);margin-bottom:7px;}
.conference-facts dd {font:500 17px/1.4 var(--sans);color:var(--burgundy);margin:0;}
.conference-facts small {display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px;}
.conference-intro .hero-film-stage {height:400px;min-height:0;}
.conference-intro .film-frame {height:100%;}
.biblical-journey {padding-block:70px;max-width:1160px;}
.journey-heading {max-width:710px;margin-bottom:36px;}
.journey-heading h2 {font:400 clamp(34px,4vw,54px)/1.08 var(--serif);color:var(--burgundy);margin:12px 0 16px;}
.journey-heading h2 em {color:var(--copper);}
.journey-heading>p:last-child {font-size:17px;color:var(--muted);line-height:1.5;}
.journey-visual {display:none;}
.journey-step {display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;margin-bottom:45px;}
.chapter-image {margin:0;border-radius:8px;overflow:hidden;background:#e7d4bd;}
.chapter-image img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transform:scale(calc(1 + var(--chapter-progress,0) * .05));}
.chapter-label {font:600 11px/1.5 var(--sans);letter-spacing:.1em;color:var(--copper);}
.chapter-label>span {color:var(--burgundy);margin-right:10px;}
.chapter-copy h3 {font:400 clamp(32px,3.2vw,46px)/1.06 var(--serif);color:var(--burgundy);margin:15px 0;}
.chapter-copy>p:not(.chapter-label) {font-size:17px;line-height:1.6;color:var(--muted);max-width:340px;}
.chapter-copy blockquote {margin:25px 0 0;padding:0;font:italic 23px/1.4 var(--serif);color:var(--burgundy);max-width:340px;border:0;}
.chapter-copy cite {display:block;font:400 12px/1.5 var(--sans);margin-top:10px;color:var(--copper);}
.chapter-copy cite a {text-decoration:none;}
.chapter-copy cite a:hover {text-decoration:underline;}
.journey-note,.journey-scene-label {font:400 11px/1.5 var(--sans);color:var(--muted);}
.journey-note {margin:20px 0 0;}
.journey-canvas {position:relative;width:100%;height:min(570px,65svh);overflow:hidden;background:#dbcbb8;border-radius:8px;}
.journey-frame {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1100ms ease-in-out;transform:scale(1.025) translateY(calc((var(--journey-progress,.5) - .5) * -16px));}
.journey-frame.is-current {opacity:1;}
@media(min-width:801px) {
  .journey-enhanced .journey-layout {display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start;}
  .journey-enhanced .journey-visual {display:block;position:sticky;top:112px;}
  .journey-enhanced .journey-step {display:flex;align-items:center;min-height:65svh;margin:0;}
  .journey-enhanced .chapter-image {display:none;}
}
.participation {padding:64px 0;background:#f4ede3;}
.participation .section-heading {margin-bottom:28px;}
.participation #participation-title {font-size:clamp(34px,4vw,52px);line-height:1.1;}
.participation-grid {gap:24px;max-width:1000px;margin:auto;}
.attendance-card {border-radius:9px;overflow:hidden;box-shadow:0 8px 24px #58362c10;border:1px solid #d8bc9d;}
.attendance-card.in-person {background:#f5e6d0;--card-base:#f5e6d0;--card-tone:#7f3e28;}
.attendance-card.online {background:#e9edf1;--card-base:#e9edf1;--card-tone:#2c4861;border-color:#a8bdce;}
.attendance-visual {height:225px;min-height:0;}
.attendance-visual:after {background:linear-gradient(0deg,var(--card-base),transparent 95%);}
.attendance-visual h3 {font-size:31px;line-height:1.12;color:var(--card-tone);bottom:15px;}
.attendance-visual h3 em {font-size:22px;color:var(--card-tone);}
.attendance-body {padding:20px 25px 25px;}
.attendance-body .price {font-size:35px;color:var(--card-tone);}
.attendance-body .price>span:last-child {font-size:13px;}
.attendance-body .price .currency {font-size:24px;}
.attendance-reason {font-size:15px;line-height:1.5;margin:12px 0;}
.attendance-perks {padding:12px 0;font-size:12px;}
.attendance-body .button {margin-top:16px;}
.in-person .attendance-body .button {background:#914b31;}
.online .attendance-body .button {background:#2c4861;}
.attendance-card.online .card-note {font-size:12px;}
.program {padding-block:65px;}
.program .section-heading h2 {font-size:clamp(34px,4vw,52px);}
.month-calendar {box-shadow:none;margin-top:25px;}
.calendar-heading:before {display:none;}
.calendar-heading {padding:22px;}
.calendar-heading h3 {font-size:36px;}
.month-calendar .program-tabs {align-items:start;gap:8px;grid-auto-rows:auto;}
.calendar-empty {min-height:36px;height:36px;background:none;border-top:1px solid #e9ddd0;padding:9px 7px;font-size:18px;color:#ad9d8c;}
.calendar-outside {border:none;}
.opening-date {height:62px;background:#f8eddd;font-size:21px;color:var(--copper);}
.calendar-start {font-size:10px;margin-top:5px;}
.calendar-event {position:relative;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;border-radius:5px;padding:13px 10px;min-height:185px;min-width:0;color:var(--day-tone,#fff1dd);background:#582729;box-sizing:border-box;}
.calendar-event .calendar-scene {position:absolute;inset:0;opacity:.55;z-index:-2;pointer-events:none;}
.calendar-event .calendar-scene img {width:100%;height:100%;object-fit:cover;}
.calendar-event:after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#281718e6,#28171850 85%);}
.calendar-event .calendar-symbol {position:absolute;top:13px;right:8px;width:16px;height:16px;color:inherit;}
.month-calendar .calendar-event strong {font:400 43px/1 var(--serif);color:inherit;margin:0 0 16px;}
.month-calendar .calendar-event .calendar-theme {color:inherit;font-size:13px;line-height:1.4;order:1;}
.month-calendar .calendar-event .calendar-weekday {display:block;font-size:12px;color:inherit;margin-top:auto;padding-top:14px;order:2;}
.month-calendar #day-0 {--day-tone:#f5f8fb;background:#172c43;}
.month-calendar #day-0:after {background:linear-gradient(0deg,#12273eef,#132c4455);}
.month-calendar #day-1 {--day-tone:#fff5e8;background:#8a4027;}
.month-calendar #day-1:after {background:linear-gradient(0deg,#6e321eee,#63321e40);}
.month-calendar #day-2 {--day-tone:#fff0f5;background:#8c3e5b;}
.month-calendar #day-2:after {background:linear-gradient(0deg,#71304bea,#5a263740);}
.month-calendar #day-3,.month-calendar #day-4,.month-calendar #day-5,.month-calendar #day-6 {--day-tone:#f7e5c5;background:#452024;}
.month-calendar #day-7 {--day-tone:#fff3d5;background:#7b3519;}
.month-calendar #day-7 .calendar-scene {opacity:.65;}
.calendar-legend {padding:14px 20px;}
.collection {padding:60px 0;background:#fbf6ed;}
.collection-inner {max-width:960px;}
.collection .section-heading {margin-bottom:20px;gap:20px;}
.collection .section-heading h2 {font-size:clamp(30px,3.5vw,44px);line-height:1.12;max-width:none;}
.collection .section-heading>p {font-size:14px;}
.collection .collection-genders {display:flex;gap:10px;margin:0 0 22px;}
.collection .gender-card {position:relative;width:auto;height:auto;min-width:125px;background:none;box-shadow:none;border:1px solid #dbcbb9;padding:11px 16px;transform:none;border-radius:24px;}
.collection .gender-card:after {display:none;}
.collection .gender-label {position:static;background:none;padding:0;font:500 15px/1.3 var(--sans);color:var(--burgundy);}
.collection .gender-label small {display:none;}
.collection .gender-selected {display:none;}
.collection .gender-card.active {border:1px solid var(--burgundy);background:#eee2d4;transform:none;}
.collection .merch-layout {display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:36px;margin:0;max-width:780px;padding:0;background:none;border:0;box-shadow:none;}
.collection .merch-visual {background:transparent;max-width:220px;}
.collection .merch-info {padding:0;}
.collection .merch-info h3 {font-size:30px;line-height:1.08;margin:10px 0;}
.collection .shop-breadcrumb,.collection .edition-label {display:none;}
.collection .merch-price {font-size:27px;margin:12px 0;}
.collection .merch-price span {font-size:11px;}
.collection fieldset {margin:16px 0;}
.collection .color-options {gap:10px;margin-top:10px;}
.collection .color-option {width:28px;height:28px;}
.collection .sizes {gap:6px;margin-top:8px;}
.collection .sizes button {min-width:40px;height:36px;font-size:13px;}
.collection .quantity-line {margin:16px 0;}
.collection .delivery-note {margin:14px 0;font-size:12px;}
.collection .catalog-disclosure {border-top:1px solid var(--line);margin-top:24px;}
.collection .catalog-disclosure>summary {display:flex;justify-content:space-between;cursor:pointer;font-size:14px;padding:18px 0;color:var(--burgundy);list-style:none;}
.collection .catalog-toolbar {margin:8px 0;}
.collection .catalog-toolbar h3 {font-size:18px;}
.collection .catalog-products {grid-auto-columns:minmax(145px,23%);}
.collection .shop-card-copy {padding:12px 8px;}
.collection .shop-card-copy strong {font-size:17px;}
.collection .shop-card-tag {display:none;}
.recordings {max-width:1040px;padding-block:65px;gap:45px;grid-template-columns:.9fr 1.1fr;align-items:center;}
.recording-package {padding:0;}
.package-days {gap:9px;}
.recording-package .day-device {transform:none;aspect-ratio:16/9;border:1px solid #ac9280;border-radius:5px;margin:0;box-shadow:none;}
.recording-package .device-camera {display:none;}
.recording-package .device-label {padding:8px;}
.recording-package .device-label strong {font-size:14px;}
.recording-package .device-label span {font-size:9px;}
.recording-package .device-play {width:28px;height:28px;left:50%;top:50%;transform:translate(-50%,-50%);}
.recording-package .device-play svg {width:12px;height:12px;}
.package-extras {display:block;margin:14px 0 0;}
.recording-package .manual-mockup {display:flex;align-items:center;gap:10px;width:100%;max-width:none;min-width:0;aspect-ratio:auto;transform:none;padding:12px;background:#edd1b1;border:0;border-radius:4px;box-shadow:none;}
.manual-mockup svg {width:20px;height:20px;color:var(--copper);}
.recording-package .manual-mockup>strong {font:400 18px/1.3 var(--serif);margin:0;}
.recording-package .manual-mockup .pdf-tag {font:500 9px/1.4 var(--sans);margin:0 0 0 auto;white-space:nowrap;padding:0;border:0;}
.package-caption {display:none;}
.recordings-copy h2 {font-size:clamp(31px,3.5vw,44px);line-height:1.08;margin:12px 0;}
.recordings-copy>p:not(.eyebrow):not(.small-note) {font-size:15px;line-height:1.5;margin-top:14px;}
.package-chips {margin-top:14px;gap:7px;}
.package-chips span {padding:5px 8px;font-size:11px;}
.recordings-offer {padding:16px;margin:16px 0;background:#f3e9dc;}
.offer-price {margin:10px 0;gap:12px;}
.offer-price strong {font-size:37px;}
.offer-deadline {font-size:12px;}
.offer-countdown {margin-top:10px;gap:6px;}
.offer-countdown>span {display:flex;align-items:baseline;gap:4px;min-width:0;padding:5px 7px;border:0;background:none;}
.offer-countdown output {font-size:19px;}
.offer-countdown small {font-size:10px;}
.offer-demo {font-size:10px;margin-top:8px;}
.recordings-copy>.small-note {font-size:11px;margin-top:12px;}
@media(max-width:800px) {
 .conference-intro {padding:50px 0;}
 .conference-intro .hero-film-shell {gap:28px;}
 .conference-intro .hero-film-stage {height:280px;}
 .journey-step {gap:25px;}
 .participation-grid {grid-template-columns:1fr 1fr;}
 .attendance-visual h3 {font-size:27px;}
 .attendance-visual h3 em {font-size:19px;}
 .attendance-body {padding:18px;}
 .collection .merch-layout {grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:25px;}
 .recordings {gap:24px;grid-template-columns:.9fr 1.1fr;}
}
@media(max-width:600px) {
 .conference-intro .hero-film-shell {display:flex;flex-direction:column;align-items:stretch;width:calc(100% - 36px);}
 .conference-intro .hero-film-stage {width:100%;height:230px;}
 .conference-facts {gap:18px 14px;}
 .conference-facts dd {font-size:15px;}
 .conference-facts small {font-size:12px;}
 .biblical-journey {padding-block:45px;}
 .journey-heading {margin-bottom:28px;}
 .journey-step {display:flex;flex-direction:column;align-items:stretch;gap:22px;margin-bottom:48px;}
 .chapter-copy h3 {font-size:34px;}
 .chapter-copy blockquote {font-size:23px;margin-top:18px;}
 .chapter-copy>p:not(.chapter-label) {font-size:16px;max-width:none;}
 .participation {padding:45px 0;}
 .participation-grid {grid-template-columns:1fr;gap:22px;}
 .attendance-visual {height:220px;}
 .attendance-body {padding:20px;}
 .program {padding-block:45px;}
 .calendar-week-labels,.calendar-empty {display:none;}
 .calendar-viewport {overflow:visible;padding:0 12px;}
 .month-calendar .program-tabs {grid-template-columns:1fr 1fr;min-width:0;gap:10px;}
 .calendar-event {min-height:205px;}
 .month-calendar .calendar-event strong {font-size:45px;}
 .month-calendar .calendar-event .calendar-theme {display:block;font-size:14px;}
 .month-calendar .calendar-event .calendar-weekday {display:block;font-size:13px;}
 .calendar-symbol {display:none;}
 .calendar-heading {padding:20px 16px;}
 .calendar-heading>div>span {font-size:9px;}
 .collection {padding:45px 0;}
 .collection .section-heading {display:block;}
 .collection .section-heading>p {display:none;}
 .collection .merch-layout {grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:18px;align-items:start;}
 .collection .merch-info h3 {font-size:22px;}
 .collection .merch-price {font-size:23px;}
 .collection .merch-price span {display:none;}
 .collection .color-options {gap:6px;flex-wrap:wrap;}
 .collection .color-option {width:25px;height:25px;}
 .collection .sizes {flex-wrap:wrap;gap:5px;}
 .collection .sizes button {min-width:30px;height:34px;font-size:11px;}
 .collection .quantity-line {flex-wrap:wrap;gap:8px;font-size:12px;}
 .collection .merch-info>.button {font-size:12px;min-height:44px;padding:10px;gap:5px;}
 .collection .merch-caption {padding:8px 0;gap:4px;}
 .collection .merch-caption span {font-size:9px;}
 .collection .merch-info .delivery-note {font-size:11px;}
 .collection .catalog-products {grid-auto-columns:46%;}
 .recordings {padding-block:45px;display:flex;flex-direction:column;align-items:stretch;gap:25px;}
 .recording-package {max-width:370px;width:100%;align-self:center;}
 .recordings-copy h2 {font-size:33px;}
}
@media(max-width:360px) {
 .collection .merch-layout {grid-template-columns:1fr;max-width:280px;margin:auto;}
 .collection .merch-visual {max-width:190px;margin:auto;}
}
@media(prefers-reduced-motion:reduce) {
 .journey-frame {transition:none;transform:none;}
 .chapter-image img {transform:none;}
}
