/* =========================================================================
   PRINTOBI 2.0 — Presale landing + HYBRID pricing
   Brand: electric royal blue #2C2CE0 · near-black ink · white / #F6F6F9 bands
   Fonts: Sora (display) + Inter (body)
   ========================================================================= */

:root{
  /* Brand */
  --blue:      #2C2CE0;
  --blue-700:  #2121b4;
  --blue-600:  #2a2ad0;
  --blue-tint: #EEF0FF;
  --blue-tint2:#E3E6FF;
  --violet:    #7A3CF0;
  --cyan:      #67E8F9;
  /* Brand pink (from the Printobi axolotl gills) — our second brand color */
  --pink:      #F5179B;
  --pink-600:  #d80f88;
  --pink-tint: #FFE6F4;

  --ink:   #0B0B14;
  --ink-70:#2B2B38;
  --slate: #4A4A5A;
  --slate-light: #6C6C7C;

  --bg:    #FFFFFF;
  --band:  #F6F6F9;
  --band-2:#F0F0F6;
  --green: #16A34A;
  --green-tint:#E7F6EC;

  --border:      rgba(11,11,20,.09);
  --border-soft: rgba(11,11,20,.06);
  --border-blue: rgba(44,44,224,.22);

  /* Prices (mirrored in JS config — JS is the source of truth for display).
     No setup fee. Founding = 50% off, locked 2 yrs. Yearly = 10 x monthly. */
  --price-reseller-reg:30;  --price-reseller-mo:15;
  --price-std-reg:100;      --price-std-mo:50;
  --price-pro-reg:300;      --price-pro-mo:150;
  --price-ent-reg:500;      --price-ent-mo:250;

  /* Shape + motion */
  --radius:   18px;
  --radius-sm:12px;
  --radius-lg:26px;
  --shadow-sm: 0 1px 2px rgba(11,11,20,.04), 0 2px 8px rgba(11,11,20,.05);
  --shadow-md: 0 8px 24px rgba(11,11,20,.07), 0 2px 6px rgba(11,11,20,.05);
  --shadow-lg: 0 24px 60px rgba(30,30,120,.14), 0 6px 18px rgba(11,11,20,.06);
  --shadow-blue: 0 18px 44px rgba(44,44,224,.28);
  --ease: cubic-bezier(.22,.61,.36,1);

  --maxw: 1140px;
  --header-h: 66px;
  --banner-h: 46px;

  --font-display:"Sora", ui-sans-serif, system-ui, sans-serif;
  --font-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--slate);
  background:var(--bg);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--ink); line-height:1.08; margin:0; letter-spacing:-.02em; font-weight:700; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:3px solid var(--blue); outline-offset:2px; border-radius:6px; }
