*,:before,:after{box-sizing:border-box;margin:0;padding:0}.landing-container{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:Lexend,-apple-system,sans-serif;position:relative;overflow-x:hidden}.hero-section{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:85svh;padding:0 24px;display:flex;position:relative}.hero-content{flex-direction:column;align-items:center;width:100%;max-width:900px;margin-top:-5vh;display:flex}.hero-title{flex-direction:column;align-items:center;gap:2px;margin-bottom:24px;display:flex}.title-line{letter-spacing:-.02em;opacity:0;font-family:Lora,Georgia,serif;font-weight:500;line-height:1.1;display:block;transform:translateY(20px)}.title-line--1{color:var(--color-text);animation:fadeUp .75s var(--ease-smooth) .1s forwards;font-size:clamp(3.5rem,6vw,4.5rem)}.title-line--2{animation:fadeUp .75s var(--ease-smooth) .25s forwards;font-size:clamp(3.5rem,6vw,4.5rem);font-style:italic}.hero-subtitle{color:var(--color-text-muted);opacity:0;max-width:480px;animation:fadeUp .75s var(--ease-smooth) .4s forwards;margin-bottom:32px;font-size:1.1rem;font-weight:300;line-height:1.6}.hero-actions{opacity:0;animation:fadeUp .75s var(--ease-smooth) .55s forwards}.cta-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:background .2s var(--ease-smooth);border:none;align-items:center;gap:8px;padding:14px 28px;font-family:Lexend,sans-serif;font-size:.95rem;font-weight:500;display:inline-flex}.cta-primary:hover{background:var(--color-primary-hover)}.cta-arrow{width:18px;height:18px;transition:transform .2s var(--ease-smooth)}.cta-primary:hover .cta-arrow{transform:translate(4px)}.scroll-indicator{animation:2s infinite bounce;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-10px)}60%{transform:translate(-50%)translateY(-5px)}}.scroll-line{border:2px solid var(--color-border-mid);border-radius:var(--radius-full);justify-content:center;width:24px;height:40px;padding-top:8px;display:flex}.scroll-dot{background:var(--color-primary-light);border-radius:var(--radius-full);width:4px;height:10px;animation:2s infinite scrollDot}@keyframes scrollDot{0%,to{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(12px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.hero-title .title-line{font-size:2.8rem}}
