/* Product photography is captured from Carbon; no reconstructed app controls. */
.home-page { --max:1160px; --display:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; }
.home-page .site-header { background:rgba(0,0,0,.78); border-bottom:1px solid #ffffff0a; }
.home-page .nav { height:80px; }
.brand-dot { width:7px; height:7px; border-radius:50%; background:#479bff; margin:0 0 12px 2px; }
.home-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:center; padding-block:70px 85px; }
.home-hero h1 { font-size:clamp(56px,6.8vw,88px); font-weight:720; letter-spacing:-.065em; line-height:1.02; max-width:610px; }
.home-hero .hero-copy { max-width:410px; font-size:20px; line-height:1.55; }
.home-page .eyebrow { color:#b0c9eb; font-size:11px; letter-spacing:.12em; }
.home-page .eyebrow::before { background:#479bff; }
.hero-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.hero-actions .primary-button { margin:0; }
.quiet-link { color:#b4b5bb; font-size:14px; text-decoration:none; text-underline-offset:5px; }
.quiet-link:hover { color:#fff; text-decoration:underline; }
.home-page .launch-note { max-width:350px; line-height:1.6; margin-top:18px; color:#9999a1; }
.hero-visual { margin:0; display:grid; justify-items:center; gap:22px; position:relative; }
.hero-visual::before { content:""; position:absolute; inset:12% -12% 6%; background:radial-gradient(ellipse,#0c1c32,transparent 67%); z-index:-1; }
.hero-visual figcaption { font-size:12px; color:#a2a2ab; }
.phone { width:min(100%,294px); border-radius:39px; padding:5px; background:#151518; border:1px solid #39393d; box-shadow:0 32px 65px #0009; overflow:hidden; }
.phone img { width:100%; height:auto; border-radius:33px; background:#000; }
.hero-visual .phone { width:min(100%,304px); }
.home-page .section h2 { white-space:pre-line; font-weight:650; font-size:clamp(35px,4.7vw,58px); letter-spacing:-.05em; }
.home-page .section { padding-block:88px; }
.home-page .section-label { color:#a1a2ab; }
.home-page .loop { margin-top:48px; }
.home-page .step-number { background:transparent; border:1px solid #313136; color:#b9cce7; }
.home-page .loop-step h3 { font-weight:600; font-size:23px; }
.home-page .loop-step p { max-width:290px; font-size:15px; }
.app-stories { margin-top:65px; display:grid; gap:72px; }
.app-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.app-story .story-copy { max-width:400px; }
.app-story .story-copy h3 { font-size:clamp(32px,3.5vw,45px); font-weight:620; letter-spacing:-.045em; line-height:1.12; }
.app-story .story-copy p { font-size:17px; line-height:1.65; }
.app-story .section-label { display:block; font-size:10px; margin-bottom:24px; }
.app-story.reverse .story-copy { order:2; }
.screen-well { padding:40px 30px; display:grid; place-items:center; background:#0b0b0d; border:1px solid #ffffff0a; border-radius:32px; }
.blue-well { background:radial-gradient(ellipse at 50% 40%,#0b1d32,#090b10 80%); }
.medal-well { background:radial-gradient(ellipse at 50% 40%,#1c1725,#0b0a0f 80%); }
.capture-note { text-align:center; font-size:12px; line-height:1.6; color:#94949d; margin:35px 0 0; }
.together { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:90px; }
.social-copy { font-size:18px; line-height:1.65; color:#a5a5ae; margin:0 0 24px; }
.home-page .final-cta { background:radial-gradient(ellipse at 50% 100%,#081629,transparent 70%); padding-block:105px; }
.home-page .final-cta h2 { font-size:clamp(45px,6vw,76px); }
.home-page .final-cta .section-label { margin:0 auto 25px; }
.home-page .lang-toggle button { min-height:40px; min-width:40px; }
@media(max-width:800px) {
 .home-hero { gap:35px; grid-template-columns:1fr 1fr; padding-block:55px 65px; }
 .home-hero h1 { font-size:56px; }
 .home-hero .hero-copy { font-size:17px; }
 .app-story { gap:35px; }
 .screen-well { padding:25px 20px; }
 .together { gap:35px; }
}
@media(max-width:600px) {
 .home-page .nav { height:68px; }
 .home-hero { grid-template-columns:1fr; gap:48px; padding-block:45px 55px; }
 .home-hero h1 { font-size:clamp(54px,13.5vw,76px); max-width:460px; }
 .home-hero .hero-copy { font-size:18px; max-width:340px; }
 .hero-visual .phone { width:280px; }
 .home-page .section { padding-block:60px; }
 .app-stories { gap:50px; margin-top:42px; }
 .app-story,.together { grid-template-columns:1fr; gap:30px; }
 .app-story.reverse .story-copy { order:0; }
 .screen-well { padding:30px 20px; border-radius:24px; }
 .screen-well .phone { width:270px; }
 .home-page .final-cta { padding-block:70px; }
 .hero-actions { gap:20px; }
}
/* Keep the ambient backdrop within the page at narrow widths. */
.hero-visual::before { inset:12% 0 6%; }
.app-story, .screen-well, .story-copy { min-width:0; }
.screen-well .phone { max-width:100%; }
@media(max-width:600px) {
 .app-stories,.app-story { grid-template-columns:minmax(0,1fr); }
}
