/* Compact, responsive three-column product overview. */
body { color:#142238; background:#fff; font-size:16px; }
.wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.header { padding:24px 0; min-height:80px; gap:24px; }
.header .brand { font-size:22px; font-weight:700; letter-spacing:-.035em; gap:8px; }
.header .brand img { width:32px; height:32px; }
.header nav { font-size:14px; gap:28px; }
.header nav a { padding-block:8px; }
.showcase { padding-top:38px; }
#experience { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.story-row { --accent:#26799f; position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; gap:30px; min-width:0; padding:0 0 30px; margin:0; border:0; border-radius:0; background:none; }
.story-row::before { content:""; position:absolute; inset:120px -30px 0; z-index:-1; background:url('assets/signal-field.png') center / 440px 440px no-repeat; opacity:.26; pointer-events:none; }
.story-moment { --accent:#8b692f; }
.story-moment::before { filter:hue-rotate(165deg); opacity:.2; }
.story-nami { --accent:#6259c0; }
.story-nami::before { filter:hue-rotate(35deg); }
.story-copy { width:100%; text-align:center; }
.story-copy .eyebrow { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 14px; color:#65758b; font-size:12px; line-height:1.6; letter-spacing:.06em; }
.story-copy .eyebrow span { color:var(--accent); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.story-copy h1,.story-copy h2 { font-size:26px; font-weight:600; line-height:1.55; letter-spacing:-.025em; }
.story-copy h1>span,.story-copy h2>span { color:var(--accent); }
.app-phone { width:218px; max-width:100%; padding:4px; border-radius:29px; background:white; border:1px solid #e3e8ee; box-shadow:0 10px 25px #223c5510; }
.app-phone img { width:100%; height:auto; border-radius:24px; }
.launch-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 0; margin:28px 0 0; border-top:1px solid #e8edf2; }
.launch-row .eyebrow { margin:0 0 5px; font-size:12px; color:#65758b; letter-spacing:.08em; }
.launch-row h2 { font-size:24px; font-weight:600; letter-spacing:-.035em; line-height:1.3; }
.launch-row>p { font-size:14px; color:#65758b; }
.download-options { display:flex; align-items:center; gap:12px; flex-wrap:wrap; max-width:400px; }
.download-note { flex-basis:100%; margin:0; color:#65758b; font-size:12px; line-height:1.75; }
.download-link { display:inline-flex; align-items:center; gap:12px; min-width:158px; min-height:56px; padding:9px 18px; border:1px solid #142238; border-radius:12px; background:#142238; color:#fff; font-family:inherit; text-align:left; text-decoration:none; }
a.download-link:hover { background:#26799f; border-color:#26799f; }
.platform-icon { width:26px; height:28px; flex-shrink:0; }
.download-label { display:flex; flex-direction:column; gap:2px; }
.download-label small { font-size:10px; line-height:1.2; font-weight:400; }
.download-label strong { font-size:17px; line-height:1.25; font-weight:600; letter-spacing:-.02em; }
.footer { padding:24px 0 30px; border-top:1px solid #e8edf2; gap:24px; }
.footer .brand { font-size:18px; }
.footer p { font-size:12px; color:#65758b; margin-top:9px; }
.footer .filing { font-size:12px; line-height:1.85; }
.footer nav { gap:20px; font-size:13px; }
@media(min-width:701px) and (max-width:960px) {
 .wrap { width:calc(100% - 48px); }
 #experience { gap:24px; }
 .story-copy h1,.story-copy h2 { font-size:23px; }
 .app-phone { width:194px; }
 .story-row::before { background-size:360px 360px; inset-inline:-12px; }
 .footer { flex-direction:row; }
}
@media(max-width:700px) {
 .wrap { width:calc(100% - 40px); }
 .header { padding:20px 0; gap:16px; }
 .header .brand { font-size:20px; }
 .header .brand img { width:28px; height:28px; }
 .header nav { font-size:13px; gap:16px; }
 .showcase { padding-top:28px; }
 #experience { grid-template-columns:minmax(0,1fr); gap:44px; }
 .story-row { gap:24px; padding-bottom:12px; }
 .story-row::before { inset:100px -20px 0; background-size:390px 390px; }
 .story-copy h1,.story-copy h2 { font-size:25px; }
 .app-phone { width:212px; }
 .launch-row { padding:26px 0; margin-top:32px; gap:14px; flex-wrap:wrap; }
 .launch-row h2 { font-size:23px; }
 .launch-row>p { font-size:13px; }
 .footer { flex-direction:column; padding:24px 0; gap:20px; }
 .footer nav { gap:18px; }
}
