@font-face{font-family:"Vipps MobilePay Display";src:url("../fonts/VippsMobilePayDisplay-Regular-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayDisplay-Regular-Web.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Vipps MobilePay Text";src:url("../fonts/VippsMobilePayText-Regular-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayText-Regular-Web.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Vipps MobilePay Text";src:url("../fonts/VippsMobilePayText-Medium-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayText-Medium-Web.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Vipps MobilePay Text";src:url("../fonts/VippsMobilePayText-Bold-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayText-Bold-Web.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Vipps MobilePay Text";src:url("../fonts/VippsMobilePayText-Extrabold-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayText-Extrabold-Web.woff") format("woff");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Vipps MobilePay Text";src:url("../fonts/VippsMobilePayText-Black-Web.woff2") format("woff2"),url("../fonts/VippsMobilePayText-Black-Web.woff") format("woff");font-weight:900;font-style:normal;font-display:swap}

/* ============ TOKENS ============ */
:root{
  --ink:#23150E;
  --ink-soft:#6B5A50;
  --white:#fff;
  --green:#0C8A4D;
  --radius:24px;
  --font-display:"Vipps MobilePay Display", "Vipps MobilePay Text", "Inter", system-ui, sans-serif;
  --font-body:"Inter", system-ui, -apple-system, sans-serif;
  --shadow-card:0 2px 6px rgba(35,21,14,.05), 0 16px 40px -18px rgba(35,21,14,.14);
  --shadow-pop:0 8px 20px -6px rgba(35,21,14,.22);
}
:root[data-brand="vipps"]{
  --brand:#FF5B24;
  --brand-deep:#D6420F;
  --brand-dark:#5B1D07;
  --brand-darkest:#3A1206;
  --soft:#FFF1EA;
  --soft-2:#FFE0D2;
  --bg:#FFFAF7;
  --tint:#FFF5EF;
  --ink:#2B1810;
  --ink-soft:#77604F;
  --footer:#2A130A;
}
:root[data-brand="mobilepay"]{
  --brand:#5A78FF;
  --brand-deep:#3C55D6;
  --brand-dark:#1D2461;
  --brand-darkest:#161225;
  --soft:#EEF1FF;
  --soft-2:#DCE3FF;
  --bg:#FAFBFF;
  --tint:#F3F5FF;
  --ink:#171331;
  --ink-soft:#5D5A78;
  --footer:#161225;
}
/* ============ BASE ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body, .btn-primary, .btn-ghost, .badge, .kicker, .icn, .sticker, .step-dot,
.ctaband, footer, .plan.featured, .lang-flag, .fcard, section, .pillnote,
.marq-item, .sheet-btn, .buy-btn, .callout b, .hl, .faq-item, .navbar{
  transition:background-color .5s ease, color .5s ease, border-color .5s ease, box-shadow .3s ease;
}
svg *{transition:fill .5s ease, stroke .5s ease}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--font-display);line-height:1.08;letter-spacing:-.02em;font-weight:700}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
::selection{background:var(--soft-2)}
section{padding:96px 0;position:relative}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--soft);color:var(--brand-deep);
  font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  padding:8px 16px;border-radius:999px;margin-bottom:20px;
}
.kicker svg,.kicker img{width:15px;height:15px}
.h2{font-size:clamp(30px,4.4vw,46px);margin-bottom:16px}
.lead{color:var(--ink-soft);font-size:18px;max-width:620px}
.center{text-align:center}
.center .lead{margin:0 auto}
/* ============ BUTTONS ============ */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--brand);color:#fff;font-weight:700;font-size:16px;
  padding:16px 30px;border-radius:999px;box-shadow:none;
  transform:scale(1);transition:transform .18s ease, box-shadow .22s ease, filter .22s ease, background-color .5s ease;
}
.btn-primary:hover{
  box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 24%, transparent);
  filter:brightness(1.05);
}
.btn-primary:active{transform:scale(.97)}
.btn-primary svg{width:18px;height:18px}
.btn-primary .install-brand-icon{width:20px;height:auto;flex:0 0 auto;display:block}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;color:var(--ink);font-weight:700;font-size:16px;
  padding:15px 28px;border-radius:999px;border:2px solid var(--soft-2);
  transform:scale(1);transition:transform .18s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.btn-ghost:hover{
  border-color:var(--brand);
  background:var(--soft);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);
}
.btn-ghost:active{transform:scale(.97)}
.btn-shop{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:#95C049;color:#fff;font-weight:700;font-size:16px;
  padding:16px 30px;border-radius:999px;border:2px solid #95C049;box-shadow:none;
  transform:scale(1);transition:transform .18s ease, box-shadow .22s ease, filter .22s ease, background-color .5s ease;
}
.btn-shop:hover{
  box-shadow:0 0 0 4px color-mix(in srgb, #95C049 24%, transparent);
  filter:brightness(1.05);
}
.btn-shop:active{transform:scale(.97)}
.btn-shop img{width:18px;height:auto;flex:0 0 auto;display:block}
.btn-demo{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;color:#000;font-weight:700;font-size:16px;
  padding:15px 28px;border-radius:999px;border:2px solid var(--brand);box-shadow:none;
  transform:scale(1);transition:transform .18s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.btn-demo:hover{
  background:var(--soft);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);
}
.btn-demo:active{transform:scale(.97)}
.btn-demo svg{width:18px;height:18px}
/* ============ DEMO STORE MODAL ============ */
.demo-modal-overlay{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(20,10,5,.45);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.demo-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
body.demo-modal-open{overflow:hidden}
.demo-modal{
  position:relative;width:100%;max-width:480px;background:#fff;
  border:2px solid var(--soft-2);border-radius:28px;padding:32px 28px 28px;text-align:left;
  transform:translateY(12px) scale(.98);
  transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.demo-modal-overlay.is-open .demo-modal{transform:none}
.demo-modal-close{
  position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:12px;border:none;
  background:var(--soft);color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:background-color .2s ease, color .2s ease, transform .18s ease;
}
.demo-modal-close:hover{background:var(--soft-2)}
.demo-modal-close:active{transform:scale(.97)}
.demo-modal-close svg{width:18px;height:18px}
.demo-modal-title{
  font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1.15;
  margin:0 44px 12px 0;letter-spacing:-.02em;
}
.demo-modal-lead{font-size:15px;line-height:1.55;color:var(--ink-soft);margin:0}
.demo-modal-password{
  margin:20px 0 24px;padding:14px 16px;background:var(--bg);
  border:2px solid var(--soft-2);border-radius:16px;
}
.demo-modal-password-label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:6px;
}
.demo-modal-password-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.demo-modal-password-value{
  margin:0;flex:1;min-width:0;
  font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--ink);
}
.demo-modal-copy{
  flex:0 0 auto;width:40px;height:40px;border-radius:12px;border:2px solid var(--soft-2);
  background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:border-color .2s ease, background-color .2s ease, color .2s ease, transform .18s ease;
}
.demo-modal-copy:hover{border-color:var(--brand);background:var(--soft);color:var(--brand-deep)}
.demo-modal-copy:active{transform:scale(.97)}
.demo-modal-copy svg{width:18px;height:18px}
.demo-modal-cta{width:100%}
.demo-toast{
  position:fixed;left:50%;bottom:28px;z-index:300;max-width:calc(100% - 32px);
  padding:12px 18px;border-radius:999px;background:var(--ink);color:#fff;
  font-size:14px;font-weight:700;line-height:1.3;text-align:center;
  transform:translateX(-50%) translateY(12px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
}
.demo-toast.is-visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media (max-width:640px){
  .demo-modal{padding:28px 22px 24px;border-radius:24px}
  .demo-modal-title{font-size:21px}
}
/* ============ NAV ============ */
.site-header{
  position:sticky;top:0;z-index:60;
}
.announcement-bar{
  background:var(--brand);color:#fff;
}
.announcement-bar-inner{
  display:flex;align-items:center;justify-content:center;
  padding:10px 16px;text-align:center;
}
.announcement-bar-text{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0;font-size:13.5px;font-weight:700;line-height:1.35;color:#fff;
}
.announcement-dot{
  width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:#fff;
  animation:announcement-pulse 1.8s ease-in-out infinite;
}
@keyframes announcement-pulse{
  0%,100%{opacity:1}
  50%{opacity:.55}
}
.navbar{
  background:color-mix(in srgb, var(--bg) 84%, transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--soft-2);
}
.nav-inner{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em}
.logo .mark{width:34px;height:34px;flex:0 0 auto;display:block;object-fit:contain;animation:wiggle 6s ease-in-out infinite}
.navlinks{display:flex;gap:26px;margin-left:12px;font-weight:600;font-size:15px;color:var(--ink-soft)}
.navlinks a:hover{color:var(--brand-deep)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.lang{
  position:relative;display:flex;align-items:center;background:var(--soft);border-radius:999px;padding:4px;gap:2px;
  isolation:isolate;
}
.lang-toggle{
  display:none;place-items:center;width:40px;height:40px;border-radius:999px;border:none;
  background:var(--soft);color:var(--ink-soft);cursor:pointer;padding:0;flex:0 0 auto;
  transition:background-color .2s ease,color .2s ease;
}
.lang-toggle:hover{background:var(--soft-2);color:var(--ink)}
.lang-menu{
  position:relative;display:flex;gap:2px;isolation:isolate;
}
.lang-name{display:none}
.lang-indicator{
  position:absolute;top:0;left:0;z-index:0;
  width:40px;height:34px;border-radius:999px;
  background:#fff;border:2px solid var(--brand);
  box-shadow:0 1px 4px color-mix(in srgb, var(--brand) 12%, transparent);
  pointer-events:none;
  opacity:0;
  transition:
    transform .42s cubic-bezier(.34,1.25,.64,1),
    width .32s cubic-bezier(.34,1.25,.64,1),
    height .32s cubic-bezier(.34,1.25,.64,1),
    opacity .2s ease;
  will-change:transform,width,height;
}
.lang-indicator.is-ready{opacity:1}
.lang-indicator.is-instant{
  transition:none !important;
}
.lang-flag{
  position:relative;z-index:1;
  width:40px;height:34px;display:grid;place-items:center;border-radius:999px;
  padding:0;border:2px solid transparent;
  transition:transform .2s cubic-bezier(.34,1.25,.64,1), opacity .2s ease;
}
.lang-flag .flag{
  width:22px;height:16px;border-radius:3px;display:block;
  transition:transform .32s cubic-bezier(.34,1.25,.64,1), opacity .2s ease;
}
.lang-flag:hover{transform:scale(1.06)}
.lang-flag:hover .flag{transform:scale(1.04)}
.lang-flag[aria-pressed="true"]{border-color:transparent;background:transparent}
.lang-flag[aria-pressed="true"] .flag{transform:scale(1.02)}
.nav-cta{padding:11px 22px;font-size:14.5px;gap:8px}
.nav-cta svg{width:16px;height:16px;flex:0 0 auto}
/* ============ HERO ============ */
.hero{padding:64px 0 90px;overflow:visible}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.hero-copy{min-width:0;max-width:100%}
.badge{
  display:inline-flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--soft-2);
  padding:9px 18px 9px 10px;border-radius:999px;font-weight:700;font-size:14px;margin-bottom:26px;
}
.badge .newpill{background:var(--brand);color:#fff;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;font-weight:800}
.hero h1{font-size:clamp(40px,5.6vw,66px);font-weight:800;margin-bottom:22px;line-height:1.08;text-wrap:balance}
.hero h1 .hl{color:var(--brand);position:relative}
.hero h1 .hl svg{position:absolute;left:2%;bottom:-14px;width:96%;height:14px;overflow:visible}
.hero .seo-lead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero .sub{font-size:19px;color:var(--ink-soft);max-width:520px;margin-bottom:32px;text-wrap:pretty}
.content-page{padding:48px 0 80px}
.content-page h1{font-size:clamp(28px,4vw,42px);font-weight:800;margin:0 0 16px;line-height:1.15;max-width:760px}
.content-page .lead{font-size:19px;color:var(--ink-soft);max-width:720px;margin:0 0 32px}
.content-page .content-block{padding:0;position:static;margin:0 0 28px;max-width:760px}
.content-page .content-block h2{font-size:24px;margin:0 0 12px}
.content-page .content-block p,.content-page .content-block li{font-size:16px;line-height:1.6;color:var(--ink-soft)}
.content-page .content-block ul{margin:12px 0 0;padding-left:1.25rem}
.content-page .content-block li + li{margin-top:6px}
.content-page .content-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.content-page .seo-table{max-width:760px}
.breadcrumb{font-size:14px;color:var(--ink-soft);margin:0 0 20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--brand);text-decoration:none}
.seo-table{width:100%;border-collapse:collapse;margin:24px 0 8px;font-size:15px}
.seo-table th,.seo-table td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.seo-table th{background:var(--soft);font-weight:600}
html[lang="fi"] .hero h1{font-size:clamp(32px,4.6vw,54px)}
html[lang="fi"] .hero .sub{font-size:17px;line-height:1.55}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--ink-soft);font-size:14.5px;font-weight:600}
.stars{color:#F5A623;letter-spacing:2px;font-size:15px}
.trust b{color:var(--ink)}
/* ---- phone side ---- */
.hero-demo{position:relative;display:flex;justify-content:center;min-width:0}
.blob{position:absolute;inset:-8% -12%;z-index:0;pointer-events:none}
.blob svg{width:100%;height:100%}
.sticker{
  position:absolute;z-index:5;background:#fff;border:2px solid var(--soft-2);border-radius:999px;
  padding:9px 16px;font-weight:800;font-size:13.5px;box-shadow:var(--shadow-card);
  display:flex;align-items:center;gap:7px;animation:floaty 5s ease-in-out infinite;
}
.sticker svg{width:16px;height:16px}
.sticker.s1{top:6%;left:-4%;rotate:-6deg}
.sticker.s2{top:38%;right:-7%;rotate:4deg;animation-delay:1.2s}
.sticker.s3{bottom:9%;left:-9%;rotate:3deg;animation-delay:2.1s}
.timerchip{
  position:absolute;z-index:6;top:-14px;right:6%;
  background:var(--ink);color:#fff;font-weight:800;font-size:14px;
  padding:9px 16px;border-radius:999px;display:flex;align-items:center;gap:8px;
  box-shadow:var(--shadow-pop);opacity:0;transform:translateY(6px) rotate(3deg);transition:.3s;
  font-variant-numeric:tabular-nums;
}
.timerchip.on{opacity:1;transform:translateY(0) rotate(3deg)}
.timerchip.done{background:var(--green)}
.timerchip svg{width:15px;height:15px}
/* ============ PHONE ============ */
.phone{
  position:relative;z-index:2;width:322px;height:648px;background:#101014;border-radius:48px;padding:11px;
  box-shadow:0 30px 70px -20px rgba(35,21,14,.4), inset 0 0 0 2px #2b2b33;
}
.phone-screen{position:relative;width:100%;height:100%;border-radius:38px;overflow:hidden;background:#fff}
.notch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:96px;height:24px;background:#101014;border-radius:999px;z-index:40}
.screen{
  position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;
  opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .35s ease, transform .35s ease;
  overflow-y:auto;overflow-x:hidden;scrollbar-width:none;
}
.screen::-webkit-scrollbar{display:none}
.screen.active{opacity:1;pointer-events:auto;transform:none}
/* store screen */
.storebar{display:flex;align-items:center;gap:8px;padding:40px 18px 12px;border-bottom:1px solid #F1EAE5;font-weight:800;font-size:13px}
.storebar .dot{width:20px;height:20px;border-radius:0;background:transparent;display:grid;place-items:center;flex:0 0 auto}
.storebar .dot img,.storebar .dot svg{width:20px;height:20px;display:block}
.storebar .cartic{margin-left:auto;color:var(--ink-soft)}
.p-img{margin:14px 16px 0;background:var(--tint);border-radius:20px;padding:18px;display:grid;place-items:center}
.p-img img,.p-img svg{width:150px;height:150px;display:block}
.p-body{padding:14px 18px 18px}
.p-name{font-weight:800;font-size:17px;font-family:var(--font-display)}
.p-meta{display:flex;align-items:center;gap:8px;margin:4px 0 10px}
.p-price{font-weight:800;font-size:18px;color:var(--brand-deep)}
.p-rate{font-size:11.5px;color:var(--ink-soft);font-weight:600}
.sizes{display:flex;gap:7px;margin-bottom:14px}
.sizes .size-btn{
  width:34px;height:30px;border:1.5px solid #E8DFD8;border-radius:9px;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink-soft);
  background:#fff;padding:0;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.sizes .size-btn:hover{border-color:color-mix(in srgb, var(--ink) 35%, #E8DFD8);color:var(--ink)}
.sizes .size-btn.on{border-color:var(--ink);color:var(--ink)}
.buy-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  background:var(--brand);color:#fff;font-weight:800;font-size:15px;
  padding:14px;border-radius:14px;box-shadow:0 6px 16px -4px color-mix(in srgb, var(--brand) 55%, transparent);
  animation:invite 2.6s ease-in-out infinite;transition:transform .15s ease, background-color .5s ease;
}
.buy-btn:hover{transform:scale(1.02)}
.buy-btn:active{transform:scale(.98)}
.paylogo{display:inline-flex;align-items:center;gap:6px;font-weight:800}
.paylogo .face{width:19px;height:19px;background:#fff;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.paylogo .face svg{width:12px;height:12px}
.addcart{
  width:100%;padding:13px;border-radius:14px;border:1.5px solid #E8DFD8;
  font-weight:700;font-size:13.5px;color:var(--ink-soft);text-align:center;background:#fff;
}
.p-body .hk-demo-buy{margin-top:9px}
.demonote{margin:12px 18px 20px;text-align:center;font-size:11px;color:var(--ink-soft);background:var(--soft);border-radius:10px;padding:7px 10px;font-weight:600}
/* login sheet */
.backdrop{position:absolute;inset:0;background:rgba(20,10,5,.45);opacity:0;pointer-events:none;transition:.3s;z-index:20}
.phone-screen.sheet-open .backdrop{opacity:1;pointer-events:auto}
.sheet{
  position:absolute;left:0;right:0;bottom:0;z-index:30;background:#fff;border-radius:26px 26px 0 0;
  padding:20px 20px 26px;transform:translateY(105%);transition:transform .4s cubic-bezier(.2,.9,.3,1.05);
  box-shadow:0 -12px 40px rgba(0,0,0,.2);
}
.phone-screen.sheet-open .sheet{transform:none}
.sheet .grab{width:40px;height:4px;border-radius:99px;background:#E5DDD6;margin:0 auto 16px}
.sheet-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.sheet-head .face-lg{width:34px;height:34px;border-radius:11px;background:var(--brand);display:grid;place-items:center}
.sheet-head .face-lg .sheet-brand-white{width:20px;height:auto;display:block}
.sheet-head b{font-family:var(--font-display);font-size:16.5px}
.sheet p{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.phone-field{display:flex;align-items:center;gap:8px;border:2px solid var(--soft-2);border-radius:13px;padding:12px 14px;margin-bottom:12px}
.phone-field .cc{font-weight:800;font-size:14px;color:var(--ink-soft);border-right:1.5px solid #EDE5DF;padding-right:9px}
.phone-field input{border:none;outline:none;font:inherit;font-weight:700;font-size:15px;width:100%;letter-spacing:.5px;color:var(--ink);background:transparent}
.sheet-btn{
  width:100%;background:var(--brand);color:#fff;font-weight:800;font-size:15px;padding:14px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.sheet-btn:active{transform:scale(.98)}
.sheet-foot{margin-top:12px;text-align:center;font-size:11px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;gap:6px}
.sheet-foot svg{width:13px;height:13px}
/* app confirm screen */
.s-app{background:var(--brand);color:#fff;align-items:center;justify-content:center;text-align:center;padding:32px;transition:background-color .5s ease, opacity .35s ease, transform .35s ease}
.bigface{width:110px;height:110px;margin-bottom:26px;position:relative}
.bigface .smilewrap, .bigface .checkwrap{position:absolute;inset:0;display:grid;place-items:center;transition:.35s}
.bigface .ring{width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.bigface .smilewrap .ring{animation:bounce 1.4s ease-in-out infinite}
.bigface .smilewrap .app-wait-brand{width:52px;height:auto;display:block}
.bigface .checkwrap{opacity:0;transform:scale(.5)}
.s-app.ok .smilewrap{opacity:0;transform:scale(.6)}
.s-app.ok .checkwrap{opacity:1;transform:scale(1)}
.checkwrap .ring svg{width:56px;height:56px}
.checkwrap .ring path{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .5s .1s ease forwards}
.s-app h4{font-family:var(--font-display);font-size:21px;margin-bottom:10px;max-width:220px}
.wdots{display:flex;gap:7px;margin-top:18px}
.wdots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.85);animation:wdot 1.1s ease-in-out infinite}
.wdots span:nth-child(2){animation-delay:.15s}
.wdots span:nth-child(3){animation-delay:.3s}
.s-app.ok .wdots{visibility:hidden}
/* checkout screen */
.co-bar{padding:36px 18px 10px;border-bottom:1px solid #ECECEC;background:#fff}
.co-bar .co-title{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:17px;font-weight:700;color:#1a1a1a;letter-spacing:0;margin:0}
.co-bar .co-title img{width:20px;height:20px;display:block;flex:0 0 auto}
.co-body{padding:14px 16px 18px;background:#FAFAFA;flex:1}
.co-sum{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E6E6E6;border-radius:12px;padding:10px 12px;margin-bottom:14px}
.co-sum .thumb{width:38px;height:38px;border-radius:9px;background:var(--tint);display:grid;place-items:center;flex:0 0 auto}
.co-sum .thumb img,.co-sum .thumb svg{width:26px;height:26px;display:block}
.co-sum .t1{font-size:12px;font-weight:700;color:#1a1a1a;line-height:1.3}
.co-sum .t2{font-size:11px;color:#8a8a8a}
.co-sum .amt{margin-left:auto;font-size:13px;font-weight:700;color:#1a1a1a}
.co-sec{font-size:12px;font-weight:700;color:#1a1a1a;margin:12px 2px 7px;display:flex;align-items:center;gap:7px}
.f{
  position:relative;background:#fff;border:1px solid #E1E1E1;border-radius:11px;
  padding:8px 12px 9px;margin-bottom:9px;min-height:48px;transition:border-color .25s, box-shadow .25s;
}
.f .fl{display:block;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9a9a9a}
.f .fv{display:block;font-size:13.5px;font-weight:600;color:#1a1a1a;min-height:18px}
.f .fv::after{content:"";display:none}
.f.typing{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}
.f.typing .fv::after{content:"▍";display:inline;color:var(--brand);animation:blink .7s steps(1) infinite;font-weight:400}
.f .chip{
  position:absolute;top:9px;right:10px;display:flex;align-items:center;gap:0;
  background:var(--soft);color:var(--brand-deep);font-size:9.5px;font-weight:800;
  padding:3px 6px;border-radius:99px;opacity:0;transform:scale(.6);transition:.25s cubic-bezier(.3,1.4,.5,1);
}
.f.done .chip{opacity:1;transform:scale(1)}
.f .chip .chip-brand{width:auto;height:10px;display:block}
.ship{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #E1E1E1;border-radius:11px;padding:11px 12px;margin-bottom:14px;font-size:12px;font-weight:600;color:#1a1a1a}
.ship .rad{width:16px;height:16px;border-radius:50%;border:5px solid var(--brand);flex:0 0 auto}
.ship .ship-icon{margin-left:auto;display:flex;align-items:center;flex:0 0 auto;line-height:0}
.ship .ship-icon img{width:18px;height:18px;display:block}
.co-pay{
  width:100%;background:#B9B9B9;color:#fff;font-weight:800;font-size:14.5px;padding:14px;border-radius:11px;
  transition:background-color .4s, transform .15s;pointer-events:none;
}
.co-pay.ready{background:var(--brand);pointer-events:auto}
.co-pay.ready:active{transform:scale(.98)}
/* done screen */
.s-done{align-items:center;justify-content:center;text-align:center;padding:30px;background:#fff}
.done-ring{width:96px;height:96px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin-bottom:22px}
.done-ring .inner{width:70px;height:70px;border-radius:50%;background:var(--brand);display:grid;place-items:center;animation:pop .45s cubic-bezier(.3,1.5,.5,1)}
.done-ring svg{width:34px;height:34px}
.s-done h4{font-family:var(--font-display);font-size:23px;margin-bottom:8px}
.s-done .dsub{font-size:13px;color:var(--ink-soft);margin-bottom:6px}
.done-time{
  font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--brand);
  font-variant-numeric:tabular-nums;margin-bottom:20px;
}
.retry{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--ink);border:2px solid var(--soft-2);padding:11px 22px;border-radius:999px}
.retry:hover{border-color:var(--brand)}
.retry svg{width:15px;height:15px}
.confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:50}
.confetti-layer i{
  position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;background:var(--c,#FF5B24);
  left:var(--x,50%);animation:cfall var(--d,1s) ease-in forwards;transform:rotate(var(--r,0deg));
}
/* ============ MARQUEE ============ */
.marq-sec{padding:34px 0 40px;border-top:1px solid var(--soft-2);border-bottom:1px solid var(--soft-2);background:#fff}
.marq-label{text-align:center;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;padding:0 24px;text-wrap:balance;line-height:1.4}
.marq{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marq-track{display:flex;width:max-content;will-change:transform;animation:marq var(--marq-duration,120s) linear infinite;animation-play-state:paused;align-items:center}
.marq-track.marq-ready{animation-play-state:running}
.marq-group{display:flex;align-items:center;gap:56px;flex-shrink:0;padding-right:56px}
.marq-item{font-weight:800;opacity:.55;white-space:nowrap;display:flex;align-items:center;flex-shrink:0}
.marq-item:hover{opacity:1}
.marq-item.marq-logo img{height:32px;width:auto;display:block}
/* ============ STEPS ============ */
.steps-sec{background:var(--bg)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;position:relative}
.steps::before{
  content:"";position:absolute;top:34px;left:12%;right:12%;
  border-top:3px dashed var(--soft-2);z-index:0;
}
.step{position:relative;z-index:1;text-align:center;padding:0 10px}
.step-dot{
  width:68px;height:68px;border-radius:22px;background:#fff;border:2.5px solid var(--soft-2);
  display:grid;place-items:center;margin:0 auto 20px;box-shadow:var(--shadow-card);
  rotate:-4deg;transition:rotate .25s ease, border-color .3s ease;
}
.step:nth-child(2) .step-dot{rotate:3deg}
.step:hover .step-dot{rotate:0deg;border-color:var(--brand)}
.step-dot svg{width:36px;height:36px}
.step-brand-icon{width:36px;height:36px;object-fit:contain;display:block}
.step-shopify-icon{width:36px;height:36px;object-fit:contain;display:block}
.step-num{
  position:absolute;top:-8px;left:calc(50% + 18px);width:26px;height:26px;border-radius:50%;
  background:var(--brand);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;
  font-family:var(--font-display);box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.step h3{font-size:20px;margin-bottom:8px}
.step p{color:var(--ink-soft);font-size:15px;max-width:300px;margin:0 auto}
/* ============ STATS ============ */
.stats-sec{background:#fff}
.stats-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;margin-top:10px}
.callouts{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.callout{
  background:var(--bg);border:2px solid var(--soft-2);border-radius:20px;padding:18px 22px;
  display:flex;align-items:baseline;gap:12px 14px;
}
.callout b{
  font-family:var(--font-display);font-size:clamp(26px,2.6vw,36px);font-weight:800;color:var(--brand);
  white-space:nowrap;line-height:1.1;flex:0 0 auto;font-variant-numeric:tabular-nums;
}
.callout span{
  font-size:15px;color:var(--ink-soft);font-weight:600;line-height:1.4;
  flex:1;min-width:0;text-wrap:balance;
}
.stats-note{margin-top:18px;font-size:13px;color:var(--ink-soft);display:flex;gap:8px;align-items:flex-start}
.stats-note svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
/* ---- Shopify-style card (deliberately uses system font + neutral grays) ---- */
.shop-card{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:#fff;border:1px solid #E3E3E3;border-radius:14px;
  box-shadow:none;
  color:#1a1a1a;overflow:hidden;rotate:.6deg;
}
.shop-card-head{padding:16px 20px 0;display:flex;align-items:center;justify-content:space-between}
.sc-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:#1a1a1a;border-bottom:1.5px dotted #B5B5B5;padding-bottom:1px}
.sc-title-icon{width:14px;height:16px;object-fit:contain;flex:0 0 auto}
.sc-dots{color:#8a8a8a;font-size:18px;line-height:1;letter-spacing:1px}
.shop-table-wrap{overflow-x:auto;border-top:1px solid #E3E3E3}
.price-row .ent{font-size:36px}
.shop-title{font-size:13px;font-weight:600;color:#303030;border-bottom:2px dotted #B5B5B5;padding-bottom:1px}
.shop-live{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#616161}
.shop-live i{width:8px;height:8px;border-radius:50%;background:#29845A;animation:livepulse 2s ease-in-out infinite}
.donut-row{display:flex;align-items:center;gap:26px;padding:10px 20px 16px}
.donut{position:relative;width:190px;height:190px;flex:0 0 auto}
.donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:24}
.donut-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.donut-center b{font-size:19px;font-weight:700;letter-spacing:-.01em;color:#1a1a1a;display:block}
.donut-center span{font-size:11px;color:#8a8a8a}
.legend{display:flex;flex-direction:column;gap:9px;font-size:12.5px;flex:1;min-width:0}
.legend .li{display:flex;align-items:center;gap:8px;color:#303030}
.legend .li i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.legend .li .lv{margin-left:auto;color:#616161;font-variant-numeric:tabular-nums;white-space:nowrap}
.legend .li.hi{font-weight:700}
.legend .li.hi .hib{background:var(--soft);color:var(--brand-deep);font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;font-family:var(--font-body)}
.shop-tablewrap{overflow-x:auto}
.shop-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:320px}
.shop-table th{
  text-align:right;font-weight:500;color:#616161;padding:9px 14px;border-top:1px solid #E9E9E9;border-bottom:1px solid #E9E9E9;
  background:#FBFBFB;white-space:nowrap;
}
.shop-table th:first-child, .shop-table td:first-child{text-align:left;padding-left:20px}
.shop-table td{padding:10px 14px;border-bottom:1px solid #F0F0F0;text-align:right;font-variant-numeric:tabular-nums;color:#303030;white-space:nowrap}
.shop-table td:last-child, .shop-table th:last-child{padding-right:20px;font-weight:600;color:#1a1a1a}
.shop-table tr.sumrow td{font-weight:700;background:#FBFBFB;color:#1a1a1a}
.shop-table td .swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:8px;vertical-align:1px}
.shop-table tr.hi td{background:color-mix(in srgb, var(--soft) 62%, #fff)}
.shop-table tr.hi td:first-child{box-shadow:inset 3px 0 0 var(--brand);font-weight:700}
.rowtag{
  display:inline-flex;align-items:center;gap:4px;background:var(--brand);color:#fff;font-size:10px;font-weight:800;
  padding:2.5px 8px;border-radius:99px;margin-left:8px;font-family:var(--font-body);vertical-align:1px;
}
.rowtag svg{width:9px;height:9px}
.shop-foot{padding:10px 20px;font-size:11.5px;color:#8a8a8a;text-align:center;border-top:1px solid #F0F0F0}
/* ============ FEATURES ============ */
.feat-sec{background:var(--tint)}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.fcard{
  background:#fff;border:2px solid transparent;border-radius:var(--radius);padding:30px 28px;
  box-shadow:none;transition:transform .22s ease, border-color .25s ease;
  text-align:left;
}
.fcard:hover{transform:translateY(-5px);border-color:var(--soft-2)}
.icn{
  width:58px;height:58px;border-radius:19px;background:var(--soft);display:grid;place-items:center;
  margin-bottom:18px;transition:background-color .5s ease;
}
.fcard:hover .icn{background:var(--soft-2)}
.icn svg{width:32px;height:32px}
.fcard h3{font-size:19px;margin-bottom:9px}
.fcard p{color:var(--ink-soft);font-size:14.5px}
/* ============ CUSTOMIZER ============ */
.custom-sec{background:#fff}
.custom-box{
  margin-top:46px;background:var(--bg);border:2px solid var(--soft-2);border-radius:32px;
  display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;
}
.custom-preview{
  padding:56px 40px;display:grid;place-items:center;position:relative;
  background:
    linear-gradient(var(--soft-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--soft-2) 1px, transparent 1px);
  background-size:26px 26px;background-position:center;
}
.custom-preview::after{
  content:attr(data-cap);position:absolute;bottom:16px;left:0;right:0;text-align:center;
  font-size:12.5px;font-weight:700;color:var(--ink-soft);
}
.pv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:800;font-size:16px;padding:16px 34px;cursor:default;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.28);transition:border-radius .2s ease, background-color .3s, color .3s, box-shadow .3s;
  border:2px solid transparent;
}
.pv-btn .face{width:21px;height:21px;border-radius:50%;display:grid;place-items:center}
.pv-btn .face svg{width:13px;height:13px}
.custom-ctrls{padding:40px 38px;background:#fff;border-left:2px solid var(--soft-2)}
.ctrl-label{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 12px}
.ctrl-label:not(:first-child){margin-top:28px}
.swatches{display:flex;justify-content:center;gap:12px}
.swatch-btn{
  width:46px;height:46px;border-radius:16px;border:3px solid transparent;position:relative;
  transition:transform .15s ease, border-color .2s ease;
}
.swatch-btn:hover{transform:scale(1.08)}
.swatch-btn[aria-pressed="true"]{border-color:var(--ink)}
.swatch-btn.w{background:#fff;box-shadow:inset 0 0 0 2px #E4DCD5}
.btn-lang{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.btn-lang-flag{
  width:44px;height:38px;display:grid;place-items:center;border-radius:12px;
  padding:0;border:2px solid transparent;background:var(--soft);
  transition:transform .15s ease, border-color .2s ease, background-color .2s ease;
}
.btn-lang-flag .flag{width:22px;height:16px;border-radius:3px;display:block}
.btn-lang-flag:hover{transform:scale(1.06)}
.btn-lang-flag[aria-pressed="true"]{border-color:var(--brand);background:#fff}
.verb-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.verb-pill{
  font-size:12.5px;font-weight:700;line-height:1.2;padding:9px 13px;border-radius:999px;
  border:2px solid var(--soft-2);background:#fff;color:var(--ink-soft);
  transition:border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.verb-pill:hover:not([aria-pressed="true"]){
  background:var(--soft);
  border-color:color-mix(in srgb, var(--brand) 50%, var(--soft-2));
  color:var(--ink);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);
}
.verb-pill[aria-pressed="true"]{border-color:var(--brand);color:var(--brand-deep);background:var(--soft)}
input[type=range]{width:100%;accent-color:var(--brand);height:32px;cursor:pointer}
.range-vals{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink-soft)}
/* ============ SHOPIFY MARKETS ============ */
.markets-sec{background:var(--tint)}
.markets-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.markets-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:12px}
.markets-list li{display:flex;gap:10px;font-size:15px;font-weight:600;color:var(--ink-soft);align-items:flex-start}
.markets-list li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand);margin-top:6px;flex:0 0 auto}
.browser-frame{background:#fff;border:2px solid var(--soft-2);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card);min-height:420px}
.browser-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--soft-2)}
.browser-dots{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.browser-dots span{width:10px;height:10px;border-radius:50%;background:var(--soft-2)}
.browser-dots span:first-child{background:#FF6B6B}
.browser-dots span:nth-child(2){background:#FFD43B}
.browser-dots span:nth-child(3){background:#51CF66}
.browser-url{font-size:12px;font-weight:700;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.browser-body{padding:14px 16px 18px}
.mk-storebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-weight:800;font-size:12.5px;padding-bottom:10px;border-bottom:1px solid var(--soft-2)}
.mk-storename{display:inline-flex;align-items:center;gap:7px;min-width:0}
.mk-storename span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-storename img{flex:0 0 auto;display:block}
.mk-country{display:flex;gap:6px;flex:0 0 auto}
.mk-flag{width:36px;height:32px;display:grid;place-items:center;border-radius:10px;border:2px solid transparent;background:var(--soft);padding:0}
.mk-flag .flag{width:20px;height:14px;border-radius:2px;display:block;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.mk-flag.on,.mk-flag[aria-pressed="true"]{border-color:var(--brand);background:#fff}
.mk-pdp{display:flex;flex-direction:column;gap:12px}
.mk-pdp-img{background:var(--tint);border-radius:16px;padding:16px;display:grid;place-items:center;min-height:148px}
.mk-pdp-img img,.mk-pdp-img svg{width:118px;height:118px;display:block}
.mk-pdp-body{display:flex;flex-direction:column;gap:0}
.mk-name{font-family:var(--font-display);font-weight:800;font-size:17px;margin-bottom:4px}
.mk-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mk-price{font-weight:800;font-size:18px;color:var(--brand-deep)}
.mk-rate{font-size:11px;color:var(--ink-soft);font-weight:600}
.mk-sizes{display:flex;gap:6px;margin-bottom:12px}
.mk-size{
  width:32px;height:28px;border:1.5px solid #E8DFD8;border-radius:8px;display:grid;place-items:center;
  font-size:11px;font-weight:700;color:var(--ink-soft);background:#fff;padding:0;cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.mk-size:hover{border-color:color-mix(in srgb, var(--ink) 35%, #E8DFD8);color:var(--ink)}
.mk-size.on{border-color:var(--ink);color:var(--ink)}
.mk-pdp .hk-market-btn{margin-top:8px}
.mk-addcart{
  width:100%;padding:11px;border-radius:12px;border:1.5px solid #E8DFD8;font-weight:700;font-size:12.5px;
  color:var(--ink-soft);text-align:center;background:#fff;pointer-events:none;
}
.mk-note{margin-top:14px;text-align:center;font-size:12.5px;font-weight:600;color:var(--ink-soft)}
/* ============ PRICING ============ */
.price-sec{background:var(--bg)}
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px;max-width:880px;margin-left:auto;margin-right:auto}
.plan{
  background:#fff;border:2px solid var(--soft-2);border-radius:28px;padding:36px 34px;position:relative;
  display:flex;flex-direction:column;text-align:left;
}
.plan.featured{border-color:var(--brand)}
.plan-tag{
  position:absolute;top:-15px;left:32px;background:var(--brand);color:#fff;font-size:12px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:999px;
}
.plan h3{font-size:22px;margin-bottom:4px}
.plan .pdesc{font-size:14px;color:var(--ink-soft);margin-bottom:22px}
.price-was{
  font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--ink-soft);
  text-decoration:line-through;margin:0 0 6px;line-height:1.2;
}
.price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.price-row b{font-family:var(--font-display);font-size:54px;font-weight:800;letter-spacing:-.03em;line-height:1}
.price-row span{font-size:15px;font-weight:700;color:var(--ink-soft)}
.price-launch{
  display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;
  font-size:13px;font-weight:700;color:var(--ink-soft);max-width:100%;text-align:center;
}
.launch-dot{
  width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--brand);
}
.launch-progress{
  width:min(72%,220px);height:4px;border-radius:999px;background:var(--soft-2);overflow:hidden;
  margin:0 auto 16px;
}
.launch-progress-bar{
  height:100%;width:0;border-radius:inherit;background:var(--brand);
  transition:width .4s ease;
}
.price-sub{font-size:12.5px;color:var(--ink-soft);margin-bottom:24px}
.plan ul{list-style:none;margin:0 0 28px;display:flex;flex-direction:column;gap:11px}
.plan li{display:flex;gap:10px;font-size:14.5px;font-weight:600;align-items:flex-start}
.plan li svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px}
.plan .btn-primary,.plan .btn-ghost{width:100%}
.plan > .btn-ghost{margin-top:auto}
.plan-cta-stack{margin-top:auto;width:100%}
.plan-cta-stack .btn-primary{margin-top:0}
.trial-line{margin-top:12px;text-align:center;font-size:13px;font-weight:700;color:var(--green);display:flex;align-items:center;justify-content:center;gap:6px}
.trial-line svg{width:15px;height:15px}
/* ============ FAQ ============ */
.faq-sec{background:#fff}
.faq-list{max-width:760px;margin:46px auto 0;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--bg);border:2px solid var(--soft-2);border-radius:18px;overflow:hidden}
.faq-item.is-open{border-color:var(--brand)}
.faq-item summary{
  list-style:none;display:flex;align-items:center;gap:14px;padding:20px 24px;cursor:pointer;
  font-weight:700;font-size:16.5px;font-family:var(--font-display);text-align:left;
}
.faq-item summary > span:first-child{flex:1;text-align:left}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .pm{
  margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--brand-deep);
  display:grid;place-items:center;flex:0 0 auto;font-weight:800;font-size:16px;
  transition:transform .38s cubic-bezier(.2,.7,.3,1), background-color .25s ease, color .25s ease;
}
.faq-item.is-open summary .pm{transform:rotate(45deg);background:var(--brand);color:#fff}
.faq-panel{overflow:hidden;height:0}
.faq-item .fa{padding:0 24px 22px;color:var(--ink-soft);font-size:15px;max-width:640px;text-align:left;opacity:0;transition:opacity .28s ease}
.faq-item.is-open .fa{opacity:1}
@media (prefers-reduced-motion:reduce){
  .faq-item .fa{transition:none}
}
/* ============ CTA BAND ============ */
.ctaband-sec{background:#fff;padding-top:20px}
.ctaband{
  border-radius:36px;padding:80px 40px;text-align:center;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 55%, var(--brand-dark) 130%);
}
.ctaband .bigsmile{position:absolute;width:520px;height:520px;right:-140px;bottom:-260px;opacity:.14;pointer-events:none;object-fit:contain}
.ctaband .bigsmile2{position:absolute;width:300px;height:300px;left:-90px;top:-140px;opacity:.12;pointer-events:none;transform:rotate(-15deg);object-fit:contain}
.ctaband h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:14px;position:relative}
.ctaband p{font-size:17px;opacity:.92;max-width:520px;margin:0 auto 32px;position:relative}
.ctaband .btn-primary{background:#fff;color:var(--brand-deep);position:relative;transition:transform .18s ease, box-shadow .22s ease, filter .22s ease}
.ctaband .btn-primary:hover{
  box-shadow:0 0 0 4px rgba(255,255,255,.38);
  filter:brightness(0.98);
}
.ctaband .btn-primary:active{transform:scale(.97)}
.ctaband .mini{margin-top:18px;font-size:13.5px;font-weight:600;opacity:.85;position:relative}
/* ============ FOOTER ============ */
footer{background:var(--footer);color:#fff;padding:70px 0 36px;margin-top:90px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px}
.foot-brand .logo{color:#fff;margin-bottom:16px}
.foot-brand p{font-size:14px;opacity:.75;max-width:300px;margin-bottom:20px}
.partner-pill{
  display:inline-flex;align-items:center;padding:0;background:transparent;border:none;
}
.partner-pill .partner-partner-badge{height:32px;width:auto;display:block}
.foot-col h4{font-family:var(--font-display);font-size:15px;margin-bottom:16px;opacity:.95}
.foot-col a{display:block;font-size:14px;opacity:.72;padding:5px 0}
.foot-col a:hover{opacity:1}
.foot-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;opacity:.65}
/* ============ LEGAL PAGE ============ */
.legal-page{padding:48px 0 0;background:var(--bg)}
.privacy-page footer{margin-top:0}
.legal-doc{max-width:760px;margin:0 auto;padding:0 0 72px}
.legal-doc h1{font-family:var(--font-display);font-size:clamp(28px,4vw,38px);font-weight:800;margin-bottom:10px;line-height:1.15}
.legal-updated{font-size:14px;color:var(--ink-soft);margin-bottom:36px}
.legal-body{font-size:15px;line-height:1.65;color:var(--ink)}
.legal-body h2{font-family:var(--font-display);font-size:20px;font-weight:800;margin:32px 0 12px}
.legal-body h3{font-size:16px;font-weight:700;margin:20px 0 8px}
.legal-body p{margin:0 0 14px}
.legal-body ul{margin:0 0 16px;padding-left:1.25em}
.legal-body li{margin:0 0 6px}
.legal-body a{color:var(--brand-deep);text-decoration:underline;text-underline-offset:2px}
.legal-body code{font-size:.92em;background:var(--soft);padding:2px 6px;border-radius:6px}
/* ============ ANIMATIONS ============ */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes wiggle{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(-8deg)}96%{transform:rotate(8deg)}}
@keyframes invite{0%,100%{box-shadow:0 6px 16px -4px color-mix(in srgb, var(--brand) 55%, transparent)}50%{box-shadow:0 6px 22px -2px color-mix(in srgb, var(--brand) 80%, transparent), 0 0 0 7px color-mix(in srgb, var(--brand) 12%, transparent)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes wdot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
@keyframes blink{50%{opacity:0}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes cfall{0%{transform:translateY(0) rotate(var(--r));opacity:1}100%{transform:translateY(660px) rotate(calc(var(--r) + 240deg));opacity:.2}}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--marq-shift,0),0,0)}}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes fadeup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.reveal{opacity:0}
.reveal.in{animation:fadeup .7s cubic-bezier(.2,.7,.3,1) forwards}
/* ============ RESPONSIVE ============ */
@media (max-width:1020px){
  .navlinks{display:none}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .hero .sub{margin-left:auto;margin-right:auto}
  .hero{text-align:center;padding-top:44px}
  .cta-row,.trust{justify-content:center}
  .stats-grid{grid-template-columns:1fr;gap:40px}
  .shop-card{rotate:0deg}
  .fgrid{grid-template-columns:repeat(2,1fr)}
  .custom-box{grid-template-columns:1fr}
  .custom-ctrls{border-left:none;border-top:2px solid var(--soft-2)}
  .markets-grid{grid-template-columns:1fr;gap:36px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .sticker.s3{display:none}
}
@media (max-width:640px){
  section{padding:68px 0}
  .announcement-bar-inner{padding:8px 12px}
  .announcement-bar-text{font-size:11.5px;gap:5px;line-height:1.2}
  .nav-inner{gap:12px}
  .nav-cta{display:none}
  .lang{margin-left:auto;background:transparent;padding:0;border-radius:0}
  .lang-toggle{display:grid}
  .lang-menu{
    position:absolute;top:calc(100% + 8px);right:0;z-index:70;
    flex-direction:column;gap:2px;min-width:168px;
    background:#fff;border:2px solid var(--soft-2);border-radius:14px;padding:6px;
    box-shadow:var(--shadow-card);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .lang.is-open .lang-menu{opacity:1;visibility:visible;pointer-events:auto}
  .lang-indicator{display:none}
  .lang-flag{
    width:100%;height:auto;min-height:40px;padding:8px 12px;border-radius:10px;
    display:flex;align-items:center;gap:10px;justify-content:flex-start;
  }
  .lang-flag:hover{transform:none}
  .lang-flag[aria-pressed="true"]{background:var(--soft)}
  .lang-name{display:inline;font-size:14px;font-weight:600;color:var(--ink)}
  .sticker{padding:6px 11px;font-size:11px;gap:5px}
  .sticker svg{width:13px;height:13px}
  .timerchip{font-size:12px;padding:7px 12px}
  .timerchip svg{width:13px;height:13px}
  .steps{grid-template-columns:1fr;gap:38px}
  .steps::before{display:none}
  .fgrid{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .phone{width:300px;height:610px}
  .phone .f{min-height:40px;padding:6px 10px 7px;margin-bottom:7px;border-radius:9px}
  .phone .f .fl{font-size:8.5px}
  .phone .f .fv{font-size:12px;min-height:15px}
  .phone .f .chip{top:7px;right:8px;font-size:8.5px;padding:2px 5px}
  .phone .co-body{padding:12px 14px 14px}
  .phone .co-sec{font-size:11px;margin:10px 2px 6px}
  .sticker.s1{left:0;top:2%}
  .sticker.s2{top:auto;bottom:3%;right:calc(50% - 156px);left:auto}
  .timerchip{right:2%}
  .donut-row{flex-direction:column;align-items:center;gap:16px;padding:10px 16px 16px}
  .donut{width:230px;height:230px}
  .donut-center b{font-size:24px}
  .donut-center span{font-size:12px}
  .legend{width:100%;max-width:280px;font-size:12px}
  .legend .li{justify-content:space-between}
  .callout{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px}
  .callout b{font-size:28px}
  .callout span{font-size:14.5px}
  .ctaband{padding:60px 24px;border-radius:28px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px 28px}
  .foot-brand{grid-column:1 / -1}
  .foot-col:last-child{grid-column:1 / -1}
  .hero h1 .hl svg{bottom:-9px}
  .marq-sec{padding:28px 0 32px}
  .marq-label{font-size:11px;letter-spacing:.04em;line-height:1.5;margin-bottom:18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.15s !important}
  html{scroll-behavior:auto}
}