
:root{--bg:#EBF9F7;--ink:#122521;--muted:#506A65;--accent:#0B5F80;
--panel:#F9FDFC;--line:#DBE8E5;--rad:22px}
*{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,.type-display{font-family:var(--display);margin:0 0 .5em;line-height:1.08;letter-spacing:-.01em;}
a{color:inherit}
.inner{max-width:1140px;margin:0 auto;padding:0 22px}
section{padding:104px 0}
.matrix{display:grid;grid-template-columns:1.6fr 1fr;gap:26px}
.item{padding:24px;border-radius:var(--rad);border-bottom:3px solid var(--accent);background:var(--panel);}
ul.matrix,ul.shots,ul.banner-facts{list-style:none;padding:0;margin:0}
.item dl,.item dt,.item dd{margin:0}
.item dt{font-family:var(--display);font-size:1.05rem;margin-bottom:6px}
.item 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}
.shots li{list-style:none}

.marker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);
display:block;margin-bottom:14px}
.intro-text{color:var(--muted);font-size:1.06rem;max-width:62ch}
.pill{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)}
.pill.loud{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.6rem,6.6vw,5.0rem)}
.banner{background:#F9FDFC;border-left:14px solid #0B5F80;--panel:#EBF9F7}.banner .inner{padding-left:clamp(20px,4vw,64px)}
h2{font-size:clamp(1.4rem,2.8vw,2.1rem)}


@media(max-width:860px){.matrix{grid-template-columns:1fr}}
.site-head{position:relative;z-index:5}
.site-head-inner{display:flex;align-items:center;gap:22px;padding:18px 22px}
.site-head .logo{font-size:1.15rem;text-decoration:none;letter-spacing:.02em}
.site-head nav{display:flex;gap:18px;flex-wrap:wrap}
.site-head nav a{font-size:13px;text-decoration:none;color:var(--muted)}
.site-head nav a:hover{color:var(--ink)}
.adults{border:1px solid var(--accent);color:var(--accent);font-size:11px;padding:3px 8px;letter-spacing:.1em;border-radius:var(--rad)}
.site-head-split{box-shadow:0 1px 0 var(--line)}
.site-head-split .site-head-inner{justify-content:space-between}
.site-head-split nav{flex:1}
.site-head-split nav:last-of-type{justify-content:flex-end}
.site-head-split .logo{font-size:1.35rem}
.site-head-split nav a{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.site-head-boxed{background:var(--panel);border-bottom:1px solid var(--line)}
.site-head-boxed .site-head-inner{padding:14px 22px}
.site-head-boxed .site-head-links{margin-left:auto}
.site-head-boxed nav a{padding:8px 12px;border:1px solid transparent;border-radius:var(--rad)}
.site-head-boxed nav a:hover{border-color:var(--line)}
.site-head-boxed .pill{margin-left:16px;padding:10px 18px}
.site-head-boxed .logo{text-transform:uppercase;letter-spacing:.14em;font-size:1rem}
.site-head-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 .callout{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-pillar{display:grid;grid-template-columns:6px 1.25fr .75fr;gap:clamp(20px,3vw,44px);align-items:center}
.banner-pillar .pillar-bar{background:var(--accent);height:100%;min-height:220px}
.banner-pillar img{aspect-ratio:3/4;object-fit:cover;width:100%}
@media(max-width:860px){
.banner-ledge,.banner-index,.banner-pillar,.banner-cascade,.banner-plate,.banner-lantern,
.banner-gazette .gazette-split,.banner-tape .tape-duo,.banner-reef .reef-split,.banner-dial,
.banner-frame,.banner-arch,.banner-banner .banner-main,.banner-stagger .stagger-reel{grid-template-columns:1fr}
.banner-mural{min-height:auto;display:block}
.banner-mural>img{position:relative;height:240px;margin-bottom:18px}
.banner-mural .mural-frame{max-width:100%}
.banner-pillar .pillar-bar{min-height:6px}
.banner-atrium .atrium-tiles{grid-template-columns:repeat(2,1fr)}
.banner-alcove{min-height:auto;display:block}
.banner-alcove .alcove-image{position:relative;width:100%;height:260px;margin-top:22px}
.banner-alcove .alcove-body{max-width:100%}
.banner-curtain .curtain-box{max-width:100%;margin-top:-32px}
.banner-cascade h1,.banner-cascade .intro-text,.banner-cascade .callout{padding-left:0}
.banner-column,.banner-circle,.banner-stripe,.banner-triptych,.banner-sash,.banner-stripe .stripe-pictures{grid-template-columns:1fr}
.banner-column .column-text{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-frame{margin:-30px 0 0;max-width:100%}
.banner-poster .poster-cover{position:relative;max-width:100%;padding:16px 0 0;border-radius:0}
.banner-stripe .stripe-pictures img:last-child{margin-top:0}
.banner-billboard .billboard-plate{position:relative;left:0;top:0;max-width:100%;margin-top:-40px}
.banner-billboard figure img{min-height:0}
}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,54px);align-items:start}
.split+.matrix{margin-top:34px}
.split img{aspect-ratio:4/3;object-fit:cover;width:100%}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.shots img{aspect-ratio:1/1;object-fit:cover;width:100%}
.shots-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:minmax(140px,auto);gap:12px}
.shots-mosaic figure:first-child{grid-column:span 2;grid-row:span 2}
.shots-mosaic figure:nth-child(4){grid-column:span 2}
.shots-mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;min-height:140px}
.shots-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.shots-strip figure{flex:0 0 min(340px,72vw);scroll-snap-align:start}
.shots-strip img{aspect-ratio:4/5;object-fit:cover;width:100%}
.shots-duo{columns:2;gap:14px}
.shots-duo figure{break-inside:avoid;margin-bottom:14px}
.shots-duo img{width:100%;aspect-ratio:auto}
.calendar-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.calendar-cards .item b{display:block;color:var(--accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.calendar-cards .item i{font-style:normal;display:block;font-family:var(--display);font-size:1.15rem;margin:6px 0}
.calendar-rows{display:grid;gap:0}
.calendar-rows>div{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;
padding:12px 0;border-bottom:1px solid var(--line)}
.calendar-rows b{color:var(--accent);font-weight:600}
.calendar-rows span{color:var(--muted)}
.help-accordion details{border-bottom:1px solid var(--line);padding:12px 0}
.help-accordion summary{cursor:pointer;font-family:var(--display);font-size:1.05rem;list-style:none}
.help-accordion summary::-webkit-details-marker{display:none}
.help-accordion summary::after{content:'+';float:right;color:var(--accent)}
.help-accordion details[open] summary::after{content:'–'}
.help-accordion p{color:var(--muted);margin:.6em 0 0}
.help-twocol{columns:2;gap:clamp(24px,4vw,52px)}
.help-twocol div{break-inside:avoid;margin-bottom:18px}
.help-twocol h3{font-size:1rem;margin-bottom:.35em}
.help-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}
.reach-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}
.reach-band div{min-width:180px}
.reach-band span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.reach-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)}
.reach-plate h3{font-size:.95rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}
.split-left{direction:rtl}
.split-left>*{direction:ltr}
.split-top{display:block}
.split-top figure{margin-bottom:clamp(18px,3vw,34px)}
.split-top img{aspect-ratio:21/9;width:100%;object-fit:cover}
@media(max-width:860px){.shots-mosaic,.help-twocol,.shots-duo{grid-template-columns:1fr;columns:1}
.reach-plate{grid-template-columns:1fr}}
.house-rules{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.house-rules li{padding-left:22px;position:relative;color:var(--muted)}
.house-rules li::before{content:'';position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.callout-band{text-align:center;border:1px solid var(--line);border-radius:var(--rad);padding:clamp(28px,5vw,64px)}
.callout-band .intro-text{margin:0 auto 26px}
.callout-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)}
.callout-solid{background:var(--accent);color:var(--bg);border-radius:var(--rad);
padding:clamp(28px,5vw,64px);text-align:center}
.callout-solid .intro-text,.callout-solid h2,.callout-solid .marker{color:var(--bg)}
.callout-solid .intro-text{opacity:.9;margin:0 auto 24px}
.callout-solid .pill{background:var(--bg);color:var(--accent);border-color:var(--bg)}
.callout-phone{text-align:center}
.callout-phone .callout-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}
.callout-phone .intro-text{margin:0 auto 20px}
.callout-card{display:grid;grid-template-columns:1.2fr .8fr;gap:0;border:1px solid var(--line);
border-radius:var(--rad);overflow:hidden}
.callout-card>div{padding:clamp(22px,3.4vw,44px)}
.callout-card .callout-side{background:var(--panel);border-left:1px solid var(--line)}
.callout-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,52px);align-items:end}
.callout-split .callout-right{text-align:right}
.callout-quiet{max-width:64ch}
.callout-quiet .pill{border:none;padding-left:0;text-decoration:underline;text-underline-offset:6px}
.callout-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}
.callout-ticket::before,.callout-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%)}
.callout-ticket::before{left:-14px;clip-path:inset(0 0 0 50%)}
.callout-ticket::after{right:-14px;clip-path:inset(0 50% 0 0)}
.callout-ticket .intro-text{margin:0 auto 22px}
@media(max-width:860px){.callout-row,.callout-card,.callout-split{grid-template-columns:1fr}
.callout-split .callout-right{text-align:left}}
.invite-block{padding-bottom:clamp(56px,8vw,110px)}
.opener{padding-bottom:clamp(18px,2vw,26px)}
@media(max-width:860px){.split{grid-template-columns:1fr}.shots{grid-template-columns:repeat(2,1fr)}}
.bottom{border-top:1px solid var(--line);padding:clamp(38px,5vw,70px) 0 34px;color:var(--muted);font-size:14px}
.bottom .logo{color:var(--ink);font-size:1.1rem;display:block;margin-bottom:10px}
.bottom nav{display:flex;flex-wrap:wrap;gap:14px}
.bottom nav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.bottom nav a:hover{color:var(--ink)}
.bottom-fine{margin-top:12px;font-size:12px;opacity:.85}
.bottom-legal{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.bottom-legal p{margin:.3em 0}
.hours-table{display:grid;gap:6px;margin-top:10px;font-size:13px;min-width:220px}
.hours-table div{display:flex;justify-content:space-between;gap:18px;width:100%;border-bottom:1px dotted var(--line);padding-bottom:4px}
.hours-table b{color:var(--ink);font-weight:600;white-space:nowrap}
.bottom-center{text-align:center}
.bottom-center nav{justify-content:center}
.bottom-center .hours-table{max-width:340px;margin-left:auto;margin-right:auto}
.bottom-halves{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.bottom-columns-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px}

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

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

.bottom-block-sign{text-align:center}
.bottom-block-sign nav{justify-content:center}
.bottom-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}
.bottom-line{margin:.4em 0}
.bottom-block-sign .hours-table{max-width:340px;margin:12px auto 0}
.bottom-block-sign .hours-table div{justify-content:center;gap:14px}

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

