/* Only approved brand tokens. Motion connects the scrim, surface, and content. */
.site-menu { inset:0; width:100%; height:100svh; margin:0; padding:0; max-width:none; max-height:none; border:0; overflow:hidden; background:transparent; }
.site-menu[open] { display:block; }
.site-menu::backdrop { background:transparent; }
.menu-shade { position:absolute; inset:0; background:var(--shadow); }
.menu-panel { position:absolute; inset:0 0 0 auto; display:flex; flex-direction:column; width:min(27rem,100%); height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:var(--surface); transform-origin:right center; }
.menu-dialog-header { min-height:var(--header-height); padding-inline:2rem; }
.menu-navigation { min-height:calc(100svh - var(--header-height)); padding:1.5rem 2rem 2rem; }
.drawer-link,.drawer-disclosure { min-height:58px; font-size:1.3rem; font-weight:500; letter-spacing:-.025em; transition:color 180ms ease; }
.drawer-link:hover,.drawer-disclosure:hover { color:var(--brand-accent); }
.drawer-submenu a { padding:.6rem .25rem; font-size:.94rem; min-height:46px; transition:color 180ms ease,transform 260ms var(--ease); }
.drawer-submenu a:hover { transform:translateX(5px); }
.drawer-link:focus-visible,.drawer-disclosure:focus-visible { outline-offset:0; }
.drawer-link[data-departing="true"],.drawer-submenu a[data-departing="true"] { color:var(--brand-accent); }
.site-menu[data-state="open"] .menu-icon i:first-child { transform:rotate(45deg); }
.site-menu[data-state="open"] .menu-icon i:last-child { transform:rotate(-45deg); }
.menu-socials { gap:10px; padding-top:2.5rem; }
.menu-socials .header-social:hover { transform:translateY(-3px); color:var(--text); }
.site-header .header-actions { gap:1.25rem; }

.motion-dialog { position:fixed; inset:0; margin:0; padding:1.25rem; width:100%; height:100svh; max-width:none; max-height:none; overflow:hidden; border:0; border-radius:0; background:transparent; color:var(--text); }
.motion-dialog[open] { display:grid; place-items:center; }
.motion-dialog::backdrop { background:transparent; }
.motion-dialog-shade { position:absolute; inset:0; background:var(--backdrop); }
.motion-dialog-panel { position:relative; z-index:1; width:min(36rem,100%); max-height:calc(100svh - 2.5rem); overflow-y:auto; overscroll-behavior:contain; border:0; border-radius:4px; background:var(--surface); }
html:has(.motion-dialog[open]) { overflow:hidden; }
.partners-dialog-header { padding:1.75rem 2rem 0; }
.partners-dialog h2 { font-size:1.5rem; font-weight:700; }
.partners-close { font-weight:600; }
.partners-grid { margin:1rem 2rem 2rem; }
.partner-logo-stage { height:15rem; }
.exomaly-logo { width:15rem; max-height:10rem; }
.partner-address { font-size:.9rem; font-weight:600; }
.partner-entry { padding-bottom:.5rem; }

.club-news { width:min(100%,90rem); margin-inline:auto; padding-top:calc(var(--header-height) + clamp(2.5rem,6vw,5.5rem)); }
.club-news-heading { margin:0 0 clamp(2.75rem,5vw,4.5rem); text-align:center; }
.club-news-heading h1 { font-family:var(--display); font-size:clamp(3rem,6.9vw,6.75rem); line-height:.98; font-weight:800; letter-spacing:-.065em; }
.club-news-heading h1>span { color:var(--brand-accent); }
.club-feature { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(2rem,4.5vw,5rem); align-items:center; }
.club-feature-media { min-width:0; }
.club-art { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg); }
.club-art img { width:100%; height:100%; object-fit:contain; }
.club-art.has-photo img { object-fit:cover; }
.club-art-duo { display:flex; align-items:center; justify-content:center; gap:2%; aspect-ratio:1.45; }
.club-art-duo img { flex:0 1 49%; width:49%; height:100%; object-fit:contain; }
.club-feature-copy { padding-block:1rem; }
.club-post-meta { display:flex; flex-wrap:wrap; gap:.65rem 1rem; align-items:center; margin-bottom:1rem; font-size:.76rem; line-height:1.4; font-weight:600; }
.club-post-meta>span { color:var(--brand-accent); letter-spacing:.05em; }
.club-post-meta>time { color:var(--text-muted); font-weight:500; }
.club-feature-copy h2 { max-width:13ch; font-size:clamp(2rem,3.35vw,3.5rem); font-weight:750; letter-spacing:-.055em; line-height:1.06; text-wrap:balance; }
.club-feature-copy p { margin-top:1.5rem; max-width:42ch; color:var(--text-muted); font-size:.94rem; line-height:1.65; font-weight:500; text-wrap:pretty; }
.club-read { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.75rem 1.4rem; border:0; border-radius:3px; margin-top:1.75rem; background:var(--text); color:var(--bg); font-size:.82rem; font-weight:700; transition:background-color 180ms,color 180ms,transform 260ms var(--ease); }
.club-read:hover { background:var(--brand-accent); color:var(--text); transform:translateY(-2px); }
.club-archive { margin-top:clamp(4rem,8vw,7.5rem); }
.club-archive>h2 { margin:0 0 2.5rem; font-size:clamp(1.7rem,3vw,2.5rem); font-weight:700; letter-spacing:-.045em; }
.club-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3.75rem 2rem; }
.club-post { position:relative; min-width:0; }
.club-post-media { margin-bottom:1.4rem; overflow:hidden; }
.club-post .club-art { transition:transform 620ms var(--ease); transform-origin:center; }
.club-post:has(.club-post-open:hover) .club-art,.club-post:focus-within .club-art { transform:scale(1.025); }
.club-post .club-post-meta { font-size:.72rem; gap:.5rem .75rem; margin-bottom:.75rem; }
.club-post h3 { font-size:clamp(1.15rem,1.65vw,1.6rem); font-weight:700; letter-spacing:-.03em; line-height:1.25; text-wrap:pretty; }
.club-post-open { padding:0; border:0; background:none; font:inherit; text-align:left; color:inherit; transition:color 180ms; }
.club-post-open::after { position:absolute; inset:0; content:''; }
.club-post-open:hover { color:var(--brand-accent); }
.club-post>p { margin-top:.85rem; color:var(--text-muted); font-size:.875rem; line-height:1.65; font-weight:500; }
.club-art-poster { display:flex; justify-content:center; background:var(--bg); }
.club-art-poster img { height:100%; width:auto; max-width:100%; }
.club-art-type { display:flex; flex-direction:column; justify-content:space-between; padding:1.6rem; background:var(--surface); }
.club-art-type>span { font-size:.62rem; font-weight:700; letter-spacing:.1em; }
.club-art-type>strong { font-size:clamp(3.5rem,6.5vw,6rem); line-height:.87; font-weight:800; letter-spacing:-.065em; }
.club-art-type>strong em { color:var(--brand-accent); font-style:normal; }
.club-art-type>small { font-size:.72rem; font-weight:700; letter-spacing:.06em; }
.club-art-type.is-crimson { background:var(--brand-accent); color:var(--bg); }
.club-art-logo { display:grid; place-items:center; background:var(--surface); padding:2rem; }
.club-art-logo img { width:40%; height:70%; }

