  :root{
    --pink:#eb0a44; --ink:#1d1d1f; --muted:#6e6e73; --line:#ececf0;
    --bg:#faf8f7; --soft:#f4f1ef; --green:#2da84e; --amber:#c98a1a; --blue:#2f74d0;
  }
  *{box-sizing:border-box; margin:0; padding:0}
  body{ font-family:"bree",-apple-system,sans-serif; font-weight:400; color:var(--ink); background:var(--bg);
    -webkit-font-smoothing:antialiased; }
  .wordmark{ font-family:"confiteria-script",cursive; font-weight:700; }
  a{ text-decoration:none; color:inherit; }
  .wrap{ max-width:1060px; margin:0 auto; padding:0 40px; }

  html{ scroll-behavior:smooth; }

  /* NAV (logo + links left-aligned &middot; login + primary CTA far right &mdash; Stripe/Mollie pattern) */
  nav{ position:sticky; top:0; z-index:50; display:flex; align-items:center; padding:15px 40px; background:#fff; border-bottom:1px solid var(--line); }
  nav .wordmark{ font-size:32px; color:var(--pink); line-height:1; margin-right:44px; }
  .nav-links{ display:flex; gap:30px; }
  .nav-links a{ font-weight:600; font-size:15.5px; color:var(--ink); opacity:.82; transition:opacity .15s,color .15s; }
  .nav-links a:hover{ opacity:1; color:var(--pink); }
  .nav-right{ margin-left:auto; display:flex; align-items:center; gap:20px; }
  .nav-right a.login{ font-weight:600; font-size:15.5px; transition:color .15s; }
  .nav-right a.login:hover{ color:var(--pink); }
  .btn-nav-cta{ font-weight:700; font-size:15px; background:var(--pink); color:#fff; border-radius:10px; padding:10px 20px; transition:background .15s; }
  .btn-nav-cta:hover{ background:#c60a3c; }
  .nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
  .nav-toggle span{ display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; }
  .nav-toggle span+span{ margin-top:5px; }
  .mobile-menu{ display:none; }
  @media(max-width:820px){
    .nav-links{ display:none; }
    .nav-right .login{ display:none; }
    .nav-toggle{ display:block; }
    nav{ padding:14px 22px; }
    .mobile-menu.open{ display:flex; flex-direction:column; position:fixed; top:61px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 14px 26px rgba(30,20,25,.10); padding:8px 22px 16px; z-index:49; }
    .mobile-menu.open a{ font-weight:600; font-size:16px; color:var(--ink); padding:13px 2px; border-bottom:1px solid var(--line); }
    .mobile-menu.open a:last-child{ border-bottom:0; color:var(--pink); }
  }

  /* HERO */
  .hero{ background:linear-gradient(135deg,#f0503c 0%,#e83e6e 55%,#ef79a6 100%); color:#fff; padding:70px 40px 82px; text-align:center; }
  .hero .wordmark{ font-size:clamp(84px,14vw,140px); line-height:.9; color:#fff; margin-bottom:6px; }
  .hero h1{ font-weight:800; font-size:clamp(32px,5vw,50px); letter-spacing:-.01em; margin-bottom:16px; }
  .hero p.desc{ font-weight:400; font-size:clamp(17px,2.2vw,21px); max-width:40ch; margin:0 auto 28px; opacity:.94; line-height:1.5; }
  .btn-primary{ background:#fff; color:var(--pink); font-weight:700; font-size:18px; border:0; border-radius:12px; padding:15px 34px; box-shadow:0 8px 24px rgba(0,0,0,.15); display:inline-block; cursor:pointer; font-family:"bree",sans-serif; }
  .hero-note{ display:block; font-weight:400; font-size:14px; opacity:.9; margin-top:14px; }
  .hero-waitlist{ display:flex; flex-direction:column; align-items:center; gap:12px; max-width:420px; margin:8px auto 0; }
  .hero-email{ width:100%; border:none; border-radius:12px; padding:15px 18px; font-size:16px; font-family:"bree",sans-serif; color:var(--ink); box-shadow:0 8px 24px rgba(0,0,0,.12); }
  .hero-email::placeholder{ color:#9a9aa0; }
  .hero-waitlist .cf-turnstile{ margin:0 auto; }
  .hero-waitlist .btn-primary{ width:100%; white-space:normal; }
  .hero-sub-error{ color:#fff; font-weight:600; font-size:14px; margin-top:6px; opacity:0; }
  .hero-sub-error.is-visible{ opacity:1; }
  /* Anchor jumps to the waitlist form land clear of the 72px sticky nav (not under it) */
  #waitlist{ scroll-margin-top:96px; }

  /* HIGHLIGHTS */
  .highlights{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding:56px 0 8px; }
  .hl{ }
  .hl .dot{ width:40px; height:40px; border-radius:12px; background:rgba(235,10,68,.1); color:var(--pink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:20px; margin-bottom:12px; }
  .hl h3{ font-weight:700; font-size:18px; margin-bottom:6px; }
  .hl p{ font-weight:400; font-size:14.5px; color:var(--muted); line-height:1.5; }

  /* HOW IT WORKS (steps) */
  .howto{ padding:66px 0 8px; scroll-margin-top:78px; }
  .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:42px; }
  .step{ position:relative; text-align:center; }
  .step-num{ width:46px; height:46px; border-radius:50%; background:var(--pink); color:#fff; font-weight:800; font-size:19px; display:flex; align-items:center; justify-content:center; margin:0 auto 15px; position:relative; z-index:1; }
  .step h4{ font-weight:700; font-size:17px; margin-bottom:7px; }
  .step p{ font-size:14px; color:var(--muted); line-height:1.55; max-width:23ch; margin:0 auto; }
  .step:not(:last-child)::after{ content:""; position:absolute; top:23px; left:50%; width:calc(100% + 24px); height:2px; background:var(--line); z-index:0; }
  @media(max-width:800px){ .steps{ grid-template-columns:1fr 1fr; gap:36px 20px; } .step:not(:last-child)::after{ display:none; } }

  /* SHOWCASE ROWS */
  .row{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:64px 0; border-top:1px solid var(--line); }
  .row.rev .copy{ order:2; }
  .kicker{ font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--pink); margin-bottom:10px; }
  .row h2{ font-weight:800; font-size:30px; letter-spacing:-.01em; margin-bottom:12px; line-height:1.15; }
  .row p{ font-weight:400; font-size:17px; color:var(--muted); line-height:1.6; }

  /* GENERIC APP-SNAPSHOT FRAME (light) */
  .snap{ background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 44px rgba(30,20,25,.10); overflow:hidden; }
  .snap-bar{ display:flex; align-items:center; gap:7px; padding:12px 16px; border-bottom:1px solid var(--line); background:#fbfafa; }
  .snap-bar i{ width:10px; height:10px; border-radius:50%; background:#e0dcda; display:inline-block; }
  .snap-bar .sb-title{ margin-left:8px; font-size:12.5px; color:var(--muted); font-weight:600; }
  .snap-body{ padding:20px; }

  /* REAL app screenshots */
  .shot{ border-radius:16px; box-shadow:0 20px 52px rgba(30,20,25,.16); border:1px solid var(--line); overflow:hidden; background:#fff; }
  .shot img{ display:block; width:100%; height:auto; }
  .shot.pay{ max-width:330px; margin:0 auto; border-radius:22px; }
  .shot.pay img{ border-radius:22px; }
  .shotcap{ text-align:center; font-size:12.5px; color:var(--muted); margin-top:12px; font-weight:600; }

  /* CAROUSEL */
  .carousel{ position:relative; }
  .carousel-track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .carousel-track::-webkit-scrollbar{ display:none; }
  .slide{ min-width:100%; scroll-snap-align:center; padding:0 2px; }
  .carousel .shot{ aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; background:#fbfafa; }
  .carousel .shot img{ width:100%; height:100%; object-fit:contain; }
  .car-btn{ position:absolute; top:calc(50% - 26px); transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:0 5px 16px rgba(30,20,25,.16); color:var(--ink); font-size:20px; font-weight:700; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; line-height:1; transition:background .15s; }
  .car-btn:hover{ background:var(--soft); }
  .car-btn:disabled{ opacity:.35; cursor:default; }
  .car-prev{ left:10px; } .car-next{ right:10px; }
  .car-dots{ display:flex; gap:8px; justify-content:center; margin-top:16px; }
  .car-dot{ width:8px; height:8px; border-radius:50%; background:#d8d2ce; border:none; cursor:pointer; padding:0; transition:width .2s,background .2s; }
  .car-dot.active{ background:var(--pink); width:22px; border-radius:4px; }
  @media(max-width:800px){ .car-prev{left:6px} .car-next{right:6px} }

  /* pills */
  .pill{ font-weight:600; font-size:11px; letter-spacing:.03em; border-radius:999px; padding:3px 10px; display:inline-block; }
  .pill.paid{ color:var(--green); background:rgba(45,168,78,.12); }
  .pill.sent{ color:var(--blue); background:rgba(47,116,208,.12); }
  .pill.over{ color:#c0392b; background:rgba(192,57,43,.12); }

  /* DASHBOARD snapshot */
  .stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
  .stat{ background:var(--soft); border-radius:12px; padding:13px 14px; }
  .stat .lbl{ font-size:12px; color:var(--muted); font-weight:600; }
  .stat .val{ font-size:22px; font-weight:700; margin-top:2px; }
  .stat .val.g{ color:var(--green); } .stat .val.r{ color:#c0392b; }
  .chart{ display:flex; align-items:flex-end; gap:10px; height:96px; padding:8px 4px 0; border-top:1px solid var(--line); }
  .chart .bar{ flex:1; background:linear-gradient(180deg,#f0503c,#e83e6e); border-radius:5px 5px 0 0; opacity:.9; }
  .chart-x{ display:flex; gap:10px; padding:6px 4px 0; }
  .chart-x span{ flex:1; text-align:center; font-size:11px; color:var(--muted); }

  /* INVOICE LIST snapshot */
  .list-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
  .list-head .t{ font-weight:700; font-size:16px; }
  .list-head .new{ font-size:12.5px; font-weight:600; color:#fff; background:var(--pink); border-radius:8px; padding:6px 12px; }
  .inv-row{ display:grid; grid-template-columns:auto 1fr auto auto; gap:12px; align-items:center; padding:11px 4px; border-top:1px solid var(--line); font-size:14.5px; }
  .inv-row .num{ color:var(--muted); font-weight:600; font-size:13px; }
  .inv-row .cl{ font-weight:600; }
  .inv-row .am{ font-weight:700; text-align:right; }

  /* PAY snapshot */
  .pay{ text-align:center; }
  .pay .plogo{ font-family:"confiteria-script",cursive; font-weight:700; font-size:26px; color:var(--pink); margin-bottom:14px; }
  .pay .from{ font-size:13px; color:var(--muted); font-weight:600; }
  .pay .duelbl{ font-size:12px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.05em; margin-top:14px; }
  .pay .due{ font-size:38px; font-weight:800; letter-spacing:-.01em; margin:2px 0 18px; }
  .pay .paybtn{ display:block; background:var(--pink); color:#fff; font-weight:700; font-size:18px; border-radius:12px; padding:15px; }
  .pay .sec{ font-size:12.5px; color:var(--muted); margin-top:12px; }

  /* SECTION HEADERS (Pricing / About) */
  .section-head{ text-align:center; }
  .kicker.center{ text-align:center; }
  .section-h2{ font-weight:800; font-size:clamp(26px,3.4vw,36px); letter-spacing:-.01em; line-height:1.15; margin:8px auto 12px; max-width:20ch; }
  .section-sub{ color:var(--muted); font-size:17px; max-width:52ch; margin:0 auto; line-height:1.6; }

  /* PRICING */
  .pricing{ padding:78px 0 8px; border-top:1px solid var(--line); scroll-margin-top:78px; }
  .price-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:42px auto 0; max-width:700px; align-items:stretch; }
  .price-grid.full{ grid-template-columns:repeat(3,1fr); max-width:none; }
  .plan{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 26px; display:flex; flex-direction:column; box-shadow:0 12px 32px rgba(30,20,25,.06); }
  .plan.featured{ border:2px solid var(--pink); box-shadow:0 22px 52px rgba(235,10,68,.14); position:relative; }
  .plan-flag{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--pink); color:#fff; font-weight:700; font-size:11px; letter-spacing:.04em; text-transform:uppercase; padding:5px 14px; border-radius:999px; white-space:nowrap; }
  .plan-name{ font-weight:700; font-size:16px; color:var(--pink); }
  .plan-price{ font-weight:800; font-size:38px; letter-spacing:-.02em; margin:6px 0 2px; }
  .plan-price span{ font-weight:600; font-size:15px; color:var(--muted); }
  .plan-tag{ font-size:13px; color:var(--muted); margin-bottom:18px; }
  .plan-fee{ font-weight:700; font-size:14.5px; color:var(--pink); margin:3px 0 18px; }
  .soon{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--amber); background:rgba(201,138,26,.14); border-radius:6px; padding:2px 6px; margin-left:5px; vertical-align:middle; white-space:nowrap; }
  .plan-list{ list-style:none; margin:0 0 22px; flex:1; }
  .plan-list li{ font-size:14px; color:var(--ink); padding:7px 0 7px 24px; position:relative; line-height:1.45; }
  .plan-list li::before{ content:"\2713"; position:absolute; left:0; top:8px; color:var(--green); font-weight:800; }
  .plan-list li.muted{ color:var(--muted); }
  .plan-list li.muted::before{ content:"\00B7"; color:var(--muted); font-size:18px; top:5px; }
  .plan-cta{ display:block; width:100%; text-align:center; background:var(--pink); color:#fff; font-weight:700; font-size:15px; font-family:"bree",sans-serif; border:0; border-radius:11px; padding:12px; cursor:pointer; transition:background .15s; }
  .plan-cta:hover{ background:#c60a3c; }
  .plan-cta.ghost{ background:#fff; color:var(--pink); border:1.5px solid var(--pink); }
  .plan-cta.ghost:hover{ background:rgba(235,10,68,.06); }
  .price-foot{ text-align:center; font-size:13px; color:var(--muted); margin-top:26px; }
  @media(max-width:820px){ .price-grid{ grid-template-columns:1fr; max-width:400px; margin:40px auto 0; } }
  /* struck-through Standard anchor on the Founder price */
  .plan-price .was{ color:var(--muted); text-decoration:line-through; text-decoration-color:rgba(110,110,115,.55); font-weight:700; font-size:23px; margin-right:9px; }
  /* founder spot counter */
  .founder-count{ margin:2px 0 14px; }
  .fc-bar{ height:7px; background:var(--soft); border-radius:999px; overflow:hidden; }
  .fc-bar span{ display:block; height:100%; background:var(--pink); border-radius:999px; transition:width .5s; }
  .fc-label{ font-size:12.5px; color:var(--muted); font-weight:600; margin-top:7px; }
  .fc-label b{ color:var(--pink); }
  /* not-binding reassurance */
  .plan-note-soft{ font-size:12px; color:var(--muted); line-height:1.5; background:var(--soft); border-radius:9px; padding:9px 11px; margin:0 0 16px; }
  /* Founder FULL (sold-out) state &mdash; shown when .price-grid.full */
  .standard, .founder-full, .cta-full{ display:none; }
  .price-grid.full .standard{ display:flex; }
  .price-grid.full .founder .plan-flag{ background:var(--muted); }
  .price-grid.full .founder .founder-open{ display:none; }
  .price-grid.full .founder .founder-full{ display:block; }
  .price-grid.full .founder .cta-open{ display:none; }
  .price-grid.full .founder .cta-full{ display:inline; }
  .price-grid.full .founder .plan-cta{ background:var(--soft); color:var(--muted); cursor:default; pointer-events:none; }
  .price-grid.full .founder{ box-shadow:0 12px 32px rgba(30,20,25,.06); }
  .founder-full-tag{ font-weight:800; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); background:var(--soft); border-radius:8px; padding:9px 10px; text-align:center; margin:2px 0 14px; }

  /* ABOUT */
  .about{ padding:78px 0; border-top:1px solid var(--line); scroll-margin-top:78px; }
  .about-lead{ text-align:center; font-size:18px; color:var(--ink); max-width:62ch; margin:14px auto 0; line-height:1.65; }
  .about-points{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:46px; }
  .about-point h4{ font-weight:700; font-size:16px; margin-bottom:8px; color:var(--pink); }
  .about-point p{ font-size:15px; color:var(--muted); line-height:1.6; }
  @media(max-width:800px){ .about-points{ grid-template-columns:1fr; gap:24px; } }

  /* FOOTER */
  footer{ text-align:center; padding:46px 40px; border-top:1px solid var(--line); }
  footer .wordmark{ font-size:30px; color:var(--pink); }
  footer .tag{ font-weight:400; color:var(--muted); font-size:15px; margin-top:4px; }

  /* === v2: PHONE FRAME (client pay screen) === */
  .phone{ max-width:250px; margin:0 auto; background:#1d1d1f; border-radius:36px; padding:9px; box-shadow:0 26px 58px rgba(30,20,25,.24); }
  .phone .screen{ border-radius:28px; overflow:hidden; background:#fff; line-height:0; }
  .phone .screen img{ width:100%; display:block; }

  /* === v2: CAROUSEL counter + higher-contrast dots === */
  .car-count{ position:absolute; top:12px; right:12px; background:rgba(29,29,31,.74); color:#fff; font-size:12px; font-weight:700; letter-spacing:.02em; padding:3px 10px; border-radius:999px; z-index:3; }
  .car-dot{ background:#c3bdb9; }

  /* === v2: RESERVE modal === */
  .modal-overlay{ position:fixed; inset:0; background:rgba(29,20,25,.55); display:none; align-items:center; justify-content:center; z-index:100; padding:20px; }
  .modal-overlay.open{ display:flex; }
  .modal{ background:#fff; border-radius:20px; width:100%; max-width:400px; padding:34px 30px 26px; box-shadow:0 30px 70px rgba(30,20,25,.30); position:relative; text-align:center; }
  .modal h3{ font-weight:800; font-size:23px; margin-bottom:6px; }
  .modal .m-plan{ font-size:14.5px; color:var(--muted); margin-bottom:20px; }
  .modal .m-plan b{ color:var(--pink); }
  .modal-form{ display:flex; flex-direction:column; gap:11px; }
  .modal-form input{ border:1px solid var(--line); border-radius:11px; padding:14px 16px; font-size:16px; font-family:"bree",sans-serif; color:var(--ink); }
  .modal-form button{ background:var(--pink); color:#fff; font-weight:700; font-size:16px; border:0; border-radius:11px; padding:14px; cursor:pointer; transition:background .15s; }
  .modal-form button:hover{ background:#c60a3c; }
  .modal .m-note{ font-size:12.5px; color:var(--muted); margin-top:15px; line-height:1.5; }
  .modal-close{ position:absolute; top:13px; right:15px; background:none; border:0; font-size:23px; color:var(--muted); cursor:pointer; line-height:1; }
  .modal .m-done{ display:none; }
  .modal.done .modal-form, .modal.done .m-plan, .modal.done .m-note{ display:none; }
  .modal.done .m-done{ display:block; }
  .m-done .m-check{ width:52px; height:52px; border-radius:50%; background:rgba(45,168,78,.14); color:var(--green); font-size:26px; display:flex; align-items:center; justify-content:center; margin:2px auto 15px; font-weight:800; }
  .m-done p{ font-size:15px; color:var(--muted); line-height:1.6; }

  /* === v2: HERO hook + anti-spam === */
  .hero-hook{ display:block; font-weight:700; font-size:15.5px; margin-top:16px; color:#fff; }
  .hero-note{ max-width:44ch; margin-left:auto; margin-right:auto; }

  /* === v2: FOOTER links === */
  .foot-links{ display:flex; gap:22px; justify-content:center; margin-top:18px; }
  .foot-links a{ font-size:13.5px; color:var(--muted); font-weight:600; transition:color .15s; }
  .foot-links a:hover{ color:var(--pink); }

  /* === v2: showcase nav anchor === */
  #see{ scroll-margin-top:78px; }

  /* === geo-gate: coming-soon waitlist for unsupported markets === */
  .geo-only{ display:none; }
  body.geo-gate .geo-only{ display:revert; }
  body.geo-gate .hero-normal,
  body.geo-gate .hero-hook,
  body.geo-gate .cta-normal,
  body.geo-gate .nav-links,
  body.geo-gate .btn-nav-cta,
  body.geo-gate .nav-toggle,
  body.geo-gate .mobile-menu,
  body.geo-gate #how,
  body.geo-gate .row,
  body.geo-gate #pricing{ display:none; }
  .geo-picker{ margin:20px auto 0; font-size:13.5px; font-weight:600; color:rgba(255,255,255,.92); display:flex; gap:9px; align-items:center; justify-content:center; flex-wrap:wrap; }
  .geo-picker .geo-country{ text-decoration:underline; }
  .geo-select{ font-family:"bree",sans-serif; font-size:13.5px; font-weight:600; border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.14); color:#fff; border-radius:9px; padding:7px 11px; cursor:pointer; }
  .geo-select option{ color:#1d1d1f; }

  @media(max-width:800px){ .row,.row.rev .copy{grid-template-columns:1fr; order:0} }
