/* public-site/site.css — shared design system for the generated public pages (terms, privacy, FAQ, contact, offers, products). zip 177.
   Same tokens as public-site/app.html. Mobile-first; AA contrast: ink on paper, paper on ink. */
:root{--ink:#1B2E28;--ink-2:#223B33;--paper:#F7F3E8;--paper-2:#FFFDF8;--signal:#E8A33D;--leaf:#4C9A6A;--leaf-dark:#2F6B49;--rust:#C1502E;--mute:#5B6B60;--line:rgba(27,46,40,.14);
--head:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;--body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;--r:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--head);line-height:1.2;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,5vw,2.8rem)}h2{font-size:1.35rem;margin-top:2em}h3{font-size:1.1rem}
a{color:var(--leaf-dark)}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--signal);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
header.nav{background:var(--ink);color:var(--paper)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{font-family:var(--head);font-weight:700;font-size:1.25rem;color:var(--paper);text-decoration:none}.brand b{color:var(--signal)}
header.nav nav{display:flex;gap:4px 16px;flex-wrap:wrap}
header.nav nav a{color:var(--paper);text-decoration:none;font-size:.95rem;padding:8px 4px;min-height:44px;display:inline-flex;align-items:center}
header.nav nav a:hover,header.nav nav a[aria-current=page]{color:var(--signal)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:10px;border:0;background:var(--signal);color:var(--ink);font:600 1rem var(--body);text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(.95);color:var(--ink)}.btn.ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
main{padding:32px 0 56px}
.eyebrow{font:600 .78rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf-dark);margin:0 0 8px}
.lead{font-size:1.1rem;color:var(--mute);max-width:62ch}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.notice{border-left:4px solid var(--signal);background:#fff6e0;padding:12px 16px;border-radius:0 var(--r) var(--r) 0;margin:20px 0;font-size:.95rem}
.legal{max-width:72ch}.legal li{margin:.35em 0}.legal .meta{font:.85rem var(--mono);color:var(--mute)}
details.faq{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);margin:10px 0;padding:0 16px}
details.faq summary{cursor:pointer;font-weight:600;padding:14px 0;min-height:44px}details.faq p{margin:0 0 14px}
label{display:block;font-weight:600;margin:14px 0 6px}
input,textarea,select{width:100%;padding:11px 12px;border:1.5px solid #9aa89f;border-radius:10px;background:#fff;color:var(--ink);font:1rem var(--body)}
input:focus,textarea:focus{border-color:var(--leaf-dark)}textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{margin-top:12px;font-weight:600}.msg.err{color:var(--rust)}.msg.ok{color:var(--leaf-dark)}
.offer{border:2px solid var(--signal);background:var(--paper-2);border-radius:var(--r);padding:20px;margin:16px 0}
.offer .badge{display:inline-block;background:var(--ink);color:var(--paper);font:600 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:99px}
.count{font:700 1.5rem var(--mono);color:var(--ink);margin:8px 0}
footer.foot{background:var(--ink);color:var(--paper);padding:32px 0;font-size:.93rem}
footer.foot .cols{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
footer.foot a{color:var(--paper);display:inline-block;padding:6px 0;min-height:32px}footer.foot a:hover{color:var(--signal)}
footer.foot h4{margin:0 0 6px;font:600 .8rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.small{font-size:.85rem;opacity:.8;margin-top:18px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* zip186 form controls */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea {
    box-sizing: border-box; max-width: 100%; min-height: 48px; padding: 12px 14px; font-size: 1.0625rem; line-height: 1.3;
    color: var(--ink); background-color: #fffefb; border: 1.5px solid #b4c0b8; border-radius: 11px;
    box-shadow: inset 0 1px 2px rgba(27,46,40,.07); outline: none; -webkit-appearance: none; appearance: none;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea):hover:not(:focus):not(:disabled) { border-color: #8fa096; background-color: #fff; }
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea):focus { border-color: var(--leaf-dark); background-color: #fff; box-shadow: 0 0 0 3px rgba(47,107,73,.25); outline: none; }
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea):disabled, :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea):read-only:not(select) { background-color: #eef0ea; color: #6c7a71; cursor: not-allowed; }
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea)[aria-invalid="true"] { border-color: #C1502E; }
:is(input, textarea)::placeholder { color: #8a978f; opacity: 1; }
textarea { min-height: 120px; resize: vertical; line-height: 1.45; }
select:not([multiple]) { padding-right: 42px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%235b6b60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px 16px; text-overflow: ellipsis; }
input[type=number]::-webkit-inner-spin-button { opacity: 0; } input[type=number]:hover::-webkit-inner-spin-button, input[type=number]:focus::-webkit-inner-spin-button { opacity: .7; }
@media (max-width: 768px) { :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]), select, textarea) { font-size: 17px; } }
@media (pointer: coarse) { input[type=number]::-webkit-inner-spin-button { display: none; } }

@media(pointer:coarse){footer.foot a{padding:11px 0;min-height:44px}}