.story-dialog .motion-dialog-panel { width:min(64rem,100%); padding:2rem; }
.story-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:2.75rem; color:var(--text-muted); font-size:.8rem; font-weight:600; }
.story-dialog-header button { display:flex; align-items:center; gap:.7rem; padding:.3rem 0 .3rem .5rem; border:0; background:none; min-height:44px; }
.story-dialog-header button:hover { color:var(--text); }
.story-dialog-body { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:2.75rem; }
.story-dialog-copy h2 { font-size:clamp(1.75rem,3vw,2.7rem); font-weight:750; line-height:1.12; letter-spacing:-.045em; }
.story-dialog-copy h2:focus { outline:none; }
.story-dialog-copy>p { color:var(--text-muted); font-size:.94rem; line-height:1.75; margin-top:1.5rem; white-space:pre-line; font-weight:500; }
.story-dialog-art .club-art-duo { aspect-ratio:1; }

@media(max-width:63.99rem) {
 .club-feature { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; }
 .club-feature-copy h2 { font-size:clamp(2rem,3.9vw,3rem); }
 .club-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .club-art-type>strong { font-size:clamp(4rem,9vw,6rem); }
 .story-dialog-body { gap:1.5rem; }
}
@media(max-width:47.99rem) {
 .menu-panel { width:min(25rem,100%); }
 .menu-dialog-header { padding-inline:1.5rem; }
 .menu-navigation { padding:1.25rem 1.5rem 1.5rem; }
 .drawer-link,.drawer-disclosure { min-height:56px; font-size:1.25rem; }
 .motion-dialog { padding:1rem; }
 .motion-dialog-panel { max-height:calc(100svh - 2rem); }
 .partners-dialog-header { padding:1.25rem 1.5rem 0; }
 .partners-grid { margin:1rem 1.5rem 1.5rem; }
 .partner-logo-stage { height:12rem; }
 .exomaly-logo { width:13rem; }
 .club-news { padding-top:calc(var(--header-height) + 2.5rem); }
 .club-news-heading { margin-bottom:2.25rem; }
 .club-news-heading h1 { font-size:clamp(2.85rem,10vw,4.5rem); }
 .club-feature { grid-template-columns:1fr; gap:1.5rem; }
 .club-art-duo { aspect-ratio:1.4; }
 .club-feature-copy { padding:0; }
 .club-feature-copy h2 { font-size:clamp(2rem,7.8vw,3.2rem); max-width:18ch; }
 .club-feature-copy p { margin-top:1rem; font-size:.88rem; }
 .club-read { margin-top:1.35rem; }
 .club-archive { margin-top:4rem; }
 .club-archive>h2 { font-size:1.65rem; margin-bottom:1.75rem; }
 .club-post-grid { grid-template-columns:1fr; gap:2.75rem; }
 .club-post h3 { font-size:1.4rem; }
 .club-post .club-post-meta { font-size:.69rem; }
 .club-art-type>strong { font-size:clamp(5rem,18vw,7rem); }
 .club-post>p { font-size:.87rem; }
 .story-dialog .motion-dialog-panel { padding:1.25rem; }
 .story-dialog-header { margin-bottom:1.75rem; }
 .story-dialog-body { grid-template-columns:1fr; gap:1.75rem; }
 .story-dialog-copy h2 { font-size:1.8rem; }
 .story-dialog-copy>p { font-size:.88rem; }
 .story-dialog-art .club-art { max-height:22rem; }
}
@media(prefers-reduced-motion:reduce) {
 .drawer-submenu a,.club-read,.club-post .club-art,.club-post-open,.drawer-link,.drawer-disclosure,.menu-socials .header-social { transition:none; }
 .club-post .club-art,.club-read:hover { transform:none; }
}
