/* Intercept — shared light design (ancillary pages). Marketing pages carry their own inline styles. */
:root{
  --bg:#ffffff;--ink:#15161a;--gray:#7c7f86;--faint:#a7aab0;
  --line:#ececee;--ph:#f3f3f1;--maxw:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
::selection{background:#e9e9e6}
a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:3px}

/* nav */
header{border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;height:66px}
.mark{font-weight:600;font-size:16px;letter-spacing:.26em;text-transform:uppercase}
nav{display:flex;gap:30px;margin-left:auto;align-items:center}
nav a{font-size:14px;color:var(--gray);font-weight:400}
nav a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--ink);color:#fff;font-size:14px;font-weight:500;padding:9px 17px;border-radius:2px;transition:background .15s ease,color .15s ease}
.btn:hover{background:#3a3d45}

/* footer */
footer{border-top:1px solid var(--line);background:#fbfbfa;padding:50px 0 64px;margin-top:80px}
.frow{display:flex;gap:56px;flex-wrap:wrap}
.frow .col h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;font-weight:500}
.frow .col a,.frow .col p{display:block;font-size:14px;color:var(--gray);margin-bottom:8px}
.frow .col a:hover{color:var(--ink)}
.frow .brand{margin-left:auto;text-align:right}
.frow .brand .mark{display:block;margin-bottom:10px}
.legal{font-size:12.5px;color:var(--faint);margin-top:38px;max-width:64ch}
.legal a{text-decoration:underline;text-underline-offset:.16em}
.legal a:hover{color:var(--gray)}

/* page header */
.phead{text-align:center;padding:80px 0 0;max-width:680px;margin:0 auto}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.phead h1{font-size:38px;font-weight:300;letter-spacing:-.015em;margin-top:16px}
.phead p{font-size:16px;color:var(--gray);margin-top:16px}

/* document prose (terms / privacy / user guide) */
.doc{max-width:720px;margin:0 auto;padding:64px 0 40px}
.doc .eyebrow{display:block}
.doc h1{font-size:34px;font-weight:300;letter-spacing:-.015em;margin:14px 0 8px}
.policy-updated{font-size:13px;color:var(--faint);margin-bottom:30px}
.doc h2{font-size:18px;font-weight:600;margin:34px 0 10px}
.doc p{font-size:15.5px;color:#3b3c40;margin-bottom:14px}
.doc ul,.doc ol{margin:0 0 16px 22px}
.doc li{font-size:15.5px;color:#3b3c40;margin-bottom:7px}
.doc a{text-decoration:underline;text-underline-offset:.16em}
.doc strong{font-weight:600;color:var(--ink)}
.guide-safety{border:1px solid var(--line);background:var(--ph);border-radius:2px;padding:18px 20px;margin-top:26px}
.guide-safety h2{margin-top:0}
.doc-foot{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}
.doc-foot a{font-weight:500;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}

/* forms (signup + feedback) */
.formwrap{max-width:600px;margin:0 auto;padding:56px 0 20px}
.signup-panel{display:grid;gap:16px;text-align:left;padding:28px;background:var(--bg);border:1px solid var(--line);border-radius:2px;box-shadow:0 6px 30px rgba(20,22,28,.07)}
.signup-panel input,.signup-panel textarea,.signup-panel select,.signup-panel button{font:inherit}
.form-heading{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.form-heading p{margin:0;color:var(--gray);font-size:13px;letter-spacing:.03em}
.form-heading h2{grid-column:1 / -1;margin-top:6px;font-size:22px;font-weight:400;letter-spacing:-.01em}
.live-dot{width:9px;height:9px;border-radius:50%;background:#2f7a4e}
.signup-panel label{display:grid;gap:6px;color:var(--ink);font-size:13px;font-weight:500}
.signup-panel input,.signup-panel textarea,.signup-panel select{width:100%;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--ink);padding:11px 12px}
.signup-panel input:focus,.signup-panel textarea:focus,.signup-panel select:focus{outline:1px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.signup-panel input[readonly]{background:var(--ph);color:var(--gray);cursor:not-allowed}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent-stack{display:grid;gap:10px;padding:14px;background:var(--ph);border:1px solid var(--line);border-radius:2px}
.consent-stack label{display:flex;align-items:flex-start;gap:10px;color:var(--gray);font-size:13px;font-weight:400}
.consent-stack input{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
.consent-stack p{margin:0;color:var(--gray);font-size:12.5px}
.consent-stack a{color:var(--ink);text-decoration:underline}
.submit-button{background:var(--ink);color:#fff;border:none;border-radius:2px;padding:13px 30px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}
.submit-button:hover{background:#3a3d45}
.form-status{min-height:1.2rem;margin:0;color:var(--gray);font-size:13.5px}
.form-status.success{color:#2f7a4e}
.form-status.error{color:#b23a35}
.required-legend{font-size:12.5px;color:var(--gray);margin:0}
.required-marker{color:#b23a35;font-weight:600}
.optional-label{color:var(--faint);font-weight:400}
.field-error{outline:1px solid #b23a35;border-color:#b23a35}
.eligibility-note,.safety-warning{padding:14px;background:var(--ph);border:1px solid var(--line);border-radius:2px}
.eligibility-note h3,.safety-warning strong{display:block;margin-bottom:6px;color:var(--ink);font-size:14px;font-weight:500}
.eligibility-note p,.safety-warning p{margin:0;color:var(--gray);font-size:13.5px}
.safety-warning{border-color:rgba(154,106,22,.4)}
.safety-warning strong{color:#9a6a16}

/* protected download page */
.download-wrap{max-width:640px;margin:0 auto;padding:56px 0 20px}
.download-panel .eyebrow,.download-panel h1{text-align:center;display:block}
.download-panel h1{font-size:32px;font-weight:300;letter-spacing:-.015em;margin-top:14px}
.download-lede{font-size:15.5px;color:var(--gray);margin:14px auto 0;max-width:54ch;text-align:center}
.download-access-box{border:1px solid var(--line);border-radius:2px;padding:24px;margin-top:32px;background:#fbfbfa}
.download-access-box h2{font-size:18px;font-weight:500;margin-bottom:8px}
.download-status{font-size:14px;color:var(--gray)}
.download-meta{margin-top:14px}
.download-meta dt{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-top:12px}
.download-meta dd{font-size:14px;color:var(--ink)}
.download-actions{margin-top:18px}
.download-note{font-size:13.5px;color:var(--gray);margin-top:22px}
.download-note a,.download-lede a{text-decoration:underline}
.button{display:inline-block;background:var(--ink);color:#fff;font-size:14px;font-weight:500;padding:11px 22px;border-radius:2px;cursor:pointer;transition:background .15s ease,color .15s ease}
.button:hover{background:#3a3d45}
.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.button.secondary:hover{background:var(--ink);color:#fff}

/* license key + copy (rendered by app.js on the download page) */
.license-key-block{margin-top:22px}
.license-key-label{font-size:14px;color:var(--ink);margin-bottom:8px}
.license-key-row{display:flex;align-items:stretch;gap:10px}
.license-key-value{flex:1 1 auto;min-width:0;display:flex;align-items:center;font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:13px;color:var(--ink);background:var(--ph);border:1px solid var(--line);border-radius:2px;padding:10px 12px;overflow-wrap:anywhere;word-break:break-all}
.license-key-copy{flex:0 0 auto;align-self:stretch}
.license-key-hint{font-size:13px;color:var(--gray);margin-top:10px}
.feedback-card-base,.feedback-section{border:1px solid var(--line);border-radius:2px;padding:22px;margin-top:32px;background:var(--bg)}
.feedback-section h2{font-size:18px;font-weight:500;margin-bottom:10px}
.feedback-section p{font-size:14px;color:var(--gray);margin-bottom:12px}

/* 404 */
.not-found{max-width:var(--maxw);margin:0 auto;padding:140px 32px;text-align:center}
.not-found h1{font-size:34px;font-weight:300;margin:12px 0 24px}
.button-link{display:inline-block;background:var(--ink);color:#fff;font-size:14px;font-weight:500;padding:11px 22px;border-radius:2px;transition:background .15s ease}
.button-link:hover{background:#3a3d45}

@media (max-width:820px){
  nav a:not(.req){display:none}
  .frow .brand{margin-left:0;text-align:left;width:100%}
  .field-row{grid-template-columns:1fr}
}
