/* Latest approved hierarchy. No footer divider, including baseline reset. */
:root{--tune-padding:24px;--tune-title:44px;--tune-description:12px;--tune-title-width:384px;--tune-description-width:360px;--tune-title-x:0px;--tune-title-y:0px;--tune-description-x:0px;--tune-description-y:0px;--tune-title-tracking:-.03em;--tune-description-tracking:0em;--tune-title-leading:1.04;--tune-description-leading:1.5;--tune-symbol:56px;--tune-nav-gap:18px;--tune-nav-height:44px;--tune-thumb:1;--tune-footer-space:1;--tune-copyright-space:24px}
.site-footer nav{border-top:0;margin-bottom:clamp(24px,calc(8vw * var(--tune-footer-space)),256px)}
.site-footer .copyright{margin-top:var(--tune-copyright-space)}
.site-footer{padding-left:max(var(--tune-padding),env(safe-area-inset-left));padding-right:max(var(--tune-padding),env(safe-area-inset-right))}
.project-footer{left:calc(var(--tune-padding) + var(--tune-title-x));width:min(var(--tune-title-width),calc(50vw - var(--card-width)*.85 - var(--tune-padding) - 16px));top:calc(var(--card-center-y) + var(--tune-title-y))}
.project-footer h1{font-size:var(--tune-title)!important;white-space:normal;overflow-wrap:anywhere;letter-spacing:var(--tune-title-tracking);line-height:var(--tune-title-leading)}
#drop-blurb{position:relative;z-index:3;left:var(--tune-description-x);right:auto;top:auto;transform:translateY(var(--tune-description-y));width:min(100%,var(--tune-description-width));max-width:none;margin:14px 0 0;color:#fff;font-size:var(--tune-description)!important;line-height:var(--tune-description-leading);letter-spacing:var(--tune-description-tracking);pointer-events:auto}
.corner-symbol{left:max(var(--tune-padding),env(safe-area-inset-left));width:auto;height:var(--tune-nav-height);aspect-ratio:349.07199/280.52;top:max(16px,env(safe-area-inset-top))}
.desktop-nav{right:max(var(--tune-padding),env(safe-area-inset-right));gap:var(--tune-nav-gap)}
.desktop-nav a,#desktop-signup{min-height:var(--tune-nav-height)}
.thumb{width:calc(44px * var(--tune-thumb));height:calc(44px * var(--tune-thumb))}
.ambient-plane{scale:var(--tune-bg-spread,1)}
@media(max-width:720px){:root{--tune-padding:12px;--tune-title:18px;--tune-symbol:44px}
 .project-footer{left:var(--tune-padding);right:var(--tune-padding);width:auto;max-width:none;top:max(88px,calc(env(safe-area-inset-top) + 60px));transform:none}
 .project-footer h1{font-size:var(--tune-title)!important}.project-footer #read-story{max-width:90px}
 #drop-blurb{display:none}
 .thumb{width:clamp(32px,calc((100vw - 48px)/8),calc(44px * var(--tune-thumb)));height:max(44px,calc(44px * var(--tune-thumb)))}
 .menu-toggle{right:max(var(--tune-padding),env(safe-area-inset-right))}
}

.is-entering #drop-blurb{visibility:hidden}

.card-case.is-changing-drop #drop-blurb{visibility:hidden}

/* Contact and copyright sit above the full-width logotype. */
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:start}
.site-footer nav{grid-column:1;grid-row:1;margin-bottom:0}
.site-footer .copyright{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap;text-align:right;margin:var(--tune-copyright-space) 0 0}
.site-footer>img{grid-column:1/-1;grid-row:2;margin-top:clamp(24px,calc(8vw * var(--tune-footer-space)),256px)}

@media(min-width:721px){
 .project-footer{max-height:max(100px,calc((var(--card-center-y) - 84px)*2));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;user-select:text}
}

