:root{
  --bg:#0b0e1d; --surface:rgba(255,255,255,.045); --line:rgba(255,255,255,.08);
  --text:#e8e9f3; --muted:#a6abc8; --accent:#b39bff; --accent-deep:#8b6cff;
  --ease:cubic-bezier(.16,1,.3,1); --r-card:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--accent)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:rgba(11,14,29,.72);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);
  font-weight:800;letter-spacing:-.03em;font-size:1.05rem}
.brand img{width:28px;height:28px;border-radius:7px}
.nav-links{display:flex;gap:24px}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.92rem;transition:color .15s ease}
.nav-links a:hover{color:var(--text)}

/* ---- Hero ---- */
.hero{position:relative;padding:clamp(3rem,8vh,6rem) 0 3rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
h1{font-size:clamp(2.5rem,6.5vw,4.4rem);line-height:1.04;letter-spacing:-.035em;
  font-weight:800;margin:0 0 1.1rem}
.sub{color:var(--muted);font-size:1.13rem;line-height:1.65;max-width:34rem;margin:0 0 2rem}
.badge{display:inline-block;border-radius:13px;transition:transform .16s var(--ease)}
.badge:active{transform:scale(.97)}
.badge img{height:56px;width:auto}
.hero-visual{position:relative;display:flex;justify-content:center}
.orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.orb-a{width:440px;height:440px;top:-60px;right:-80px;opacity:.4;
  background:radial-gradient(circle,#5b8cff 0%,rgba(91,140,255,0) 64%)}
.orb-b{width:380px;height:380px;bottom:-70px;left:-60px;opacity:.35;
  background:radial-gradient(circle,#8b6cff 0%,rgba(139,108,255,0) 64%)}
@media (prefers-reduced-motion:no-preference){
  .orb-a{animation:float 26s var(--ease) infinite alternate}
  .orb-b{animation:float 32s var(--ease) infinite alternate-reverse}
  @keyframes float{from{transform:translate(0,0)}to{transform:translate(-24px,20px)}}
}
.phone{position:relative;z-index:1;margin:0;width:min(320px,82%);
  border-radius:46px;padding:10px;background:#04050c;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 90px rgba(4,5,12,.6),0 12px 34px rgba(108,61,255,.16)}
.phone img{border-radius:37px;aspect-ratio:1320/2868;width:100%;object-fit:cover}

/* ---- Sections ---- */
section{padding:4.5rem 0}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.03em;font-weight:800;margin:0 0 2rem}

/* ---- Bento ---- */
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  padding:26px;transition:transform .2s var(--ease),border-color .2s ease}
@media (hover:hover) and (pointer:fine){
  .cell:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.16)}
}
.cell h3{margin:0 0 .5rem;font-size:1.15rem;letter-spacing:-.015em;font-weight:700}
.cell p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}
.c1{grid-column:span 4;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.c1 img,.c2 img{border-radius:16px;border:1px solid var(--line);
  aspect-ratio:1320/1900;object-fit:cover;object-position:center 18%;width:100%}
.c2{grid-column:span 2}
.c2 img{margin-top:18px;aspect-ratio:1320/1500;object-position:center 12%}
.c3,.c4,.c5{grid-column:span 2}
.c3{background:linear-gradient(155deg,rgba(139,108,255,.18),rgba(255,255,255,.03))}
.c3 .num{font-size:3.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;
  color:var(--accent);margin:0 0 .4rem}

/* ---- Modes ---- */
.mode-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:22px 4px}
.mode-row + .mode-row{border-top:1px solid var(--line)}
.mode-row h3{margin:0;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em}
.mode-row p{margin:0;color:var(--muted);font-size:1.02rem;text-align:right}

/* ---- Gallery ---- */
.strip{display:flex;gap:20px;overflow-x:auto;padding:6px 2px 18px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.shot{flex:0 0 auto;width:238px;scroll-snap-align:start;margin:0;
  border-radius:34px;padding:8px;background:#04050c;border:1px solid rgba(255,255,255,.12)}
.shot img{border-radius:27px;aspect-ratio:1320/2868;width:100%;object-fit:cover}
.strip::-webkit-scrollbar{height:6px}
.strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}

/* ---- Statement ---- */
.statement{text-align:center;padding:5.5rem 0}
.st-lead{color:var(--muted);font-size:1.08rem;margin:0 0 .9rem}
.st-big{font-size:clamp(2.3rem,6vw,4rem);font-weight:800;letter-spacing:-.035em;
  color:#cdbbff;margin:0}

/* ---- Final CTA ---- */
.cta-final{text-align:center;padding:4rem 0 6rem}
.cta-final img.appicon{width:76px;height:76px;border-radius:18px;margin:0 auto 1.4rem;
  border:1px solid rgba(255,255,255,.14)}
.cta-final h2{margin-bottom:.6rem}
.cta-final .cta-p{color:var(--muted);margin:0 0 2rem}

/* ---- Footer ---- */
footer{border-top:1px solid var(--line);padding:2.6rem 0 3rem;font-size:.9rem}
.f-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:1.1rem}
.f-links a{color:var(--muted);text-decoration:none;transition:color .15s ease}
.f-links a:hover{color:var(--text)}
.f-copy{color:#7c81a0;margin:0}

/* ---- Reveal ---- */
html.js [data-reveal]{opacity:0;transform:translateY(16px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  transition-delay:var(--d,0ms)}
html.js [data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Focus ---- */
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

/* ---- Mobile ---- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero{padding-top:2.5rem}
  .sub{font-size:1.05rem}
  .phone{width:min(280px,78%)}
  .orb-a{width:300px;height:300px;right:-90px}
  .orb-b{width:260px;height:260px;left:-80px}
  .grid{grid-template-columns:1fr}
  .c1,.c2,.c3,.c4,.c5{grid-column:auto}
  .c1{grid-template-columns:1fr}
  .c1 img{aspect-ratio:1320/1100;object-position:center 8%}
  .mode-row{flex-direction:column;align-items:flex-start;gap:4px}
  .mode-row p{text-align:left}
  section{padding:3.2rem 0}
}
