:root{
  --ink:#241934;
  --ink-2:#463b52;
  --paper:#fff9f1;
  --paper-2:#f5efe7;
  --coral:#ff806d;
  --orange:#ffb04f;
  --mint:#65e5d5;
  --violet:#7657d8;
  --line:rgba(36,25,52,.14);
  --white:#fff;
  --shadow:0 28px 70px rgba(50,33,67,.15);
  --radius:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Aptos,"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,a{ -webkit-tap-highlight-color:transparent }
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--violet)}
.serif{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em}
.header{position:sticky;top:0;z-index:30;background:rgba(255,249,241,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(36,25,52,.06)}
.header-row{height:86px;display:flex;align-items:center;gap:28px}
.brand img{width:285px;height:auto}
.nav{display:flex;gap:26px;margin-left:auto;font-weight:700;font-size:.95rem}
.nav a{opacity:.72;transition:.2s}.nav a:hover{opacity:1;color:var(--violet)}
.header-cta{padding:12px 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800}
.menu-btn{display:none;margin-left:auto;border:0;background:transparent;font-size:1.7rem;color:var(--ink)}
.hero{position:relative;padding:90px 0 68px;isolation:isolate}
.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);z-index:-1;opacity:.85}
.hero:before{width:390px;height:390px;background:radial-gradient(circle,#ffd7c4 0,#ffd7c400 72%);left:-130px;top:20px}
.hero:after{width:520px;height:520px;background:radial-gradient(circle,#bdf4eb 0,#bdf4eb00 70%);right:-180px;top:110px}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:62px;align-items:center}
h1{font-size:clamp(3.5rem,7vw,6.6rem);line-height:.92;margin:14px 0 26px;max-width:760px}
.hero p{font-size:1.18rem;color:var(--ink-2);max-width:610px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:999px;font-weight:800;border:1px solid var(--line);transition:.25s transform,.25s box-shadow,.25s background}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(58,43,68,.12)}
.btn-primary{background:var(--coral);color:#2b1730;border-color:transparent}
.btn-soft{background:#fff}
.hero-media{position:relative}
.hero-media .frame{background:#25133d;border-radius:34px;padding:14px;box-shadow:var(--shadow);transform:rotate(1.5deg);overflow:hidden}
.hero-media .frame img{border-radius:24px;width:100%}
.hero-media .sticker{position:absolute;right:-16px;bottom:-25px;background:var(--orange);border:5px solid var(--paper);padding:14px 18px;border-radius:18px;font-weight:900;transform:rotate(-6deg);box-shadow:0 16px 30px rgba(77,45,43,.16)}
.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#fffdf8}
.marquee{white-space:nowrap;display:flex;gap:48px;padding:17px 0;font-weight:800;color:#61566d;animation:marquee 22s linear infinite}
.marquee span:before{content:"✦";color:var(--coral);margin-right:14px}
@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:105px 0}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;margin-bottom:50px;align-items:end}
.section-head h2{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;margin:0}
.section-head p{margin:0;color:var(--ink-2);font-size:1.08rem;max-width:650px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service{padding:28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.66);min-height:260px;transition:.28s}
.service:hover{transform:translateY(-7px) rotate(-.5deg);box-shadow:var(--shadow);background:#fff}
.service .num{font-size:.82rem;font-weight:900;color:var(--coral);letter-spacing:.16em}
.service h3{font-size:1.4rem;margin:48px 0 10px}.service p{color:#655b6f;margin:0}
.product-section{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.product-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(101,229,213,.14),transparent 32%),radial-gradient(circle at 82% 75%,rgba(255,128,109,.18),transparent 35%)}
.product-section .wrap{position:relative}
.product-section .eyebrow{color:var(--mint)}
.product-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:end;margin-bottom:44px}
.product-intro h2{font-size:clamp(3rem,6vw,5.7rem);line-height:.95;margin:8px 0 0}.product-intro p{color:#d9d2e0;font-size:1.08rem;max-width:660px;margin:0}
.app-card{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:36px;padding:30px;backdrop-filter:blur(16px)}
.app-icon{width:118px;border-radius:28px;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.app-card h3{font-size:2.4rem;margin:18px 0 8px}.app-card p{color:#ded7e4}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.chip{border:1px solid rgba(255,255,255,.16);padding:8px 12px;border-radius:999px;font-size:.82rem;color:#eee7f5}
.phone-stack{position:relative;height:610px}.phone{position:absolute;width:285px;border-radius:34px;box-shadow:0 30px 70px rgba(0,0,0,.35);border:8px solid #17131e}.phone:nth-child(1){left:12px;top:55px;transform:rotate(-7deg)}.phone:nth-child(2){left:120px;top:0;z-index:2;transform:rotate(2deg)}.phone:nth-child(3){left:225px;top:70px;transform:rotate(9deg)}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{position:relative;padding:32px 30px;border-radius:28px;background:#fff;border:1px solid var(--line);min-height:265px}.step:after{content:"";position:absolute;right:24px;top:22px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--mint),var(--orange));opacity:.8}.step b{font-size:.8rem;letter-spacing:.18em;color:var(--violet)}.step h3{font-size:1.7rem;margin:72px 0 10px}.step p{color:#675e71;margin:0}
.contact{padding:70px 0 90px}.contact-card{background:linear-gradient(135deg,#ffd9c4,#ffeab5 48%,#b9efe6);border-radius:40px;padding:58px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}.contact-card h2{font-size:clamp(3rem,6vw,5.4rem);line-height:.95;margin:0 0 20px}.contact-card p{max-width:620px}.contact-list{background:rgba(255,255,255,.72);border:1px solid rgba(36,25,52,.13);border-radius:26px;padding:26px}.contact-list div+div{margin-top:16px;padding-top:16px;border-top:1px solid rgba(36,25,52,.12)}.contact-list span{display:block;color:#73697c;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.footer{background:#1f1729;color:#d9d1df;padding:52px 0 28px}.footer-top{display:grid;grid-template-columns:1.1fr .9fr;gap:38px}.footer h3{color:#fff;font-size:1.35rem;margin:0 0 10px}.footer p{max-width:560px;color:#afa6b8}.footer-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.footer-meta strong{display:block;color:#fff;font-size:.88rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:22px;font-size:.88rem}.footer-bottom a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.reveal{opacity:0;transform:translateY(24px);transition:.72s ease}.reveal.in{opacity:1;transform:none}
/* privacy */
.policy-hero{padding:86px 0 46px}.policy-hero h1{font-size:clamp(3.2rem,7vw,6rem);margin-bottom:18px}.policy-layout{display:grid;grid-template-columns:250px 1fr;gap:50px;padding-bottom:100px}.policy-nav{position:sticky;top:118px;align-self:start}.policy-nav a{display:block;padding:9px 0;color:#756b7d;font-weight:700}.policy-nav a:hover{color:var(--violet)}.policy-copy{max-width:820px}.policy-copy section{background:#fff;border:1px solid var(--line);border-radius:25px;padding:28px 30px;margin-bottom:16px}.policy-copy h2{font-size:1.45rem;margin:0 0 9px}.policy-copy p{margin:0;color:#5e5567}.policy-note{border-left:4px solid var(--orange)!important}.policy-email{font-weight:800;color:var(--violet);text-decoration:underline}
@media(max-width:980px){.nav,.header-cta{display:none}.menu-btn{display:block}.nav.open{display:flex;position:absolute;top:86px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;flex-direction:column;box-shadow:var(--shadow)}.hero-grid,.section-head,.product-intro,.contact-card,.footer-top,.policy-layout{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.app-card{grid-template-columns:1fr}.phone-stack{height:570px;max-width:520px;margin:auto}.policy-nav{display:none}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.brand img{width:225px}.header-row{height:76px}.hero{padding-top:56px}.hero-grid{gap:36px}.hero-media .sticker{right:2px}.section{padding:78px 0}.service-grid,.process{grid-template-columns:1fr}.service{min-height:220px}.phone-stack{height:475px}.phone{width:220px}.phone:nth-child(2){left:72px}.phone:nth-child(3){left:145px}.app-card{padding:20px}.contact-card{padding:34px 24px}.footer-meta{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.policy-hero{padding-top:55px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