/* Mobile primary actions and menu touch targets. */
@media(max-width:720px){
 :root{--mobile-left:max(var(--tune-padding),env(safe-area-inset-left));--mobile-right:max(var(--tune-padding),env(safe-area-inset-right))}
 .drop-experience>.card-case{overflow:hidden}
 .stage{height:100%;bottom:0;touch-action:pan-y}
 .project-footer{left:var(--mobile-left);right:var(--mobile-right);display:block;pointer-events:auto;user-select:text}
 .project-footer h1{font-size:calc(var(--tune-title)*1.12)!important}
 #drop-blurb{display:block;width:100%;max-width:none;margin-top:14px;left:0;transform:none;font-size:12px!important;line-height:1.55;overflow-wrap:anywhere}
 .purchase-entry{left:var(--mobile-left);right:var(--mobile-right);width:auto;max-width:none;transform:none}
 .purchase-entry :is(#checkout,#sold-out){width:100%;max-width:none;min-height:48px}
 .dock{top:calc(var(--mobile-scene-height,100dvh) - max(12px,env(safe-area-inset-bottom)) - 46px);bottom:auto}
 #menu-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) 48px;gap:16px;padding:max(14px,env(safe-area-inset-top)) var(--mobile-right) max(18px,env(safe-area-inset-bottom)) var(--mobile-left);overflow:hidden}
 #menu-dialog .menu-symbol{left:var(--mobile-left)}
 #menu-close{position:relative;inset:auto;grid-column:1;grid-row:1;justify-self:end;width:48px;height:48px;font-size:0!important}
 #menu-close::before,#menu-close::after{content:'';position:absolute;left:10px;top:23px;width:28px;height:2px;background:currentColor;transform:rotate(45deg)}
 #menu-close::after{transform:rotate(-45deg)}
 #menu-dialog nav{position:static;inset:auto;transform:none;grid-column:1/-1;grid-row:2;align-self:center;min-width:0;min-height:0;max-height:100%;width:100%;gap:8px;overflow-y:auto;padding:4px}
 #menu-dialog nav a{min-height:56px;font-size:clamp(24px,6.5vw,28px)!important;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
 #menu-dialog #email-signup{position:static;inset:auto;grid-column:1/-1;grid-row:3;justify-self:stretch;min-width:0;width:100%;max-width:none;min-height:48px;margin:0;transition:none}
 :is(#checkout-dialog,#signup-dialog,#story-dialog){width:calc(100vw - var(--mobile-left) - var(--mobile-right));padding:20px;max-height:calc(100dvh - 24px)}
 :is(#checkout-dialog,#signup-dialog) :is(.ui-primary,button[type=submit]){width:100%;max-width:none;min-height:48px}
 :is(#checkout-dialog,#signup-dialog,#story-dialog) .close{flex:none;width:48px;min-width:48px;height:48px;font-size:32px!important;line-height:1}
}

.headline-row{display:flex;align-items:center;gap:12px}.headline-row h1{flex:1;min-width:0}
#story-toggle{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:var(--ui-text);font-size:28px!important;line-height:1;pointer-events:auto}
#story-toggle:hover{background:var(--ui-hover)}
#drop-blurb{max-height:min(240px,30dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:720px){
 .project-footer{top:max(76px,calc(env(safe-area-inset-top) + 58px))}
 .headline-row{gap:8px}.headline-row h1{margin:0}
 #drop-blurb{max-height:clamp(24px,calc((100dvh - 400px)*.35 + 24px),140px);margin-top:8px;font-size:11px!important;line-height:1.45}
 .dock{top:auto;bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-width:720px) and (max-height:600px){
 .project-footer{top:max(60px,calc(env(safe-area-inset-top) + 48px))}
 .project-footer h1{font-size:18px!important;line-height:1.05}
 .project-footer .collection-caption{margin-top:0}
}

/* Short landscape screens pair the caption and card above the same controls. */
@media(max-width:720px) and (max-height:500px){
 .project-footer{width:calc(50% - var(--mobile-left) - 8px);right:auto;top:calc((64px + 100dvh - max(12px,env(safe-area-inset-bottom)) - 106px)/2);transform:translateY(-50%)}
 .project-footer h1{font-size:14px!important;line-height:1.1}
 .headline-row{gap:4px}#story-toggle{width:48px}
 .project-footer .collection-caption{font-size:10px!important}
 #drop-blurb{font-size:10px!important;line-height:1.3;max-height:24px;margin-top:6px}
}

@media(max-width:720px) and (max-height:500px){.hero{left:75%}}

:root{--safe-top:env(safe-area-inset-top,0px)}
@media(max-width:720px) and (max-height:500px){
 .project-footer{top:calc((max(64px,calc(env(safe-area-inset-top) + 48px)) + 100dvh - max(12px,env(safe-area-inset-bottom)) - 106px)/2);max-height:calc(100dvh - max(64px,calc(env(safe-area-inset-top) + 48px)) - max(12px,env(safe-area-inset-bottom)) - 106px);overflow-y:auto;overscroll-behavior:contain}
 .project-footer h1{font-size:12px!important}
 #drop-blurb{max-height:clamp(12px,calc(100dvh - max(64px,calc(env(safe-area-inset-top) + 48px)) - max(12px,env(safe-area-inset-bottom)) - 188px),24px)}
}

@media(max-width:720px){.stage,.hero{touch-action:none}#drop-blurb{touch-action:pan-y}}

/* Authored event logotype retains its natural dimensions without layout shift. */
.event-logotype{display:block;width:100%;max-width:288px;height:auto;aspect-ratio:720/189;margin-top:8px}
@media(max-width:720px){.corner-symbol{top:max(14px,env(safe-area-inset-top))}.project-footer h1.has-event-logo{display:flex;align-items:center;gap:8px;font-size:clamp(12px,3vw,16px)!important;white-space:nowrap}.event-logotype{width:180px;max-width:75%;min-width:0;flex:0 1 180px;object-fit:contain;margin-top:0}}

/* Desktop editorial remains present through card and drop transitions. */
@media(min-width:721px){
 #story-toggle{display:none}
 .card-case.is-changing-drop .project-footer,.card-case.is-changing-drop #drop-blurb{visibility:visible}
 .project-footer{top:clamp(84px,calc(var(--card-center-y) + var(--tune-title-y)),calc(100dvh - 24px));max-height:max(0px,min(calc((var(--card-center-y) + var(--tune-title-y) - 84px)*2),calc((100dvh - 24px - var(--card-center-y) - var(--tune-title-y))*2)));transform:translateY(-50%);overflow-y:auto}
 #drop-blurb{max-height:none;overflow:visible}
}

.signup-existing{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px;text-decoration:none;border-radius:var(--ui-radius);border:1px solid currentColor}

/* Same 48px layout/hit box; only the mobile disclosure treatment changes. */
@media(max-width:720px){
 #story-toggle{position:relative;width:48px;min-width:48px;height:48px;min-height:48px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;line-height:1}
 #story-toggle::before{content:'';position:absolute;inset:4px;border:1px solid #ffffff70;border-radius:50%;pointer-events:none}
 #story-toggle:hover{background:transparent}
 #story-toggle:hover::before{background:#ffffff0a}
 #story-toggle[aria-expanded=true]::before{background:#ffffff18;border-color:#fff}
 #story-toggle:focus-visible{outline:none}
 #story-toggle:focus-visible::before{outline:2px solid #fff;outline-offset:3px}
}

/* Entrance opacity shares the card timeline; palette transitions remain independent. */
.ambient-room{opacity:var(--ambient-entry,0)}

/* Only the Gen.G headline owns this two-line, unbroken treatment. */
.project-footer h1[data-project=geng]{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.geng-subtitle{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal}
/* Override the global descendant type size: both title lines share the h1 fit. */
.project-footer h1[data-project=geng]>.geng-subtitle{font-size:inherit!important;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
/* B138b (DJ 10-22): the MOMENTUS mark in the page header at 80%, every page. Scaled from its top-left
   corner, so it keeps its place and nothing around it moves. */
.corner-symbol{transform:scale(.8);transform-origin:0 0}
