/* Broad, low-contrast light fields keep fine text on a quiet surface.
   The shared theme color continues interpolating beneath these gradients. */
/* Keep the light field inside the artwork column, including on mobile. */
.hero{background-image:none}
.hero-art{background-image:radial-gradient(ellipse 48% 48% at 52% 48%,#ffffff59 0%,#ffffff2e 38%,#ffffff00 100%)}
.contact{background-image:radial-gradient(ellipse at 85% 40%,#ffffff20 0%,#ffffff00 72%)}
/* A readable logo beat, followed by two soft opening panels. */
.entrance{background:transparent;isolation:isolate;animation:entrance-finish 2.8s linear forwards}
.entrance::before,.entrance::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);animation:panel-open 1.05s 1.65s cubic-bezier(.65,0,.2,1) both}
.entrance::before{clip-path:polygon(0 0,100% 0,100% 48%,0 56%);--panel-direction:-105%}
.entrance::after{clip-path:polygon(0 55.8%,100% 47.8%,100% 100%,0 100%);--panel-direction:105%}
.entrance>.entrance-brand{width:min(66vw,720px);animation:brand-intro 2.35s cubic-bezier(.2,.7,.2,1) both}
.entrance-caption{position:absolute;top:calc(50% + clamp(38px,9vw,104px));margin:0;color:var(--paper);font-size:clamp(10px,1.2vw,14px);letter-spacing:.6em;text-indent:.6em;animation:caption-intro 2.25s ease both}
.headline-line{animation-delay:1.95s}
.headline-line:nth-child(2){animation-delay:2.05s}
.headline-line:nth-child(3){animation-delay:2.15s}
.headline-line:nth-child(4){animation-delay:2.25s}
.hero-art{animation-delay:2s}
@keyframes panel-open{from{transform:translateY(0);opacity:1}to{transform:translateY(var(--panel-direction));opacity:0}}
@keyframes entrance-finish{0%,96%{visibility:visible}100%{visibility:hidden}}
@keyframes brand-intro{0%{opacity:0;transform:translateY(12px) scale(.96)}28%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-18px) scale(1.025)}}
@keyframes caption-intro{0%,18%{opacity:0;transform:translateY(8px)}40%,74%{opacity:.75;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.entrance{display:none}.headline-line,.hero-art{animation:none!important;opacity:1;transform:none}}
body.motion-paused .entrance{display:none}
/* Keyboard navigation dismisses the decorative overlay immediately. */
body:has(:focus-visible) .entrance{display:none}
