
/* v1.2 refinement: legible headings, more spacious navigation, responsive media showcase */
:root { --max: 1200px; }
body { font-family: 'Montserrat','Avenir Next',Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.68; }
.header-inner { height:88px; gap:30px; }
.brand { flex:0 0 auto; }
.brand-logo { width:clamp(188px,17.4vw,245px); height:auto; }
.nav { gap:6px; }
.nav a { font-size:13px; letter-spacing:.005em; font-weight:650; padding:12px 14px; }
.nav a.nav-contact { background:rgba(238,32,210,.1);border-color:rgba(255,104,239,.36);color:#ffe9fa; }
.nav a.nav-contact:hover { background:rgba(238,32,210,.18); }
.hero { padding:94px 0 103px; }
.hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); gap:clamp(32px,4.5vw,68px); }
.hero h1 { font-size:clamp(48px,5.25vw,74px); line-height:1.15; letter-spacing:-.027em; text-wrap:balance; margin:24px 0 23px; }
.lead { font-size:17px;line-height:1.8; max-width:550px; }
h2 { font-size:clamp(34px,4vw,53px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance; }
h3 { letter-spacing:-.01em;line-height:1.42; }
.page-hero h1 { letter-spacing:-.025em;line-height:1.16;text-wrap:balance; }
.article {font-size:15px;line-height:1.85;}
.feature p,.info-card p,.faq p {font-size:14px;line-height:1.77;}
.section-intro {line-height:1.77;}
.section {padding:90px 0;}
.feature {min-height:226px;padding:28px 27px 29px;}
.feature-icon {margin-bottom:21px;}
.cta {padding:55px;}
.cta h2 {line-height:1.22;letter-spacing:-.022em;}
.btn {font-size:14px;min-height:48px;}
@media(min-width:951px) and (max-width:1140px) { .nav a {padding:10px 10px;} .brand-logo{width:202px;} .hero h1{font-size:clamp(47px,5.15vw,62px)} }

/* Coming-soon showcase intentionally has no fabricated app screens. */
.section-preview {padding-top:38px;padding-bottom:96px;}
.showcase-top{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px;}
.showcase-top .section-intro{margin-bottom:0;max-width:730px;}
.text-link{display:inline-flex;align-items:center;gap:6px;padding:8px 0;color:#ff95f5;font-size:13px;font-weight:750;white-space:nowrap;}
.text-link:hover{text-decoration:underline;text-underline-offset:5px;}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2.8vw,35px);}
.shot-card{min-width:0;}
.phone-frame{position:relative;isolation:isolate;max-width:315px;margin:0 auto;background:#05060f;border:5px solid #24243d;border-radius:43px;padding:8px;aspect-ratio:9 / 19.5;overflow:hidden;box-shadow:0 30px 65px rgba(0,0,0,.39),0 0 0 1px rgba(255,255,255,.12);}
.phone-frame:before{content:"";position:absolute;top:16px;left:50%;transform:translateX(-50%);width:29%;height:16px;border-radius:100px;background:#02030a;z-index:3;box-shadow:0 0 0 1px rgba(255,255,255,.08);pointer-events:none;}
.phone-frame img{width:100%;height:100%;display:block;object-fit:contain;border-radius:31px;background:#03040d;}
.phone-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;border-radius:31px;background:radial-gradient(circle at 40% 25%,rgba(220,19,182,.18),transparent 42%),radial-gradient(circle at 66% 83%,rgba(89,71,251,.28),transparent 55%),linear-gradient(160deg,#13122c,#060915 82%);border:1px solid rgba(230,130,240,.12);text-align:center;color:#a7a4c2;font-size:13px;font-weight:600;line-height:1.7;}
.preview-symbol{font-size:52px;font-weight:300;color:#ff5ae4;filter:drop-shadow(0 0 22px rgba(235,26,218,.58));}
.shot-copy{padding:24px 12px 8px;position:relative;}
.shot-index{color:#ef69e8;font-size:11px;font-weight:750;letter-spacing:.16em;display:block;margin-bottom:10px;}
.shot-copy h3{font-size:19px;margin-bottom:7px;}
.shot-copy p{font-size:13px;color:var(--muted);margin:0;}
.video-showcase{margin-top:62px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.72fr);gap:clamp(28px,5vw,70px);align-items:center;border:1px solid var(--line);border-radius:28px;padding:25px;background:linear-gradient(125deg,rgba(51,42,102,.22),rgba(11,13,34,.7));}
.video-stage{width:100%;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:#08081a;box-shadow:0 20px 48px rgba(0,0,0,.35);}
.video-stage video{width:100%;height:100%;display:block;object-fit:contain;background:#070715;}
.video-placeholder{display:flex;height:100%;gap:17px;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 42% 42%,rgba(214,18,196,.2),transparent 60%),linear-gradient(110deg,#17122f,#080d25);color:#c3bbdb;font-size:13px;letter-spacing:.01em;}
.play-orb{display:flex;justify-content:center;align-items:center;padding-left:5px;width:74px;height:74px;border-radius:50%;background:rgba(248,44,226,.13);border:1px solid rgba(251,105,228,.52);color:#ff9cef;font-size:21px;box-shadow:0 0 55px rgba(222,26,195,.23);}
.video-copy{padding:16px 12px 16px 0;}
.video-copy h3{font-size:clamp(24px,2.8vw,34px);line-height:1.2;letter-spacing:-.02em;}
.video-copy p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:19px;}
.video-copy .fineprint{display:block;font-size:11px;}
@media(max-width:950px){.header-inner{height:76px;gap:15px}.brand-logo{width:202px}.section-preview{padding-top:20px;}.hero h1{font-size:clamp(50px,8vw,78px)}.screenshot-grid{gap:18px}.phone-frame{border-radius:35px;border-width:4px;padding:6px}.phone-frame img,.phone-placeholder{border-radius:26px}.video-showcase{gap:25px}}
@media(max-width:670px){.header-inner{min-height:72px;height:auto;padding:10px 0}.brand-logo{width:min(200px,59vw)}.hero{padding:69px 0 70px}.hero h1{font-size:clamp(45px,11.1vw,68px);line-height:1.14;letter-spacing:-.02em}.lead{font-size:16px;line-height:1.76}.section{padding:64px 0}.section-preview{padding:16px 0 64px}.showcase-top{display:block;margin-bottom:27px}.showcase-top .text-link{margin-top:10px}.screenshot-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:16px;gap:16px;padding:2px 6px 18px 2px;-webkit-overflow-scrolling:touch}.shot-card{flex:0 0 min(72vw,270px);scroll-snap-align:start}.phone-frame{width:100%;max-width:252px}.shot-copy{padding:19px 6px 5px}.video-showcase{grid-template-columns:1fr;margin-top:30px;padding:15px;gap:0;border-radius:23px}.video-copy{padding:25px 7px 12px}.video-copy h3{font-size:25px}.feature{padding:26px 24px}.cta{padding:30px 26px}.page-hero h1{font-size:clamp(41px,10vw,60px)}.article{font-size:14px}.nav a{font-size:15px;}}
@media(prefers-reduced-motion:reduce){.screenshot-grid{scroll-behavior:auto}}

/* Collapse navigation before tablet links become cramped. */
@media (max-width:800px) {
  .header-inner {min-height:72px;height:auto;padding:10px 0;flex-wrap:wrap;}
  .menu-toggle {display:inline-flex;}
  .nav {display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;padding:4px 0 8px;}
  .nav.is-open {display:flex;}
  .nav a {font-size:15px;}
  .nav a.nav-contact {margin:4px 0 0;}
}


/* v1.6: hero preview, desktop scroller, and theme showcase */
.hero-stack{position:relative;min-height:620px;display:flex;align-items:center;justify-content:center;padding:16px 8px 26px;}
.hero-phone{max-width:320px;margin:0;box-shadow:0 30px 90px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12);}
.hero-phone-main{transform:translateX(-32px) rotate(-3deg);}
.hero-phone-secondary{position:absolute;right:0;bottom:0;max-width:250px;transform:rotate(6deg);}
.hero-note{position:absolute;left:18px;bottom:22px;display:grid;gap:6px;max-width:250px;padding:14px 16px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(135deg,rgba(29,29,62,.9),rgba(17,18,39,.8));backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(0,0,0,.35);}
.hero-note-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:#f07bf5;}
.hero-note strong{font-size:15px;line-height:1.45;}
.hero-note span:last-child{font-size:12px;color:var(--muted);line-height:1.65;}
.showcase-scroller-hint{display:flex;justify-content:flex-end;font-size:12px;color:#b7bbd3;font-weight:650;margin:-6px 0 16px;}
.screenshot-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:20px;padding:2px 4px 16px 2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,105,240,.55) rgba(255,255,255,.06);}
.screenshot-grid::-webkit-scrollbar{height:10px;}
.screenshot-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:999px;}
.screenshot-grid::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#ff2fd0,#815cff);border-radius:999px;}
.shot-card{flex:0 0 min(28vw,310px);scroll-snap-align:start;}
.section-themes{padding-top:30px;}
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:26px;}
.theme-card{border:1px solid var(--line);border-radius:28px;padding:20px;background:linear-gradient(145deg,rgba(36,33,72,.48),rgba(10,12,28,.85));box-shadow:0 20px 55px rgba(0,0,0,.26);}
.theme-shot{display:flex;justify-content:center;padding:8px 4px 0;}
.theme-shot img{width:min(100%,320px);display:block;border-radius:28px;box-shadow:0 24px 55px rgba(0,0,0,.35);background:#040612;}
.theme-copy{padding:20px 10px 8px;}
.theme-copy h3{font-size:24px;margin-bottom:8px;}
.theme-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.8;}
@media(max-width:1100px){.shot-card{flex-basis:min(34vw,300px);} .hero-stack{min-height:560px}.hero-phone-main{transform:translateX(-10px) rotate(-2deg);} .hero-phone-secondary{max-width:220px;}}
@media(max-width:950px){.hero-stack{min-height:520px;}.hero-phone{max-width:280px}.hero-phone-secondary{max-width:200px;right:8px;} .theme-grid{grid-template-columns:1fr 1fr;gap:18px;} .shot-card{flex-basis:min(42vw,280px);} }
@media(max-width:670px){.hero-stack{min-height:0;display:block;padding:0 0 10px;}.hero-phone-main{position:relative;transform:none;max-width:250px;margin:0 auto;}.hero-phone-secondary{display:none;}.hero-note{position:relative;left:auto;bottom:auto;max-width:none;margin:16px auto 0;}.showcase-scroller-hint{justify-content:flex-start;margin-bottom:14px;} .shot-card{flex:0 0 min(72vw,270px);} .theme-grid{grid-template-columns:1fr;gap:18px;} .theme-card{padding:16px;} .theme-shot img{width:min(100%,280px);} }
