/* The landing sequence scrolls inside its panel; gallery navigation stays intact. */
.comet-landing.panel{padding:0;background:#171b1d;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;transform:none!important;}
.comet-landing::-webkit-scrollbar{display:none}
.comet-landing:focus-visible{outline:2px solid #00e5e5;outline-offset:-2px}
.comet-scroll-track{height:340svh;position:relative}
.comet-stage{position:sticky;top:0;height:100%;height:100svh;height:100dvh;width:100%;overflow:hidden;background:#171b1d;isolation:isolate}
.comet-image,.comet-logo-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:51% 50%;pointer-events:none;user-select:none;-webkit-user-drag:none}
.comet-image{opacity:var(--comet-opacity,1);filter:contrast(var(--comet-contrast,1)) brightness(var(--comet-brightness,1));will-change:opacity,filter}
.comet-logo-window{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;opacity:var(--comet-logo-opacity,0);pointer-events:none;will-change:opacity}
.comet-title{font-family:'Fraunces',serif;font-weight:700;font-optical-sizing:none;font-variation-settings:'opsz' 144;font-size:calc(var(--comet-logo-size,50vw) * .14);text-anchor:middle;fill:white;letter-spacing:-.035em}
.comet-logo-image{transform:translate(var(--comet-offset-x,0px),var(--comet-offset-y,0px)) scale(1.08);transform-origin:50% 50%;filter:contrast(1.03) brightness(1.06);will-change:transform}
.landing-active main,.landing-boot main{top:0!important;height:100svh!important;height:100dvh!important;width:100vw}
.landing-boot .comet-landing{opacity:1;visibility:visible;pointer-events:auto}
.landing-boot .menu{visibility:hidden}
.landing-active .menu.menu-minimized .ra-logo img{filter:brightness(0) invert(1)}
.landing-active .menu.menu-minimized .menu-size-toggle{color:#f7f7f5}
.landing-active .menu.menu-minimized::before{opacity:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
/* The full menu remains a left ribbon on a narrow landing screen as well. */
@media(max-width:800px){
 .landing-active .menu:not(.menu-minimized){left:0;right:auto;top:0;bottom:0;width:min(260px,78vw);height:100svh;height:100dvh;padding:28px 22px 90px;display:flex;flex-direction:column;align-items:stretch;gap:0}
 .landing-active .menu:not(.menu-minimized)::before{height:100%;background:var(--menu-expanded-surface)}
 .landing-active .menu:not(.menu-minimized) .menu-main{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-right:0}
 .landing-active .menu:not(.menu-minimized) .ra-logo{width:46px;margin-bottom:14px}
 .landing-active .menu:not(.menu-minimized) .brand{font-size:22px;margin-bottom:20px}
 .landing-active .menu:not(.menu-minimized) #menu-nav{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-height:calc(100dvh - 240px);overflow-y:auto}
 .landing-active .menu:not(.menu-minimized) #menu-nav button{font-size:14px;white-space:normal;justify-content:flex-start;text-align:left}
 .landing-active .menu:not(.menu-minimized) .menu-size-toggle{top:18px;right:12px}
 .landing-active .menu:not(.menu-minimized) .menu-bottom{top:auto;left:0;bottom:0;width:min(260px,78vw);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
 .landing-active .menu:not(.menu-minimized) .menu-palette{height:16px}
}
@media(prefers-reduced-motion:reduce){
 .comet-scroll-track{height:180svh}
 .comet-image{opacity:1!important;filter:none!important;will-change:auto}
 .comet-logo-window{display:none;will-change:auto}
}
.comet-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.menu.menu-no-motion,.menu-no-motion *,.menu.menu-no-motion::before{transition:none!important;animation:none!important}

/* The landing title shares the compact desktop menu's horizontal centerline. */
.landing-heading{position:absolute;top:48px;left:var(--landing-title-center,50%);transform:translate(-50%,-50%);z-index:1;margin:0;color:#fff;font-family:'Bodoni Moda',serif;font-weight:500;font-optical-sizing:auto;font-size:clamp(30px,3.75vw,56px);line-height:1;letter-spacing:calc(.025em + var(--landing-title-tracking,0px));padding-left:calc(.025em + var(--landing-title-tracking,0px));white-space:nowrap;text-align:center;text-shadow:0 1px 10px rgba(0,0,0,.10);width:max-content;max-width:none;opacity:var(--landing-title-opacity,1)}
/* The compact mobile navigation occupies the whole top row. */
@media(max-width:1000px){.landing-heading{top:104px;font-size:clamp(30px,6vw,42px)}}
@media(max-width:800px){.landing-active .menu:not(.menu-minimized) + main .landing-heading{opacity:0}}

/* Fade outward-moving characters at the viewport edges, without screening the photo. */
.landing-heading-frame{position:absolute;inset:0 0 auto;height:160px;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to right,transparent 1.5%,#000 9%,#000 91%,transparent 98.5%);-webkit-mask-image:linear-gradient(to right,transparent 1.5%,#000 9%,#000 91%,transparent 98.5%)}
