/* Shared styling for the standalone pages (privacy, terms, support).
   Same tokens as index.html so the pages read as one site. */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip}

:root{
  --canvas:#14120E;
  --panel:#1E1B15;
  --panel-2:#25211A;
  --accent:#F5C800;
  --accent-hover:#FFD831;
  --accent-line:rgba(245,200,0,.34);
  --text-primary:#F7F3E9;
  --text-secondary:#ADA48E;
  --text-tertiary:#958C78;
  --hair:rgba(247,243,233,.10);
  --edge:#726B5F;
  --ease:cubic-bezier(.22,.61,.36,1);
  --display:'Archivo','Arial Black',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --mono:'Space Mono',ui-monospace,monospace;
  --shell:min(820px,92vw);
}

body{margin:0;background:var(--canvas);color:var(--text-primary);
  font-family:var(--body);font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased}

/* one fixed environment layer, same idea as the home page */
.env{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(1100px 700px at 78% -8%,rgba(245,200,0,.07),transparent 62%),
             radial-gradient(900px 600px at 8% 108%,rgba(245,200,0,.045),transparent 60%)}

.shell{width:var(--shell);margin:0 auto}
main{position:relative;z-index:2}

a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-line);
  transition:color .3s var(--ease),border-color .3s var(--ease)}
a:hover{color:var(--accent-hover);border-color:var(--accent-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--accent);color:#14120E;
  padding:10px 16px;border-radius:8px;border:0}

/* ---- nav ---- */
.nav{position:relative;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:16px clamp(18px,4vw,44px);border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;border:0}
.brand img{width:32px;height:32px;flex:none;display:block}
.brand b{font-family:var(--display);font-weight:900;font-size:19px;letter-spacing:.01em;color:var(--text-primary)}
.brand b span{font-weight:600;opacity:.62}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{font-size:14px;color:var(--text-secondary);border:0;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text-primary)}
.nav-links a[aria-current="page"]{font-weight:600}
@media (max-width:640px){.nav-links{gap:14px}.nav-links a{font-size:13px}}
@media (max-width:430px){.nav-links a.home{display:none}}

/* ---- page head ---- */
.phead{padding:clamp(46px,8vh,86px) 0 8px}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin:0 0 14px}
h1{font-family:var(--display);font-weight:900;letter-spacing:-.02em;line-height:1.02;
  font-size:clamp(34px,6vw,54px);margin:0 0 18px}
.meta{font-family:var(--mono);font-size:12px;line-height:1.9;color:var(--text-tertiary);
  margin:0 0 6px;word-break:break-word}
/* running intro copy: body face, not the mono used for the legal date line */
.intro{font-size:17px;line-height:1.7;color:var(--text-secondary);margin:0;max-width:62ch}

/* ---- body copy ---- */
.doc{padding:14px 0 clamp(60px,9vh,110px)}
.doc h2{font-family:var(--display);font-weight:800;letter-spacing:-.01em;
  font-size:clamp(20px,2.6vw,25px);margin:44px 0 12px;padding-top:22px;
  border-top:1px solid var(--hair)}
.doc h2:first-of-type{border-top:0;padding-top:0;margin-top:30px}
.doc h3{font-family:var(--body);font-weight:700;font-size:16px;margin:26px 0 8px;color:var(--text-primary)}
.doc p{margin:0 0 16px;color:var(--text-secondary);max-width:68ch}
.doc strong{color:var(--text-primary);font-weight:600}
.doc ul{margin:0 0 18px;padding-left:20px;color:var(--text-secondary);max-width:68ch}
.doc li{margin:0 0 9px}
.doc li::marker{color:var(--accent)}

.callout{background:var(--panel);border:1px solid var(--hair);border-left:3px solid var(--accent);
  border-radius:12px;padding:18px 20px;margin:0 0 24px}
.callout p{margin:0;color:var(--text-secondary)}

/* ---- support form ---- */
.form{background:var(--panel);border:1px solid var(--hair);border-radius:18px;
  padding:clamp(22px,3.4vw,34px);margin-top:8px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.row{grid-template-columns:1fr}}
.field{margin:0 0 16px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-tertiary);margin:0 0 7px}
.field input,.field textarea,.field select{width:100%;font-family:var(--body);font-size:15px;
  color:var(--text-primary);background:var(--canvas);border:1px solid var(--edge);border-radius:10px;
  padding:12px 14px;transition:border-color .3s var(--ease)}
.field textarea{min-height:150px;resize:vertical;line-height:1.6}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}
.field .err{display:none;font-size:12.5px;color:#FF8A6B;margin-top:6px}
.field.bad .err{display:block}
.field.bad input,.field.bad textarea{border-color:#FF8A6B}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--body);font-weight:700;font-size:15px;
  background:var(--accent);color:#14120E;border:0;border-radius:12px;
  padding:13px 26px;cursor:pointer;text-decoration:none;
  transition:background .3s var(--ease),transform .3s var(--ease)}
.btn:hover{background:var(--accent-hover)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:default}
@media (pointer:coarse){.btn{min-height:44px}}

.note{font-size:13.5px;color:var(--text-tertiary);margin:14px 0 0}
.status{margin:16px 0 0;font-size:14.5px;display:none}
.status.on{display:block}
.status.ok{color:#8FD69B}
.status.no{color:#FF8A6B}

/* ---- footer ---- */
.foot{position:relative;z-index:2;padding:34px 0 46px;border-top:1px solid var(--hair);
  margin-top:auto}
.foot .shell{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.foot .c{font-size:13.5px;color:var(--text-tertiary)}
.foot .lnk{display:flex;gap:20px;flex-wrap:wrap}
.foot .lnk a{font-size:13.5px;color:var(--text-secondary);border:0}
.foot .lnk a:hover{color:var(--text-primary)}
.social{display:flex;align-items:center;gap:12px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:10px;color:var(--text-secondary);border:1px solid var(--hair);
  transition:color .3s var(--ease),border-color .3s var(--ease)}
.social a:hover{color:var(--accent);border-color:var(--accent-line)}
.social svg{width:17px;height:17px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
