/* Public site chrome (2026-09-29): buttons, nav and footer shared by the
   landing, pricing and the marketing pages. Page CSS stays in each page. */
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 32px}
/* Contrast (2026-09-29): the public pages get firmer grey text, visible
   outlines, a deeper band colour, and a darker green for small green text.
   The big full stops, icons and the tick tile keep --brand. */
:root{--brand-text:var(--brand);--band:var(--surface2)}
html.rd-light-mode{--muted:#4d5561;--border:#d4d0c6;--brand-text:#0b6a4d;--band:#e8e5dc}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
/* Buttons (Rab picked "ink with the tick", 2026-09-29). The filled button
   is ink with the green tick tile inside it: square corners, one per view.
   Green stays the brand, not the button. In dark mode and on ink bands it
   flips to paper so it still reads. The demo is a text button with an arrow. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:2px;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.008em;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}
.btn-lg{height:50px;padding:0 22px;font-size:16px}
.btn-sm{height:36px;padding:0 14px;font-size:14px}
.btn-primary{background:var(--blue);color:var(--on-accent);gap:12px;padding-left:12px}
.btn-lg.btn-primary{padding-left:13px}
.btn-sm.btn-primary{gap:9px;padding-left:8px}
.btn-primary:hover{background:var(--accent-strong)}
.btn-primary .bt{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:2px;background:var(--brand);color:#fff}
.btn-sm.btn-primary .bt{width:20px;height:20px}
.btn-primary .bt svg{width:62%;height:62%}
.ink .btn-primary{background:#f6f5f1;color:#11161d}
.ink .btn-primary:hover{background:#fff}
.btn-secondary{background:transparent;color:var(--text);padding-left:12px;padding-right:12px}
.btn-secondary:hover{background:var(--accent-wash)}
.btn .arr,.more .arr{transition:transform .18s ease}
.btn:hover .arr,.more:hover .arr{transform:translateX(3px)}
.more{display:inline-flex;align-items:center;gap:6px;font-size:15.5px;font-weight:600;text-decoration:none;color:var(--text)}
.more:hover{color:var(--brand-text)}
.ink .more{color:#f6f5f1}
.ink .more:hover{color:#2dac7f}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-bottom-color:var(--border)}
.nav .wrap{display:flex;align-items:center;gap:36px;height:64px}
.nav-logo{text-decoration:none;color:var(--text);display:flex}
.nav-links{display:flex;gap:4px;font-size:14.5px;font-weight:500}
.nav-links a{text-decoration:none;color:var(--muted);padding:7px 11px;border-radius:7px;transition:color .15s,background-color .15s}
.nav-links a:hover{color:var(--text);background:var(--accent-wash)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav-cta .signin{text-decoration:none;padding:8px 12px;font-size:14.5px;font-weight:500;color:var(--text);border-radius:7px}
.nav-cta .signin:hover{background:var(--accent-wash)}

/* Footer */
footer{padding:64px 0 40px;font-size:14.5px;color:var(--muted);border-top:1px solid var(--border)}
.foot{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.foot-brand p{margin:14px 0 0;max-width:280px}
.foot h4{margin:0 0 14px;font-size:13.5px;font-weight:600;color:var(--text)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
footer a{text-decoration:none;color:var(--muted)}
footer a:hover{color:var(--text)}
footer a.foot-friend{color:var(--text);font-weight:500}
.foot-base{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px}

@media (max-width:1000px){
  .nav-links{display:none}
  .foot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .nav .wrap{height:58px;gap:12px}
  .nav-cta .signin{display:none}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr))}
}
