/* PaxSave site styles: self-hosted brand fonts, waitlist form, supporting pages. Tokens from 03-brand/tokens.json.
   index.html carries an inline copy of this file for first-paint speed: keep the two in sync. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --surface:#F6F3EC;--surface-raised:#FFFFFF;--surface-sunken:#EDE8DD;--line:#DCD5C6;
  --ink:#0D1B17;--ink-muted:#55625C;--pax-green:#0B5D4B;--pax-green-soft:#DDEDE5;
  --night:#08241E;--on-night:#F6F3EC;--on-night-muted:#A9C2B9;--brass:#C08A2E;--brass-ink:#835A10;--danger:#B42318;
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Waitlist form */
.ps-form{display:flex;flex-direction:column;gap:20px;margin:0}
.ps-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ps-fieldset{border:0;margin:0;padding:0}
.ps-label{padding:0;font-size:15px;line-height:20px;font-weight:600;color:var(--ink)}
.ps-hint{font-weight:400;color:var(--ink-muted)}
.ps-input{width:100%;height:52px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);padding:0 16px;font:inherit;font-size:16px;line-height:24px}
select.ps-input{-webkit-appearance:none;appearance:none;padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2355625C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
.ps-input:hover{border-color:#B9B09D}
.ps-input:focus{outline:2px solid transparent;border-color:var(--pax-green);box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--pax-green)}
.ps-input[aria-invalid="true"]{border-color:var(--danger)}
.ps-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.ps-choice{position:relative;display:block}
.ps-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ps-choice span{display:flex;align-items:center;min-height:52px;box-sizing:border-box;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);font-size:15px;line-height:20px;font-weight:600;color:var(--ink);cursor:pointer}
.ps-choice span:hover{border-color:#B9B09D}
.ps-choice input:checked+span{background:var(--pax-green-soft);border-color:var(--pax-green);color:var(--pax-green)}
.ps-choice input:focus-visible+span{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--pax-green)}
.ps-fieldset[aria-invalid="true"] .ps-choice span{border-color:var(--danger)}
.ps-error,.ps-form-error{margin:0;font-size:14px;line-height:20px;font-weight:600;color:var(--danger)}
.ps-form-error{padding:12px 16px;border:1px solid var(--danger);border-radius:12px;background:#FDF3F2}
.ps-btn{height:56px;width:100%;border:0;border-radius:12px;background:var(--pax-green);color:#FFFFFF;font:inherit;font-size:17px;font-weight:600;cursor:pointer}
.ps-btn:hover{background:var(--night)}
.ps-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--pax-green)}
.ps-btn[disabled]{opacity:.72;cursor:progress}
.ps-note{margin:0;font-size:13px;line-height:19px;color:var(--ink-muted)}
.ps-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ps-success{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:8px 0}
.ps-success[hidden]{display:none}
.ps-success h3{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:32px;line-height:38px;letter-spacing:-0.015em;color:var(--ink);outline:none}
.ps-success p{margin:0;font-size:17px;line-height:26px;color:var(--ink-muted)}
.ps-success strong{color:var(--ink);font-weight:600}

/* Supporting pages: privacy, terms, 404, joined */
.ps-page{max-width:760px;margin:0 auto;padding:72px 32px 112px;box-sizing:border-box}
.ps-page h1{margin:0 0 16px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(40px,5vw,60px);line-height:1.02;letter-spacing:-0.02em}
.ps-page h2{margin:40px 0 12px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:26px;line-height:32px}
.ps-page p,.ps-page li{font-size:17px;line-height:27px;color:var(--ink)}
.ps-page p{margin:0 0 16px}
.ps-page ul{margin:0 0 16px;padding-left:22px}
.ps-page li{margin-bottom:6px}
.ps-page .ps-lead{font-size:19px;line-height:30px;color:var(--ink-muted)}
.ps-page .ps-meta{font-size:14px;line-height:20px;color:var(--ink-muted)}
.ps-eyebrow{margin:0 0 16px;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
.ps-cta{display:inline-flex;align-items:center;height:56px;padding:0 28px;border-radius:12px;background:var(--pax-green);color:#FFFFFF;font-weight:600;font-size:17px;text-decoration:none}
.ps-cta:hover{background:var(--night);color:#FFFFFF}
