@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@300;400;500;600&display=swap');
/* Scoped reuse of current MVP styles.css: topbar 7752 / 18868 / 19485,
   week-one-hero 6399 / 7561 / 19649, week-heading 7067 / 7570.
   Course stylesheet is not globally imported into the Discovery chamber. */
body:has(.kingdom-opening){--opening-font:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fff;color:#171717}
body:has(.kingdom-opening) header{position:sticky;top:8px;z-index:20;display:flex;justify-content:flex-start;align-items:center;gap:12px;width:calc(100% - 24px);max-width:1356px;height:auto;min-height:76px;margin:12px auto 0;padding:10px;border:1px solid rgba(23,23,23,.075);border-radius:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
body:has(.kingdom-opening) header .brand{display:flex;align-items:center;flex:1 1 min(240px,48vw);width:auto;max-width:min(340px,52vw);min-height:42px;margin:0;padding:0}
body:has(.kingdom-opening) header .brand-combined-logo{width:min(340px,52vw);max-height:56px;object-fit:contain;object-position:left center;filter:saturate(.9) contrast(1.03)}
main.threshold.kingdom-opening{display:block;width:min(1440px,100%);max-width:1440px;min-height:0;margin:0 auto;padding:24px 12px 64px;text-align:left;font-family:var(--opening-font)}
.kingdom-opening .discovery-cinematic{position:relative;display:grid;place-items:center;height:240px;min-height:240px;margin:0;overflow:hidden;border:1px solid rgba(24,23,20,.12);border-radius:8px;background:#000;box-shadow:none}
.kingdom-opening .discovery-mandala{display:block;width:260px;max-width:78%;height:166px;object-fit:contain;align-self:start;margin:20px auto 0}
body .kingdom-opening button.threshold-begin-reflection{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:grid;place-items:center;width:176px;min-width:0;height:40px;min-height:40px;border:1px solid rgba(255,255,255,.26)!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;padding:0 12px!important;color:rgba(255,252,246,.96)!important;font-family:var(--opening-font);font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1}
body .kingdom-opening button.threshold-begin-reflection:hover:not(:disabled){border-color:rgba(255,255,255,.6)!important;color:#fff!important}
.kingdom-opening .threshold-begin-reflection:focus-visible{outline:2px solid white;outline-offset:5px}
.kingdom-opening .week-heading{margin:0 0 18px;padding:16px 0 22px;border-bottom:1px solid rgba(24,23,20,.13)}
.kingdom-opening .week-heading .eyebrow{margin:0 0 7px;font-family:var(--opening-font);font-size:11px;line-height:1.65;font-weight:500;letter-spacing:.18em;color:#6c6860}
.kingdom-opening .week-heading h1{max-width:700px;margin:0;font-family:var(--opening-font);font-size:clamp(28px,8.4vw,36px);font-weight:500;letter-spacing:-.04em;line-height:1.12;text-wrap:balance}
.kingdom-opening .week-heading p:last-child{margin:16px 0 0;font-size:15.5px;line-height:1.65;color:#171717;max-width:690px}
.kingdom-opening .discovery-disclaimer p{max-width:56ch;margin:0;color:#6c6860;font-size:12px;line-height:1.8;text-wrap:pretty}
body:has(.opening-framing) header,body:has(.pre-entry-screen:empty) header{visibility:hidden;opacity:0}
main.opening-framing{display:grid;place-items:center;width:min(100%,460px);min-height:calc(100svh - 104px);padding:20px 30px 80px}
.opening-honesty{text-align:center;width:100%;opacity:0;transform:translateY(5px);transition:opacity 900ms ease,transform 1200ms ease}
.opening-honesty.arrived{opacity:1;transform:none}
.opening-honesty-words p{margin:0 0 30px;font-size:19px;line-height:1.8;letter-spacing:-.015em;text-wrap:balance;color:#35302b}
body .opening-begin{margin:12px auto 0;font-size:12px;letter-spacing:.22em;min-height:48px}
.film.film--activation{background:#fff}
.film.film--activation::after{content:'';position:absolute;inset:0;background:#fff;opacity:0;transition:opacity 600ms ease}
.film.film--activation.burn-to-white::after{opacity:1}
.film.film--activation video{animation:none}
@media(min-width:641px){
 body:has(.kingdom-opening) header{top:16px;width:calc(100% - 84px);margin-top:24px}
 body:has(.kingdom-opening) header .brand{max-width:min(520px,56vw)}
 body:has(.kingdom-opening) header .brand-combined-logo{width:min(500px,56vw);max-height:64px}
 main.threshold.kingdom-opening{padding:24px clamp(14px,3vw,42px) 64px}
 .kingdom-opening .discovery-cinematic{height:clamp(280px,35vw,450px)}
 .kingdom-opening .discovery-mandala{width:420px;height:70%;margin-top:12px}
 .kingdom-opening .week-heading{padding:24px 4px 22px}
 .kingdom-opening .week-heading h1{font-size:clamp(29px,3.15vw,42px)}
}
@media(prefers-reduced-motion:reduce){.opening-honesty{transform:none;transition:none}.film.film--activation::after{transition:none}}
/* Mandala first — information stays available behind the header control. */
main.threshold.kingdom-opening{display:flex;flex-direction:column;min-height:calc(100svh - 100px);padding-bottom:32px}
.kingdom-opening .discovery-cinematic{flex:none;height:clamp(300px,46svh,460px);min-height:300px;width:100%}
.kingdom-opening .discovery-mandala{width:100%;max-width:100%;height:100%;min-height:0;align-self:center;object-fit:contain;margin:0;padding:32px 12px}
body .kingdom-opening button.threshold-begin-reflection{position:static;transform:none;flex:none;align-self:center;width:auto;min-width:180px;height:48px;min-height:48px;margin:16px auto 0;border:0!important;border-radius:0!important;color:#171717!important;font-size:11px}
body .kingdom-opening button.threshold-begin-reflection:hover:not(:disabled){color:#555!important}
.kingdom-opening .threshold-begin-reflection:focus-visible{outline-color:#171717}
.kingdom-opening .discovery-disclaimer{max-width:390px;width:100%;margin: auto auto 0;padding-top:48px}
body .kingdom-opening .discovery-disclaimer p{text-transform:uppercase!important;border:1px solid #d6d6d6;padding:10px 12px;font-size:10px;line-height:1.5;letter-spacing:.035em;color:#555;max-width:none}
.opening-more{position:relative;margin-left:auto;flex:none;font-family:var(--opening-font)}
.opening-more summary{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;list-style:none;border-radius:0}
.opening-more summary::-webkit-details-marker{display:none}
.opening-more summary i{display:block;width:3px;height:3px;background:#333;border-radius:50%}
.opening-more summary:focus-visible{outline:2px solid #555;outline-offset:2px}
.opening-info{position:absolute;top:52px;right:0;width:min(320px,calc(100vw - 48px));padding:24px;background:#fff;border:1px solid #dedede;border-radius:8px;box-shadow:0 8px 28px #0000000c}
.opening-info .eyebrow{margin:0 0 12px;font-size:10px;letter-spacing:.18em}
.opening-info h1{font-family:var(--opening-font);font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:0 0 18px}
.opening-info p:last-child{margin:0;font-size:15px;line-height:1.6}
.opening-blackout{position:fixed;inset:0;z-index:45;background:#000;opacity:0;pointer-events:none;transition:opacity 700ms ease}
.opening-blackout.visible{opacity:1}
.film.film--activation{z-index:50;background:#000}
.film.film--activation video{opacity:0;transition:opacity 420ms ease}
.film.film--activation.playing video{opacity:1}
@media(prefers-reduced-motion:reduce){.opening-blackout,.film.film--activation video{transition:none}}
/* Circular entry shares the native film frame — no object-fit crop or transform. */
main.threshold.kingdom-opening{display:block;min-height:0;padding-bottom:32px}
.kingdom-opening .discovery-cinematic{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16 / 9}
.kingdom-opening .discovery-mandala{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;min-height:0;padding:0;margin:0;object-fit:contain;transform:none}
body .kingdom-opening button.threshold-begin-reflection{position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);margin:0;height:40px;min-height:40px;padding:0 14px!important;font-size:10px;color:#fff!important;opacity:1;transition:opacity 350ms ease}
body .kingdom-opening button.threshold-begin-reflection:hover:not(:disabled){color:#fff!important}
body .kingdom-opening .activating button.threshold-begin-reflection{opacity:0;pointer-events:none}
.kingdom-opening .threshold-begin-reflection:focus-visible{outline-color:#fff}
.kingdom-opening .discovery-disclaimer{max-width:56ch;margin:0;padding-top:0}
body .kingdom-opening .discovery-disclaimer p{border:0;background:none;padding:0;font-size:11px;line-height:1.7;color:#6c6860;text-transform:uppercase!important;letter-spacing:0}
.opening-whiteout{position:fixed;inset:0;z-index:50;background:white;opacity:0;transition:opacity 600ms ease;pointer-events:none}
.opening-whiteout.visible{opacity:1}
@media(prefers-reduced-motion:reduce){.opening-whiteout{transition:none}}
/* Uploaded portrait overture — full frame retained without cropping. */
.kingdom-opening .discovery-cinematic{aspect-ratio:9 / 16;width:100%;max-width:390px;margin:0 auto;height:auto;min-height:0}
.kingdom-opening .discovery-mandala{opacity:0}
.kingdom-opening .playing .discovery-mandala{opacity:1}
/* Register the original mandala bounds to the portrait film motif bounds. */
.kingdom-opening .discovery-static-mandala{position:absolute;left:.049%;top:32.603%;width:99.39%;height:31.656%;max-width:none;object-fit:fill;pointer-events:none}
.kingdom-opening .playing .discovery-static-mandala{visibility:hidden}
body .kingdom-opening button.threshold-begin-reflection{bottom:22%;width:176px;height:40px;min-height:40px;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.26)!important;border-radius:999px!important;background:rgba(255,252,247,.01)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.56),inset 0 -1px 0 rgba(37,29,21,.16),inset 1px 0 0 rgba(255,255,255,.28),inset -1px 0 0 rgba(255,255,255,.08),0 9px 22px rgba(0,0,0,.12)!important;color:rgba(255,252,246,.96)!important;font-size:9px;font-weight:650;letter-spacing:.18em;text-indent:.18em;text-shadow:0 1px 7px rgba(0,0,0,.38);backdrop-filter:blur(.4px) saturate(105%) brightness(1.02) contrast(1.02);-webkit-backdrop-filter:blur(.4px) saturate(105%) brightness(1.02) contrast(1.02)}
.kingdom-opening .threshold-begin-reflection::before,.kingdom-opening .threshold-begin-reflection::after{position:absolute;border-radius:inherit;content:'';pointer-events:none;z-index:-1}
.kingdom-opening .threshold-begin-reflection::before{inset:1px;background:linear-gradient(112deg,transparent 6%,rgba(255,255,255,.17) 15%,rgba(255,255,255,.035) 26%,transparent 42%,transparent 78%,rgba(255,239,215,.045))}
.kingdom-opening .threshold-begin-reflection::after{inset:2px;border:1px solid rgba(255,255,255,.1)}
@media(min-width:641px){main.threshold.kingdom-opening{max-width:474px}}

/* Both media layers share the native 2160x3840 coordinate plane.
   The 2160x2880 visible field removes only 480px of black above and below. */
.kingdom-opening .discovery-cinematic{aspect-ratio:3 / 4}
.kingdom-opening .discovery-media-frame{position:absolute;width:100%;aspect-ratio:9 / 16;left:0;top:50%;transform:translateY(-50%);pointer-events:none}
.kingdom-opening .discovery-static-mandala{left:calc(1.0569948187 / 2160 * 100%);top:calc(1251.9751037344 / 3840 * 100%);width:calc(2146.8186528497 / 2160 * 100%);height:calc(1215.5601659751 / 3840 * 100%)}
body .kingdom-opening button.threshold-begin-reflection{bottom:12%}
.kingdom-opening .week-heading{padding:18px 0 0;margin:0 0 22px;border:0;background:none}
.kingdom-opening .week-heading p:last-child{margin-top:12px}
.kingdom-opening .discovery-disclaimer{margin:0;padding:0}
body .kingdom-opening .discovery-disclaimer p{border:0;background:none;box-shadow:none}
/* Keep development controls from overlapping the opening footer in review. */
body:has(.kingdom-opening) #preview{display:none}
/* Final threshold copy is verbatim by explicit request. */
body .kingdom-opening .week-heading :is(p,h1),body .kingdom-opening button#activate,body:has(.kingdom-opening) .opening-info :is(p,h1){text-transform:none!important}
.kingdom-opening .week-heading{padding:0;margin:0 0 24px}
.kingdom-opening .week-heading h1{font-size:clamp(28px,8vw,36px);line-height:1.12}
.kingdom-opening .discovery-disclaimer{padding-top:20px}
body .kingdom-opening .discovery-disclaimer p{text-transform:none!important;font-size:11px;line-height:1.7}
/* Idle video uses the same measured registration as the original mandala artwork. */
.kingdom-opening .discovery-idle-mandala{position:absolute;left:calc(1.0569948187 / 2160 * 100%);top:calc(1251.9751037344 / 3840 * 100%);width:calc(2146.8186528497 / 2160 * 100%);height:calc(1215.5601659751 / 3840 * 100%);max-width:none;object-fit:fill;pointer-events:none}
.kingdom-opening .playing .discovery-idle-mandala{visibility:hidden}