.bottom-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)}
.bottom-block-band-body{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,54px);align-items:start}
.bottom-block-band-body nav{gap:16px}

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

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

.bottom-block-plaque{text-align:center}
.bottom-block-plaque nav{justify-content:center}
.bottom-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%)}
.bottom-plate p{margin:.3em 0;color:var(--ink)}
.bottom-block-plaque .hours-table{max-width:320px;margin:8px auto 0}

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

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

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

.bottom-block-tier-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
padding-bottom:16px;border-bottom:1px solid var(--line)}
.bottom-block-tier-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:16px}
@media(max-width:860px){.bottom-block-postal{grid-template-columns:1fr}
.bottom-halves,.bottom-grid,.bottom-columns-row,.bottom-stack .bottom-pair,.bottom-block-card,.bottom-block-rule,
.bottom-block-ledger,.bottom-block-band-body,.bottom-block-index{grid-template-columns:1fr}.bottom-numbers{columns:1}}
.signature{padding:clamp(46px,6vw,86px) 0}
.keyrack{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px clamp(10px,2.4vw,24px);margin:30px 0 16px;max-width:900px;
padding:38px clamp(14px,3vw,30px) 22px;background:var(--panel);border:1px solid var(--line);border-top:12px solid var(--accent);border-radius:var(--rad)}
.kr-plate{position:absolute;left:50%;top:9px;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-style:normal}
.kr-key{position:relative;text-align:center}
.kr-cord{display:block;width:2px;margin:-20px auto 0;background:var(--ink)}
.kr-cord::before{content:'';display:block;width:10px;height:10px;margin:0 0 0 -4px;border-radius:50%;background:var(--ink)}
.kr-key:nth-of-type(odd) .kr-cord{height:34px}
.kr-key:nth-of-type(even) .kr-cord{height:62px}
.kr-tag{position:relative;margin:0 auto;max-width:156px;padding:32px 10px 13px;background:var(--bg);border:2px solid var(--accent);border-radius:14px}
.kr-tag::before{content:'';position:absolute;left:50%;top:10px;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;border:2px solid var(--accent)}
.kr-tag b{display:block;font-family:var(--display);font-size:1.02rem;line-height:1.15}
.kr-key span{display:block;margin-top:10px;font-size:.84rem;color:var(--muted)}
.kr-note{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.sh-w{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:clamp(24px,5vw,64px);align-items:center}
.shelf{display:flex;align-items:flex-end;gap:7px;max-width:400px;padding:0 14px;border-bottom:12px solid var(--accent)}
.sh-book{display:flex;align-items:center;justify-content:center;flex:1;max-width:66px;padding:14px 3px;overflow:hidden;background-color:var(--panel);border:2px solid var(--ink);border-bottom:none;border-radius:4px 4px 0 0;
background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-size:100% 4px;background-position:0 12px,0 calc(100% - 12px);background-repeat:no-repeat}
.sh-book:nth-child(1){height:214px}.sh-book:nth-child(2){height:262px}.sh-book:nth-child(3){height:188px}.sh-book:nth-child(4){height:238px}
.sh-book b{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:.94rem;letter-spacing:.03em;white-space:nowrap}
.sh-cap{margin:12px 0 0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.sh-notes{list-style:none;margin:22px 0 0;padding:0;counter-reset:bk}
.sh-notes li{position:relative;padding:11px 0 11px 40px;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.sh-notes li::before{counter-increment:bk;content:counter(bk,decimal-leading-zero);position:absolute;left:0;top:11px;font-family:var(--display);color:var(--accent)}
.sh-notes b{margin-right:8px;font-family:var(--display);font-weight:600;color:var(--ink)}
.wn-w{display:grid;grid-template-columns:minmax(280px,1fr) 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.window{max-width:500px}
.wn-frame{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;background:var(--ink);border-radius:96px 96px 0 0}
.wn-pane{min-height:132px;padding:20px 16px;background:var(--panel)}
.wn-pane:nth-child(1){padding-top:38px;border-radius:84px 0 0 0}
.wn-pane:nth-child(2){padding-top:38px;border-radius:0 84px 0 0}
.wn-pane b{display:block;margin-bottom:6px;font-family:var(--display);font-size:1.04rem;color:var(--accent)}
.wn-pane span{font-size:.86rem;color:var(--muted)}
.wn-sill{margin:0 -12px;min-height:12px;padding:9px 14px;background:var(--ink);color:var(--bg);text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;border-radius:0 0 var(--rad) var(--rad)}
.gl-lights{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;margin:26px 0 16px;max-width:900px;padding-top:46px}
.gl-lights::before{content:'';position:absolute;left:-2%;right:-2%;top:0;height:46px;border-bottom:2px solid var(--ink);border-radius:0 0 50% 50%/0 0 100% 100%}
.gl-bulb{text-align:center}
.gl-cord{display:block;width:2px;margin:0 auto;background:var(--ink)}
.gl-bulb:nth-child(odd) .gl-cord{height:16px}
.gl-bulb:nth-child(even) .gl-cord{height:42px}
.gl-bulb:nth-child(1) .gl-cord,.gl-bulb:nth-child(4) .gl-cord{margin-top:-14px;height:30px}
.gl-bulb:nth-child(4) .gl-cord{height:56px}
.gl-lamp{display:block;width:24px;height:26px;margin:0 auto 12px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:var(--accent);box-shadow:0 0 0 7px var(--panel),0 0 0 8px var(--line)}
.gl-bulb b{display:block;margin-bottom:4px;font-family:var(--display);font-size:1.04rem}
.gl-bulb span{font-size:.86rem;color:var(--muted)}
.gl-cap{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.dc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0 16px;max-width:900px}
.dc-roll{text-align:center}
.dc-die{display:block;width:62px;height:62px;margin:0 auto 16px;border:2px solid var(--ink);border-radius:14px;background-color:var(--panel);box-shadow:3px 4px 0 var(--accent)}
.face-a{background-image:radial-gradient(circle at 50% 50%,var(--accent) 0 6px,transparent 6.6px)}
.face-b{background-image:radial-gradient(circle at 28% 28%,var(--ink) 0 5px,transparent 5.6px),radial-gradient(circle at 72% 72%,var(--ink) 0 5px,transparent 5.6px)}
.face-c{background-image:radial-gradient(circle at 24% 24%,var(--ink) 0 5px,transparent 5.6px),radial-gradient(circle at 50% 50%,var(--accent) 0 5px,transparent 5.6px),radial-gradient(circle at 76% 76%,var(--ink) 0 5px,transparent 5.6px)}
.face-d{background-image:radial-gradient(circle at 28% 28%,var(--ink) 0 5px,transparent 5.6px),radial-gradient(circle at 72% 28%,var(--ink) 0 5px,transparent 5.6px),radial-gradient(circle at 28% 72%,var(--ink) 0 5px,transparent 5.6px),radial-gradient(circle at 72% 72%,var(--ink) 0 5px,transparent 5.6px)}
.dc-roll:nth-child(1) .dc-die{transform:rotate(-9deg)}.dc-roll:nth-child(2) .dc-die{transform:rotate(6deg)}
.dc-roll:nth-child(3) .dc-die{transform:rotate(-4deg)}.dc-roll:nth-child(4) .dc-die{transform:rotate(11deg)}
.dc-roll b{display:block;margin-bottom:5px;font-family:var(--display);font-size:1.04rem}
.dc-roll span{font-size:.86rem;color:var(--muted)}
.dc-cap{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pk-keys{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:30px 0 16px;max-width:900px}
.pk-key{min-height:262px;padding:136px 14px 18px;background:var(--ink);color:var(--bg);border-bottom:6px solid var(--accent);border-radius:0 0 10px 10px}
.pk-key b{display:block;margin-bottom:6px;font-family:var(--display);font-size:1.08rem}
.pk-key span{font-size:.86rem;opacity:.86}
.pk-black{position:absolute;top:0;width:11%;height:116px;margin-left:-5.5%;background:var(--bg);border:2px solid var(--accent);border-top:none;border-radius:0 0 7px 7px}
.pk-cap{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
@media(max-width:860px){.sh-w,.wn-w{grid-template-columns:1fr}.keyrack,.gl-lights,.dc-row,.pk-keys{grid-template-columns:1fr 1fr}.gl-lights::before{display:none}
.gl-lights{padding-top:8px}.gl-bulb:nth-child(n) .gl-cord{height:14px;margin-top:0}.pk-black{display:none}.pk-key{min-height:0;padding-top:20px}}
.banner{position:relative}.banner::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,#0B5F8038 0 3px,transparent 3px 140px) 0 0/100% 48px no-repeat,radial-gradient(circle at 1.5px 5px,#0B5F8050 0 5px,transparent 5.6px) 0 0/140px 48px repeat-x,radial-gradient(ellipse 68px 32px at 71px 6px,transparent 0 93%,#0B5F8048 93% 100%,transparent 100%) 0 0/140px 40px repeat-x,linear-gradient(#0B5F8026,#0B5F8026) 0 0/100% 2px no-repeat}.banner .inner{position:relative;z-index:2}
.wp-site-blocks,.wp-block-template-part{display:contents}
