
:root{--bg:#F6E6E9;--ink:#221114;--muted:#6A444A;--accent:#B30F3A;
--panel:#FDFAFA;--line:#EAD7DA;--rad:4px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
line-height:1.78;-webkit-font-smoothing:antialiased}
h1,h2,h3,.headline{font-family:var(--display);margin:0 0 .5em;line-height:1.08;letter-spacing:.015em;}
a{color:inherit}
.inner{max-width:1360px;margin:0 auto;padding:0 22px}
section{padding:104px 0}
.tiles{display:grid;grid-template-columns:1fr 1.6fr;gap:26px}
.note{padding:24px;border-radius:var(--rad);border-bottom:3px solid var(--accent);background:var(--panel);}
ul.tiles,ul.snapshots,ul.banner-facts{list-style:none;padding:0;margin:0}
.note dl,.note dt,.note dd{margin:0}
.note dt{font-family:var(--display);font-size:1.05rem;margin-bottom:6px}
.note dd{color:var(--muted)}
.banner-facts dl{margin:0}
.banner-facts dt{font-size:clamp(1.2rem,2.4vw,1.9rem);color:var(--accent);font-weight:400;margin:0}
.banner-facts dd{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.banner-facts li{background:var(--bg);padding:18px 14px;list-style:none}
.snapshots li{list-style:none}

.kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);
display:block;margin-bottom:14px}
.teaser{color:var(--muted);font-size:1.06rem;max-width:62ch}
.button{display:inline-block;padding:14px 26px;font-size:11px;letter-spacing:.2em;border-radius:var(--rad);
text-transform:uppercase;text-decoration:none;border:1px solid var(--accent);color:var(--accent)}
.button.main{background:var(--accent);color:var(--bg);border-color:var(--accent)}
img{max-width:100%;display:block;border-radius:var(--rad)}
figure{margin:0}
table{width:100%;border-collapse:collapse}
td,th{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
dl{margin:0} dt{font-weight:600;margin-top:18px} dd{margin:6px 0 0;color:var(--muted)}
h1{font-size:clamp(2.0rem,4.6vw,3.4rem)}
.banner{background:#FDFAFA;border-left:14px solid #B30F3A;--panel:#F6E6E9}.banner .inner{padding-left:clamp(20px,4vw,64px)}
h2{font-size:clamp(1.4rem,2.8vw,2.1rem)}
section+section{position:relative}section+section::before{content:'';position:absolute;top:0;left:0;width:56px;height:3px;background:var(--accent)}
main>section:nth-child(even){background:var(--panel)}
@media(max-width:860px){.tiles{grid-template-columns:1fr}}
.topbar{position:relative;z-index:5}
.topbar-inner{display:flex;align-items:center;gap:22px;padding:18px 22px}
.topbar .logo{font-size:1.15rem;text-decoration:none;letter-spacing:.02em}
.topbar nav{display:flex;gap:18px;flex-wrap:wrap}
.topbar nav a{font-size:13px;text-decoration:none;color:var(--muted)}
.topbar nav a:hover{color:var(--ink)}
.adult-only{border:1px solid var(--accent);color:var(--accent);font-size:11px;padding:3px 8px;letter-spacing:.1em;border-radius:var(--rad)}
.topbar-split{box-shadow:0 1px 0 var(--line)}
.topbar-split .topbar-inner{justify-content:space-between}
.topbar-split nav{flex:1}
.topbar-split nav:last-of-type{justify-content:flex-end}
.topbar-split .logo{font-size:1.35rem}
.topbar-split nav a{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.topbar-rail{border-left:6px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%)}
.topbar-rail .topbar-links{margin-left:auto}
.topbar-rail .adult-only{margin-left:14px}
.topbar-rail .logo{font-size:1.45rem;font-weight:700}
.topbar-tickbar{background:var(--accent);color:var(--bg);font-size:11px;letter-spacing:.16em;
text-transform:uppercase;padding:7px 22px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.banner{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(40px,6vw,88px)}
.banner .reserve{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.banner figure{margin:0}
.banner-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:34px}
.banner-facts>div{background:var(--bg);padding:18px 14px}
.banner-facts b{display:block;font-size:clamp(1.2rem,2.4vw,1.9rem);color:var(--accent)}
.banner-facts span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.banner-stagger .stagger-words{max-width:66ch;margin:0 auto;text-align:center}
.banner-stagger .stagger-words .teaser{margin:0 auto}
.banner-stagger .stagger-words .reserve{justify-content:center}
.banner-stagger .stagger-band{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;margin-top:clamp(26px,4vw,50px);align-items:end}
.banner-stagger .stagger-band img{aspect-ratio:4/3;object-fit:cover;width:100%}
.banner-stagger .stagger-band img:nth-child(2){aspect-ratio:4/5}
@media(max-width:860px){
.banner-ledge,.banner-index,.banner-pillar,.banner-cascade,.banner-plate,.banner-lantern,
.banner-gazette .gazette-split,.banner-tape .tape-split,.banner-reef .reef-columns,.banner-dial,
.banner-frame,.banner-arch,.banner-banner .banner-bottom,.banner-stagger .stagger-band{grid-template-columns:1fr}
.banner-mural{min-height:auto;display:block}
.banner-mural>img{position:relative;height:240px;margin-bottom:18px}
.banner-mural .mural-panel{max-width:100%}
.banner-pillar .pillar-stripe{min-height:6px}
.banner-atrium .atrium-quad{grid-template-columns:repeat(2,1fr)}
.banner-alcove{min-height:auto;display:block}
.banner-alcove .alcove-photo{position:relative;width:100%;height:260px;margin-top:22px}
.banner-alcove .alcove-body{max-width:100%}
.banner-curtain .curtain-plate{max-width:100%;margin-top:-32px}
.banner-cascade h1,.banner-cascade .teaser,.banner-cascade .reserve{padding-left:0}
.banner-column,.banner-circle,.banner-stripe,.banner-triptych,.banner-sash,.banner-stripe .stripe-shots{grid-template-columns:1fr}
.banner-column .column-words{padding-left:0}.banner-column .column-upright{position:static;writing-mode:horizontal-tb;transform:none;border-right:none;border-bottom:2px solid var(--accent);display:inline-block;padding:0 0 4px;margin-bottom:12px}
.banner-ticket .ticket-plate{margin:-30px 0 0;max-width:100%}
.banner-poster .poster-overlay{position:relative;max-width:100%;padding:16px 0 0;border-radius:0}
.banner-stripe .stripe-shots img:last-child{margin-top:0}
.banner-billboard .billboard-box{position:relative;left:0;top:0;max-width:100%;margin-top:-40px}
.banner-billboard figure img{min-height:0}
}
.duo{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,54px);align-items:start}
.duo+.tiles{margin-top:34px}
.duo img{aspect-ratio:4/3;object-fit:cover;width:100%}
.snapshots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.snapshots img{aspect-ratio:1/1;object-fit:cover;width:100%}
.snapshots-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:minmax(140px,auto);gap:12px}
.snapshots-mosaic figure:first-child{grid-column:span 2;grid-row:span 2}
.snapshots-mosaic figure:nth-child(4){grid-column:span 2}
.snapshots-mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;min-height:140px}
.snapshots-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.snapshots-strip figure{flex:0 0 min(340px,72vw);scroll-snap-align:start}
.snapshots-strip img{aspect-ratio:4/5;object-fit:cover;width:100%}
.snapshots-duo{columns:2;gap:14px}
.snapshots-duo figure{break-inside:avoid;margin-bottom:14px}
.snapshots-duo img{width:100%;aspect-ratio:auto}
.program-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.program-cards .note b{display:block;color:var(--accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.program-cards .note i{font-style:normal;display:block;font-family:var(--display);font-size:1.15rem;margin:6px 0}
.program-rows{display:grid;gap:0}
.program-rows>div{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;
padding:12px 0;border-bottom:1px solid var(--line)}
.program-rows b{color:var(--accent);font-weight:600}
.program-rows span{color:var(--muted)}
.q-and-a-accordion details{border-bottom:1px solid var(--line);padding:12px 0}
.q-and-a-accordion summary{cursor:pointer;font-family:var(--display);font-size:1.05rem;list-style:none}
.q-and-a-accordion summary::-webkit-details-marker{display:none}
.q-and-a-accordion summary::after{content:'+';float:right;color:var(--accent)}
.q-and-a-accordion details[open] summary::after{content:'–'}
.q-and-a-accordion p{color:var(--muted);margin:.6em 0 0}
.q-and-a-twocol{columns:2;gap:clamp(24px,4vw,52px)}
.q-and-a-twocol div{break-inside:avoid;margin-bottom:18px}
.q-and-a-twocol h3{font-size:1rem;margin-bottom:.35em}
.q-and-a-twocol p{color:var(--muted);margin:0}
.rules-num{list-style:none;counter-reset:r;padding:0;margin:0;display:grid;gap:14px}
.rules-num li{counter-increment:r;display:grid;grid-template-columns:auto 1fr;gap:16px;color:var(--muted)}
.rules-num li::before{content:counter(r,decimal-leading-zero);color:var(--accent);
font-family:var(--display);font-size:1.1rem}
.place-band{display:flex;flex-wrap:wrap;gap:clamp(18px,4vw,56px);border-top:2px solid var(--accent);
border-bottom:1px solid var(--line);padding:22px 0}
.place-band div{min-width:180px}
.place-band span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.place-plate{border:1px solid var(--line);border-radius:var(--rad);padding:clamp(20px,3vw,40px);
display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);background:var(--panel)}
.place-plate h3{font-size:.95rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}
.duo-left{direction:rtl}
.duo-left>*{direction:ltr}
.duo-top{display:block}
.duo-top figure{margin-bottom:clamp(18px,3vw,34px)}
.duo-top img{aspect-ratio:21/9;width:100%;object-fit:cover}
@media(max-width:860px){.snapshots-mosaic,.q-and-a-twocol,.snapshots-duo{grid-template-columns:1fr;columns:1}
.place-plate{grid-template-columns:1fr}}
.dos-donts{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.dos-donts li{padding-left:22px;position:relative;color:var(--muted)}
.dos-donts li::before{content:'';position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.reserve-band{text-align:center;border:1px solid var(--line);border-radius:var(--rad);padding:clamp(28px,5vw,64px)}
.reserve-band .teaser{margin:0 auto 26px}
.reserve-row{display:grid;grid-template-columns:1.4fr auto;gap:clamp(20px,4vw,54px);align-items:center;
border-top:2px solid var(--accent);padding-top:clamp(22px,3vw,40px)}
.reserve-solid{background:var(--accent);color:var(--bg);border-radius:var(--rad);
padding:clamp(28px,5vw,64px);text-align:center}
.reserve-solid .teaser,.reserve-solid h2,.reserve-solid .kicker{color:var(--bg)}
.reserve-solid .teaser{opacity:.9;margin:0 auto 24px}
.reserve-solid .button{background:var(--bg);color:var(--accent);border-color:var(--bg)}
.reserve-phone{text-align:center}
.reserve-phone .reserve-number{font-family:var(--display);font-size:clamp(1.8rem,6vw,3.6rem);
color:var(--accent);line-height:1.1;margin:6px 0 14px;text-decoration:none;display:block}
.reserve-phone .teaser{margin:0 auto 20px}
.reserve-card{display:grid;grid-template-columns:1.2fr .8fr;gap:0;border:1px solid var(--line);
border-radius:var(--rad);overflow:hidden}
.reserve-card>div{padding:clamp(22px,3.4vw,44px)}
.reserve-card .reserve-side{background:var(--panel);border-left:1px solid var(--line)}
.reserve-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,52px);align-items:end}
.reserve-split .reserve-right{text-align:right}
.reserve-quiet{max-width:64ch}
.reserve-quiet .button{border:none;padding-left:0;text-decoration:underline;text-underline-offset:6px}
.reserve-ticket{border:2px dashed var(--accent);border-radius:var(--rad);padding:clamp(24px,4vw,52px);
position:relative;text-align:center;max-width:780px;margin:0 auto}
.reserve-ticket::before,.reserve-ticket::after{content:'';position:absolute;top:50%;width:26px;height:26px;
background:var(--bg);border:2px dashed var(--accent);border-radius:50%;transform:translateY(-50%)}
.reserve-ticket::before{left:-14px;clip-path:inset(0 0 0 50%)}
.reserve-ticket::after{right:-14px;clip-path:inset(0 50% 0 0)}
.reserve-ticket .teaser{margin:0 auto 22px}
@media(max-width:860px){.reserve-row,.reserve-card,.reserve-split{grid-template-columns:1fr}
.reserve-split .reserve-right{text-align:left}}
.cta-block{padding-bottom:clamp(56px,8vw,110px)}
.page-top{padding-bottom:clamp(18px,2vw,26px)}
@media(max-width:860px){.duo{grid-template-columns:1fr}.snapshots{grid-template-columns:repeat(2,1fr)}}
.footer{border-top:1px solid var(--line);padding:clamp(38px,5vw,70px) 0 34px;color:var(--muted);font-size:14px}
.footer .logo{color:var(--ink);font-size:1.1rem;display:block;margin-bottom:10px}
.footer nav{display:flex;flex-wrap:wrap;gap:14px}
.footer nav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.footer nav a:hover{color:var(--ink)}
.footer-fine{margin-top:12px;font-size:12px;opacity:.85}
.footer-legal{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.footer-legal p{margin:.3em 0}
.opening-hours{display:grid;gap:6px;margin-top:10px;font-size:13px;min-width:220px}
.opening-hours div{display:flex;justify-content:space-between;gap:18px;width:100%;border-bottom:1px dotted var(--line);padding-bottom:4px}
.opening-hours b{color:var(--ink);font-weight:600;white-space:nowrap}
.footer-center{text-align:center}
.footer-center nav{justify-content:center}
.footer-center .opening-hours{max-width:340px;margin-left:auto;margin-right:auto}
.footer-halves{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.footer-columns-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px}

.end-block-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,3vw,44px);align-items:start}
.end-block-card-inner{border:1px solid var(--line);border-radius:var(--rad);padding:22px;background:var(--panel)}
.end-block-card-inner p{margin:.35em 0}
.end-block-card-side nav{flex-direction:column;gap:8px}

