:root{--paper:#ffffff;--paper-light:#ffffff;--ink:#3a3a3a;--muted:#555555;--red:#da291c;--line:#d6d6d6;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(26px,4.6vw,88px);--header-h:120px;color-scheme:light;--section-h:100svh}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:default}::selection{background:#d6d6d6;color:#3a3a3a}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}h1,h2,h3,p,figure{margin:0}em{font-weight:400}img{max-width:100%;display:block}button[hidden],[hidden]{display:none!important}.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}.skip-link{position:fixed;left:20px;top:-90px;background:var(--ink);color:white;padding:16px;z-index:200}.skip-link:focus{top:15px}
.site-header{height:var(--header-h);position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 var(--gutter);background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(255,255,255,.88) 75%,rgba(255,255,255,0));transition:color .65s,background .65s}.wordmark{display:block;flex-shrink:0;padding:4px 6px;line-height:0}.brand-logo{display:block;width:auto;height:calc(var(--header-h) - 24px);max-width:100%}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{font-size:12px;position:relative;padding:14px 0}.main-nav a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav a:hover::after{transform:scaleX(1)}.header-inquiry{font-size:12px;border:1px solid #b9b8ac;padding:13px 18px;border-radius:3px;display:flex;align-items:center;gap:22px}.header-inquiry:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.header-inquiry span{font-size:19px;line-height:.8}.menu-toggle{display:none}
.story{position:relative;isolation:isolate;background:var(--paper);transition:background-color .95s,color .7s}.scene-sticky{position:sticky;top:0;height:var(--section-h);margin-bottom:calc(-1 * var(--section-h));width:100%;z-index:1;overflow:hidden;pointer-events:none}.canvas-frame{position:absolute;right:-1.0%;top:12%;width:59%;height:79%;pointer-events:auto;isolation:isolate}.canvas-frame canvas{position:absolute;inset:0;cursor:grab;outline:none}.canvas-frame canvas.is-dragging{cursor:grabbing}.scene-halo{position:absolute;width:55vw;height:55vw;max-height:85vh;max-width:85vh;top:13%;right:3%;border-radius:50%;background:radial-gradient(ellipse,#eeeadf 0%,rgba(238,234,223,.3) 45%,transparent 72%);transition:opacity .8s;opacity:.85}.scene-meta{position:absolute;top:135px;right:var(--gutter);display:flex;align-items:center;gap:11px;color:#8b887d;font-size:8px;letter-spacing:1.8px;line-height:1.65}.small-cross{font-size:37px;line-height:1;color:var(--red);font-family:var(--sans);font-weight:300}.scene-tools{position:absolute;right:var(--gutter);bottom:35px;display:flex;align-items:center;gap:13px;pointer-events:auto;color:var(--muted)}.drag-hint{display:flex;align-items:center;gap:9px;font-size:10px;margin-right:8px}.drag-hint svg{width:22px;height:22px}.icon-button{height:31px;width:31px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:21px;line-height:1;padding:5px;transition:background .2s,color .2s}.icon-button:hover{background:var(--ink);color:var(--paper)}.icon-button svg{width:17px;height:17px}.chapter-nav{position:absolute;bottom:32px;left:var(--gutter);display:flex;gap:27px;pointer-events:auto}.chapter-link{position:relative;display:flex;align-items:baseline;gap:9px;padding:11px 0 14px;color:#969489;font-size:11px;transition:color .3s}.chapter-link>span{font-size:9px;font-variant-numeric:tabular-nums}.chapter-link strong{font-weight:400}.chapter-link i{height:1px;position:absolute;bottom:3px;left:0;width:100%;background:currentColor;opacity:.45}.chapter-link.is-active{color:var(--red)}.chapter-link.is-active i{height:2px;opacity:1}.story-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:rgba(180,167,140,.16)}.story-progress span{display:block;transform-origin:left;width:100%;height:100%;background:var(--red);transform:scaleX(.25);transition:transform 1s cubic-bezier(.65,0,.2,1)}
.chapter{position:relative;z-index:2;min-height:650px;height:var(--section-h);padding:var(--header-h) var(--gutter) 115px;display:flex;align-items:center;pointer-events:none;scroll-margin-top:0}.chapter-copy{width:42%;max-width:550px;pointer-events:auto}.opening-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:29px;font-size:9px;letter-spacing:1.3px;color:var(--red);font-weight:600}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #da291c12}.badge-date{margin-left:9px;font-size:8px;font-weight:400;letter-spacing:1px;color:var(--muted)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,6.9vw,111px);line-height:.94;letter-spacing:-5px;margin-bottom:28px}h1 em{color:var(--red)}.lead{font-size:clamp(15px,1.2vw,19px);line-height:1.65;max-width:370px;color:#6b6d63;text-wrap:pretty}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:31px;padding:18px 23px;border-radius:2px;font-size:12px;font-weight:500;transition:background .25s,transform .25s,color .25s;border:1px solid transparent;line-height:1.2;min-height:51px}.button-primary{background:var(--red);color:#ffffff}.button-primary:hover{background:#ae251b;transform:translateY(-2px)}.button svg{width:20px;height:20px}.chapter-intro .button{margin-top:28px}.scroll-note{font-size:10px;line-height:1.5;color:#8e8d81;margin-top:24px;display:flex;align-items:center;gap:10px}.scroll-note>span{font-size:19px;line-height:1}.eyebrow{font-size:9px;letter-spacing:1.35px;font-weight:500;line-height:1.65;text-transform:uppercase;margin-bottom:26px;color:var(--muted)}.eyebrow>span{color:var(--red);margin-right:9px}.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(57px,5.6vw,90px);line-height:1.01;letter-spacing:-3.7px;margin-bottom:26px}.chapter h2 em{color:var(--red)}.chapter-detail{font-size:11px;color:var(--muted);line-height:1.7;margin-top:24px;max-width:355px;position:relative}.chapter-detail .detail-mark{color:var(--red);position:absolute;left:-18px;top:-2px}.chapter-detail>span:not(.detail-mark){color:#909084}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;line-height:1.5;position:relative;align-self:flex-start;padding:0 0 7px;border-bottom:1px solid currentColor;background:none;border-radius:0;font-weight:500}.text-link>span{font-size:19px;line-height:1;transition:transform .25s}.text-link:hover>span{transform:translate(2px,-2px)}.chapter .text-link{margin-top:26px}.stage-facts{display:flex;align-items:center;gap:25px;margin-top:27px}.stage-facts>span:first-child{display:flex;align-items:baseline;gap:8px;font-size:11px}.stage-facts strong{font:400 44px var(--serif);letter-spacing:-2px}.stage-facts>span+span{font-size:10px;line-height:1.8;border-left:1px solid rgba(255,255,255,.20);padding-left:25px}
body[data-theme="dark"] .story{background:#3a3a3a;color:#ffffff}body[data-theme="dark"] .site-header{background:linear-gradient(to bottom,rgba(58,58,58,.98),rgba(58,58,58,.87) 75%,rgba(58,58,58,0));color:#ffffff}body[data-theme="dark"] .story .lead{color:#d6d6d6}body[data-theme="dark"] .story .eyebrow,body[data-theme="dark"] .story .chapter-detail,body[data-theme="dark"] .scene-tools{color:#d6d6d6}body[data-theme="dark"] .chapter h2 em{color:#ffffff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:.045em;text-underline-offset:.1em}body[data-theme="dark"] .chapter-nav .is-active{color:#ffffff}body[data-theme="dark"] .story .eyebrow>span{color:#ffffff}body[data-theme="dark"] .scene-halo{opacity:.08}body[data-theme="dark"] .scene-meta{color:#d6d6d6}body[data-theme="dark"] .icon-button{border-color:#8c8c8c}body[data-theme="dark"] .header-inquiry{border-color:#8c8c8c}body[data-theme="dark"] .header-inquiry:hover{background:#ffffff;color:#3a3a3a}
.book-placeholder{position:absolute;top:50%;left:50%;width:280px;height:365px;transform:translate(-50%,-50%) perspective(800px) rotateX(24deg) rotateY(-17deg) rotateZ(-9deg);background:#c72f24;box-shadow:5px 5px 0 #e9deca,10px 11px 0 #b12620,25px 36px 28px #46391e18;transition:opacity .45s}.book-placeholder-cover{height:100%;border:1px solid #ffe5b14d;margin:13px;padding:23px;color:#fff1d8;display:flex;flex-direction:column}.book-placeholder span{font-size:8px;letter-spacing:1.3px}.book-placeholder strong{font:53px/1.02 var(--serif);margin-top:30px}.book-placeholder i{font-size:9px;margin-top:auto;margin-bottom:40px;font-style:normal}.canvas-frame[data-ready="true"] .book-placeholder{opacity:0;pointer-events:none}.fallback-message{font-size:11px;position:absolute;bottom:0;left:17%;right:17%;text-align:center;color:var(--muted)}
.place-section{background:var(--paper);position:relative;z-index:3;padding:116px var(--gutter) 65px;scroll-margin-top:55px}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;column-gap:100px;max-width:1300px;margin:0 auto}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:25px}.section-heading h2{font:400 clamp(42px,4.6vw,72px)/1.06 var(--serif);letter-spacing:-2.7px}.section-heading h2 em{color:var(--red)}.section-heading>p:last-child{font-size:15px;line-height:1.8;color:var(--muted);max-width:350px;padding-bottom:4px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1300px;margin:64px auto 60px}.photo-offset{padding-top:75px}.photo-image{overflow:hidden;background:#e5e0d4;aspect-ratio:1.41}.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.photo:hover img{transform:scale(1.025)}.photo figcaption{font:400 24px var(--serif);letter-spacing:-.5px;padding-top:20px}.photo figcaption>span{display:block;font:8px var(--sans);letter-spacing:1.4px;color:var(--muted);margin-bottom:11px}.place-footnote{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:33px;max-width:1300px;margin:auto}.place-footnote p{font-size:11px;line-height:1.9;color:var(--muted);max-width:730px}.place-footnote strong{font-weight:500;color:var(--ink)}
.visit-section{background:#eeece3;padding:100px var(--gutter) 95px;display:grid;grid-template-columns:1fr 1fr;gap:80px;scroll-margin-top:70px}.visit-heading h2{font:400 clamp(70px,8.6vw,135px)/.93 var(--serif);letter-spacing:-5px;margin-bottom:27px}.visit-heading h2 em{color:var(--red)}.visit-heading>p:last-child{font-size:14px;line-height:1.75;color:var(--muted)}.visit-details{padding-top:15px}.visit-row{display:flex;gap:25px;border-top:1px solid #cecec1;padding:26px 0}.visit-number{font-size:9px;color:var(--red);padding-top:4px}.visit-row h3{font-size:12px;font-weight:600;margin-bottom:14px}.visit-row address,.visit-row p{font-style:normal;font-size:13px;line-height:1.7;color:#6f7265}.visit-row strong{font-weight:500;color:var(--ink)}.visit-row .access-note{font-size:11px;max-width:340px;margin-top:14px;color:#868879}.visit-row .text-link{font-size:10px;margin-top:18px;gap:21px}.contact-email{display:block;font-size:14px;margin-top:16px;line-height:1.5}.contact-phone{display:block;font-size:13px;margin-top:4px;color:#6f7265}.opening-section{margin:0;background:var(--red);padding:65px var(--gutter);color:#ffffff;display:grid;grid-template-columns:1fr 1fr;gap:80px;scroll-margin-top:100px}.opening-section .eyebrow{color:#f4c3aa;margin-bottom:25px;font-size:8px}.opening-section h2{font:400 clamp(36px,4.5vw,66px)/1.05 var(--serif);letter-spacing:-2px}.opening-section>div+div{padding-top:4px}.opening-section>div+div p{font-size:13px;line-height:1.75;margin-bottom:18px}.opening-section strong{font-weight:500}.button-light{border:1px solid #e69a80;color:#ffffff;font-size:11px;min-height:44px;padding:13px 17px}.button-light:hover{background:#ffffff;color:var(--red)}.site-footer{padding:61px var(--gutter) 55px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.footer-wordmark{font:400 62px/1 var(--serif);letter-spacing:-3px}.footer-wordmark>span{display:block;font:9px var(--sans);letter-spacing:1.4px;text-transform:uppercase;margin-top:15px}.site-footer>div{display:flex;align-items:flex-end;gap:70px}.site-footer p{font-size:10px;line-height:1.8;color:var(--muted)}.site-footer .text-link{font-size:10px;gap:20px;margin-top:auto}
#inquiry-dialog{padding:45px;width:560px;max-width:calc(100% - 30px);max-height:90svh;background:var(--paper);color:var(--ink);border:0;border-radius:3px;box-shadow:0 30px 100px #0005;overflow-y:auto}#inquiry-dialog::backdrop{background:#17201580;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:18px;top:18px;font-size:23px}#inquiry-dialog h2{font:400 49px/1 var(--serif);letter-spacing:-2px;margin-bottom:22px}#inquiry-dialog h2 em{color:var(--red)}#inquiry-dialog .eyebrow{margin-bottom:16px}#inquiry-dialog form>p:not(.eyebrow){font-size:12px;line-height:1.65;color:var(--muted);margin-bottom:21px}#inquiry-dialog label{display:block;font-size:10px;font-weight:500;margin-bottom:17px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}input,select,textarea{display:block;width:100%;padding:11px 12px;color:var(--ink);background:#ffffff;border:1px solid #8c8c8c;border-radius:2px;margin-top:8px;font-size:12px;resize:vertical}#inquiry-dialog .button{width:100%;font-size:11px;min-height:45px;padding:13px 17px}#inquiry-dialog form>.form-note{font-size:9px;margin-top:12px;margin-bottom:0}#inquiry-dialog form>.form-status{margin:10px 0 0;font-size:11px;color:var(--red)}
@media(min-width:1600px){.chapter-copy{max-width:600px}.lead{max-width:400px}.chapter-detail{max-width:400px}.chapter-nav{gap:40px}.canvas-frame{right:0;width:60%}}
@media(max-width:1100px) and (min-width:901px){:root{--gutter:35px;--header-h:110px}.main-nav{gap:18px}.header-inquiry{padding:12px;gap:10px}.site-header{gap:21px}.chapter h2{font-size:57px;letter-spacing:-2.8px}.chapter-nav{gap:17px}.scene-tools{gap:9px}.drag-hint{font-size:9px;margin-right:0}.canvas-frame{width:61%;right:-3%}.chapter-copy{width:43%}.chapter-detail{font-size:10px}.photo-grid{gap:30px}.section-heading{column-gap:50px}.visit-section,.opening-section{gap:50px}.site-footer>div{gap:30px}.footer-wordmark{font-size:51px}}
@media(max-width:900px){:root{--gutter:24px;--header-h:100px;--section-h:100svh}html{scroll-padding-top:var(--header-h)}.site-header{height:var(--header-h);padding:0 23px;gap:18px}.header-inquiry{display:none}.menu-toggle{display:block;width:38px;height:38px;padding:10px;margin-left:auto;z-index:2}.menu-toggle span{display:block;height:1px;margin:6px 0;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:calc(var(--header-h) - 8px);left:16px;right:16px;background:var(--paper-light);padding:20px 25px;box-shadow:0 15px 35px #3a3a3a15;color:var(--ink);flex-direction:column;align-items:stretch;gap:0;border:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{font-size:17px;padding:16px 0}.scene-meta{display:none}.canvas-frame{top:auto;bottom:54px;right:0;width:100%;height:47%}.scene-halo{top:auto;bottom:80px;width:100vw;height:100vw;right:0}.scene-tools{right:22px;bottom:94px;gap:8px;z-index:3}.drag-hint{display:none}.icon-button{width:28px;height:28px;font-size:18px}.chapter{min-height:710px;height:var(--section-h);padding:calc(var(--header-h) + 26px) var(--gutter) 0;align-items:flex-start}.chapter-copy{width:100%;max-width:unset}.opening-badge{font-size:7px;letter-spacing:1.05px;margin-bottom:21px;gap:8px}.badge-date{font-size:7px;letter-spacing:.55px;margin-left:9px}.badge-dot{width:4px;height:4px}h1{font-size:clamp(54px,14.9vw,79px);letter-spacing:-2.8px;line-height:.93;margin-bottom:17px}h1 br:nth-of-type(2){display:none}h1 em::before{content:' '}.chapter-intro .lead{font-size:12px;line-height:1.7;max-width:310px}.chapter-intro .button{margin-top:20px;font-size:10px;padding:13px 17px;min-height:44px;gap:25px}.chapter-intro .button svg{width:17px;height:17px}.scroll-note{font-size:8px;margin-top:14px;gap:8px;max-width:300px}.scroll-note>span{font-size:15px}.eyebrow{font-size:7px;letter-spacing:1.05px;margin-bottom:20px}.eyebrow>span{margin-right:6px}.chapter h2{font-size:clamp(43px,12.25vw,68px);letter-spacing:-2.5px;line-height:1.01;margin-bottom:18px}.chapter .lead{font-size:12px;line-height:1.7;max-width:340px}.chapter-detail{font-size:9px;line-height:1.6;margin-top:14px;max-width:315px}.chapter-detail .detail-mark{display:none}.chapter .text-link{font-size:10px;margin-top:18px;gap:20px}.text-link>span{font-size:16px}.stage-facts{margin-top:15px;gap:20px}.stage-facts strong{font-size:34px}.stage-facts>span:first-child{font-size:9px}.stage-facts>span+span{font-size:8px;padding-left:20px;line-height:1.6}.chapter-nav{left:24px;right:24px;bottom:17px;gap:0;justify-content:space-between}.chapter-link{display:flex;flex-direction:column;gap:6px;font-size:9px;padding:7px 0 12px;width:21%}.chapter-link>span{font-size:8px}.chapter-link i{width:100%}.chapter-link strong{font-weight:400}.scene-sticky{min-height:710px}.book-placeholder{width:180px;height:235px}.book-placeholder-cover{padding:16px;margin:9px}.book-placeholder span{font-size:5px}.book-placeholder strong{font-size:33px;margin-top:20px}.book-placeholder i{font-size:6px;margin-bottom:30px}.fallback-message{font-size:8px;left:8%;right:8%}.place-section{padding:68px var(--gutter) 41px;scroll-margin-top:60px}.section-heading{display:block}.section-heading h2{font-size:42px;letter-spacing:-1.7px;line-height:1.05}.section-heading>p:last-child{font-size:12px;line-height:1.75;margin-top:23px;max-width:310px}.section-heading .eyebrow{margin-bottom:20px}.photo-grid{display:block;margin:34px auto 28px}.photo-offset{padding-top:32px}.photo-image{aspect-ratio:1.4}.photo figcaption{font-size:21px;padding-top:14px;letter-spacing:-.5px}.photo figcaption>span{font-size:7px;letter-spacing:1px;margin-bottom:8px}.place-footnote{gap:16px;padding-top:24px;align-items:flex-start}.place-footnote .small-cross{font-size:31px}.place-footnote p{font-size:9px;line-height:1.8}.visit-section{padding:61px var(--gutter) 38px;display:block;scroll-margin-top:55px}.visit-heading h2{font-size:83px;letter-spacing:-4px;margin-bottom:20px}.visit-heading>p:last-child{font-size:12px}.visit-details{padding-top:40px}.visit-row{gap:18px;padding:24px 0}.visit-row h3{font-size:11px}.visit-row address,.visit-row p{font-size:12px}.visit-row .access-note{font-size:10px;max-width:280px}.contact-email{font-size:13px}.contact-phone{font-size:12px}.opening-section{display:block;padding:43px var(--gutter);scroll-margin-top:83px}.opening-section h2{font-size:42px;letter-spacing:-1.8px}.opening-section .eyebrow{font-size:7px;margin-bottom:20px}.opening-section>div+div{padding-top:27px}.opening-section>div+div p{font-size:12px;margin-bottom:18px}.button-light{font-size:10px}.site-footer{display:block;padding:42px var(--gutter) 35px}.footer-wordmark{font-size:47px;letter-spacing:-2px}.footer-wordmark>span{font-size:7px;letter-spacing:1.0px;margin-top:11px}.site-footer>div{justify-content:space-between;margin-top:28px;gap:15px}.site-footer p{font-size:8px}.site-footer .text-link{font-size:8px;gap:10px}#inquiry-dialog{padding:36px 24px 26px}#inquiry-dialog h2{font-size:40px}.form-pair{grid-template-columns:1fr;gap:0}#inquiry-dialog label{margin-bottom:13px}.dialog-close{right:12px;top:12px}}
@media(max-width:900px) and (min-height:850px){.chapter{padding-top:calc(var(--header-h) + 39px)}.canvas-frame{height:49%;bottom:58px}.chapter .lead{max-width:340px}.chapter-intro .lead{max-width:320px}.chapter h2{font-size:clamp(46px,13vw,68px)}.chapter-detail{font-size:10px}}
@media(max-height:720px) and (min-width:901px){:root{--header-h:82px}.chapter{min-height:610px;padding-bottom:90px}.scene-sticky{min-height:610px}h1{font-size:70px;letter-spacing:-3.5px;margin-bottom:19px}.chapter h2{font-size:57px;letter-spacing:-2.5px;margin-bottom:19px}.opening-badge{margin-bottom:22px}.lead{font-size:14px;line-height:1.55;max-width:355px}.chapter-detail{margin-top:16px}.chapter .text-link{margin-top:19px}.chapter-intro .button{margin-top:22px;padding:14px 18px;min-height:46px}.scroll-note{margin-top:16px}.scene-meta{top:100px}.scene-tools{bottom:25px}.chapter-nav{bottom:22px}.eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.photo:hover img{transform:none}}
@media print{.site-header,.scene-sticky,.chapter-nav,.scene-tools,.scroll-note,.opening-badge,.button,#inquiry-dialog{display:none!important}.chapter{height:auto;min-height:0;padding:25px 0}.chapter-copy{width:100%;max-width:none}.chapter h1,.chapter h2{font-size:35px!important;color:#111!important}.story,body{background:white!important;color:black!important}.lead,.chapter-detail{max-width:none;color:#222!important}.place-section,.visit-section,.opening-section,.site-footer{padding:25px 0;background:white!important;color:black!important}.photo-grid{display:none}.text-link{display:none}}

@media(max-width:900px) and (max-height:760px){
:root{--header-h:90px}.site-header{height:var(--header-h)}.chapter,.scene-sticky{min-height:0}.chapter{padding-top:calc(var(--header-h) + 19px)}.opening-badge{margin-bottom:16px}.chapter h1{font-size:48px;line-height:.93;letter-spacing:-2.4px;margin-bottom:15px}.chapter h2{font-size:41px;line-height:1.0;letter-spacing:-2px;margin-bottom:14px}.eyebrow{margin-bottom:17px}.chapter .lead{font-size:11px;line-height:1.6;max-width:340px}.chapter-intro .button{margin-top:16px;min-height:40px;padding:11px 15px}.chapter-detail{font-size:8px;line-height:1.55;margin-top:12px}.chapter .text-link{font-size:9px;margin-top:14px;padding-bottom:5px}.scroll-note{display:none}.canvas-frame{height:35%;bottom:57px}.scene-tools{bottom:83px}.chapter-nav{bottom:14px}.stage-facts{margin-top:12px}.stage-facts strong{font-size:29px}.stage-facts>span+span{font-size:7px}.scene-halo{bottom:80px;height:70vw}.chapter-theatre h2{font-size:40px}
}

/* Mobile interaction fix: a single sticky scene owns both book and text.
   No independently scrolling text panels and no negative-margin pinning. */
body { overflow-x: clip; }
.story.is-enhanced { height: calc(4 * var(--section-h)); overflow: visible; }
.story.is-enhanced .scene-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: var(--section-h);
  min-height: 0;
  margin-bottom: 0;
  overflow: hidden;
}
.story.is-enhanced .chapter {
  position: absolute;
  inset: 0;
  height: 100%;
  min-height: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity .35s ease, transform .5s ease;
}
.story.is-enhanced .chapter.is-active { opacity: 1; visibility: visible; transform: none; }
.story.is-enhanced .chapter:not(.is-active) .chapter-copy { pointer-events: none; }
.story.is-enhanced .chapter-nav, .story.is-enhanced .scene-tools { z-index: 5; }
.story.is-enhanced .story-progress { z-index: 6; }
.chapter-next {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: 18px; font-size: 10px; line-height: 1.2; min-height: 44px;
  padding: 10px 14px; border: 1px solid var(--line); border-radius: 3px;
  color: var(--ink); background: var(--paper);
}
.chapter-next:hover { color: var(--paper); background: var(--ink); }
.chapter-next > span:last-child { font-size: 18px; }
body[data-theme="dark"] .chapter-next { background: #3a3a3a; color: #ffffff; border-color: #8c8c8c; }
.runtime-notice { max-width: 365px; font-size: 11px; line-height: 1.6; margin-top: 12px; color: var(--red); }
body[data-reduced-motion="true"] .story * { transition-duration: .01ms !important; }
@media (max-width:900px) {
  .scene-tools { left: var(--gutter); right: var(--gutter); bottom: calc(77px + env(safe-area-inset-bottom, 0px)); gap: 8px; }
  .chapter-next { margin-right: auto; min-width: 138px; }
  .scene-tools .icon-button { width: 44px; height: 44px; flex-shrink: 0; }
  .chapter-nav { bottom: calc(17px + env(safe-area-inset-bottom, 0px)); }
  .runtime-notice { max-width: 310px; font-size: 10px; }
  input, select, textarea { font-size: 16px; }
}
@media (min-width:901px) { .chapter-next { display: none; } }
@media (max-width:900px) and (max-height:760px) {
  .scene-tools { bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  .chapter-next { font-size: 9px; min-width: 135px; padding: 10px 12px; }
}
@media (max-width:900px) and (max-height:510px) and (orientation:landscape) {
  :root { --header-h:62px; --gutter:24px; }
  .site-header { height:62px; }
  .story.is-enhanced .chapter { padding: 78px var(--gutter) 80px; align-items:flex-start; }
  .chapter-copy { width:43%; }
  .opening-badge { margin-bottom:12px; }
  .chapter h1 { font-size:38px; margin-bottom:12px; }
  .chapter h2, .chapter-theatre h2 { font-size:31px; margin-bottom:12px; }
  .chapter .lead { font-size:10px; line-height:1.5; }
  .chapter-detail { font-size:8px; margin-top:10px; }
  .eyebrow { font-size:6px; margin-bottom:10px; }
  .chapter .text-link { margin-top:12px; font-size:9px; }
  .chapter-intro .button { min-height:38px; margin-top:12px; }
  .canvas-frame { right:0; top:66px; bottom:70px; left:auto; width:55%; height:auto; }
  .scene-tools { bottom:70px; left:auto; width:49%; }
  .chapter-nav { bottom:12px; }
  .stage-facts { margin-top:10px; }
}
@media print {
  .story.is-enhanced { height:auto !important; }
  .story.is-enhanced .scene-sticky { display:block !important; position:static; height:auto; overflow:visible; }
  .story.is-enhanced .chapter { position:static; height:auto; visibility:visible; opacity:1; transform:none; }
  .canvas-frame, .scene-halo, .scene-meta, .chapter-next, .story-progress, .runtime-notice { display:none !important; }
}

/* Opening information and native legal disclosures. */
.opening-badge{gap:12px;text-transform:none;letter-spacing:0;line-height:1.4}
.opening-badge strong{display:block;font-size:14px;font-weight:600}
.opening-badge .badge-date{display:block;margin:3px 0 0;font-size:11px;letter-spacing:.2px}
.opening-badge:hover strong{text-decoration:underline;text-underline-offset:4px}
.opening-section{margin-top:calc(var(--header-h) + 32px);scroll-margin-top:calc(var(--header-h) + 32px)}
.site-footer{flex-wrap:wrap}
.legal-section{flex-basis:100%;width:100%;margin-top:12px;border-top:1px solid var(--line)}
.legal-panel{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px)}
.legal-panel summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font:400 25px var(--serif)}
.legal-panel summary::-webkit-details-marker{display:none}
.legal-panel summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.legal-toggle{font:300 25px var(--sans);color:var(--red);transition:transform .2s}
.legal-panel[open] .legal-toggle{transform:rotate(45deg)}
.legal-content{max-width:780px;padding:0 0 30px}
.legal-content h3{font:600 14px var(--sans);margin:25px 0 10px}
.legal-content h3:first-child{margin-top:0}
.site-footer .legal-content p,.legal-content address{font:400 14px/1.75 var(--sans);color:var(--ink);margin:0 0 12px;overflow-wrap:anywhere}
.legal-content a,.form-note a{text-decoration:underline;text-underline-offset:3px}
.site-footer .legal-content .legal-date{font-size:11px;color:var(--muted);margin-top:24px}
@media(max-width:900px){
 .opening-badge{gap:10px}
 .opening-badge strong{font-size:12px}
 .opening-badge .badge-date{font-size:10px}
 .legal-section{margin-top:30px}
 .legal-panel summary{font-size:23px;padding:20px 0}
 .site-footer .legal-content p,.legal-content address{font-size:13px}
}
@media(max-width:900px) and (max-height:510px) and (orientation:landscape){
 .opening-badge strong{font-size:10px}
 .opening-badge .badge-date{font-size:9px}
}
