/* Home page opening animation: the Kia logo, a glint of light, the dealer name, then the curtain opens.
   Shown once per browser session, never with reduced motion (js/intro-gate.js decides before the page paints) */
#intro{display:none}
.intro-on #intro{--t:3.6s;display:grid;place-items:center;position:fixed;inset:0;z-index:10000;color:#fff;pointer-events:auto;animation:intro-gone 0s linear var(--t) forwards}
#intro .intro__half{position:absolute;top:0;bottom:0;width:50.5%;background:#0b0d10;animation:1.05s cubic-bezier(.77,0,.18,1) 2.55s forwards}
#intro .intro__half--l{left:0;animation-name:intro-open-l;box-shadow:inset -1px 0 0 rgba(255,255,255,0)}
#intro .intro__half--r{right:0;animation-name:intro-open-r}
#intro .intro__seam{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%) scaleY(0);background:linear-gradient(180deg,transparent,rgba(255,255,255,.9),transparent);opacity:0;animation:intro-seam .7s ease-out 2.25s forwards}
#intro .intro__mark{position:relative;z-index:1;display:grid;justify-items:center;gap:22px;text-align:center;animation:intro-out .45s ease-in 2.2s forwards}
#intro .intro__logo{position:relative;width:min(230px,48vw);opacity:0;transform:scale(.96);animation:intro-in .8s ease-out .2s forwards}
#intro .intro__logo svg{display:block;width:100%;height:auto}
#intro .intro__logo svg path{fill:rgba(255,255,255,.78)}
#intro .intro__logo::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,#fff 47%,#fff 53%,transparent 62%) 120% 0/300% 100% no-repeat;-webkit-mask:url(../images/kia-logo.svg) center/100% 100% no-repeat;mask:url(../images/kia-logo.svg) center/100% 100% no-repeat;animation:intro-sweep 1.1s ease-in-out .75s forwards}
#intro .intro__name{font:600 clamp(1.05rem,2.2vw,1.35rem)/1.2 "Archivo",system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;opacity:0;transform:translateY(12px);animation:intro-up .7s ease-out 1.2s forwards}
#intro .intro__tag{margin-top:-12px;font:400 clamp(.72rem,1.3vw,.82rem)/1.4 "Archivo",system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62);opacity:0;transform:translateY(10px);animation:intro-up .7s ease-out 1.45s forwards}
#intro .intro__line{position:absolute;left:50%;bottom:-34px;width:0;height:1px;background:rgba(255,255,255,.35);transform:translateX(-50%);animation:intro-line 1.1s ease-out .9s forwards}
#intro .intro__skip{position:absolute;z-index:2;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:none;color:rgba(255,255,255,.8);font:500 .78rem/1 "Archivo",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;animation:intro-out .3s ease-in 2.3s forwards}
#intro .intro__skip:hover{color:#fff;border-color:#fff}
.intro-on.intro-done #intro{animation:intro-fade .35s ease forwards}
@keyframes intro-in{to{opacity:1;transform:none}}
@keyframes intro-up{to{opacity:1;transform:none}}
@keyframes intro-sweep{to{background-position:-20% 0}}
@keyframes intro-line{to{width:min(280px,60vw)}}
@keyframes intro-out{to{opacity:0;transform:scale(.98)}}
@keyframes intro-seam{40%{opacity:1;transform:translateX(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) scaleY(1)}}
@keyframes intro-open-l{to{transform:translateX(-100%)}}
@keyframes intro-open-r{to{transform:translateX(100%)}}
@keyframes intro-gone{to{visibility:hidden;pointer-events:none}}
@keyframes intro-fade{to{opacity:0;visibility:hidden}}
@media (max-width:859px){.intro-on #intro{--t:3s}#intro .intro__half{animation-delay:2.05s;animation-duration:.95s}#intro .intro__seam{animation-delay:1.8s}#intro .intro__mark{animation-delay:1.8s}#intro .intro__skip{animation-delay:1.9s}#intro .intro__name{animation-delay:1s}#intro .intro__tag{animation-delay:1.2s}#intro .intro__logo::after{animation-delay:.6s;animation-duration:.95s}}
