/* Shared styles for landing, couple quiz and privacy.
   Brand motif: two colours, one per partner, that meet.
   No web fonts: system serif for display, system sans for text. */

:root{
  --paper:#f7f5f0; --paper-2:#f0ede7; --card:#ffffff; --ink:#1b1713; --muted:#5c5348;
  --line:rgba(27,23,19,.14); --line-strong:rgba(27,23,19,.32);
  --a:#c23513; --a-soft:#fee6df; --on-a:#ffffff;
  --b:#1567c9; --b-soft:#e6eafe; --on-b:#ffffff;
  --btn:var(--a); --on-btn:#fff; --focus:var(--ink);
  --field:rgba(27,23,19,.5); --ok:#2c6a5a; --ok-soft:#d9ece5; --err:#a1224a; --err-soft:#f6dbe2;
  --shadow:0 1px 0 rgba(27,23,19,.06),0 18px 40px -22px rgba(60,35,15,.35);
  --grain:.5;
  --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  --r:20px; --wrap:1120px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#14110e; --paper-2:#1b1713; --card:#221c17; --ink:#f2eadf; --muted:#b3a797;
  --line:rgba(242,234,223,.13); --line-strong:rgba(242,234,223,.3);
  --a:#ff8c61; --a-soft:#3a2219; --on-a:#1b0e08;
  --b:#8fb3ff; --b-soft:#18243b; --on-b:#0b1222;
  --btn:#ff8c61; --on-btn:#1b0e08; --focus:var(--ink);
  --field:rgba(242,234,223,.5); --ok:#7fcdb5; --ok-soft:#16302a; --err:#ff8fa8; --err-soft:#3a1822;
  --shadow:0 1px 0 rgba(255,255,255,.04),0 22px 50px -24px rgba(0,0,0,.8);
  --grain:.25;
}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.6 var(--sans);overflow-x:hidden;
  /* warm paper: two soft partner-coloured glows and a very light grain */
  background-image:
    radial-gradient(60rem 30rem at 110% -10%,color-mix(in srgb,var(--b) 10%,transparent),transparent 60%),
    radial-gradient(50rem 28rem at -20% 10%,color-mix(in srgb,var(--a) 11%,transparent),transparent 60%);
  background-repeat:no-repeat}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:var(--grain);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.3 0 0 0 0 0.2 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.25rem,9vw,4.4rem)}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.hero,.how,.join,.facts,.faq-wrap{grid-template-columns:minmax(0,1fr)}
.hero>*,.how>*,.join>*,.faq-wrap>*{min-width:0}
h2{font-size:clamp(1.9rem,6.8vw,3.1rem)}
h3{font-size:1.35rem;line-height:1.2}
em.a,.ink-a{color:var(--a);font-style:italic}
em.b,.ink-b{color:var(--b);font-style:italic}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.narrow{max-width:680px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hidden{display:none!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}

/* ---------- header ---------- */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:8px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:1.3rem;letter-spacing:-.01em}
.mark{width:26px;height:26px;flex:none}
.mark .ca{fill:var(--a)} .mark .cb{fill:var(--b)}
.lang{display:flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:999px;font-size:.85rem;font-weight:600}
.lang a{display:inline-block;min-width:40px;text-align:center;padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--muted)}
.lang a[aria-current="true"]{background:var(--ink);color:var(--paper)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;padding:14px 26px;border-radius:999px;
  font:600 1.06rem/1.2 var(--sans);text-decoration:none;cursor:pointer;border:2px solid transparent;text-align:center;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.btn.primary{background:var(--btn);color:var(--on-btn);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--a) 80%,transparent)}
.btn.primary:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.ink{background:var(--ink);color:var(--paper)}
.btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn .arr{transition:transform .2s ease}
.btn:hover .arr{transform:translateX(3px)}
.linklike{background:none;border:0;padding:8px 0;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.eyebrow::before{content:"";width:18px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%)}
.lede{font-size:1.18rem;line-height:1.55;color:var(--muted);max-width:34em}
.micro{font-size:.9rem;color:var(--muted)}

/* ---------- the two-bar comparison (hero + quiz results) ---------- */
.duo-row{margin:0 0 10px}
.duo-row .who{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:6px}
.bar{display:flex;height:38px;border-radius:12px;overflow:hidden;background:var(--paper-2);font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}
.bar .seg{display:flex;align-items:center;min-width:0;white-space:nowrap;overflow:hidden;padding:0 10px;transition:flex-basis 1.1s cubic-bezier(.2,.8,.2,1)}
.bar .sa{background:var(--a);color:var(--on-a);justify-content:flex-start}
.bar .sb{background:var(--b);color:var(--on-b);justify-content:flex-end}
.bar .seg + .seg{box-shadow:inset 2px 0 0 var(--card)}
.legend{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;color:var(--muted);margin-top:4px}
.legend .la::before,.legend .lb::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.legend .la::before{background:var(--a)} .legend .lb::before{background:var(--b)}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px dashed var(--line-strong);color:var(--muted)}

