:root{
  --ink:#11110e;
  --ink-soft:#1c1c17;
  --paper:#eee4d0;
  --paper-pale:#f7f2e8;
  --rust:#8b3026;
  --gold:#b79555;
  --line:rgba(17,17,14,.18);
  --light-line:rgba(247,242,232,.16);
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,serif;
  --sans:"Noto Sans SC","Microsoft YaHei",sans-serif;
  --shell:min(1180px,calc(100% - 72px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper-pale);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
button{color:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;background:var(--paper-pale);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;height:78px;padding:0 3.2vw;align-items:center;justify-content:space-between;color:var(--paper-pale);border-bottom:1px solid transparent;transition:height .3s,background .3s,border-color .3s}
.site-header.scrolled{height:66px;background:rgba(17,17,14,.94);border-color:var(--light-line);backdrop-filter:blur(10px)}
.brand{display:flex;gap:13px;align-items:center}
.brand-seal{display:grid;width:37px;height:42px;place-items:center;border:1px solid currentColor;font-family:var(--serif);font-size:22px}
.brand-name{font-family:var(--serif);font-size:17px;letter-spacing:.14em}
.brand-name small{display:block;margin-top:4px;font:7px Georgia,serif;letter-spacing:.16em;opacity:.55}
.site-nav{display:flex;gap:32px;align-items:center;font-size:12px}
.site-nav a{position:relative;padding:9px 0;color:rgba(247,242,232,.72);letter-spacing:.08em}
.site-nav a:not(.nav-book):after{content:"";position:absolute;right:100%;bottom:2px;left:0;height:1px;background:var(--gold);transition:right .25s}
.site-nav a:hover{color:var(--paper-pale)}
.site-nav a:hover:after{right:0}
.site-nav .nav-book{padding:12px 18px;color:var(--paper-pale);border:1px solid rgba(247,242,232,.38)}
.nav-toggle{display:none;border:0;background:transparent}
.sound-toggle{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;min-height:42px;padding:0 14px;gap:9px;align-items:center;border:1px solid rgba(247,242,232,.3);border-radius:99px;background:rgba(17,17,14,.84);box-shadow:0 12px 30px rgba(0,0,0,.25);color:var(--paper-pale);cursor:pointer;font-size:10px;letter-spacing:.1em;backdrop-filter:blur(11px);transition:transform .2s,border-color .2s}
.sound-toggle:hover{border-color:rgba(247,242,232,.66);transform:translateY(-2px)}
.sound-toggle:focus-visible{outline:2px solid var(--paper-pale);outline-offset:3px}
.sound-toggle-icon{position:relative;width:11px;height:11px;border:1px solid currentColor;border-radius:50%;opacity:.78}
.sound-toggle-icon:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(247,242,232,.42);border-radius:50%;animation:sound-pulse 2.2s ease-out infinite}
.sound-toggle[data-state="off"]{color:rgba(247,242,232,.62)}
.sound-toggle[data-state="off"] .sound-toggle-icon:before{content:"";position:absolute;top:4px;left:-4px;width:16px;height:1px;background:currentColor;transform:rotate(-45deg)}
.sound-toggle[data-state="off"] .sound-toggle-icon:after{opacity:0;animation:none}
@keyframes sound-pulse{0%{opacity:.72;transform:scale(.6)}70%,100%{opacity:0;transform:scale(1.3)}}
.opening{position:relative;display:grid;min-height:100svh;padding:108px 3.2vw 56px;grid-template-columns:minmax(0,1.07fr) minmax(340px,.93fr);gap:6vw;align-items:center;overflow:hidden;background:var(--ink);color:var(--paper-pale)}
.opening:before{content:"CASE\A NOTES";position:absolute;top:9%;left:-.8vw;white-space:pre;color:rgba(247,242,232,.025);font:700 clamp(140px,22vw,360px)/.69 Georgia,serif;letter-spacing:-.09em;pointer-events:none}
.opening-copy{position:relative;z-index:1;max-width:710px;padding-left:1.1vw}
.mobile-opening-thesis{display:none}
.opening-kicker{display:flex;gap:15px;align-items:center;margin:0 0 30px;color:rgba(247,242,232,.36);font:10px Georgia,serif;letter-spacing:.19em}
.opening-kicker span{padding:7px 9px;color:var(--gold);border:1px solid rgba(183,149,85,.48);font-family:var(--sans)}
.opening h1{margin:0;font-family:var(--serif);font-size:clamp(64px,7vw,116px);font-weight:400;line-height:1.03;letter-spacing:-.055em}
.opening h1 i{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(247,242,232,.68)}
.opening-lead{max-width:590px;margin:31px 0 0;color:rgba(247,242,232,.62);font-family:var(--serif);font-size:17px;line-height:1.95}
.opening-actions{display:flex;gap:28px;align-items:center;margin-top:34px}
.button{display:inline-flex;min-height:48px;padding:0 23px;align-items:center;justify-content:center;border:1px solid transparent;cursor:pointer;letter-spacing:.06em;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button-paper{background:var(--paper-pale);color:var(--ink)}
.button-ink{background:var(--ink);color:var(--paper-pale)}
.button-full{width:100%}
.text-link{font-size:12px;color:rgba(247,242,232,.65)}
.text-link span{margin-left:8px;color:var(--gold);font-size:18px}
.opening-meta{display:grid;max-width:620px;margin:45px 0 0;padding:20px 0 0;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--light-line)}
.opening-meta div{padding:0 20px;border-right:1px solid var(--light-line)}
.opening-meta div:first-child{padding-left:0}
.opening-meta div:last-child{border:0}
.opening-meta dt{color:rgba(247,242,232,.34);font-size:9px;letter-spacing:.16em}
.opening-meta dd{margin:7px 0 0;font-family:var(--serif);font-size:15px}
.opening-poster{position:relative;z-index:1;width:min(100%,590px);margin:0;justify-self:end}
.opening-poster:before{content:"";position:absolute;inset:-15px;border:1px solid rgba(247,242,232,.12);transform:rotate(-1.1deg)}
.opening-poster img{position:relative;width:100%;height:auto;max-height:calc(100svh - 150px);object-fit:contain;box-shadow:0 50px 110px rgba(0,0,0,.43)}
.opening-scroll{position:absolute;bottom:21px;left:4.3vw;margin:0;color:rgba(247,242,232,.3);font:8px Georgia,serif;letter-spacing:.18em}
.opening-scroll span{display:inline-block;width:45px;height:1px;margin:0 0 2px 12px;background:rgba(247,242,232,.25)}
.section-space{padding:130px max(36px,calc((100% - 1180px)/2))}
.section-number{width:var(--shell);margin:0 auto 70px;padding-bottom:12px;border-bottom:1px solid var(--line);color:rgba(17,17,14,.45);font:9px Georgia,serif;letter-spacing:.18em}
.section-number-light{border-color:var(--light-line);color:rgba(247,242,232,.35)}
.eyebrow{margin:0 0 19px;color:var(--rust);font-size:10px;letter-spacing:.22em}
.manifesto{background:var(--paper)}
.manifesto-grid{display:grid;width:var(--shell);margin:auto;grid-template-columns:1fr .88fr;gap:11vw;align-items:start}
.manifesto h2,.passage h2,.roles h2,.scene h2,.booking h2,.faq h2{margin:0;font-family:var(--serif);font-size:clamp(48px,5.2vw,78px);font-weight:400;line-height:1.18;letter-spacing:-.045em}
.manifesto h2 em{color:var(--rust);font-style:normal}
.manifesto-copy{padding-top:43px}
.manifesto-copy>p{margin:0;color:rgba(17,17,14,.66);font-size:15px;line-height:2.05}
.manifesto-copy .manifesto-lead{margin-bottom:22px;color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1.8}
.definition-stamp{display:flex;margin-top:50px;padding:18px 0;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.definition-stamp span{font-size:10px;letter-spacing:.16em}
.definition-stamp b{font-family:var(--serif);font-size:22px;font-weight:500}
.method-details{margin-top:18px;border-bottom:1px solid var(--line)}
.method-details summary{display:flex;padding:16px 0;align-items:center;justify-content:space-between;cursor:pointer;font-family:var(--serif);font-size:17px;list-style:none}
.method-details summary::-webkit-details-marker{display:none}
.method-details summary:after{content:"＋";font-family:var(--sans);font-size:17px}.method-details[open] summary:after{content:"－"}
.method-details p{margin:0 0 15px;color:rgba(17,17,14,.62);font-size:13px;line-height:1.9}
.passage{background:var(--ink-soft);color:var(--paper-pale)}
.passage-heading{width:var(--shell);margin:auto}
.passage .eyebrow{color:var(--gold)}
.passage h2{max-width:900px}
.passage-list{display:grid;width:var(--shell);margin:75px auto 0;padding:0;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--light-line);border-left:1px solid var(--light-line)}
.passage-list li{display:flex;min-height:280px;padding:26px;flex-direction:column;justify-content:space-between;border-right:1px solid var(--light-line);border-bottom:1px solid var(--light-line)}
.passage-list>li>span{color:var(--gold);font:16px Georgia,serif}
.passage-list b{font-family:var(--serif);font-size:25px;font-weight:500}
.passage-list p{margin:14px 0 0;color:rgba(247,242,232,.55);font-size:13px;line-height:1.85}
.roles{background:var(--paper-pale)}
.roles-heading{display:grid;width:var(--shell);margin:auto;grid-template-columns:1fr .7fr;column-gap:8vw}
.roles-heading .eyebrow{grid-column:1/-1}
.roles-heading>p:last-child{max-width:420px;margin:18px 0 0;color:rgba(17,17,14,.6);font-size:14px;line-height:1.9}
.role-console{display:grid;width:var(--shell);margin:70px auto 0;grid-template-columns:310px 1fr;border:1px solid var(--ink);box-shadow:18px 22px 0 rgba(139,48,38,.11)}
.role-tabs{display:flex;flex-direction:column;background:var(--ink)}
.role-tabs button{display:flex;min-height:71px;padding:0 22px;gap:17px;align-items:center;border:0;border-bottom:1px solid var(--light-line);background:transparent;color:rgba(247,242,232,.62);cursor:pointer;text-align:left;font-family:var(--serif);font-size:17px;transition:background .2s,color .2s}
.role-tabs button span{color:rgba(247,242,232,.28);font:9px Georgia,serif}
.role-tabs button:hover,.role-tabs button.active{background:var(--paper);color:var(--ink)}
.role-tabs button.active span{color:var(--rust)}
.role-stage{position:relative;display:flex;min-height:497px;padding:24px 32px 20px;overflow:hidden;flex-direction:column;background:radial-gradient(circle at 50% 42%,#f7f0df 0%,var(--paper) 62%,#dfd2b8 100%)}
.card-scene{position:relative;display:grid;min-height:430px;flex:1;place-items:center;perspective:900px}
.card-shadow{position:absolute;width:265px;height:374px;border:1px solid rgba(17,17,14,.28);border-radius:20px;background:#cabd9f;box-shadow:0 16px 34px rgba(17,17,14,.14)}
.card-shadow-one{transform:translate(-38px,5px) rotate(-7deg)}
.card-shadow-two{transform:translate(38px,8px) rotate(7deg);background:#ded1b5}
.identity-card{position:absolute;width:280px;height:394px;margin:0;overflow:hidden;opacity:0;background:#ddcba8;border-radius:21px;box-shadow:0 22px 45px rgba(17,17,14,.22);transform:translateY(18px) rotate(3deg) scale(.95);transition:opacity .3s ease,transform .38s cubic-bezier(.2,.75,.2,1)}
.identity-card.active{z-index:2;opacity:1;transform:translateY(0) rotate(-1deg) scale(1)}
.identity-card img{width:calc(100% + 8px);max-width:none;height:calc(100% + 8px);object-fit:cover;transform:translate(-4px,-4px)}
.role-stage-foot{position:relative;z-index:3;display:flex;padding-top:14px;gap:20px;align-items:center;border-top:1px solid var(--line);color:rgba(17,17,14,.45);font-size:9px;letter-spacing:.1em}
.role-stage-foot[hidden]{display:none}
.role-stage-foot b{display:grid;width:35px;height:35px;margin-left:auto;place-items:center;border:1px solid var(--rust);border-radius:50%;color:var(--rust);font-family:var(--serif);font-size:18px;transform:rotate(-9deg)}
.roles-note{width:var(--shell);margin:27px auto 0;color:rgba(17,17,14,.45);font-size:10px;text-align:right}
.scene{background:#26261f;color:var(--paper-pale)}
.scene-heading{width:var(--shell);margin:auto}
.scene .eyebrow{color:var(--gold)}
.scene-grid{display:grid;width:min(1440px,calc(100% - 72px));margin:70px auto 0;grid-template-columns:.95fr 1.7fr 1fr;grid-template-rows:270px 270px;gap:14px}
.scene-photo{position:relative;padding:0;overflow:hidden;border:0;background:#000;cursor:zoom-in}
.scene-photo-main{grid-column:1;grid-row:1/3}
.scene-pair{display:grid;min-width:0;grid-column:2;grid-row:1;grid-template-columns:1fr 1fr;gap:14px}
.scene-pair .scene-photo{min-width:0}
.scene-photo-live{grid-column:2;grid-row:2}
.scene-photo-collage{grid-column:3;grid-row:1/3}
.scene-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:transform .6s,filter .4s}
.scene-photo-collage img{object-fit:cover;object-position:center}
.scene-photo:hover img{transform:scale(1.025);filter:saturate(.95)}
.scene-photo span{position:absolute;right:14px;bottom:14px;padding:8px 10px;background:rgba(17,17,14,.8);color:var(--paper-pale);font-size:9px;letter-spacing:.12em}
.voice{position:relative;overflow:hidden;background:var(--rust);color:var(--paper-pale);text-align:center}
.voice-mark{position:absolute;top:-110px;left:2vw;color:rgba(247,242,232,.08);font:360px/1 Georgia,serif}
.voice blockquote{position:relative;max-width:930px;margin:0 auto;font-family:var(--serif);font-size:clamp(27px,3vw,43px);line-height:1.7}
.voice>p{margin:35px 0 0;color:rgba(247,242,232,.62);font-size:11px;letter-spacing:.14em}
.comments-proof{position:relative;z-index:1;display:block;width:min(100%,730px);margin:46px auto 0;padding:0;overflow:hidden;border:1px solid rgba(247,242,232,.26);background:#171713;color:var(--paper-pale);cursor:zoom-in}
.comments-proof img{width:100%;max-height:360px;object-fit:cover;object-position:top;opacity:.88;transition:transform .5s,opacity .4s}
.comments-proof:hover img{opacity:1;transform:scale(1.015)}
.comments-proof span{position:absolute;right:13px;bottom:13px;padding:9px 11px;background:rgba(17,17,14,.85);font-size:9px;letter-spacing:.11em}
.booking{display:grid;grid-template-columns:1fr .86fr;gap:10vw;align-items:center;background:var(--ink);color:var(--paper-pale)}
.booking .eyebrow{color:var(--gold)}
.booking-copy>p:not(.eyebrow){max-width:520px;color:rgba(247,242,232,.6);font-size:14px;line-height:1.95}
.booking-meta{display:grid;margin:40px 0 0;padding-top:24px;grid-template-columns:1fr 1fr;gap:24px 35px;border-top:1px solid var(--light-line)}
.booking-meta dt{color:rgba(247,242,232,.34);font-size:9px;letter-spacing:.16em}
.booking-meta dd{margin:7px 0 0;font-family:var(--serif);font-size:16px}
.ticket{position:relative;padding:36px;background:var(--paper);color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.35)}
.ticket:before,.ticket:after{content:"";position:absolute;top:49%;width:24px;height:24px;background:var(--ink);border-radius:50%}
.ticket:before{left:-12px}.ticket:after{right:-12px}
.ticket-head{display:flex;padding-bottom:18px;align-items:end;justify-content:space-between;border-bottom:2px solid var(--ink);font-family:var(--serif);font-size:12px}
.ticket-head b{font:8px Georgia,serif;letter-spacing:.15em;color:var(--rust)}
.ticket-row{display:flex;padding:17px 0;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line)}
.ticket-row strong{font-family:var(--serif);font-size:17px;font-weight:500}
.ticket-row span{color:rgba(17,17,14,.62);font-size:12px;text-align:right}
.miracle-ticket{border-bottom:1px solid var(--line)}
.miracle-ticket summary{display:flex;padding:14px 0;align-items:center;justify-content:space-between;color:var(--rust);cursor:pointer;font-size:12px;list-style:none}
.miracle-ticket summary::-webkit-details-marker{display:none}
.miracle-ticket summary:after{content:"＋";color:var(--ink);font-size:16px}.miracle-ticket[open] summary:after{content:"－"}
.miracle-ticket p{margin:-2px 0 16px;color:rgba(17,17,14,.64);font-size:11px;line-height:1.8}
.ticket-note{margin:17px 0;color:rgba(17,17,14,.55);font-size:10px;line-height:1.75}
.copy-feedback{min-height:17px;margin:9px 0 0;color:var(--rust);font-size:10px;text-align:center}
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw;background:var(--paper-pale)}
.faq-list{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;padding:24px 3px;align-items:center;justify-content:space-between;cursor:pointer;font-family:var(--serif);font-size:19px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋";font-family:var(--sans);font-size:18px}.faq details[open] summary:after{content:"－"}
.faq details p{max-width:690px;margin:-3px 40px 25px 3px;color:rgba(17,17,14,.63);font-size:13px;line-height:1.9}
.site-footer{display:flex;padding:45px 3.2vw;align-items:center;justify-content:space-between;background:#090906;color:var(--paper-pale);border-top:1px solid var(--light-line)}
.site-footer>p{color:rgba(247,242,232,.4);font-family:var(--serif);font-size:12px}
.site-footer>a:last-child{font-size:10px;color:rgba(247,242,232,.55)}
.lightbox{width:min(92vw,1200px);max-height:90vh;padding:0;border:0;background:transparent;overflow:visible}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox img{width:100%;max-height:86vh;object-fit:contain}
.lightbox-close{position:absolute;top:-43px;right:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;cursor:pointer;font-size:24px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1040px){
  .opening{grid-template-columns:1fr 410px;gap:4vw}
  .opening h1{font-size:clamp(60px,7.6vw,90px)}
  .manifesto-grid{gap:7vw}
  .identity-card{width:250px;height:352px}
  .card-shadow{width:237px;height:334px}
  .booking{gap:6vw}
  .scene-grid{width:var(--shell);grid-template-columns:1fr 1fr;grid-template-rows:500px 230px 260px}
  .scene-photo-main{grid-column:1;grid-row:1}
  .scene-photo-collage{grid-column:2;grid-row:1}
  .scene-pair{grid-column:1/-1;grid-row:2}
  .scene-photo-live{grid-column:1/-1;grid-row:3}
}
@media(max-width:800px){
  :root{--shell:calc(100% - 32px)}
  .site-header{height:67px;padding:0 16px}
  .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(17,17,14,.82),rgba(17,17,14,.34) 72%,transparent)}
  .brand-name small{display:none}
  .nav-toggle{display:flex;width:54px;height:42px;padding:7px 0;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--paper-pale)}
  .nav-toggle span{display:block;width:21px;height:1px;background:currentColor;transition:transform .2s}
  .nav-toggle em{font-size:7px;font-style:normal;letter-spacing:.12em}
  .nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
  .site-nav{position:fixed;top:67px;right:0;left:0;display:grid;padding:16px 20px 26px;gap:0;background:rgba(17,17,14,.98);border-bottom:1px solid var(--light-line);opacity:0;pointer-events:none;transform:translateY(-16px);transition:opacity .2s,transform .2s}
  .site-nav.open{opacity:1;pointer-events:auto;transform:none}
  .site-nav a{padding:14px 0;border-bottom:1px solid var(--light-line)}
  .site-nav .nav-book{margin-top:12px;text-align:center}
  .opening{min-height:auto;padding:0 12px 70px;grid-template-columns:1fr;gap:38px}
  .opening-copy{padding:0}
  .opening-kicker,.opening h1{display:none}
  .mobile-opening-thesis{display:block;margin:0;font-family:var(--serif);font-size:clamp(46px,13vw,70px);font-weight:400;line-height:1.16;letter-spacing:-.045em}
  .mobile-opening-thesis em{color:var(--rust);font-style:normal}
  .opening-poster{order:-1;width:min(calc(100vw - 24px),560px);margin:0;justify-self:center}
  .opening-poster:before{inset:-7px;transform:none}
  .opening-poster img{max-height:none}
  .opening-scroll{display:none}
  .section-space{padding:88px 16px}
  .section-number{margin-bottom:48px}
  .manifesto-grid,.booking,.faq{grid-template-columns:1fr;gap:48px}
  .manifesto-title{display:none}
  .manifesto h2,.passage h2,.roles h2,.scene h2,.booking h2,.faq h2{font-size:clamp(42px,11vw,65px)}
  .manifesto-copy{padding:0}
  .roles{background:var(--ink-soft);color:var(--paper-pale)}
  .roles .section-number{border-color:var(--light-line);color:rgba(247,242,232,.35)}
  .roles .eyebrow{color:var(--gold)}
  .roles-heading>p:last-child,.roles-note{color:rgba(247,242,232,.56)}
  .role-console{border-color:rgba(247,242,232,.34);box-shadow:14px 18px 0 rgba(183,149,85,.1)}
  .passage{background:var(--paper-pale);color:var(--ink)}
  .passage .section-number{border-color:var(--line);color:rgba(17,17,14,.45)}
  .passage .eyebrow{color:var(--rust)}
  .passage-list{border-color:var(--line)}
  .passage-list li{border-color:var(--line)}
  .passage-list>li>span{color:var(--rust)}
  .passage-list p{color:rgba(17,17,14,.6)}
  .passage-list{grid-template-columns:1fr 1fr;margin-top:52px}
  .passage-list li{min-height:220px}
  .roles-heading{grid-template-columns:1fr}
  .roles-heading>p:last-child{margin-top:23px}
  .role-console{grid-template-columns:230px 1fr;margin-top:48px}
  .role-stage{padding:22px;min-height:497px}
  .card-scene{min-height:430px}
  .scene-grid{display:flex;width:var(--shell);flex-direction:column}
  .scene-photo-main{height:420px;flex:none}
  .scene-pair{height:230px;flex:none}
  .scene-photo-live{height:250px;flex:none}
  .scene-photo-collage{height:auto;aspect-ratio:3/4;flex:none}
  .booking-meta{grid-template-columns:1fr 1fr}
  .site-footer{align-items:flex-start;flex-direction:column;gap:25px}
  .site-footer>p{margin:0}
}
@media(max-width:520px){
  .opening-kicker{gap:9px;font-size:8px;letter-spacing:.12em}
  .opening-lead{font-size:15px}
  .opening-actions{align-items:stretch;flex-direction:column;gap:18px}
  .text-link{padding-left:2px}
  .opening-meta{grid-template-columns:1fr 1fr;row-gap:18px}
  .opening-meta div{padding:0 12px}
  .opening-meta div:nth-child(2){border:0}.opening-meta div:last-child{grid-column:1/-1;padding:15px 0 0;border-top:1px solid var(--light-line)}
  .passage-list{grid-template-columns:1fr}
  .passage-list li{min-height:185px}
  .role-console{display:block;box-shadow:9px 12px 0 rgba(183,149,85,.11)}
  .role-tabs{display:grid;grid-template-columns:1fr 1fr}
  .role-tabs button{min-height:50px;padding:0 13px;font-size:15px}
  .role-tabs button:last-child{grid-column:1/-1}
  .role-stage{min-height:390px;padding:17px}
  .card-scene{min-height:318px}
  .identity-card{width:200px;height:282px}
  .card-shadow{width:188px;height:266px}
  .card-shadow-one{transform:translate(-27px,5px) rotate(-6deg)}
  .card-shadow-two{transform:translate(27px,7px) rotate(6deg)}
  .role-stage-foot{gap:10px;font-size:9px}
  .roles-note{text-align:left;line-height:1.7}
  .scene-photo-main{height:300px}
  .scene-pair{height:auto;grid-template-columns:1fr}
  .scene-pair .scene-photo{height:220px}
  .scene-photo-live{height:220px}
  .voice blockquote{font-size:25px;line-height:1.8}
  .sound-toggle{right:14px;bottom:14px;min-height:38px;padding:0 12px;font-size:9px}
  .comments-proof{margin-top:34px}.comments-proof img{max-height:270px}
  .booking-meta{grid-template-columns:1fr}
  .ticket{padding:27px 24px}
  .ticket-row{align-items:flex-start;flex-direction:column;gap:4px}
  .ticket-row span{text-align:left}
  .faq summary{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .sound-toggle-icon:after{animation:none}
}
