/* CoolMo Seventh Door — scoped, accessible, removable */
.cm-door{--cm-ink:#233743;--cm-gold:#a47c45;--cm-paper:#faf7f0;--cm-border:#d9d1c3;box-sizing:border-box;margin:2.5rem auto;max-width:790px;background:var(--cm-paper);border:1px solid var(--cm-border);border-radius:13px;box-shadow:0 9px 32px rgba(29,36,37,.09);color:var(--cm-ink);font-size:17px;line-height:1.7}
.cm-door *{box-sizing:border-box}.cm-door__inner{padding:clamp(24px,5vw,54px)}
.cm-door__glyph{font-family:Georgia,serif;font-size:48px;line-height:1;text-align:center;color:var(--cm-gold);margin-bottom:15px}
.cm-door__eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#80633f;font-size:12px;font-weight:700;text-align:center;margin:0 0 12px}
.cm-door h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4vw,43px);line-height:1.2;color:var(--cm-ink);font-weight:500;text-align:center;margin:0 0 26px}
.cm-door p{color:var(--cm-ink);margin:0 0 20px}.cm-door__lead{font-family:Georgia,serif;font-weight:600;font-size:22px;text-align:center}
.cm-door__verse,.cm-door__clue{font-family:Georgia,serif;font-size:20px;line-height:1.65;font-style:italic;text-align:center;padding:18px 9px;color:#37494e}
.cm-door__clue{background:#fffdf8;border-left:3px solid var(--cm-gold);border-right:3px solid var(--cm-gold);padding:20px;margin-bottom:22px}
.cm-door__progress{margin:26px auto 30px;max-width:440px;font-size:13px;color:#5b6262}.cm-door__progress span{display:block;text-align:right;margin-bottom:7px}.cm-door__track{height:8px;border-radius:99px;background:#e1ded7;overflow:hidden}.cm-door__track div{height:100%;background:#a47c45;border-radius:99px}
.cm-door__btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 24px!important;background:#304653!important;color:white!important;border:1px solid #304653!important;border-radius:6px!important;text-decoration:none!important;font:600 15px/1.4 system-ui,-apple-system,Segoe UI,sans-serif!important;cursor:pointer;transition:background .15s ease;margin:5px 7px 5px 0!important;white-space:normal;text-align:center}
.cm-door__btn:hover,.cm-door__btn:focus-visible{background:#20343e!important;color:white!important}.cm-door__btn:focus-visible,.cm-door summary:focus-visible{outline:3px solid #ac753b;outline-offset:3px}
.cm-door__btn--soft{color:#304653!important;background:transparent!important}.cm-door__btn--soft:hover{color:white!important}
.cm-door__action{display:inline-block;margin:4px 8px 4px 0}.cm-door__action input{display:none}.cm-door__hint{margin:15px 0 23px;border-top:1px solid var(--cm-border);border-bottom:1px solid var(--cm-border);padding:12px 0;font-size:15px}.cm-door__hint summary{cursor:pointer;font-weight:600}.cm-door__hint p{margin-top:12px;font-size:15px}
.cm-door__nudge{background:#f2ede3;border:1px solid #dcd1bc;border-radius:8px;margin:25px 0;padding:19px 22px;font-size:15px}.cm-door__nudge strong{font-size:16px}.cm-door__nudge p{margin:7px 0 10px}.cm-door__reveal{font-family:Georgia,serif!important;font-weight:700;font-size:clamp(25px,5vw,40px);text-align:center;color:#765529!important;margin:28px 0!important}.cm-door__signature{text-transform:uppercase;text-align:center;border-top:1px solid var(--cm-border);padding-top:20px;letter-spacing:.08em;font-size:12px!important}.cm-door__note{font-weight:600;color:#795d31!important}
@media(max-width:600px){.cm-door{font-size:16px}.cm-door__action,.cm-door__btn{width:100%;margin:5px 0!important}.cm-door__verse,.cm-door__clue{font-size:18px}}
@media(prefers-reduced-motion:reduce){.cm-door__btn{transition:none}}
/* SECTION 02 — v1.1.0 THE ARCHIVIST'S MYSTERY */
.cm-door{--cm-ink:#292d34;--cm-gold:#ad8144;--cm-paper:#f8efda;--cm-border:#c7b18d;background:radial-gradient(ellipse at 50% 5%,#fff8e8 0%,#f5e9d0 80%);border:1px solid #bca47c;box-shadow:0 6px 0 rgba(86,64,40,.13),0 17px 42px rgba(27,34,42,.15);border-radius:4px;position:relative;overflow:hidden}
.cm-door::before,.cm-door::after{content:'✦';font:20px Georgia,serif;color:#8c713f;position:absolute;top:12px;left:16px}.cm-door::after{left:auto;right:16px}
.cm-door__inner{padding:clamp(24px,5vw,58px)}.cm-door__eyebrow{color:#7e5b31}.cm-door h2{color:#392a27;letter-spacing:-.025em}
.cm-door__glyph{color:#9c7137;font-size:36px}.cm-door__verse{color:#4b3935}.cm-door__clue{background:rgba(255,255,255,.4);border-color:#ab884e}
.cm-door__welcome-art{max-width:540px;min-height:210px;margin:20px auto;border:7px solid #e9dab6;outline:1px solid #9f7b47;background:#182832 url('doorway.webp') center 48%/cover no-repeat;box-shadow:0 12px 35px #302d2630}
.cm-door__instructions{border-left:4px solid #ad8144;padding:15px 20px;background:#fff9ed;font-size:15px}
.cm-door__symbol{width:min(100%,400px);height:205px;margin:5px auto 20px;border:5px solid #e4d3ae;outline:1px solid #b3925e;background:radial-gradient(circle at 50% 35%,#4b5360,#192936);display:grid;place-items:center;box-shadow:0 8px 24px #1a202333;position:relative;overflow:hidden}
.cm-door__symbol::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,#06101b60);pointer-events:none}
.cm-door__symbol span{font-size:93px;color:#dfb976;text-shadow:0 4px 26px #e9b85c66;font-family:Georgia,serif}
.cm-door__symbol--1{background:#273439 url('mirror.webp') center 48%/cover no-repeat}.cm-door__symbol--2{background:#182735 url('constellation.webp') center 30%/cover no-repeat}.cm-door__symbol--1 span,.cm-door__symbol--2 span{opacity:0}
.cm-door__symbol--3{background:radial-gradient(circle at 55% 40%,#815c3b,#1b2934)}.cm-door__symbol--4{background:radial-gradient(circle at 55% 40%,#7e6652,#1e2d38)}.cm-door__symbol--5{background:radial-gradient(circle at 55% 40%,#546358,#122a32)}.cm-door__symbol--6{background:radial-gradient(circle at 55% 40%,#67525b,#1b2e3b)}
.cm-door__task{padding:16px 18px;background:#fff8e9;border:1px solid #d7bb89;font-size:16px}
.cm-door__riddle{border-top:1px solid #cfba94;padding-top:20px;margin:20px 0}.cm-door__riddle-label{font-size:12px;font-weight:800!important;letter-spacing:.14em;text-transform:uppercase;color:#806139!important;margin-bottom:8px!important}.cm-door__riddle h3{font:normal 24px/1.4 Georgia,serif;color:#3a2d2b;margin:0 0 19px}
.cm-door__choice{cursor:pointer;display:flex;gap:13px;align-items:center;margin:9px 0;padding:13px 16px;border:1px solid #cbb38b;border-radius:5px;background:#fff9ec;font-size:16px;color:#302f32;min-height:51px}
.cm-door__choice:hover,.cm-door__choice:focus-within{background:#f0e3c7;border-color:#8e6e3c}.cm-door__choice input{appearance:auto;display:inline-block!important;width:18px;height:18px;flex-shrink:0;accent-color:#304653;margin:0}.cm-door__choice:has(input:checked){background:#efe1c1;border-color:#8e6e3c;box-shadow:inset 0 0 0 1px #8e6e3c}
.cm-door__riddle .cm-door__btn{margin-top:14px!important}.cm-door__return{border-top:1px solid #dac39c;margin-top:30px;padding-top:16px}.cm-door__seal{background:#e4d3ad;padding:10px 20px;border-radius:4px;text-align:center!important;font:16px Georgia,serif;color:#644720!important}
.cm-door-float{position:fixed;z-index:9999;bottom:18px;left:17px;max-width:244px;font-family:Georgia,'Times New Roman',serif}.cm-door-float *{box-sizing:border-box}.cm-door-float__link{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;text-decoration:none!important;color:#f6e2b6!important;background:#1c2c39;border:1px solid #cba267;border-radius:80px;box-shadow:0 8px 30px #10192270;min-height:75px;transition:transform .2s ease}.cm-door-float__link:hover,.cm-door-float__link:focus-visible{transform:translateY(-3px);outline:2px solid #e2b979;outline-offset:3px;color:white!important}.cm-door-float__art{display:block;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#192c31 url('doorway.webp') center/cover;border:2px solid #d8b276}.cm-door-float__text{display:flex;flex-direction:column;gap:3px;line-height:1.18}.cm-door-float__text strong{font:17px Georgia,serif;color:#f8db9e}.cm-door-float__text small{font:12px/1.3 system-ui,sans-serif;color:#e8e3da}
@media(max-width:600px){.cm-door-float{left:9px;bottom:9px;max-width:205px}.cm-door-float__link{min-height:60px}.cm-door-float__art{flex-basis:43px;width:43px;height:43px}.cm-door-float__text strong{font-size:15px}.cm-door-float__text small{font-size:11px}.cm-door__symbol{height:165px}.cm-door__welcome-art{min-height:175px}}
@media(prefers-reduced-motion:reduce){.cm-door-float__link{transition:none}}

/* SECTION 03 — v1.2.0 UNOBTRUSIVE DESTINATION CLUE DOCK */
.cm-door-dock{position:fixed;left:16px;bottom:16px;z-index:9999;width:min(380px,calc(100vw - 32px));font-family:Georgia,'Times New Roman',serif;color:#292d34;box-sizing:border-box}
.cm-door-dock *{box-sizing:border-box}
.cm-door-dock__details{border:1px solid #cba267;background:#f9efda;border-radius:12px;box-shadow:0 12px 34px #1019225c;overflow:hidden}
.cm-door-dock__summary{display:flex;align-items:center;gap:12px;cursor:pointer;background:#1c2c39;color:#f7e4bc;list-style:none;padding:9px 13px 9px 9px;min-height:82px}
.cm-door-dock__summary::-webkit-details-marker{display:none}
.cm-door-dock__summary:focus-visible{outline:3px solid #e2b979;outline-offset:-3px}
.cm-door-dock__art{width:60px;height:60px;flex:0 0 60px;border-radius:50%;border:2px solid #d7b273;background:#1a2b35 url('doorway.webp') center/cover no-repeat}
.cm-door-dock__summary-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.cm-door-dock__summary-text strong{font:19px/1.16 Georgia,serif;color:#f8dba0}
.cm-door-dock__summary-text small{font:12px/1.35 system-ui,sans-serif;color:#eee4d7}
.cm-door-dock__chevron{font-size:24px;color:#f8dba0;transform:rotate(0deg);transition:transform .2s}
.cm-door-dock__details[open] .cm-door-dock__chevron{transform:rotate(180deg)}
.cm-door-dock__content{padding:16px 18px 20px;max-height:min(64vh,620px);overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at top,#fff9ed,#f1e3c7);font-size:15px;line-height:1.55}
.cm-door-dock__eyebrow{margin:0 0 8px!important;font:bold 11px system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#815d30}
.cm-door-dock__instruction{font:15px/1.5 Georgia,serif;margin:0 0 12px!important}
.cm-door-dock .cm-door__riddle{margin:8px 0 12px;padding-top:13px}
.cm-door-dock .cm-door__riddle h3{font-size:19px;line-height:1.35;margin:0 0 12px}
.cm-door-dock .cm-door__choice{font-size:14px;line-height:1.35;min-height:42px;padding:9px 11px;gap:9px}
.cm-door-dock .cm-door__btn{width:100%;font-size:14px!important;margin:10px 0 0!important}
.cm-door-dock .cm-door__nudge{font-size:13px;padding:12px;margin:12px 0}.cm-door-dock .cm-door__nudge strong{font-size:14px}
.cm-door-dock .cm-door__hint{font-size:13px;margin:12px 0;padding:8px 0}
.cm-door-dock__journal{margin:12px 0 0!important;font:13px system-ui,sans-serif;text-align:center}
.cm-door-dock__journal a{color:#58442f;text-decoration:underline}
@media(max-width:600px){.cm-door-dock{left:9px;bottom:9px;width:min(340px,calc(100vw - 18px))}.cm-door-dock__summary{min-height:65px}.cm-door-dock__art{width:44px;height:44px;flex-basis:44px}.cm-door-dock__summary-text strong{font-size:16px}.cm-door-dock__content{max-height:58vh}}
@media(prefers-reduced-motion:reduce){.cm-door-dock__chevron{transition:none}}

/* SECTION 04 — v1.3.0 IMMERSIVE, ACCESSIBLE ILLUSTRATED CHAPTERS
 * The artwork is decorative only. All words, links, answers and forms are real HTML.
 */
body.cm-door-immersive-page .entry-header,
body.cm-door-immersive-page header.entry-header,
body.cm-door-immersive-page .wp-block-post-title,
body.cm-door-immersive-page .page-title,
body.cm-door-immersive-page .elementor-page-title { display:none!important; }
body.cm-door-immersive-page .entry-content,
body.cm-door-immersive-page .wp-block-post-content { margin-top:0!important; }
body.cm-door-immersive-page .cm-door--immersive { margin:14px auto 42px; }
.cm-door--immersive {
  --cm-ink:#352a28; --cm-gold:#ceaa6a; --cm-paper:#f8ebd1;
  display:grid; grid-template-columns:minmax(220px,40%) minmax(0,60%);
  min-height:650px; max-width:1250px; width:100%; margin:20px auto 34px;
  padding:0; border:4px double #c99c56; border-radius:13px;
  background:#101e2c; box-shadow:0 18px 54px #090e1b60;
  overflow:hidden; position:relative; isolation:isolate;
}
.cm-door--immersive::before {
  content:''; display:block; grid-column:1; grid-row:1;
  background-position:center center; background-repeat:no-repeat; background-size:cover;
  border-right:2px solid #bc8b48; min-height:650px;
  box-shadow:inset -35px 0 38px #1117203d;
}
.cm-door--start::before {background-image:url('start.webp');background-position:47% center}
.cm-door--door1::before {background-image:url('door1.webp');background-position:48% center}
.cm-door--door2::before {background-image:url('door2.webp');background-position:43% center}
.cm-door--door3::before {background-image:url('door3.webp');background-position:46% center}
.cm-door--door4::before {background-image:url('door4.webp');background-position:44% center}
.cm-door--door5::before {background-image:url('door5.webp');background-position:46% center}
.cm-door--door6::before {background-image:url('door6.webp');background-position:56% center}
.cm-door--final::before {background-image:url('final.webp');background-position:52% center}
.cm-door--immersive::after {content:'✧';color:#e2bd78;left:18px;right:auto;top:18px;z-index:2;font-size:20px;line-height:1}
.cm-door--immersive .cm-door__inner {
  grid-column:2;grid-row:1; min-width:0; position:relative;
  padding:clamp(25px,4vw,58px) clamp(22px,4.2vw,62px);
  background:radial-gradient(ellipse at 46% 3%,#fff7e5 0%,#f6e8cc 63%,#e7ce9e 100%);
  background-image:repeating-linear-gradient(113deg,#bc965008 0px,#bc965008 1px,transparent 1px,transparent 5px),radial-gradient(ellipse at top,#fff8e8,#edd7b1);
  border-left:2px solid #e8c88a;
  color:var(--cm-ink);
}
.cm-door--immersive .cm-door__inner::before{content:'';pointer-events:none;position:absolute;inset:13px;border:1px solid #c7a16c;border-radius:6px}
.cm-door--immersive .cm-door__glyph{display:none}
.cm-door--immersive .cm-door__eyebrow{color:#865c2b!important;font:700 12px/1.5 system-ui,sans-serif!important;letter-spacing:.15em;text-transform:uppercase}
.cm-door--immersive h2{font:italic clamp(36px,4.3vw,62px)/1.12 Georgia,'Times New Roman',serif!important;color:#38262e!important;letter-spacing:-.025em;margin:5px 0 20px!important}
.cm-door--immersive p{color:#3d3230;font:17px/1.55 Georgia,'Times New Roman',serif;margin:12px 0}
.cm-door--immersive .cm-door__lead{font:italic clamp(22px,2.5vw,31px)/1.35 Georgia,serif!important;color:#57343e!important}
.cm-door--immersive .cm-door__verse{font:italic clamp(19px,2vw,25px)/1.48 Georgia,serif!important;color:#50343c!important;text-align:center;margin:23px 0!important}
.cm-door--immersive .cm-door__symbol,.cm-door--immersive .cm-door__welcome-art{display:none}
.cm-door--immersive .cm-door__instructions{background:#fdf5e9b8;border-color:#a77a45;border-radius:3px}
.cm-door--immersive .cm-door__task{background:#fff6dfb5;border:1px solid #b58e55;border-radius:5px}
.cm-door--immersive .cm-door__nudge{background:#f7eedc;border:1px solid #bd9860;box-shadow:inset 0 0 0 4px #fef9ed7d}
.cm-door--immersive .cm-door__riddle{background:#fff7e4aa;border:1px solid #c1a16d;padding:clamp(14px,2vw,24px);border-radius:7px;margin:24px 0}
.cm-door--immersive .cm-door__riddle h3{font:italic 24px/1.3 Georgia,serif!important}
.cm-door--immersive .cm-door__choice{background:#fffaf0;border-color:#c7ae8c;border-radius:4px}
.cm-door--immersive .cm-door__choice:hover{background:#f4e7cc}
.cm-door--immersive .cm-door__btn {
  background:linear-gradient(170deg,#503447,#291d36)!important;border:1px solid #bd9456!important;
  border-radius:30px!important;color:#fff0ce!important;
  box-shadow:0 0 0 2px #3d2a32,0 4px 14px #56443437;
  font:600 16px/1.4 Georgia,serif!important;padding:12px 25px!important
}
.cm-door--immersive .cm-door__btn:hover,.cm-door--immersive .cm-door__btn:focus-visible{background:#71445c!important;color:white!important}
.cm-door--immersive .cm-door__btn--soft{background:transparent!important;color:#40304a!important;box-shadow:none}
.cm-door--immersive .cm-door__btn--soft:hover{background:#593d52!important;color:white!important}
.cm-door--immersive .cm-door__progress{margin:25px 0;max-width:none;background:#ead5ac99;border:1px solid #c1a069;padding:14px 16px;border-radius:5px}
.cm-door--immersive .cm-door__progress span{font:italic 16px Georgia,serif;color:#63472e}
.cm-door--immersive .cm-door__track{background:#d3bb96}
.cm-door--immersive .cm-door__track div{background:linear-gradient(90deg,#896029,#e1ad56)}
.cm-door--immersive .cm-door__reveal {font:italic 700 clamp(34px,4vw,56px)/1.18 Georgia,serif!important;color:#693749!important;text-shadow:0 2px 6px #ab794e45}
.cm-door--immersive .cm-door__seal{background:#efdcaf;border:1px solid #ba9655}
.cm-door--immersive :focus-visible{outline:3px solid #8b5931;outline-offset:4px}
@media (min-width:1100px){body.cm-door-immersive-page .ast-container{max-width:1380px!important}}
@media (max-width:900px){
 .cm-door--immersive{grid-template-columns:1fr;min-height:0}
 .cm-door--immersive::before{grid-column:1;grid-row:1;min-height:250px;max-height:310px;background-position:center 40%;border-right:0;border-bottom:2px solid #c59752}
 .cm-door--immersive .cm-door__inner{grid-column:1;grid-row:2;border-left:0;padding:30px 26px}
 .cm-door--immersive h2{font-size:clamp(34px,6vw,48px)!important}
}
@media(max-width:480px){
 .cm-door--immersive{border-width:2px;border-radius:4px;margin:8px auto 20px}
 .cm-door--immersive::before{min-height:195px;max-height:230px}
 .cm-door--immersive .cm-door__inner{padding:22px 18px}
 .cm-door--immersive .cm-door__inner::before{inset:7px}
 .cm-door--immersive .cm-door__btn{width:100%;margin:7px 0!important}
}


/* SECTION 05 — v1.4.0: FIXED ARTWORK ELEMENT AND CINEMATIC PRESENTATION */
/* The scene is a real element. Earlier ::before rules cannot hide it. */
body.cm-door-immersive-page #masthead,body.cm-door-immersive-page #colophon,
body.cm-door-immersive-page .site-header,body.cm-door-immersive-page .site-footer,
body.cm-door-immersive-page .ast-header-break-point .main-header-bar,
body.cm-door-immersive-page .elementor-location-header,body.cm-door-immersive-page .elementor-location-footer,
body.cm-door-immersive-page .site-below-footer-wrap,body.cm-door-immersive-page .site-primary-footer-wrap,
body.cm-door-immersive-page .site-above-footer-wrap {display:none!important}
body.cm-door-immersive-page {background:#081624!important}
body.cm-door-immersive-page #content,body.cm-door-immersive-page #primary,
body.cm-door-immersive-page .site-content,body.cm-door-immersive-page .ast-container,
body.cm-door-immersive-page .entry-content,body.cm-door-immersive-page article,
body.cm-door-immersive-page .site-main {background:transparent!important;border:0!important;box-shadow:none!important}
body.cm-door-immersive-page #content {padding:0!important}
body.cm-door-immersive-page .entry-header,body.cm-door-immersive-page .entry-title,
body.cm-door-immersive-page h1.entry-title,body.cm-door-immersive-page .post-thumb,
body.cm-door-immersive-page .elementor-widget-theme-post-title {display:none!important}
body.cm-door-immersive-page .entry-content,body.cm-door-immersive-page .site-main,
body.cm-door-immersive-page #primary {margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.cm-door-immersive-page .ast-container {max-width:none!important;width:100%!important;padding:0!important}
body.cm-door-immersive-page .entry-content > p:empty {display:none!important}
.cm-door.cm-door--immersive {
 position:relative!important;inset:auto!important;left:50%!important;transform:translateX(-50%);
 display:grid!important;grid-template-columns:minmax(0,53%) minmax(0,47%)!important;
 width:min(1480px,calc(100vw - 34px))!important;max-width:none!important;
 min-height:790px!important;margin:22px 0 40px!important;padding:0!important;
 isolation:isolate;overflow:hidden!important;background:#101c2b!important;
 border:2px solid #bb894c!important;border-radius:10px!important;
 box-shadow:0 0 0 5px #0b1525,0 0 0 7px #98733f,0 26px 85px #000a!important;
}
.cm-door.cm-door--immersive::before{display:none!important;content:none!important}
.cm-door.cm-door--immersive::after{content:'✦';pointer-events:none;color:#d4a85b;position:absolute;top:15px;right:18px;left:auto;z-index:3}
.cm-door--immersive .cm-door__scene {
 position:relative!important;grid-column:1!important;grid-row:1!important;
 display:flex!important;flex-direction:column;justify-content:space-between;align-items:center;
 background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;
 border-right:2px solid #c7a05c;min-width:0;min-height:790px;
 box-shadow:inset 0 0 0 11px #0613224d,inset 0 0 0 12px #d8ad645c;
}
.cm-door--immersive .cm-door__scene::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#081524bf 0%,transparent 34%,transparent 65%,#081524c2 100%);pointer-events:none}
.cm-door--immersive .cm-door__scene-label{position:relative;z-index:1;text-align:center;color:#ffe4ad;margin:35px 15px 0;text-shadow:0 3px 17px #000,0 1px 2px #000}
.cm-door--immersive .cm-door__scene-label span{display:block;font:600 12px/1.5 Georgia,serif;letter-spacing:.18em}
.cm-door--immersive .cm-door__scene-label strong{display:block;font:italic clamp(37px,4.5vw,72px)/1.04 Georgia,serif;color:#ffdd9a;margin:5px 0 12px}
.cm-door--immersive .cm-door__scene-label small{font:12px/1.4 Georgia,serif;letter-spacing:.2em}
.cm-door--immersive .cm-door__scene-caption{position:relative;z-index:1;color:#f8e1ae;text-align:center;font:italic clamp(17px,1.8vw,25px)/1.4 Georgia,serif;text-shadow:0 2px 8px black;margin:0 15px 38px}
.cm-door--immersive .cm-door__inner{grid-column:2!important;grid-row:1!important;position:relative!important;z-index:1;min-width:0;align-self:stretch;
 background:repeating-linear-gradient(107deg,#8d652305 0px,#8d652305 2px,transparent 2px,transparent 8px),radial-gradient(ellipse at 42% 8%,#fff7e6,#ead4ad 95%)!important;
 padding:clamp(26px,3.3vw,57px)!important;display:flex;flex-direction:column;justify-content:center;
}
.cm-door--immersive .cm-door__inner:before{inset:12px;pointer-events:none}
.cm-door--immersive .cm-door__riddle,.cm-door--immersive .cm-door__nudge{flex-shrink:0}
.cm-door--immersive .cm-door__inner>form,.cm-door--immersive .cm-door__inner>.cm-door__btn{align-self:flex-start}
.cm-door--immersive h2{font-size:clamp(37px,4.2vw,66px)!important}
.cm-door--immersive .cm-door__progress{margin:18px 0 23px}
.cm-door--immersive .cm-door__return{margin-top:16px}
.cm-door--final .cm-door__scene{background-position:center 45%!important}
.cm-door--final .cm-door__reveal{font-size:clamp(38px,4.7vw,72px)!important;letter-spacing:-.02em;line-height:1.17!important;text-shadow:0 2px 2px #e5b778}
.cm-door--final .cm-door__signature{font:italic 22px Georgia,serif!important;color:#6a4a2e!important}
@media(max-width:900px){.cm-door.cm-door--immersive{grid-template-columns:minmax(0,1fr)!important;width:calc(100vw - 20px)!important;min-height:0!important;margin:12px 0 28px!important}
 .cm-door--immersive .cm-door__scene{grid-column:1!important;grid-row:1!important;min-height:340px!important;max-height:410px;border-right:0;border-bottom:2px solid #c7a05c;background-position:center 45%!important}
 .cm-door--immersive .cm-door__scene-label{margin-top:21px}.cm-door--immersive .cm-door__scene-label strong{font-size:47px}
 .cm-door--immersive .cm-door__scene-caption{margin-bottom:22px;font-size:17px}
 .cm-door--immersive .cm-door__inner{grid-column:1!important;grid-row:2!important;padding:30px 25px!important}
}
@media(max-width:480px){.cm-door--immersive .cm-door__scene{min-height:240px!important;max-height:290px}
 .cm-door--immersive .cm-door__scene-label strong{font-size:38px}.cm-door--immersive .cm-door__scene-caption{display:none}
 .cm-door--immersive .cm-door__inner{padding:26px 19px!important}.cm-door--immersive h2{font-size:37px!important}
}

/* 1.4.1 — Replay controls, unobtrusive and keyboard accessible. */
.cm-door__restart { margin: 1.25rem 0 0; display: block; }
.cm-door__restart .cm-door__btn { cursor: pointer; }
.cm-door__restart .cm-door__btn:focus-visible { outline: 3px solid #efc77e; outline-offset: 3px; }

/* v1.4.2 — invitations to explore the real JPA sections from illustrated chapters */
.cm-door__explore{margin:20px 0 24px;padding:18px 20px;background:#f3e4c8;border:1px solid #be9659;border-radius:7px;box-shadow:inset 0 1px rgba(255,255,255,.65)}
.cm-door__explore p{margin:0 0 12px!important;line-height:1.55}
.cm-door__explore .cm-door__btn{display:inline-flex!important;width:auto;max-width:100%;margin:5px 0!important}
.cm-door__explore-tip{font-size:13px!important;opacity:.8;margin-top:10px!important}
.cm-door__explore-notice{border-left:3px solid #aa814b;padding:8px 12px;background:#fff6e4}
@media(max-width:600px){.cm-door__explore .cm-door__btn{width:100%!important}}

/* SECTION 12 — Answer-first journey and brief destination acknowledgement (v1.4.3) */
.cm-door__interlude{text-align:center;padding:clamp(20px,4vw,45px) 12px;background:linear-gradient(145deg,#f7e8c7,#fbf4e5);border:1px solid #bc9258;border-radius:9px;margin:20px 0;box-shadow:0 6px 25px #77562926}
.cm-door__interlude-icon{font-size:55px;color:#b78b45;text-shadow:0 1px 10px #c79a65}
.cm-door__interlude h2{font:italic clamp(26px,4vw,38px)/1.2 Georgia,serif!important;color:#3c263c!important;margin:8px 0 15px!important}
.cm-door__interlude p{max-width:490px;margin:12px auto!important}
.cm-door__interlude-small{font-size:15px!important}
.cm-door__interlude a{color:#513349;text-decoration:underline;font-weight:bold}
.cm-door--immersive .cm-door__explore{margin-top:28px}

/* SECTION 13 — v1.4.4: Destination gateway, not a timed interstitial. */
body.cm-door-gateway-open{overflow:hidden!important}
.cm-door-gateway{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:18px!important;box-sizing:border-box!important;font-family:Georgia,"Times New Roman",serif!important}
.cm-door-gateway__veil{position:absolute;inset:0;background:rgba(5,15,27,.70);backdrop-filter:blur(3px)}
.cm-door-gateway__card{isolation:isolate;position:relative;z-index:1;width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;box-sizing:border-box;padding:clamp(24px,5vw,47px)!important;text-align:center;color:#2f2931!important;background:radial-gradient(ellipse at 42% 0%,#fff9e9,#ead4ad 100%)!important;border:2px solid #bf9858;border-radius:12px;box-shadow:0 0 0 6px #101f30,0 0 0 8px #bd9253,0 20px 90px rgba(0,0,0,.6)}
.cm-door-gateway__card::before{content:"";position:absolute;inset:10px;pointer-events:none;border:1px solid #b38b5066;border-radius:5px}
.cm-door-gateway__symbol{font-size:44px;line-height:1.1;color:#9f7635;margin:0 0 11px}
.cm-door-gateway__eyebrow{letter-spacing:.17em;color:#81572f!important;font-size:12px!important;font-weight:700;margin:4px 0 15px!important}
.cm-door-gateway__card h2{font:italic 500 clamp(29px,4vw,39px)/1.18 Georgia,serif!important;color:#422d41!important;margin:0 0 18px!important;padding:0!important}
.cm-door-gateway__card p:not(.cm-door-gateway__eyebrow){font:normal 18px/1.55 Georgia,serif!important;color:#44362c!important;margin:0 0 19px!important}
.cm-door-gateway__card .cm-door-gateway__foot{font-size:14px!important;font-style:italic!important;opacity:.85}
.cm-door-gateway__continue{display:inline-block!important;margin:9px 0 0!important;padding:15px 28px!important;min-height:50px;color:#ffe8bb!important;font:600 18px Georgia,serif!important;background:linear-gradient(110deg,#44273d,#57364c)!important;border:2px solid #b58d59!important;border-radius:40px!important;box-shadow:0 3px 12px #0003!important;cursor:pointer!important}
.cm-door-gateway__continue:hover{background:#342036!important;color:white!important}
.cm-door-gateway__continue:focus-visible{outline:3px solid #9f682e!important;outline-offset:4px!important}
@media(max-width:540px){.cm-door-gateway__card{padding:30px 23px!important}.cm-door-gateway__card p:not(.cm-door-gateway__eyebrow){font-size:17px!important}.cm-door-gateway__continue{width:100%!important}}
@media(prefers-reduced-motion:reduce){.cm-door-gateway *{transition:none!important;animation:none!important}}

/* v1.4.5 — Kind, accessible riddle assistance. */
.cm-door__attempt{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #ad8449;border-radius:10px;background:#f8ebd0;color:#33271e;line-height:1.55}
.cm-door__attempt p{margin:.4em 0 .8em}
.cm-door__attempt .cm-door__action{margin-top:.8rem}
.cm-door__hint-caption{font-size:.9em;opacity:.85}
