/* Bozygo 4.3.2 — isolated two-scene brand intro. No layout selectors are touched. */
.bz-intro[hidden]{display:none!important}
.bz-intro{--bz-intro-total:3400ms;position:fixed;inset:0;z-index:100500;overflow:hidden;background:#f7f7f4;color:#151618;isolation:isolate;contain:layout paint;transform:translateZ(0);pointer-events:none;opacity:1;visibility:visible}
.bz-intro:before{content:"";position:absolute;inset:-18%;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--bozygo-accent,#ff6a00) 10%,transparent),transparent 31%);opacity:.48;transform:scale(.94);animation:bzIntroBreath 3.2s cubic-bezier(.2,.7,.2,1) both}
.bz-intro:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bozygo-accent,#ff6a00);transform:scaleX(0);transform-origin:left center;opacity:.72;animation:bzIntroProgress var(--bz-intro-total) linear both}
.bz-intro-stage{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(24px,5vw,72px);will-change:opacity,transform,filter}

/* Scene 1 stays readable after the words arrive. */
.bz-intro-message-stage{opacity:1;transform:translateY(0) scale(1)}
.bz-intro-message{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.15em .28em;max-width:min(1120px,92vw);font-size:clamp(42px,7vw,108px);font-weight:850;line-height:.94;letter-spacing:-.064em;text-align:center}
.bz-intro-message span{display:inline-block;opacity:0;transform:translate3d(0,36px,0) skewY(1.2deg);filter:blur(9px);animation:bzWordArrival 760ms cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(160ms + (var(--bz-word-index) * 210ms))}
.bz-intro-message span:last-child{color:var(--bozygo-accent,#ff6a00)}
.bz-intro-accent{position:absolute;left:50%;top:calc(50% + clamp(60px,7.7vw,120px));width:clamp(54px,7vw,100px);height:2px;border-radius:99px;background:var(--bozygo-accent,#ff6a00);transform:translateX(-50%) scaleX(0);opacity:0;animation:bzAccentArrival 700ms cubic-bezier(.16,1,.3,1) 760ms forwards}

/* Scene switch is driven by JS classes, avoiding percentage timing flashes. */
.bz-intro.is-logo .bz-intro-message-stage{animation:bzSceneOneOut 480ms cubic-bezier(.65,0,.35,1) forwards}
.bz-intro-logo-stage{opacity:0;transform:translate3d(0,20px,0) scale(.965);filter:blur(8px)}
.bz-intro.is-logo .bz-intro-logo-stage{animation:bzLogoIn 720ms cubic-bezier(.16,1,.3,1) 180ms forwards}
.bz-intro-logo-wrap{display:grid;place-items:center;width:min(72vw,440px);position:relative}
.bz-intro-logo-wrap:after{content:"";position:absolute;left:20%;right:20%;bottom:-28px;height:1px;background:linear-gradient(90deg,transparent,var(--bozygo-accent,#ff6a00),transparent);opacity:0;transform:scaleX(.35)}
.bz-intro.is-logo .bz-intro-logo-wrap:after{animation:bzLogoLine 700ms ease 520ms forwards}
.bz-intro-logo-image{display:block;width:auto!important;max-width:100%!important;max-height:152px!important;height:auto!important;object-fit:contain;filter:none}
.bz-intro-brand-fallback{font-size:clamp(52px,9vw,122px);font-weight:950;letter-spacing:-.075em;line-height:.9;color:#151618}
.bz-intro-brand-fallback:after{content:".";color:var(--bozygo-accent,#ff6a00)}

/* The final reveal is deliberately soft and readable, never a flash. */
.bz-intro.is-leaving{animation:bzIntroExit 560ms cubic-bezier(.76,0,.24,1) forwards}
.bz-intro.is-leaving .bz-intro-logo-stage{animation:bzLogoOut 560ms cubic-bezier(.65,0,.35,1) forwards}

@keyframes bzWordArrival{0%{opacity:0;transform:translate3d(0,36px,0) skewY(1.2deg);filter:blur(9px)}70%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate3d(0,0,0) skewY(0);filter:blur(0)}}
@keyframes bzAccentArrival{0%{opacity:0;transform:translateX(-50%) scaleX(0)}100%{opacity:1;transform:translateX(-50%) scaleX(1)}}
@keyframes bzSceneOneOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}100%{opacity:0;transform:translateY(-18px) scale(.985);filter:blur(6px)}}
@keyframes bzLogoIn{0%{opacity:0;transform:translate3d(0,20px,0) scale(.965);filter:blur(8px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes bzLogoLine{0%{opacity:0;transform:scaleX(.35)}100%{opacity:.75;transform:scaleX(1)}}
@keyframes bzLogoOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}100%{opacity:0;transform:translateY(-7px) scale(1.018);filter:blur(3px)}}
@keyframes bzIntroBreath{0%{opacity:.22;transform:scale(.94)}55%{opacity:.52;transform:scale(1)}100%{opacity:.36;transform:scale(1.03)}}
@keyframes bzIntroProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bzIntroExit{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}

@media(max-width:700px){
 .bz-intro-stage{padding:24px}
 .bz-intro-message{max-width:94vw;font-size:clamp(38px,12vw,60px);line-height:.98;letter-spacing:-.058em;gap:.13em .23em}
 .bz-intro-message span{transform:translate3d(0,28px,0);filter:blur(7px);animation-duration:700ms;animation-delay:calc(140ms + (var(--bz-word-index) * 190ms))}
 .bz-intro-accent{top:calc(50% + 74px);width:66px;animation-delay:700ms}
 .bz-intro-logo-wrap{width:min(70vw,310px)}
 .bz-intro-logo-image{max-height:104px!important}
 .bz-intro-brand-fallback{font-size:clamp(48px,16vw,76px)}
}
@media(max-width:390px){.bz-intro-message{font-size:clamp(35px,11.6vw,48px)}.bz-intro-accent{top:calc(50% + 64px)}}
@media(prefers-reduced-motion:reduce){.bz-intro{display:none!important}}