/* ---------- forms ---------- */
label.f,.legend-f{display:block;font-weight:600;margin:18px 0 8px}
input[type=email],input[type=text],select{width:100%;font:inherit;font-size:1.05rem;min-height:52px;padding:12px 14px;border-radius:14px;
  border:1.5px solid var(--field);background:var(--paper);color:var(--ink)}
input[type=email]:focus,input[type=text]:focus,select:focus{border-color:var(--ink)}
select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;
  border:1.5px solid var(--field);border-radius:999px;cursor:pointer;font-weight:500}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips label:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;margin-top:18px;line-height:1.45}
.check input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--a)}
.check a{color:var(--ink);text-underline-offset:3px}
.status{font-weight:600;margin:14px 0 0;min-height:1em}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);margin-top:72px;padding-top:28px;padding-bottom:40px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;color:var(--muted);font-size:.92rem}
.foot a{color:var(--ink);text-underline-offset:3px}
.foot .logo{font-size:1.1rem;color:var(--ink)}

/* ================= LANDING ================= */
.hero{display:grid;gap:22px;padding-top:14px;padding-bottom:0;grid-template-areas:"t" "c" "a" "l"}
.hero-text{grid-area:t}.hero .gapcard{grid-area:c}.hero .actions{grid-area:a}.hero-lede{grid-area:l}
.hero h1{margin-bottom:0}
.hero .lede{margin:0}
.cta-row{display:flex;flex-direction:column;gap:12px}
.cta-row + .micro{margin-top:12px;text-align:center}

.gapcard{position:relative;margin:8px 0 6px;padding:22px 18px 16px;background:var(--card);border-radius:24px;border:1px solid var(--line);
  box-shadow:-5px 6px 0 -1px var(--a),5px 6px 0 -1px var(--b),var(--shadow)}
.gapcard .tag{position:absolute;top:-12px;left:18px;background:var(--card)}
.hook{margin:4px 0 14px;font-family:var(--serif);font-size:clamp(1.35rem,6vw,1.9rem);line-height:1.18;letter-spacing:-.01em}
.hook span{display:block}
.hook .qa{color:var(--a)} .hook .qb{color:var(--b);font-style:italic}
.gapnote{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--line-strong);font-size:.98rem}
.gapnote b{font-family:var(--serif);font-size:1.75rem;line-height:1;letter-spacing:-.02em;white-space:nowrap;
  color:var(--ink)}
.gapnote span{color:var(--muted)}
.anim .gapnote{opacity:0;transform:translateY(6px);transition:opacity .5s ease .8s,transform .5s ease .8s}
.anim.go .gapnote{opacity:1;transform:none}

.section{padding-top:72px}
.kicker{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.1rem;margin-bottom:10px}
.section-head{max-width:720px;margin-bottom:28px}

/* how it works */
.how{display:grid;gap:36px;align-items:center}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:22px}
.steps li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:4px 16px}
.steps li::before{content:counter(s);grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font:700 1.15rem var(--serif);color:var(--paper);background:var(--ink)}
.steps li:nth-child(2)::before{background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%);color:var(--on-a)}
.steps h3{margin:8px 0 2px}
.steps p{margin:0;color:var(--muted)}

