/* Homepage art direction. All media retain their intrinsic proportions. */
body:has(.hero) { --home-pink:#ffb5bf; background:#100d13; }
.hero { position:relative; overflow:hidden; min-height:calc(100svh - 72px); padding:48px 0 70px; isolation:isolate; background:radial-gradient(ellipse at 67% 45%,#35202b 0, #181018 43%,#100d13 76%); }
.hero-glow,.download-glow { position:absolute; pointer-events:none; z-index:-1; border-radius:50%; filter:blur(80px); background:#f26b83; opacity:.18; }
.hero-glow { width:42vw; height:42vw; min-width:340px; min-height:340px; top:15%; right:13%; transform:translate(var(--glow-x,0px),var(--glow-y,0px)); transition:transform .35s ease-out; }
.hero-orbit { position:absolute; pointer-events:none; z-index:-1; border:1px solid rgba(255,181,191,.12); border-radius:50%; }
.hero-orbit-one { width:680px; height:680px; right:5%; top:50%; translate:0 -50%; }
.hero-orbit-two { width:900px; height:900px; right:-3%; top:50%; translate:0 -50%; border-color:rgba(255,181,191,.06); }
.hero-layout { min-height:calc(100svh - 190px); grid-template-columns:1fr 1fr; gap:80px; }
.hero-copy { grid-column:1; grid-row:1; position:relative; z-index:1; }
.hero-media { grid-column:2; grid-row:1; position:relative; }
.eyebrow { color:#ffb5bf; font-size:11px; font-weight:600; line-height:1.6; letter-spacing:.12em; }
.hero-copy .eyebrow { margin:0 0 24px; font-size:11px; line-height:1.6; }
.hero-copy .eyebrow span { display:inline-block; width:8px; height:8px; margin-right:8px; border-radius:50%; background:#ff9cae; box-shadow:0 0 16px #ff718a; }
.hero-copy h1,.features-intro h2,.download-panel h2 { font-size:clamp(58px,7.2vw,105px); line-height:1.18; font-weight:600; letter-spacing:0; }
.hero-copy h1 em,.features-intro h2 em,.download-panel h2 em { font-style:normal; color:#ffadb9; }
.hero-copy .hero-description { margin:28px 0 30px; color:#e4d7df; font-size:clamp(17px,1.6vw,21px); line-height:1.7; }
.hero-copy .hero-footnote { margin:17px 0 0; color:#baaab7; font-size:12px; line-height:1.7; }
.hero .store-button,.download-panel .store-button { transition:background .25s, box-shadow .25s, transform .25s; }
.hero .store-button:hover,.download-panel .store-button:hover { background:#ffc6cf; box-shadow:0 10px 40px #ff758b45; transform:translateY(-3px); }
.video-stage { position:relative; display:flex; justify-content:center; align-items:center; width:100%; min-height:560px; }
.video-stage::before { content:''; position:absolute; width:65%; height:75%; border-radius:50%; background:#ff7794; filter:blur(80px); opacity:.17; }
.video-frame { position:relative; padding:7px; border:1px solid #ffb5bf70; border-radius:24px; background:#201722; box-shadow:0 25px 75px #0009,0 0 45px #ff7a9240; }
.video-frame video { max-height:min(65svh,620px); border-radius:17px; }
.hero-media figcaption { color:#d4c1ce; max-width:330px; }
.hero-media figcaption button { display:inline; margin:0 0 0 7px; color:#ffd1d9; }
.scroll-cue { position:absolute; bottom:23px; left:max(32px,calc((100vw - 1120px)/2)); color:#baabb8; font-size:10px; letter-spacing:.12em; }
.scroll-cue span { margin-left:12px; color:#ffb5bf; font-size:16px; }
.features-section { position:relative; overflow:hidden; padding:150px 0 130px; background:#151017; }
.features-section::before { content:''; position:absolute; width:700px; height:700px; top:-320px; right:-200px; border:1px solid #fda9ba20; border-radius:50%; box-shadow:0 0 0 100px #fda9ba08,0 0 0 200px #fda9ba06; pointer-events:none; }
.features-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; column-gap:80px; margin-bottom:70px; }
.features-intro .eyebrow { grid-column:1 / -1; margin-bottom:22px; }
.features-intro h2 { font-size:clamp(48px,6vw,82px); }
.features-intro>p:last-child { max-width:420px; color:#c8bac6; font-size:18px; line-height:1.8; padding-bottom:8px; }
.feature-grid { gap:18px; }
.feature-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:25px; border:1px solid #60414e; border-radius:22px; background:linear-gradient(155deg,#2b1a24,#1c151e 70%); transition:border-color .3s,background .3s; }
.feature-card:hover { border-color:#f5a3b4; background:linear-gradient(155deg,#39212d,#201720 70%); }
.feature-card-top { display:flex; justify-content:space-between; color:#f5a3b4; font-size:13px; }
.feature-card-top span:last-child { font-size:20px; }
.feature-picture { display:flex; align-items:center; justify-content:center; min-height:340px; margin:14px 0 24px; }
.feature-picture img { max-height:320px; width:auto; }
.feature-card-copy { margin-top:auto; padding-top:22px; border-top:1px solid #684653; }
.feature-card h3 { font-size:22px; }
.feature-card h3 a::after { content:''; position:absolute; inset:0; }
.feature-card p { max-width:260px; color:#cbbac5; }
.questions-section { padding:110px 0; background:#100d13; border-color:#392832; }
.questions-section h2 { margin-top:18px; font-size:clamp(38px,4vw,58px); }
.questions-section .questions { border-color:#59414c; }
.questions-section details { border-color:#59414c; }
.download-section { position:relative; overflow:hidden; isolation:isolate; padding:140px 0; background:#21121d; }
.download-glow { width:600px; height:400px; left:50%; top:30%; translate:-50% 0; opacity:.2; }
.download-panel { gap:28px; }
.download-panel h2 { font-size:clamp(48px,6vw,82px); }
@media(max-width:900px) { .hero-layout { gap:35px; } .video-stage { min-height:480px; } .features-intro { gap:35px; } .feature-card { padding:20px; } }
@media(max-width:680px) {
 .hero { min-height:0; padding:20px 0 65px; }
 .hero-layout { min-height:0; display:flex; flex-direction:column; gap:32px; text-align:center; }
 .hero-media { width:100%; }
 .video-stage { min-height:0; padding:12px 0 0; }
 .video-frame video { width:min(54vw,230px); max-height:none; }
 .hero-orbit-one { width:390px; height:390px; top:185px; right:50%; translate:50% -50%; }
 .hero-orbit-two { width:540px; height:540px; top:185px; right:50%; translate:50% -50%; }
 .hero-glow { top:0; right:50%; translate:50% 0; }
 .hero-copy .eyebrow { margin-bottom:16px; font-size:10px; }
 .hero-copy h1 { font-size:clamp(48px,12vw,68px); line-height:1.1; }
 .hero-copy .hero-description { margin:20px 0 24px; font-size:16px; }
 .hero-copy .hero-footnote { font-size:11px; }
 .scroll-cue { display:none; }
 .features-section { padding:85px 0; }
 .features-intro { display:block; margin-bottom:40px; }
 .features-intro .eyebrow { margin-bottom:18px; }
 .features-intro h2 { font-size:clamp(44px,10vw,64px); }
 .features-intro>p:last-child { margin-top:23px; font-size:16px; }
 .feature-grid { gap:16px; }
 .feature-card { padding:24px; }
 .feature-picture { min-height:290px; }
 .feature-picture img { max-height:280px; }
 .questions-section { padding:75px 0; }
 .questions-section h2 { font-size:40px; }
 .download-section { padding:90px 0; }
 .download-panel h2 { font-size:clamp(43px,10vw,60px); }
}
@media(prefers-reduced-motion:reduce) { .hero-glow,.hero .store-button,.download-panel .store-button,.feature-card { transition:none; } .hero .store-button:hover,.download-panel .store-button:hover { transform:none; } }
/* Motion is decorative; content remains visible without JavaScript. */
.hero-copy h1 { line-height:1.18; }
.hero-title-line { display:block; }
.video-stage { isolation:isolate; }
.stage-halo { position:absolute; z-index:-1; pointer-events:none; width:min(80%,480px); aspect-ratio:1; border-radius:50%; filter:blur(45px); opacity:.36; background:radial-gradient(circle,#ff7393 0,transparent 67%); animation:halo-breathe 5s ease-in-out infinite alternate; }
.stage-halo-two { width:min(100%,600px); background:radial-gradient(circle,#a14687 0,transparent 65%); opacity:.22; animation-duration:7s; animation-delay:-3s; }
.stage-orbit { position:absolute; z-index:-1; width:min(94%,540px); aspect-ratio:1; border:1px solid #ffbac528; border-radius:50%; animation:orbit-turn 15s linear infinite; pointer-events:none; }
.stage-orbit span { position:absolute; top:8%; left:15%; width:9px; height:9px; border-radius:50%; background:#ffd2d8; box-shadow:0 0 12px 5px #ff6f8d,0 0 40px 14px #ff789155; }
@keyframes halo-breathe { from { transform:scale(.82); opacity:.16; } to { transform:scale(1.15); opacity:.38; } }
@keyframes orbit-turn { to { transform:rotate(360deg); } }
html.home-motion-paused .stage-halo,html.home-motion-paused .stage-orbit { animation-play-state:paused; }
@media(max-width:680px) {
 .hero-copy .eyebrow,.hero-copy .hero-footnote { display:none; }
 .hero-copy .hero-description { margin:16px 0 22px; }
 .hero-copy .hero-description br { display:none; }
 .hero-copy .hero-description span { display:none; }
 .hero-copy h1 { line-height:1.18; }
 .stage-orbit { width:min(88%,350px); }
}
@media(prefers-reduced-motion:reduce) { .stage-halo,.stage-orbit { animation:none; } }
