/* Hero: left-aligned headline over a framed product window (after linear.app). */
section.hero{background:#08090a;height:auto;min-height:0;max-height:none;display:block;padding:clamp(150px,20svh,210px) 0 0;overflow:clip}
section.hero .hero-copy{position:relative;top:auto;z-index:1;width:calc(100% - 144px);max-width:1296px;margin:0 auto;text-align:left;opacity:1;filter:none}
section.hero h1{margin:0;font-family:Inter,Arial,sans-serif;font-weight:500;font-size:clamp(40px,4.45vw,64px);line-height:1.04;letter-spacing:-.022em;color:#f7f8f8}
section.hero .hero-title-line{display:block}
.hero-sub{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:36px}
.hero-sub p{max-width:680px;margin:0;font-size:16px;line-height:1.55;color:#8a8f98}
.hero-new{flex:none;font-size:14px;color:#8a8f98;transition:color .2s}
.hero-new b{margin-right:6px;font-weight:500;color:#f7f8f8}
.hero-new:hover{color:#f7f8f8}

section.hero .hero-preview{flex:none;width:100%;max-width:none;height:auto;min-height:0;margin:64px 0 0;padding:0;transform:none;will-change:auto;transition:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
.hero-preview.has-product-tour>.dashboard{display:none!important}
.hero-stage{position:relative;width:calc(100% - 32px);max-width:1408px;margin:0 auto;padding:44px 56px 40px;border:1px solid #ffffff0f;border-radius:24px;overflow:hidden;background:linear-gradient(#0a0b0c,#101113)}
.hero-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 100%,#8e9096 0%,#46484d 32%,#1a1b1e 62%,transparent 85%)}
.finsepa-tour{position:relative;z-index:1;width:100%;margin:0;color:#fff}

/* Shared app shell: a raised surface with a hairline border around an inset screen. */
.ft-viewport,section.hero .hero-phone{border:1px solid #ffffff14;background:#101112}
.ft-viewport img,section.hero .hero-phone-screen{border:1px solid #ffffff0d;background:#000;box-shadow:0 0 0 2px #0003}
.ft-viewport{position:relative;width:100%;padding:8px;border-radius:16px;box-shadow:0 0 0 1px #000,0 30px 80px #0009}
.ft-viewport img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:9px}
section.hero .hero-phone{position:absolute;z-index:2;top:auto;right:20px;bottom:40px;width:min(22%,280px);height:auto;aspect-ratio:auto;padding:7px;border-radius:38px;opacity:1;transform:none;overflow:visible;-webkit-mask-image:none;mask-image:none;box-shadow:0 0 0 1px #000,-24px 24px 60px #000c}
section.hero .hero-phone-screen{position:relative;inset:auto;width:100%;aspect-ratio:660/1434;border-radius:31px;overflow:hidden}

@media(prefers-reduced-motion:no-preference){
 section.hero .hero-word{animation:none}
 section.hero .hero-title-line,.hero-sub p,.hero-new{animation:hero-rise 1s cubic-bezier(.25,1,.5,1) .25s both}
 section.hero .hero-title-line+.hero-title-line{animation-delay:.35s}
 .hero-sub p{--rise:5px;animation-delay:.45s}
 .hero-new{--rise:5px;animation-delay:1.8s}
 .hero-stage{animation:hero-fade .5s ease both}
 .ft-viewport,section.hero .hero-phone{animation:hero-fade .5s ease 1.1s both}
 .ft-viewport img,section.hero .ios-shots,.hero-stage:before{animation:hero-fade 1.5s ease-in-out 1.1s both}
}
@keyframes hero-rise{from{opacity:0;transform:translateY(var(--rise,.4em));filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes hero-fade{from{opacity:0}to{opacity:1}}

@media(max-width:1024px){section.hero .hero-copy{width:calc(100% - 96px)}.hero-stage{padding:32px 32px 30px}section.hero .hero-phone{right:12px;bottom:30px}}
@media(max-width:768px){
 section.hero{padding-top:130px}
 section.hero .hero-copy{width:calc(100% - 48px)}
 .hero-sub{flex-direction:column;align-items:flex-start;gap:18px;margin-top:24px}
 .hero-sub p{font-size:15px}
 section.hero .hero-preview{margin-top:40px}
 .hero-stage{width:calc(100% - 16px);padding:20px 16px 18px;border-radius:16px}
 .ft-viewport{padding:4px;border-radius:10px}
 .ft-viewport img{border-radius:6px}
 section.hero .hero-phone{right:8px;bottom:18px;width:26%;padding:3px;border-radius:18px}
 section.hero .hero-phone-screen{border-radius:15px}
}