/* iPhone mockup, pure CSS */
.phone{justify-self:center;width:min(290px,82vw);aspect-ratio:9/18.6;border-radius:46px;padding:11px;background:#121212;
  box-shadow:0 0 0 2px #3a3a3c,0 40px 70px -30px rgba(40,20,5,.55),inset 0 0 0 1px #000;position:relative}
.screen{height:100%;border-radius:36px;overflow:hidden;background:#fbf8f3;color:#1b1713;padding:44px 14px 14px;position:relative;font-size:12.5px;line-height:1.35;
  --pa:#c23513;--pb:#1567c9}
@media (prefers-color-scheme:dark){.screen{background:#1a1612;color:#f2eadf;--pa:#ff8c61;--pb:#8fb3ff}}
.screen::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:84px;height:24px;border-radius:14px;background:#000}
.screen .st{position:absolute;top:13px;left:26px;right:26px;display:flex;justify-content:space-between;font-weight:600;font-size:11px}
.scr-title{font:700 21px/1.1 var(--serif);margin:4px 0 2px}
.scr-sub{opacity:.65;margin:0 0 10px}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px;text-align:center}
.days span{padding:5px 0;border-radius:9px;font-weight:600;font-size:11px;background:rgba(127,110,90,.12)}
.days span.today{background:currentColor}
.days span.today i{color:#fbf8f3;font-style:normal}
@media (prefers-color-scheme:dark){.days span.today i{color:#1a1612}}
.bal{padding:10px;border-radius:14px;background:rgba(127,110,90,.1);margin-bottom:10px}
.bal .mini{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:6px 0 4px}
.bal .mini i{display:block}
.bal .row{display:flex;justify-content:space-between;font-size:11px;opacity:.75}
.task{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;margin-bottom:6px;background:rgba(127,110,90,.08);border-left:4px solid var(--c)}
.task.ta{--c:var(--pa)} .task.tb{--c:var(--pb)}
.task b{display:block;font-weight:600}
.task small{opacity:.65;font-size:11px}
.task .av{margin-left:auto;width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:11px;background:var(--c);color:#fff}
@media (prefers-color-scheme:dark){.task .av{color:#14110e}}
.task.moved small{font-style:italic;opacity:.85}
.task.done b{text-decoration:line-through;opacity:.5}

/* why others fail */
.facts{display:grid;gap:14px;list-style:none;margin:0;padding:0}
.fact{display:grid;grid-template-columns:1fr;gap:4px;align-items:start;padding:22px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.fact .num{margin-bottom:8px;font:600 clamp(3.2rem,15vw,4rem)/.9 var(--serif);letter-spacing:-.03em;font-variant-numeric:lining-nums}
.fact:nth-child(1) .num{color:var(--a)} .fact:nth-child(2) .num{color:var(--ink)} .fact:nth-child(3) .num{color:var(--b)}
.fact h3{margin:2px 0 4px}
.fact p{margin:0;color:var(--muted);font-size:.98rem}
.source{font-size:.85rem;color:var(--muted);margin-top:14px;max-width:46em}

/* promises */
.promises{display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.promises li{display:grid;grid-template-columns:52px 1fr;gap:4px 14px;padding:20px 0;border-bottom:1px solid var(--line-strong)}
.promises .pm{grid-row:span 2;position:relative;width:44px;height:30px;margin-top:4px}
.promises .pm::before,.promises .pm::after{content:"";position:absolute;top:0;width:30px;height:30px;border-radius:50%}
.promises .pm::before{left:0;background:var(--a)}
.promises .pm::after{right:0;background:var(--b)}
.promises h3{margin:2px 0 2px;font-size:1.45rem}
.promises p{margin:0;color:var(--muted)}

/* test band */
.band{position:relative;overflow:hidden;border-radius:28px;padding:34px 22px;background:var(--ink);color:var(--paper)}
.band::before,.band::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(2px);opacity:.9}
.band::before{background:var(--a);right:-120px;top:-130px}
.band::after{background:var(--b);right:-10px;top:-170px}
@media (prefers-color-scheme:dark){.band{background:#f2eadf;color:#14110e}}
.band > *{position:relative;z-index:1}
.band h2{max-width:14em}
.band p{max-width:32em;opacity:.85}
.band .btn.primary{margin-top:8px}
.band .tri{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0 0 22px;font-weight:600;font-size:.95rem}
.band .tri li::before{content:"→ ";opacity:.6}

/* faq */
.faq details{border-bottom:1px solid var(--line-strong)}
.faq details:first-of-type{border-top:1.5px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 1.25rem/1.25 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--field);display:grid;place-items:center;font:400 1.3rem/1 var(--sans);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0 0 20px;max-width:40em}
.faq details a{color:var(--ink)}

/* waitlist */
.join{display:grid;gap:24px}
.join .card{padding:22px 20px 24px}
.join .quizlink{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;text-decoration:none;
  border:1.5px dashed var(--line-strong);font-weight:600}
.join .quizlink span:last-child{color:var(--a)}
.after{margin-top:12px}

@media (min-width:860px){
  body{font-size:1.125rem}
  .wrap{padding:0 32px}
  .top{padding-top:22px}
  .hero{grid-template-columns:1.1fr .9fr;grid-template-areas:"t c" "l c" "a c";grid-template-rows:auto auto 1fr;column-gap:72px;row-gap:24px;padding-top:56px;padding-bottom:56px}
  .hero-text{align-self:end}
  .hero .gapcard{align-self:center;margin:0}
  .hero .actions{align-self:start;margin-top:8px}
  .gapcard{box-shadow:-7px 9px 0 -1px var(--a),7px 9px 0 -1px var(--b),var(--shadow)}
  .cta-row{flex-direction:row;flex-wrap:wrap}
  .cta-row + .micro{text-align:left}
  .gapcard{padding:30px 28px 26px}
  .section{padding-top:110px}
  .how{grid-template-columns:1fr 1fr;gap:64px}
  .facts{grid-template-columns:repeat(3,1fr)}
  .fact{padding:28px 24px}
  .promises{grid-template-columns:1fr 1fr;column-gap:48px}
  .band{padding:56px 52px}
  .band::before{width:420px;height:420px;right:-120px;top:-180px}
  .band::after{width:420px;height:420px;right:120px;top:-240px}
  .join{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
  .faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
}

/* ================= QUIZ ================= */
.quiz-main{max-width:640px;margin:0 auto;padding:12px 16px 56px}
.quiz-main h1{font-size:clamp(2.3rem,10vw,3.6rem)}
.trio{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px;counter-reset:t}
.trio li{counter-increment:t;display:flex;gap:12px;align-items:center;font-weight:500}
.trio li::before{content:counter(t);flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 .95rem var(--serif);border:1.5px solid var(--ink)}
.trio li:nth-child(1)::before{background:var(--a);color:var(--on-a);border-color:var(--a)}
.trio li:nth-child(3)::before{background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%);color:var(--on-a);border-color:transparent}
.names .f:first-child{margin-top:0}
.names .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.names .da{background:var(--a)} .names .db{background:var(--b)}

.progress{padding:12px 0 10px;margin:0 0 6px}
.progress .meta{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);font-weight:600;margin-bottom:8px}
.progress .track{height:8px;border-radius:4px;background:var(--paper-2);overflow:hidden}
.progress .fill{height:100%;width:0;border-radius:4px;background:var(--ink);transition:width .35s ease}
.hint{color:var(--muted);font-size:.98rem;margin:10px 0 18px}

.qcard{border:0;padding:0;margin:0}
.qcard[hidden]{display:none}
.qcard legend{font:600 clamp(1.6rem,7vw,2.2rem)/1.15 var(--serif);letter-spacing:-.01em;margin-bottom:20px;text-wrap:balance}
.scale{display:grid;gap:8px}
.opt{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:56px;padding:12px 16px;border-radius:16px;
  background:var(--card);border:1.5px solid var(--line);cursor:pointer;font-weight:600;transition:border-color .15s,transform .1s}
.opt:hover{border-color:var(--line-strong)}
.opt:active{transform:scale(.99)}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt .split{display:flex;width:72px;height:12px;border-radius:6px;overflow:hidden;background:var(--paper-2)}
.opt .split i{display:block;height:100%}
.opt .split .m{background:var(--me)} .opt .split .y{background:var(--you)}
.opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:color-mix(in srgb,var(--card) 80%,var(--paper-2))}
.opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.opt.na{min-height:48px;font-weight:500;color:var(--muted);background:transparent;border-style:dashed;margin-top:4px}
.opt.na:has(input:checked){border-style:solid;color:var(--ink)}
.qnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.qnav .btn{min-width:150px}
.endbox{margin-top:22px}
.endbox .check{margin-top:0}

.solo{margin:18px 0}
.big-gap{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:10px 0 18px}
.big-gap b{font:600 clamp(3.4rem,17vw,5rem)/.9 var(--serif);letter-spacing:-.03em;color:var(--ink)}
.big-gap span{color:var(--muted);font-weight:600}
.gaps{display:grid;gap:10px;margin:0 0 24px}
.gap{padding:16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.gap b{display:block;font:600 1.15rem/1.25 var(--serif);margin-bottom:8px}
.gap .pair{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.95rem}
.gap .pair span{display:inline-flex;align-items:center;gap:6px}
.gap .pair span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.gap .pa{--c:var(--a)} .gap .pb{--c:var(--b)}
.nextcard{margin-top:28px}
.nextcard h2{font-size:1.8rem}
.nextcard p{color:var(--muted)}
#copied{margin:10px 0 0;color:var(--muted);font-size:.95rem;min-height:1.2em}

/* ================= PRIVACY ================= */
.legal{max-width:720px;margin:0 auto;padding:24px 16px 40px}
.legal h1{font-size:clamp(2.4rem,10vw,3.6rem)}
.legal h2{font-size:1.5rem;margin-top:2em}
.legal p{max-width:38em}
.legal .meta{color:var(--muted)}
.legal form{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.legal form input{flex:1 1 240px}
.legal form .btn{min-height:52px}
.legal form .status{flex-basis:100%}
.legal a{text-underline-offset:3px}
.widget{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border-radius:13px;border:1px dashed rgba(127,110,90,.45);font-size:11px;opacity:.85}
.widget i{font-style:normal;font-weight:700}
