.home-page{min-height:100dvh;position:relative;overflow:hidden;background:#edf6ff url('/static/brand/home-background.png') center center/cover no-repeat;color:#172b46}
.home-page::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#ffffffc9 0%,#ffffff4d 28%,#ffffff0d 60%,#eaf5ff88 100%);pointer-events:none}
.home-header,.home-hero,.home-footer{position:relative;z-index:1}
.home-header{height:92px;padding:0 clamp(22px,4vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-logos{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand-logos img{display:block;width:180px;height:62px;object-fit:contain;mix-blend-mode:multiply}
.brand-divider{display:block;width:1px;height:33px;background:#b9cbe2;flex:none}
.home-nav{display:flex;align-items:center;gap:9px}
.home-nav button{font-size:14px;font-weight:600;padding:10px 22px;border-radius:999px}
.home-hero{min-height:calc(100dvh - 160px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 24px 105px}
.home-kicker{font-size:12px;letter-spacing:.32em;font-weight:700;color:#2575d2;margin-bottom:25px}
.home-hero h1{font-size:clamp(44px,5.7vw,88px);line-height:1.2;letter-spacing:-.045em;margin:0;font-weight:750;color:#112a4b;text-shadow:0 2px 20px #ffffffad}
.home-hero h1{animation:home-title-arrive .9s cubic-bezier(.2,.75,.2,1) both}
.home-hero h1 span{background:linear-gradient(100deg,#0b5ed6 20%,#1ba9f6 45%,#0b5ed6 70%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:home-title-glow 6s ease-in-out 1s infinite}
.home-kicker,.home-hero p,.home-actions{animation:home-content-arrive .9s ease-out both}
.home-kicker{animation-delay:.12s}.home-hero p{animation-delay:.28s}.home-actions{animation-delay:.4s}
@keyframes home-title-arrive{from{opacity:0;transform:translateY(25px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes home-content-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes home-title-glow{0%,100%{background-position:0% center}50%{background-position:100% center}}
.home-hero p{font-size:clamp(15px,1.3vw,19px);line-height:1.9;color:#46617e;margin:29px 0 30px;text-shadow:0 1px 10px #fff}
.home-actions button{font-size:15px;font-weight:650;padding:13px 26px;border-radius:999px;box-shadow:0 10px 26px #126be23d}
.home-footer{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.16em;color:#50708f}
.app-header .brand-logos{gap:9px}
.app-header .brand-logos img{width:117px;height:43px}
.app-header .brand-divider{height:24px}
.login-story .brand-logos{background:#fff;border-radius:9px;padding:3px 8px;width:max-content;max-width:100%}
.login-story .brand-logos img{mix-blend-mode:normal;width:112px;height:40px}
.register-code{display:flex;gap:9px}
.register-code input{flex:1}
.register-code button{flex:none;font-size:12px}
.home-back{align-self:flex-start;margin:0 0 25px -10px;color:#4b719a}
@media(max-width:950px){.app-header .brand-logos img{width:90px}.app-header .brand-logos{gap:5px}.app-header .brand-divider{height:20px}}
@media(max-width:700px){.home-header{height:74px;padding:0 14px}.brand-logos{gap:4px}.brand-logos img{width:94px;height:43px}.brand-divider{height:22px}.home-nav{gap:3px}.home-nav button{padding:7px 12px;font-size:12px}.home-hero{min-height:calc(100dvh - 120px);padding-bottom:68px}.home-hero h1{font-size:clamp(37px,9vw,58px)}.home-hero p br{display:none}.home-footer{font-size:10px;bottom:17px}.app-header .brand-logos img{width:77px;height:34px}.app-header .brand-divider{height:18px}.login-story .brand-logos img{width:77px;height:34px}}
@media(prefers-reduced-motion:reduce){.home-hero h1,.home-hero h1 span,.home-kicker,.home-hero p,.home-actions{animation:none}}
