/* Immersive intro proposal; isolated from the approved landing layout. */
@property --di-aperture{syntax:'<percentage>';inherits:false;initial-value:0%}
/* Hero entrance begins only after the intro has finished and unmounted. */
.p-site[data-hero-ready=false] header,.p-site[data-hero-ready=false] .p-hero-copy,.p-site[data-hero-ready=false] .p-hero-base{visibility:hidden;opacity:0}
.p-site[data-hero-ready=true] header{animation:di-nav-reveal 2.2s .12s cubic-bezier(.22,.61,.36,1) both}
.p-site[data-hero-ready=true] header .brand img{animation:di-brand-light 2.8s .22s ease-in-out both}
.p-site[data-hero-ready=true] .p-hero-copy>.p-kicker{animation:di-hero-drop 1.35s .3s ease-out both}
.p-site[data-hero-ready=true] .p-hero-description{animation:di-hero-drop 1.5s 2.3s ease-out both}
.p-site[data-hero-ready=true] .p-hero-action{animation:di-hero-drop 1.5s 2.7s ease-out both}
.p-site[data-hero-ready=true] .p-hero-base{animation:di-hero-drop 1.5s 3s ease-out both}
@keyframes di-hero-drop{from{opacity:0;translate:0 -14px;filter:blur(1px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.delta-intro{position:fixed;inset:0;z-index:150;isolation:isolate;overflow:hidden;color:var(--ink,#edf4f8);font-family:var(--font-body,Arial,sans-serif)}
.di-back{position:absolute;inset:0;background:color-mix(in srgb,var(--bg,#0d1924) 85%,transparent);backdrop-filter:blur(7px);mask-image:radial-gradient(ellipse at 50% 48%,transparent calc(var(--di-aperture) - 1%),#000 var(--di-aperture));animation:di-aperture-open 1.45s 2.45s cubic-bezier(.65,0,.35,1) both}
.di-field{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.8;animation:di-field-exit .65s 2.3s both;pointer-events:none}
.di-current{fill:none;stroke:var(--accent,#79bfee);stroke-width:1;stroke-dasharray:1800;stroke-dashoffset:1800;animation:di-current-draw 1.55s .08s cubic-bezier(.35,0,.2,1) both}
.di-current-two{animation-delay:.2s;opacity:.4;stroke-width:.65}.di-current-three{animation-delay:.32s;opacity:.24;stroke-width:1.1}.di-current-four{stroke:var(--warm,#d18a59);stroke-width:.8;animation-delay:.18s;opacity:.7}
.di-trace{fill:none;stroke:var(--accent,#79bfee);stroke-width:.7;opacity:.12}
.di-particle{fill:var(--accent,#79bfee);filter:drop-shadow(0 0 4px #79bfee70);animation:di-particle-life 1.7s both}.di-particle-warm{fill:var(--warm,#d18a59);animation-delay:.16s}
.di-identity{position:absolute;left:50%;top:47%;width:clamp(220px,26vw,370px);transform:translate(-50%,-50%);text-align:center;perspective:1000px;animation:di-identity-exit .6s 2.45s ease-in-out both}
.di-signature{position:relative;animation:di-materialize 1.4s .35s cubic-bezier(.22,.61,.36,1) both}
.di-signature::before{content:'';position:absolute;inset:-100% -40%;background:radial-gradient(ellipse,#79bfee19,transparent 62%);animation:di-illumination 1.7s .3s both;pointer-events:none}
.di-signature img{display:block;width:100%;height:auto;position:relative;filter:drop-shadow(0 3px 20px #00000015)}
.di-words{display:flex;justify-content:center;gap:20px;position:absolute;left:50%;top:calc(47% + 112px);transform:translateX(-50%);white-space:nowrap;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#a9bbc8);animation:di-word-exit .4s 2.55s both}
.di-words span{animation:di-word-arrive .65s 1.05s both}.di-words span:nth-child(2){animation-delay:1.22s}.di-words span:nth-child(3){animation-delay:1.39s;color:var(--accent,#79bfee)}
.di-lens{position:absolute;left:50%;top:48%;width:56vw;height:38vh;max-width:900px;border:1px solid #79bfee35;border-radius:40%;transform:translate(-50%,-50%) scale(.04);opacity:0;box-shadow:0 0 32px #79bfee08,inset 0 0 25px #79bfee09;animation:di-lens-open 1.4s 2.4s cubic-bezier(.65,0,.35,1) both;pointer-events:none}
.di-skip{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));right:clamp(24px,5vw,80px);min-height:44px;padding:8px 14px;display:flex;align-items:center;gap:22px;background:color-mix(in srgb,var(--bg,#0d1924) 70%,transparent);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--accent,#79bfee) 25%,transparent);border-radius:10px;color:var(--muted,#a9bbc8);font:12px/1.5 var(--font-body,Arial,sans-serif);cursor:pointer}.di-skip:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@keyframes di-current-draw{0%{stroke-dashoffset:1800;opacity:0}15%{opacity:.8}100%{stroke-dashoffset:0}}
@keyframes di-particle-life{0%{opacity:0}12%,74%{opacity:.8}100%{opacity:0}}
@keyframes di-materialize{0%{opacity:0;filter:blur(14px);translate:0 12px;transform:rotateX(14deg) scale(.94)}65%{filter:blur(0)}100%{opacity:1;filter:blur(0);translate:0 0;transform:rotateX(0) scale(1)}}
@keyframes di-illumination{0%,100%{opacity:0;scale:.7}50%{opacity:1;scale:1.1}}
@keyframes di-word-arrive{from{opacity:0;translate:0 10px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes di-word-exit{to{opacity:0;translate:0 8px}}
@keyframes di-identity-exit{to{opacity:0;filter:blur(4px);scale:1.06}}
@keyframes di-field-exit{to{opacity:0;filter:blur(3px);scale:1.04}}
@keyframes di-aperture-open{from{--di-aperture:0%}to{--di-aperture:145%}}
@keyframes di-lens-open{0%{opacity:0;transform:translate(-50%,-50%) scale(.04);border-radius:40%}25%{opacity:.5}70%{opacity:.15}100%{opacity:0;transform:translate(-50%,-50%) scale(4);border-radius:12%}}
@media(max-width:600px){.di-identity{top:44%;width:230px}.di-words{top:calc(44% + 100px);gap:12px;font-size:9px;letter-spacing:.05em}.di-lens{width:80vw;height:30vh}}
@media(prefers-reduced-motion:reduce){.delta-intro{display:none}.delta-intro *{animation:none!important}}


/* A lateral glass reveal and a brief backlit signature, separate from hover glint. */
@keyframes di-nav-reveal{0%{opacity:0;clip-path:inset(-20px 100% -40px -30px round 16px)}12%{opacity:1}100%{opacity:1;clip-path:inset(-20px -30px -40px -30px round 16px)}}
@keyframes di-brand-light{0%{filter:brightness(1) drop-shadow(0 0 0 transparent)}28%{filter:brightness(1.18) drop-shadow(0 0 3px #e1f6ff9c) drop-shadow(0 0 13px #79bfee70)}52%{filter:brightness(1.05) drop-shadow(0 0 5px #d18a594a)}76%{filter:brightness(1.1) drop-shadow(0 0 7px #79bfee40)}100%{filter:none}}

/* Keep viewport geometry fixed while intro/menu scroll locks are released. */
html:has(.p-site){scrollbar-gutter:stable}
/* Only the individual hero elements animate; its positioning container stays still. */
.p-site .p-hero-copy{animation:none}
/* Keep the menu mounted through its exit so closing is as deliberate as opening. */
.p-site .navigation[data-state=open]{animation:delta-menu-open .65s cubic-bezier(.4,0,.2,1) both}
.p-site .navigation[data-state=closing]{animation:delta-menu-close .48s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
@keyframes delta-menu-open{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes delta-menu-close{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.p-site .navigation[data-state]{animation:none}}

/* Light intro: translucent frosted glass and restrained blue details, with the same choreography. */
html[data-theme=light] .di-back{background:linear-gradient(125deg,#ffffff1c,transparent 52%,#79bfee12),color-mix(in srgb,var(--p-soft,#edf1f2) 58%,transparent);backdrop-filter:blur(7px) saturate(1.08);-webkit-backdrop-filter:blur(7px) saturate(1.08)}
html[data-theme=light] .di-signature img{filter:drop-shadow(0 3px 14px #16354c0d)}
html[data-theme=light] .di-signature::before{background:radial-gradient(ellipse,#086fae12,transparent 62%)}
html[data-theme=light] .di-lens{border-color:#086fae30;box-shadow:0 0 32px #086fae08,inset 0 0 25px #086fae09}