.end-block-rule{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,72px)}
.end-block-rule .logo{font-size:clamp(1.3rem,3vw,2.2rem);letter-spacing:.04em;text-transform:uppercase}
.end-block-rule-body{max-width:62ch}
.end-block-rule-body .footer-legal{border-top:none;padding-top:8px;margin-top:14px}

.end-block-sign{text-align:center}
.end-block-sign nav{justify-content:center}
.end-block-monogram{font-family:var(--display);font-size:clamp(2.4rem,7vw,4.6rem);line-height:1;
color:var(--accent);border:2px solid var(--accent);border-radius:50%;width:1.9em;height:1.9em;
display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.footer-line{margin:.4em 0}
.end-block-sign .opening-hours{max-width:340px;margin:12px auto 0}
.end-block-sign .opening-hours div{justify-content:center;gap:14px}

.end-block-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,4vw,52px)}
.end-block-ledger dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.end-block-ledger dt{color:var(--accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
margin:0;align-self:center}
.end-block-ledger dd{margin:0;color:var(--muted)}
.end-block-ledger nav{flex-direction:column;gap:8px}

.end-block-band-top{background:var(--accent);color:var(--bg);display:flex;gap:clamp(16px,4vw,52px);
justify-content:center;flex-wrap:wrap;padding:10px 16px;font-size:11px;letter-spacing:.18em;
text-transform:uppercase;margin-bottom:clamp(22px,3vw,38px)}
.end-block-band-body{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.end-block-band-body nav{gap:16px}

.end-block-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(22px,4vw,56px)}
.footer-numbers{list-style:none;counter-reset:n;margin:0;padding:0;columns:2;gap:18px}
.footer-numbers li{counter-increment:n;margin-bottom:8px;break-inside:avoid}
.footer-numbers li::before{content:counter(n,decimal-leading-zero);color:var(--accent);
font-size:11px;margin-right:8px;letter-spacing:.1em}
.footer-numbers a{text-decoration:none;color:var(--muted)}

.end-block-mono{max-width:74ch}
.footer-flat{margin:.5em 0;line-height:2}
.footer-flat a{text-decoration:none;color:var(--muted)}
.end-block-mono .logo{font-size:1rem;letter-spacing:.22em;text-transform:uppercase}

.end-block-plaque{text-align:center}
.end-block-plaque nav{justify-content:center}
.footer-plate{display:inline-block;border:1px solid var(--accent);border-radius:var(--rad);
padding:16px 26px;margin:6px 0 16px;min-width:min(420px,90%)}
.footer-plate p{margin:.3em 0;color:var(--ink)}
.end-block-plaque .opening-hours{max-width:320px;margin:8px auto 0}

.end-block-postal{display:grid;grid-template-columns:auto 1fr;gap:clamp(22px,4vw,56px);align-items:start}
.end-block-postal .postal-mark{font-family:var(--display);font-size:clamp(2rem,6vw,3.6rem);line-height:1;
color:var(--accent);letter-spacing:.04em}
.end-block-postal .postal-headline{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:6px}

.end-block-wharf{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.end-block-wharf>*{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.end-block-wharf .dot{color:var(--accent)}

.end-block-column{max-width:52ch;margin:0 auto;text-align:center}
.end-block-column nav{justify-content:center}
.end-block-column .opening-hours{max-width:300px;margin:12px auto 0}

.end-block-tier-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
padding-bottom:16px;border-bottom:1px solid var(--line)}
.end-block-tier-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:16px}
@media(max-width:860px){.end-block-postal{grid-template-columns:1fr}
.footer-halves,.footer-grid,.footer-columns-row,.footer-stack .footer-pair,.end-block-card,.end-block-rule,
.end-block-ledger,.end-block-band-body,.end-block-index{grid-template-columns:1fr}.footer-numbers{columns:1}}
.extra{padding:clamp(46px,6vw,86px) 0}
.extra b,.extra span,.extra li{hyphens:auto;overflow-wrap:break-word}
.tc-cap,.mt-cap,.zn-cap,.cs-cap,.tk-cap,.hg-cap{margin:30px 0 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.dcard{position:relative;max-width:560px;margin:46px 0 22px 34px}
.tc-sheet{position:relative;padding:26px clamp(18px,4vw,38px) 14px;background:var(--panel);border:2px solid var(--ink);border-radius:4px 4px 16px 16px;outline:1px solid var(--line);outline-offset:-9px}
.tc-sheet::before{content:'';position:absolute;left:-1px;top:-1px;width:26px;height:26px;background:linear-gradient(135deg,var(--bg) 49%,var(--ink) 49% 55%,var(--panel) 55%);border-radius:4px 0 0 0}
.tc-title{display:flex;align-items:center;gap:14px;margin:0 0 6px;font-style:normal;font-family:var(--display);font-size:1.18rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;justify-content:center}
.tc-title::before,.tc-title::after{content:'';flex:1;height:1px;background:var(--ink);max-width:70px}
.tc-sheet ol{list-style:none;margin:0;padding:0;counter-reset:tc}
.tc-sheet li{counter-increment:tc;position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 16px;align-items:center;padding:15px 0;border-top:2px dotted var(--line)}
.tc-sheet li:first-child{border-top:none}
.tc-sheet li::before{content:counter(tc);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid var(--ink);border-radius:50%;font-family:var(--display);font-size:1.05rem;background:var(--bg);color:var(--ink)}
.tc-text b{display:block;font-family:var(--display);font-size:1.08rem;line-height:1.2}
.tc-text span{display:block;margin-top:4px;font-size:.9rem;color:var(--muted)}
.tc-cord{position:absolute;left:10px;top:-34px;width:84px;height:60px;border:3px solid var(--accent);border-top:none;border-radius:0 0 50% 50%/0 0 100% 100%}
.tc-cord::after{content:'';position:absolute;right:-9px;top:34px;width:14px;height:26px;background:var(--accent);border-radius:30% 30% 50% 50%}
.tc-pencil{position:absolute;right:-26px;top:18%;width:132px;height:11px;background:linear-gradient(90deg,var(--ink) 0 14%,var(--accent) 14% 86%,var(--ink) 86%);border-radius:2px 6px 6px 2px;transform:rotate(68deg);transform-origin:100% 50%;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}
.metro{display:grid;grid-template-columns:minmax(0,1fr) clamp(150px,22vw,210px) minmax(0,1fr);gap:0 clamp(18px,3vw,38px);align-items:center;max-width:960px;margin:34px 0 18px}
.mt-col{display:grid;gap:clamp(60px,9vw,96px)}
.mt-mark{position:relative;padding:12px 0}
.mt-l .mt-mark{text-align:right;padding-right:26px}
.mt-r .mt-mark{padding-left:26px}
.mt-mark::before{content:'';position:absolute;top:50%;width:18px;height:2px;background:var(--ink)}
.mt-l .mt-mark::before{right:0}.mt-r .mt-mark::before{left:0}
.mt-mark::after{content:'';position:absolute;top:50%;width:9px;height:9px;margin-top:-3.5px;border-radius:50%;background:var(--accent)}
.mt-l .mt-mark::after{right:-4px}.mt-r .mt-mark::after{left:-4px}
.mt-mark b{display:block;font-family:var(--display);font-size:1.2rem;line-height:1.2;font-style:italic}
.mt-mark span{display:block;margin-top:5px;font-size:.9rem;color:var(--muted)}
.mt-body{position:relative;height:320px;background:var(--ink);clip-path:polygon(24% 0,76% 0,100% 100%,0 100%)}
.mt-body::before{content:'';position:absolute;left:8%;right:8%;top:5px;bottom:9px;background:var(--panel);clip-path:polygon(24.5% 0,75.5% 0,100% 100%,0 100%)}
.mt-body::after{content:'';position:absolute;left:44%;width:12%;top:20px;bottom:92px;background:repeating-linear-gradient(180deg,var(--line) 0 2px,transparent 2px 14px)}
.mt-rod{position:absolute;left:50%;bottom:62px;width:5px;height:244px;margin-left:-2px;background:var(--ink);transform-origin:50% 100%;transform:rotate(-15deg);z-index:2;border-radius:2px}
.mt-weight{position:absolute;left:-10px;top:78px;width:25px;height:30px;background:var(--accent);border:3px solid var(--ink);border-radius:3px;display:block}
.mt-plate{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;padding:6px 12px;max-width:80%;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-align:center;background:var(--ink);color:var(--bg);border:2px solid var(--panel)}
.orch{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 clamp(26px,5vw,60px);align-items:center;max-width:980px;margin:34px 0 18px}
.zn-plan{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;border-bottom:3px solid var(--ink)}
.zn-plan i{position:absolute;inset:0;display:block}
.zn-d4{background:radial-gradient(ellipse 50% 100% at 50% 100%,var(--accent) 0 97%,var(--ink) 97% 100%,transparent calc(100% + .5px));opacity:.1}
.zn-d3{background:radial-gradient(ellipse 37.5% 75% at 50% 100%,var(--accent) 0 97%,var(--ink) 97% 100%,transparent calc(100% + .5px));opacity:.14}
.zn-d2{background:radial-gradient(ellipse 25% 50% at 50% 100%,var(--accent) 0 97%,var(--ink) 97% 100%,transparent calc(100% + .5px));opacity:.2}
.zn-d1{background:radial-gradient(ellipse 12.5% 25% at 50% 100%,var(--accent) 0 97%,var(--ink) 97% 100%,transparent calc(100% + .5px));opacity:.32}
.zn-pod{inset:auto 0 -6px 0!important;margin:auto;width:26px;height:26px;border-radius:50%;background:var(--ink);border:4px solid var(--bg)}
.zn-n{position:absolute;left:50%;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--display);font-size:.9rem;font-weight:400}
.zn-n1{bottom:calc(12.5% + 8px)}.zn-n2{bottom:calc(37.5% - 6px)}.zn-n3{bottom:calc(62.5% - 8px)}.zn-n4{bottom:calc(87.5% - 14px)}
.zn-sign{display:block;margin:0 0 14px;font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.zn-list{list-style:none;margin:0;padding:0;counter-reset:zn}
.zn-list li{counter-increment:zn;position:relative;padding:13px 0 13px 46px;border-top:1px solid var(--line)}
.zn-list li:first-child{border-top:none}
.zn-list li::before{content:counter(zn);position:absolute;left:0;top:13px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--display);font-size:.92rem}
.zn-list b{display:block;font-family:var(--display);font-size:1.08rem;line-height:1.2}
.zn-list span{display:block;margin-top:4px;font-size:.9rem;color:var(--muted)}
.chand{position:relative;max-width:960px;margin:34px 0 18px}
.cs-chain{display:block;width:3px;height:90px;margin:0 auto;background:repeating-linear-gradient(180deg,var(--ink) 0 8px,transparent 8px 11px);position:relative}
.cs-chain::before{content:'';position:absolute;left:50%;top:-4px;width:64px;height:12px;margin-left:-32px;background:var(--accent);border-radius:34px 34px 0 0}
.cs-tier{position:relative;display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;align-items:end}
.cs-flame{display:block;position:relative;width:8px;height:34px;margin-bottom:-2px;background:var(--ink);border-radius:2px 2px 0 0;z-index:1}
.cs-flame::before{content:'';position:absolute;left:50%;bottom:100%;width:12px;height:22px;margin:0 0 3px -6px;background:var(--accent);border-radius:50% 50% 50% 50%/70% 70% 30% 30%}
.cs-ring{grid-column:1/-1;display:block;width:100%;height:20px;margin-top:-2px;background:var(--panel);border:3px solid var(--ink);border-radius:50%}
.cs-plate{position:absolute;left:50%;top:100%;transform:translate(-50%,-14px);z-index:2;padding:6px 14px;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;background:var(--ink);color:var(--bg)}
.cs-drops{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(10px,2vw,22px);padding-top:26px}
.cs-drop{position:relative;margin-top:34px;padding:16px 14px 14px;background:var(--panel);border:2px solid var(--ink);border-radius:var(--rad);text-align:center}
.cs-drop::before{content:'';position:absolute;left:50%;bottom:100%;width:0;height:40px;margin-left:-1px;border-left:2px dotted var(--ink)}
.cs-drop::after{content:'';position:absolute;left:50%;top:-8px;width:12px;height:12px;margin-left:-6px;background:var(--accent);border:2px solid var(--ink);transform:rotate(45deg)}
.cs-drop b{display:block;font-family:var(--display);font-size:1.06rem;line-height:1.2;margin-top:4px}
.cs-drop span{display:block;margin-top:5px;font-size:.88rem;color:var(--muted)}
.mirror{position:relative;max-width:700px;margin:34px 0 18px 54px}
.tk-frame{position:relative;padding:16px 16px 22px;background:var(--accent);border:3px solid var(--ink);border-radius:50% 50% 8px 8px/150px 150px 8px 8px}
.tk-glass{position:relative;padding:clamp(70px,13vw,120px) clamp(22px,5vw,46px) 26px;background:repeating-linear-gradient(115deg,transparent 0 46px,var(--line) 46px 52px,transparent 52px 130px),var(--panel);border:3px solid var(--ink);border-radius:50% 50% 4px 4px/136px 136px 4px 4px}
.tk-glass ul{list-style:none;margin:0;padding:0}
.tk-glass li{padding:13px 0 13px 26px;position:relative;border-top:1px solid var(--line)}
.tk-glass li:first-child{border-top:none}
.tk-glass li::before{content:'';position:absolute;left:4px;top:23px;width:9px;height:9px;background:var(--accent);border:2px solid var(--ink);transform:rotate(45deg)}
.tk-glass b{display:block;font-family:var(--display);font-size:1.08rem;line-height:1.2}
.tk-glass span{display:block;margin-top:4px;font-size:.9rem;color:var(--muted)}
.tk-plate{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);padding:6px 16px;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;background:var(--ink);color:var(--bg)}
.tk-sconce{position:absolute;top:44%;width:16px;height:66px;background:var(--ink);border-radius:3px}
.tk-sconce::before{content:'';position:absolute;left:50%;bottom:100%;width:12px;height:22px;margin:0 0 3px -6px;background:var(--accent);border-radius:50% 50% 50% 50%/70% 70% 30% 30%}
.tk-sconce::after{content:'';position:absolute;top:34px;width:34px;height:34px;border:3px solid var(--ink);border-top:none;border-radius:0 0 40px 40px}
.tk-s1{left:-40px}.tk-s1::after{left:100%;margin-left:-3px;border-left:none;border-radius:0 0 40px 0}
.tk-s2{right:-40px}.tk-s2::after{right:100%;margin-right:-3px;border-right:none;border-radius:0 0 0 40px}
.fiddle{display:grid;grid-template-columns:clamp(54px,8vw,82px) minmax(0,1fr) clamp(96px,16vw,170px);align-items:stretch;max-width:980px;margin:34px 0 18px}
.hg-head{position:relative;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-start;padding:14px 0;background:var(--ink);border-radius:30px 0 0 30px}
.hg-head i{display:block;width:30px;height:12px;margin-left:-10px;background:var(--accent);border:2px solid var(--panel);border-radius:6px}
.hg-head i:nth-child(even){margin-left:6px}
.hg-board{background:var(--ink);color:var(--bg);padding:6px 0 6px clamp(18px,3vw,34px);border-left:6px solid var(--accent)}
.hg-string{position:relative;padding:20px clamp(12px,3vw,34px) 14px 0;border-bottom:2px solid var(--bg)}
.hg-string:nth-child(1){border-bottom-width:4px}.hg-string:nth-child(2){border-bottom-width:3px}.hg-string:nth-child(4){border-bottom-width:1px}
.hg-string:last-child{margin-bottom:6px}
.hg-string b{display:block;font-family:var(--display);font-size:1.08rem;line-height:1.2;color:var(--bg)}
.hg-string span{display:block;margin-top:4px;font-size:.9rem;color:var(--bg);opacity:.82}
.hg-body{position:relative;margin-left:-1px;background:var(--accent);border:3px solid var(--ink);border-left:none;border-radius:0 70px 70px 0/0 56px 56px 0;box-shadow:inset 0 0 0 5px var(--panel)}
.hg-body::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--bg) 0 3px,transparent 3px 36px)}
.hg-f{position:absolute;top:18%;width:14px;height:34%;border:3px solid var(--ink);border-radius:50%;background:var(--ink)}
.hg-f1{left:28%;transform:rotate(14deg)}.hg-f2{right:20%;transform:rotate(-14deg)}
.hg-bridge{position:absolute;left:46%;top:14%;bottom:14%;width:7px;background:var(--bg);border:2px solid var(--ink);border-radius:2px}
.hg-sign{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);max-width:84%;padding:4px 8px;text-align:center;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:var(--bg)}
@media(max-width:860px){.dcard{margin-left:18px}.tc-pencil{display:none}
.metro{grid-template-columns:1fr;gap:20px}.mt-body{grid-row:1;width:190px;height:290px;margin:0 auto}.mt-col{gap:12px}.mt-l .mt-mark,.mt-r .mt-mark{text-align:left;padding:12px 0 12px 26px;border-top:1px solid var(--line)}
.mt-l .mt-mark::before,.mt-r .mt-mark::before{left:0;right:auto;width:12px}.mt-l .mt-mark::after,.mt-r .mt-mark::after{left:-4px;right:auto}
.orch{grid-template-columns:1fr;gap:28px}
.chand .cs-chain,.cs-tier{display:none}.cs-drops{grid-template-columns:1fr 1fr;gap:34px 14px;padding-top:0}.cs-drop::before{height:22px}.cs-drop{margin-top:8px}
.mirror{margin-left:0}.tk-sconce{display:none}.tk-frame{border-radius:50% 50% 8px 8px/90px 90px 8px 8px}.tk-glass{border-radius:50% 50% 4px 4px/78px 78px 4px 4px;padding-top:84px}
.fiddle{grid-template-columns:minmax(0,1fr)}.hg-head,.hg-body{display:none}.hg-board{padding-left:20px;border-radius:8px}}
@media(max-width:520px){.cs-drops{grid-template-columns:1fr}.tc-sheet{padding-left:16px;padding-right:16px}}
.banner{position:relative}.banner::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0px,#B30F3A08 0px,#B30F3A08 154px,transparent 154px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 0px,#B30F3A3a 0px,#B30F3A3a 1px,transparent 1px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 22px,#B30F3A3a 22px,#B30F3A3a 23px,transparent 23px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 44px,#B30F3A3a 44px,#B30F3A3a 45px,transparent 45px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 66px,#B30F3A3a 66px,#B30F3A3a 67px,transparent 67px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 88px,#B30F3A3a 88px,#B30F3A3a 89px,transparent 89px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 110px,#B30F3A3a 110px,#B30F3A3a 111px,transparent 111px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 132px,#B30F3A3a 132px,#B30F3A3a 133px,transparent 133px) 0px 0/64px 154px repeat-y,linear-gradient(180deg,transparent 15px,#B30F3A4a 15px,#B30F3A4a 29px,transparent 29px) 0px 0/38px 154px repeat-y,linear-gradient(180deg,transparent 37px,#B30F3A4a 37px,#B30F3A4a 51px,transparent 51px) 0px 0/38px 154px repeat-y,linear-gradient(180deg,transparent 81px,#B30F3A4a 81px,#B30F3A4a 95px,transparent 95px) 0px 0/38px 154px repeat-y,linear-gradient(180deg,transparent 103px,#B30F3A4a 103px,#B30F3A4a 117px,transparent 117px) 0px 0/38px 154px repeat-y,linear-gradient(180deg,transparent 125px,#B30F3A4a 125px,#B30F3A4a 139px,transparent 139px) 0px 0/38px 154px repeat-y,linear-gradient(180deg,transparent 0px,#B30F3A08 0px,#B30F3A08 154px,transparent 154px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 0px,#B30F3A3a 0px,#B30F3A3a 1px,transparent 1px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 22px,#B30F3A3a 22px,#B30F3A3a 23px,transparent 23px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 44px,#B30F3A3a 44px,#B30F3A3a 45px,transparent 45px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 66px,#B30F3A3a 66px,#B30F3A3a 67px,transparent 67px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 88px,#B30F3A3a 88px,#B30F3A3a 89px,transparent 89px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 110px,#B30F3A3a 110px,#B30F3A3a 111px,transparent 111px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 132px,#B30F3A3a 132px,#B30F3A3a 133px,transparent 133px) right 0px top 0/64px 154px repeat-y,linear-gradient(180deg,transparent 15px,#B30F3A4a 15px,#B30F3A4a 29px,transparent 29px) right 0px top 0/38px 154px repeat-y,linear-gradient(180deg,transparent 37px,#B30F3A4a 37px,#B30F3A4a 51px,transparent 51px) right 0px top 0/38px 154px repeat-y,linear-gradient(180deg,transparent 81px,#B30F3A4a 81px,#B30F3A4a 95px,transparent 95px) right 0px top 0/38px 154px repeat-y,linear-gradient(180deg,transparent 103px,#B30F3A4a 103px,#B30F3A4a 117px,transparent 117px) right 0px top 0/38px 154px repeat-y,linear-gradient(180deg,transparent 125px,#B30F3A4a 125px,#B30F3A4a 139px,transparent 139px) right 0px top 0/38px 154px repeat-y}.banner .inner{position:relative;z-index:2}