::selection{ background:var(--blue); color:#fff; }

.skip-link{
  position:absolute; left:-999px; top:8px; z-index:200;
  background:var(--ink); color:#fff; padding:10px 16px; border-radius:8px;
}
.skip-link:focus{ left:12px; }

/* ---------- layout ---------- */
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.container--narrow{ max-width:820px; }
.section{ padding:112px 0; }
.section + .section{ position:relative; }
.section--band{ background:var(--band); }
.anchor-offset{ position:relative; top:calc(-1 * (var(--header-h) + 30px)); display:block; }

.section-head{ max-width:720px; margin:0 auto 58px; text-align:center; }
.section-head--left{ text-align:left; margin:0 0 30px; max-width:none; }
.section-title{ font-size:clamp(28px,4vw,42px); font-weight:800; }
.section-sub{ margin-top:14px; font-size:clamp(16px,2vw,19px); color:var(--slate); }

.eyebrow{
  font-family:var(--font-display); font-weight:700; font-size:13px;
  letter-spacing:.09em; text-transform:uppercase; color:var(--blue); margin:0 0 14px;
}
.eyebrow--center{ text-align:center; }
.hl{ color:var(--blue); }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-display); font-weight:700; font-size:16px;
  border:1.5px solid transparent; border-radius:999px;
  padding:13px 24px; transition:transform .18s var(--ease), box-shadow .2s var(--ease), background .2s;
  white-space:nowrap;
}
.btn--sm{ padding:9px 18px; font-size:14.5px; }
.btn--lg{ padding:16px 30px; font-size:17px; }
.btn--primary{ background:var(--blue); color:#fff; box-shadow:var(--shadow-blue); }
.btn--primary:hover{ background:var(--blue-700); transform:translateY(-2px); box-shadow:0 22px 50px rgba(44,44,224,.36); }
.btn--ghost{ background:#fff; color:var(--ink); border-color:var(--border); box-shadow:var(--shadow-sm); }
.btn--ghost:hover{ border-color:var(--border-blue); color:var(--blue); transform:translateY(-2px); }
.btn--white{ background:#fff; color:var(--blue); }
.btn--white:hover{ transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.22); }
.btn--block{ width:100%; }

/* ---------- deadline banner ---------- */
.deadline{
  position:sticky; top:0; z-index:60;
  background:linear-gradient(90deg,var(--blue),var(--pink));
  color:#fff; text-align:center;
}
.deadline__text{
  margin:0; padding:9px 16px; font-size:14px; font-weight:600;
  display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap;
  font-family:var(--font-body);
}
.deadline__dot{
  width:8px; height:8px; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 0 0 rgba(103,232,249,.7); animation:pulse 2.2s infinite;
}
@keyframes pulse{ 70%{ box-shadow:0 0 0 8px rgba(103,232,249,0); } 100%{ box-shadow:0 0 0 0 rgba(103,232,249,0);} }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s, box-shadow .25s;
}
.site-header.is-stuck{ border-color:var(--border); box-shadow:0 4px 20px rgba(11,11,20,.05); }
.deadline + .site-header{ top:0; }
.header__inner{ display:flex; align-items:center; gap:22px; height:var(--header-h); }

.brand{ display:inline-flex; align-items:center; gap:9px; }
.brand__mark{ display:inline-flex; }
.brand__logo{ height:30px; width:auto; display:block; }
.brand--footer .brand__logo{ height:26px; }
.brand__word{ font-family:var(--font-display); font-weight:800; font-size:21px; color:var(--blue); letter-spacing:.01em; text-transform:uppercase; }

.nav{ display:flex; gap:26px; margin-left:8px; }
.nav a{ font-size:15px; font-weight:500; color:var(--ink-70); transition:color .18s; }
.nav a:hover{ color:var(--blue); }

.header__actions{ display:flex; align-items:center; gap:16px; margin-left:auto; }

.lang-toggle{ display:inline-flex; align-items:center; gap:2px; }
.lang-btn{
  background:none; border:none; font-family:var(--font-display); font-weight:700;
  font-size:13.5px; color:var(--slate-light); padding:4px 6px; border-radius:6px; transition:color .15s;
}
.lang-btn.is-active{ color:var(--blue); }
.lang-btn:hover{ color:var(--ink); }
.lang-sep{ color:var(--border); }

.link-signin{ font-size:15px; font-weight:600; color:var(--ink-70); }
.link-signin:hover{ color:var(--blue); }

/* ---------- hero ---------- */
.hero{ position:relative; padding:0 0 40px; overflow:hidden; }
.hero__glow{
  position:absolute; left:50%; top:-160px; transform:translateX(-50%);
  width:min(1100px,120vw); height:760px; pointer-events:none; z-index:0;
  background:
    radial-gradient(46% 44% at 42% 34%, rgba(44,44,224,.30), transparent 68%),
    radial-gradient(40% 40% at 66% 30%, rgba(122,60,240,.24), transparent 70%),
    radial-gradient(30% 30% at 52% 20%, rgba(103,232,249,.16), transparent 72%);
  filter:blur(6px);
}
.hero__inner{
  position:relative; z-index:1; text-align:center; max-width:900px;
  min-height:calc(100svh - var(--header-h) - var(--banner-h));
  display:flex; flex-direction:column; justify-content:center;
}
.hero__media{ position:relative; z-index:1; margin-top:14px; }
.hero__title{
  font-size:clamp(38px,6.4vw,72px); font-weight:800; letter-spacing:-.03em;
  margin:6px auto 0; max-width:16ch;
}
.hero__sub{
  margin:24px auto 0; max-width:60ch; font-size:clamp(17px,2.2vw,21px); color:var(--slate);
}
.hero__cta{ margin-top:34px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.trust-strip{
  margin:34px auto 0; display:flex; gap:10px 26px; justify-content:center; flex-wrap:wrap;
  max-width:820px;
}
.trust-strip li{
  position:relative; font-size:14px; font-weight:600; color:var(--ink-70);
  padding-left:24px;
}
.trust-strip li::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:16px; height:16px;
  background:var(--green); border-radius:50%;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* demo video placeholder */
.demo{ margin:56px auto 0; max-width:940px; }
.demo__frame{
  position:relative; aspect-ratio:16/9; width:100%;
  border-radius:var(--radius-lg); overflow:hidden;
  background:
    linear-gradient(180deg,#0d0d1f,#171733);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow-lg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px;
}
.demo__glow{
  position:absolute; inset:0; z-index:0;
  background:radial-gradient(42% 60% at 50% 42%, rgba(44,44,224,.42), transparent 70%),
             radial-gradient(30% 40% at 68% 66%, rgba(122,60,240,.30), transparent 72%);
}
.demo__play{
  position:relative; z-index:1;
  width:78px; height:78px; border-radius:50%;
  background:rgba(255,255,255,.95); color:var(--blue);
  border:none; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 34px rgba(0,0,0,.34);
  padding-left:5px;
}
.demo__play::after{
  content:""; position:absolute; inset:-10px; border-radius:50%;
  border:2px solid rgba(255,255,255,.35); animation:ripple 2.6s var(--ease) infinite;
}
@keyframes ripple{ 0%{ transform:scale(1); opacity:.8; } 100%{ transform:scale(1.5); opacity:0; } }
.demo__caption{
  position:relative; z-index:1; font-family:var(--font-display); font-weight:600;
  color:rgba(255,255,255,.86); font-size:15px; letter-spacing:.01em;
}

/* =========================================================================
   PRICING — billing toggle · shared-core strip · recommender · cards
   ========================================================================= */

/* ---------- billing toggle ---------- */
.billing{ display:flex; align-items:center; justify-content:center; gap:14px 16px; flex-wrap:wrap; margin-bottom:22px; }
.billing__switch{
  display:inline-flex; background:var(--band-2); border:1px solid var(--border);
  border-radius:999px; padding:4px; gap:2px;
}
.billing__opt{
  background:none; border:none; border-radius:999px; padding:9px 22px;
  font-family:var(--font-display); font-weight:700; font-size:14.5px; color:var(--slate);
  transition:color .15s, background .2s, box-shadow .2s;
}
.billing__opt.is-active{ background:#fff; color:var(--blue); box-shadow:var(--shadow-sm); }
.billing__opt:hover{ color:var(--ink); }
.billing__badge{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--green-tint); color:var(--green); border-radius:999px;
  padding:6px 13px; font-family:var(--font-display); font-weight:700; font-size:12.5px;
}

/* ---------- shared-core strip ---------- */
.core-strip{
  max-width:780px; margin:0 auto 44px; text-align:center;
  font-size:16px; color:var(--ink-70); line-height:1.55;
  background:var(--blue-tint); border:1px solid var(--border-blue);
  border-radius:var(--radius); padding:16px 24px;
}

/* ---------- soft recommender ---------- */
.recommender{ display:flex; align-items:center; justify-content:center; gap:12px 16px; flex-wrap:wrap; margin-bottom:48px; }
.recommender__q{ font-family:var(--font-display); font-weight:700; font-size:14px; color:var(--slate); }
.recommender__pills{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.rec-pill{
  background:#fff; border:1.5px solid var(--border); border-radius:999px;
  padding:8px 16px; font-family:var(--font-display); font-weight:600; font-size:13.5px; color:var(--ink-70);
  transition:border-color .18s, color .18s, background .18s, transform .18s;
}
.rec-pill:hover{ border-color:var(--border-blue); color:var(--blue); transform:translateY(-1px); }
.rec-pill.is-active{ background:var(--blue); border-color:var(--blue); color:#fff; }

/* ---------- plan cards (always visible, short) ---------- */
.pcards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:start; }
.pcard{
  min-width:0;
  position:relative; display:flex; flex-direction:column;
  background:#fff; border:1.5px solid var(--border); border-radius:var(--radius-lg);
  padding:32px 26px; box-shadow:var(--shadow-sm);
  transition:transform .2s var(--ease), box-shadow .2s, border-color .2s;
}
.pcard.is-recommended{
  border-color:var(--blue);
  box-shadow:0 0 0 4px var(--blue-tint2), var(--shadow-lg);
  transform:translateY(-6px);
}
.pcard__ribbon{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%); white-space:nowrap;
  background:linear-gradient(90deg,var(--blue),var(--pink)); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.02em;
  padding:6px 15px; border-radius:999px; box-shadow:var(--shadow-blue);
}
.pcard__head{ margin-bottom:16px; }
.pcard__name{ font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--ink); }
.pcard__who{ margin-top:6px; font-size:13.5px; color:var(--slate); line-height:1.4; min-height:2.8em; }

.pcard__price{ padding-bottom:18px; border-bottom:1px solid var(--border-soft); margin-bottom:18px; }
.pcard__reg{
  display:inline-block; font-family:var(--font-display); font-size:18px; font-weight:700;
  color:var(--slate-light); text-decoration:line-through; text-decoration-thickness:2px;
}
.pcard__nowrow{ display:flex; align-items:baseline; gap:6px; margin-top:2px; }
.pcard__now{ font-family:var(--font-display); font-size:clamp(38px,4.6vw,46px); font-weight:800; color:var(--ink); letter-spacing:-.03em; line-height:1; }
.pcard__per{ font-size:16px; font-weight:600; color:var(--slate); }
.pcard__sub{ margin-top:8px; font-size:12.5px; color:var(--slate); }
.pcard__setup { margin: 8px 0 0; font-size: 12px; line-height: 1.45; color: var(--muted, #667085); }
.pcard__setup-inc { font-size: 11px; opacity: .85; }
.pcard__founding{
  margin-top:10px; display:inline-block; background:var(--green-tint); color:var(--green);
  border-radius:999px; padding:4px 11px; font-family:var(--font-display); font-weight:700; font-size:11.5px;
}
.pcard__cta{ margin-bottom:24px; }
.pcard__cta .btn{ width:100%; padding:15px 20px; }
.pcard__note{ margin-top:10px; font-size:12.5px; color:var(--slate); line-height:1.45; }
.pcard__delta{ font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink); margin-bottom:16px; line-height:1.35; }
.pcard__list{ display:flex; flex-direction:column; gap:13px; }
.pcard__list li{ position:relative; padding-left:26px; font-size:14.5px; color:var(--ink-70); line-height:1.4; }
.pcard__list li::before{
  content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%;
  background:var(--blue-tint);
}
.pcard__list li::after{
  content:""; position:absolute; left:4px; top:6px; width:10px; height:10px;
  background:var(--blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
}
.pcard__list li.is-limit{ color:var(--ink); font-weight:600; }
.pcard__list li.is-limit::before{ background:var(--band-2); }
.pcard__list li.is-limit::after{ background:var(--slate); }

/* ---------- trust band ---------- */
.trust-band{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:58px; }
.trust-band__item{
  display:flex; gap:14px; align-items:flex-start;
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:20px 22px; box-shadow:var(--shadow-sm);
}
.trust-band__ico{
  flex:0 0 auto; width:42px; height:42px; border-radius:12px;
  background:var(--blue-tint); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
}
.trust-band__item p{ font-size:15px; color:var(--ink-70); line-height:1.5; }

/* ---------- Print Helpers (optional setup) ---------- */
.ph-setup__card{
  display:flex; gap:26px; align-items:flex-start; max-width:920px; margin:0 auto;
  background:#fff; border:1.5px solid var(--border-blue); border-radius:var(--radius-lg);
  padding:38px 42px; box-shadow:var(--shadow-md);
}
.ph-setup__ico{
  flex:0 0 auto; width:62px; height:62px; border-radius:16px;
  background:var(--blue-tint); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
}
.ph-setup__title{ font-size:clamp(24px,3.4vw,32px); font-weight:800; margin-top:4px; }
.ph-setup__text{ margin-top:14px; font-size:16px; color:var(--slate); line-height:1.6; max-width:62ch; }
.ph-setup__rates{ margin-top:14px; font-size:13.5px; color:var(--slate-light); line-height:1.5; }
.ph-setup__card .btn{ margin-top:22px; }

/* ---------- compare all features (collapsible matrix) ---------- */
.compare{ margin-top:40px; }
.compare__toggle{
  display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
  background:#fff; border:1.5px solid var(--border-blue); border-radius:999px;
  padding:14px 22px; font-family:var(--font-display); font-weight:700; font-size:15.5px; color:var(--blue);
  transition:background .15s, box-shadow .2s;
}
.compare__toggle:hover{ background:var(--blue-tint); box-shadow:var(--shadow-sm); }
.compare__chev{
  width:10px; height:10px; border-right:2.4px solid currentColor; border-bottom:2.4px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px); transition:transform .25s var(--ease);
}
.compare__toggle.is-open .compare__chev{ transform:rotate(-135deg) translate(-2px,-2px); }
.compare__panel{ margin-top:16px; }
.compare__hint{ text-align:center; font-size:13px; color:var(--slate-light); margin-bottom:12px; }
.compare__scroll{
  overflow:auto; -webkit-overflow-scrolling:touch; max-height:74vh;
  border:1px solid var(--border); border-radius:var(--radius); background:#fff;
}
.compare__table{ width:100%; border-collapse:collapse; min-width:680px; }
.compare__table th, .compare__table td{
  padding:11px 14px; text-align:center; border-bottom:1px solid var(--border-soft); vertical-align:middle;
}
.compare__table tr:last-child td, .compare__table tr:last-child th{ border-bottom:none; }
.compare__table thead th{ position:sticky; top:0; z-index:3; }
.cmp-th{
  font-family:var(--font-display); font-weight:800; font-size:13px; color:var(--ink);
  background:var(--band);
}
.cmp-th--feat, .cmp-feat{ text-align:left; }
.cmp-feat{ font-family:var(--font-body); font-weight:600; color:var(--ink-70); font-size:13.5px; }
.cmp-group td{
  text-align:left; font-family:var(--font-display); font-weight:800; font-size:11px;
  letter-spacing:.07em; text-transform:uppercase; color:var(--blue); background:var(--blue-tint);
}
.cmp-val{ font-family:var(--font-display); font-weight:700; color:var(--ink); font-size:13px; }
.cmp-no{ color:var(--slate-light); }
.cmp-yes{ display:inline-block; width:19px; height:19px; border-radius:50%; background:var(--green-tint); }
.cmp-yes::after{
  content:""; display:block; width:19px; height:19px; background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
}
/* recommended (Standard) column tint */
.cmp-th.is-rec{ background:var(--blue); color:#fff; }
.cmp-td.is-rec{ background:var(--blue-tint); }
.compare__table tbody tr:hover td:not(.is-rec){ background:#fbfbff; }

/* ---------- steps ---------- */
.steps__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:step; }
.step-card{
  position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:30px 26px; box-shadow:var(--shadow-sm);
}
.step-card__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:14px; margin-bottom:18px;
  background:linear-gradient(135deg,var(--blue),var(--violet)); color:#fff;
  font-family:var(--font-display); font-weight:800; font-size:20px;
}
.step-card h3{ font-size:19px; font-weight:700; }
.step-card p{ margin-top:10px; font-size:15.5px; color:var(--slate); }
.step-card::after{
  content:""; position:absolute; top:52px; right:-13px; width:26px; height:2px;
  background:var(--border-blue);
}
.step-card:last-child::after{ display:none; }

/* ---------- founding ---------- */
.founding__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.founding-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:26px 24px; box-shadow:var(--shadow-sm);
}
.founding-card__ico{
  display:inline-flex; width:46px; height:46px; border-radius:14px; align-items:center; justify-content:center;
  background:var(--blue-tint); color:var(--blue); margin-bottom:16px;
}
.founding-card h3{ font-size:17.5px; font-weight:700; }
.founding-card p{ margin-top:9px; font-size:15px; color:var(--slate); }

/* ---------- see it live ---------- */
.live__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.live-card{
  display:block; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:22px; box-shadow:var(--shadow-sm);
  transition:transform .2s var(--ease), box-shadow .2s;
}
.live-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.live-card__badge{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700;
  font-size:12.5px; letter-spacing:.03em; color:var(--green);
  background:var(--green-tint); border-radius:999px; padding:5px 12px;
}
.live-card__pulse{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(22,163,74,.6); animation:pulse 2.2s infinite; }
.live-card__window{
  display:block; margin:16px 0; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); background:var(--band);
  aspect-ratio:16/10;
}
.live-card__bar{ display:flex; gap:6px; padding:11px 14px; background:#fff; border-bottom:1px solid var(--border); }
.live-card__bar i{ width:10px; height:10px; border-radius:50%; background:var(--border-blue); }
.live-card__bar i:nth-child(2){ background:#DADAF2; }
.live-card__bar i:nth-child(3){ background:#E5E5F2; }
.live-card__body{ display:flex; flex-direction:column; gap:9px; padding:18px; }
.lc-row{ height:11px; border-radius:6px; background:linear-gradient(90deg,var(--blue-tint2),transparent); width:55%; }
.lc-row--wide{ width:80%; background:linear-gradient(90deg,var(--blue-tint),var(--blue-tint2)); }
.lc-tiles{ display:flex; gap:9px; margin-top:6px; }
.lc-tiles i{ flex:1; height:42px; border-radius:8px; background:#fff; border:1px solid var(--border); }
.live-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.live-card__name{ font-family:var(--font-display); font-weight:700; color:var(--ink); font-size:16px; }
.live-card__go{ font-weight:700; color:var(--blue); font-size:14.5px; }

/* ---------- faq ---------- */
.faq__list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.faq-q{
  width:100%; text-align:left; background:none; border:none;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 22px; font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--ink);
}
.faq-ico{ position:relative; flex:0 0 auto; width:20px; height:20px; }
.faq-ico::before,.faq-ico::after{
  content:""; position:absolute; background:var(--blue); border-radius:2px;
  transition:transform .25s var(--ease), opacity .2s;
}
.faq-ico::before{ left:2px; right:2px; top:9px; height:2.6px; }
.faq-ico::after{ top:2px; bottom:2px; left:9px; width:2.6px; }
.faq-q[aria-expanded="true"] .faq-ico::after{ transform:scaleY(0); opacity:0; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s var(--ease); }
.faq-a p{ padding:0 22px 22px; font-size:16px; color:var(--slate); }

/* ---------- final cta ---------- */
.final-cta{ position:relative; overflow:hidden; background:linear-gradient(120deg,var(--blue),var(--blue-700) 55%,var(--violet)); color:#fff; padding:84px 0; text-align:center; }
.final-cta__glow{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(40% 60% at 20% 20%, rgba(255,255,255,.16), transparent 60%),
             radial-gradient(40% 60% at 82% 80%, rgba(103,232,249,.22), transparent 62%);
}
.final-cta__inner{ position:relative; z-index:1; }
.final-cta h2{ color:#fff; font-size:clamp(30px,4.6vw,46px); font-weight:800; max-width:18ch; margin:0 auto; }
.final-cta p{ margin:18px auto 30px; max-width:56ch; font-size:19px; color:rgba(255,255,255,.9); }

/* ---------- footer ---------- */
.site-footer{ background:var(--ink); color:rgba(255,255,255,.7); padding:56px 0 30px; }
.footer__inner{ display:grid; grid-template-columns:1.2fr 2fr; gap:40px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.1); }
.brand--footer .brand__word{ color:#fff; }
.footer__tag{ margin-top:12px; font-size:14px; color:rgba(255,255,255,.55); }
.footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.footer__col h4{ color:#fff; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; font-weight:700; }
.footer__col a{ display:block; font-size:15px; color:rgba(255,255,255,.68); padding:5px 0; transition:color .15s; }
.footer__col a:hover{ color:#fff; }
.footer__bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:24px; flex-wrap:wrap; }
.footer__bottom p{ font-size:13.5px; color:rgba(255,255,255,.55); }
.lang-toggle--footer .lang-btn{ color:rgba(255,255,255,.6); }
.lang-toggle--footer .lang-btn.is-active{ color:#fff; }
.lang-toggle--footer .lang-sep{ color:rgba(255,255,255,.25); }

/* no-JS fallback */
.noscript-plans{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:28px; margin-top:10px; }
.noscript-plans h2{ font-size:24px; margin-bottom:14px; }
.noscript-plans li{ padding:7px 0; font-size:16px; color:var(--ink-70); border-bottom:1px solid var(--border-soft); }
.noscript-plans p{ margin-top:14px; font-size:15px; }

/* =========================================================================
   MOTION (progressive — only applied when JS adds .js-motion to <html>)
   Content is fully visible without JS.
   ========================================================================= */
html.js-motion .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
html.js-motion .reveal.in{ opacity:1; transform:none; }
html.js-motion .reveal-stagger > *{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
html.js-motion .reveal-stagger.in > *{ opacity:1; transform:none; }
html.js-motion .reveal-stagger.in > *:nth-child(1){ transition-delay:.04s; }
html.js-motion .reveal-stagger.in > *:nth-child(2){ transition-delay:.10s; }
html.js-motion .reveal-stagger.in > *:nth-child(3){ transition-delay:.16s; }
html.js-motion .reveal-stagger.in > *:nth-child(4){ transition-delay:.22s; }
html.js-motion .reveal-stagger.in > *:nth-child(5){ transition-delay:.28s; }
html.js-motion .reveal-stagger.in > *:nth-child(6){ transition-delay:.34s; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html.js-motion .reveal,html.js-motion .reveal-stagger > *{ opacity:1 !important; transform:none !important; }
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:980px){
  .pcards{ grid-template-columns:repeat(2,1fr); }
  .founding__grid{ grid-template-columns:repeat(2,1fr); }
  .trust-band{ grid-template-columns:1fr; }
  .ph-setup__card{ flex-direction:column; padding:30px 26px; gap:18px; }
  .nav{ display:none; }
}
@media (max-width:760px){
  .section{ padding:64px 0; }
  .steps__grid{ grid-template-columns:1fr; }
  .step-card::after{ display:none; }
  .live__grid{ grid-template-columns:1fr; }
  .footer__inner{ grid-template-columns:1fr; }
  .link-signin{ display:none; }
  .header__actions{ gap:12px; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .container{ padding:0 18px; }
  .pcards{ grid-template-columns:1fr; }
  .pcard.is-recommended{ transform:none; }
  .pcard__who{ min-height:0; }
  .founding__grid{ grid-template-columns:1fr; }
  .hero__cta{ flex-direction:column; }
  .hero__cta .btn{ width:100%; }
  .deadline__text{ font-size:12.5px; }
  .footer__cols{ grid-template-columns:1fr 1fr; }
  .billing__opt{ padding:9px 18px; }
}
