:root{--blue:#1455FF;--sky:#008CFF;--paper:#FAF9F6;--ink:#111111;--mist:#DBE4FF;--r:28px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:'Space Grotesk',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:.98;letter-spacing:-.035em;font-weight:700}
h2{font-size:clamp(2.2rem,5.5vw,4.5rem)}
.blue{color:var(--blue)}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:16px 28px;border-radius:999px;transition:background .2s,transform .2s}
.btn:hover{background:var(--ink);transform:translateY(-2px)}
.btn.light{background:#fff;color:var(--blue)}.btn.light:hover{background:var(--ink);color:#fff}
.btn.dark{background:var(--ink)}.btn.dark:hover{background:var(--blue)}
.link{font-weight:700;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:2px}
/* nav */
header{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.92);backdrop-filter:blur(10px)}
nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:1.4rem;letter-spacing:-.03em}
.brand img{height:36px;width:auto;display:block}
nav ul{display:flex;gap:32px;list-style:none;padding:0}
nav ul a{text-decoration:none;font-weight:500}nav ul a:hover{color:var(--blue)}
.menu{display:none;background:none;border:2px solid var(--ink);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}
.nav-cta{padding:12px 22px}
/* hero */
.hero{padding:56px 0 88px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(3.4rem,9vw,7.6rem)}
.hero p.sub{font-size:1.25rem;max-width:34em;margin:28px 0 32px}
.ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.art{position:relative;height:540px}
.dev{position:absolute;width:49%;height:450px}
.ios{left:0;top:44px;border-radius:46px;padding:6px;background:linear-gradient(145deg,#d9dce2,#8d939d);transform:rotate(-5deg);box-shadow:0 18px 0 -8px var(--ink)}
.droid{right:0;top:0;border-radius:30px;padding:5px;background:#202328;transform:rotate(4deg);box-shadow:0 18px 0 -8px var(--blue)}
.scr{height:100%;overflow:hidden;position:relative;padding:38px 10px 10px}
.ios .scr{border-radius:40px;background:linear-gradient(160deg,#6fb1ff,#1455FF 70%)}
.droid .scr{border-radius:26px;background:linear-gradient(160deg,#10204f,#0a0f24 75%)}
.isl{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:64px;height:19px;background:#000;border-radius:99px}
.hole{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:11px;height:11px;background:#000;border-radius:50%}
.tag{display:inline-block;font-size:.72rem;font-weight:700;background:var(--paper);color:var(--ink);padding:3px 10px;border-radius:99px;margin-bottom:8px}
.wid{background:rgba(255,255,255,.88);color:var(--ink);border-radius:16px;padding:10px 12px;font-size:.72rem;line-height:1.3;margin-bottom:12px}
.wid b{display:block;font-size:1.05rem;letter-spacing:-.02em}
.droid .wid{background:rgba(255,255,255,.14);color:#fff;border-radius:22px}
.apps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px}
.app{text-align:center;font-size:.55rem;font-weight:500;color:#fff}
.app i{display:grid;place-items:center;aspect-ratio:1;border-radius:24%;color:#fff;font-style:normal;font-weight:700;font-size:1.05rem;margin-bottom:3px}
.droid .app i{border-radius:36%}
.stamp{position:absolute;left:6%;bottom:0;z-index:2;z-index:2;right:6%;background:var(--ink);color:#fff;border-radius:20px;padding:20px 22px;transform:rotate(-2deg)}
.stamp .serif{display:block;font-size:1.7rem;line-height:1.1;margin-bottom:8px}
.stamp small{color:#9fb8ff;font-weight:700;letter-spacing:.12em}
/* marquee */
.band{background:var(--blue);color:#fff;overflow:hidden;white-space:nowrap;padding:22px 0;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em}
.band div{display:inline-block;animation:slide 28s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.band div{animation:none}html{scroll-behavior:auto}.btn{transition:none}}
/* benefits */
.sec{padding:110px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;align-items:stretch}
.card{border-radius:var(--r);padding:36px 32px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between}
.card:nth-child(1){background:var(--blue);color:#fff}
.card:nth-child(2){background:var(--mist)}
.card:nth-child(3){background:var(--ink);color:#fff;margin-top:40px}
.card:nth-child(2){margin-top:20px}
.card .n{font-weight:700;letter-spacing:.1em}
.card h3{font-size:2.2rem;margin:48px 0 14px}
.card p{font-size:1.1rem;opacity:.92}
/* method */
.method{background:var(--blue);color:#fff;padding:110px 0}
.method h2{max-width:11em}
.steps{list-style:none;padding:0;margin:56px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.steps li{counter-increment:s;border-top:3px solid #fff;padding:20px 24px 0 0}
.steps li::before{content:counter(s);display:block;font-size:3.6rem;font-weight:700;letter-spacing:-.04em;margin-bottom:12px}
.steps b{display:block;font-size:1.5rem;margin-bottom:6px}
/* audience */
.aud{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:3px solid var(--ink)}
.aud div{padding:32px 32px 8px 0}
.aud div+div{padding-left:32px;border-left:3px solid var(--ink)}
.aud h3{font-size:2rem;margin-bottom:12px}
.aud h3 span{color:var(--blue)}
.aud p{font-size:1.1rem}
/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
details{border-bottom:2px solid var(--ink);padding:22px 0}
summary{cursor:pointer;font-size:1.35rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px;letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.8rem;line-height:1;color:var(--blue);transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:12px;max-width:36em;font-size:1.1rem}
/* final */
.final{background:var(--mist);padding:130px 0;text-align:center}
.final h2{max-width:12em;margin:0 auto 24px;font-size:clamp(2.4rem,7vw,5.8rem)}
.final p.s{font-size:1.3rem;margin-bottom:32px}
.final small{display:block;margin-top:18px;font-size:.95rem}
/* footer */
footer{background:var(--ink);color:#fff;padding:64px 0 40px}
footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
footer .brand img{filter:none}
footer p{color:#c9c9c9;margin-top:12px}
footer ul{list-style:none;padding:0;display:grid;gap:10px}
footer a{text-decoration:none}footer a:hover{color:#9fb8ff}
footer .fh{font-weight:700;margin-bottom:14px;color:#9fb8ff}
.legal{grid-column:1/-1;border-top:1px solid #333;padding-top:24px;color:#8a8a8a;font-size:.9rem}
/* mobile */
@media(max-width:900px){
 .hero .wrap,.faq-grid,footer .wrap{grid-template-columns:minmax(0,1fr)}
 .art{height:520px}
 .cards,.steps,.aud{grid-template-columns:1fr}
 .card:nth-child(n){margin-top:0;min-height:300px}
 .steps li{margin-bottom:28px}
 .aud div+div{padding-left:0;border-left:0;border-top:3px solid var(--ink);margin-top:24px}
 .sec,.method{padding:72px 0}
 .menu{display:block}
 nav ul{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;padding:20px 24px;gap:18px;border-bottom:2px solid var(--ink)}
 nav ul.open{display:flex}
 .nav-cta{display:none}
}

@media(max-width:520px){.wrap{padding:0 18px}.hero{padding:32px 0 64px}.art{height:470px}.dev{height:340px}.app span{display:none}.apps{gap:7px 4px}.wid{font-size:.6rem;padding:7px 8px}.wid b{font-size:.85rem}.tag{font-size:.6rem}.stamp .serif{font-size:1.35rem}.btn{padding:15px 22px}.ctas{gap:16px}}
.hero{overflow-x:clip}
.faq-grid>*,.hero .wrap>*{min-width:0}summary{overflow-wrap:anywhere}
details{overflow:hidden}summary::after{flex:none}
footer a.fb{display:inline-block;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;border:2px solid #fff;border-radius:999px;padding:10px 20px;text-decoration:none;transition:background .2s,color .2s}footer a.fb:hover{background:#fff;color:var(--ink)}footer a.fb::after{content:" ↗"}
.hero .note{margin-top:16px;font-size:.9rem;font-weight:500;opacity:.7}
