/* American Sleuth public site: classic noir mystery-novel look. Palette matches the game (shared/theme.css). */
:root{
  --night:#0d0f14; --navy:#151c2b; --ink:#16120e; --paper:#eadfc4; --paper2:#d6c59c;
  --gold:#c9a24b; --brass:#8f6a22; --lamp:#f3cd78; --red:#b3261e;
  --text:#efe6d0; --muted:#a99c80;
  --deco:'Limelight','Didot','Georgia',serif; --type:'Special Elite','Courier New',monospace; --sans:'Lato','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 700px at 30% -10%,#26304a 0,var(--night) 60%) fixed,var(--night);color:var(--text);font:17px/1.65 var(--sans)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
a{color:var(--lamp)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--deco);font-weight:400;color:var(--paper);margin:0;line-height:1.15}
h1{font-size:clamp(40px,7vw,84px);letter-spacing:.04em;text-shadow:0 3px 24px #000}
h2{font-size:clamp(28px,4vw,44px);letter-spacing:.03em}
h3{font-size:22px}
.deco{font-family:var(--deco);color:var(--gold);letter-spacing:.3em;font-size:13px;text-transform:uppercase}
.type{font-family:var(--type);color:var(--muted)}
.rule{height:2px;width:260px;margin:18px 0;background:linear-gradient(90deg,var(--gold),transparent)}
.center{text-align:center}.center .rule{margin-left:auto;margin-right:auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:72px 0}

/* header */
.top{position:sticky;top:0;z-index:30;background:#0d0f14e6;backdrop-filter:blur(8px);border-bottom:1px solid #c9a24b44}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper);font:20px var(--deco);letter-spacing:.06em}
.brand img{width:40px;height:40px}
.top nav{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.top nav a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:4px;font-weight:700;font-size:15px;letter-spacing:.03em}
.top nav a:hover,.top nav a[aria-current]{color:var(--lamp)}

/* buttons */
.btn{display:inline-block;text-decoration:none;font:700 15px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:4px;border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn:hover{background:#c9a24b22}
.btn.primary{background:linear-gradient(180deg,var(--lamp),var(--gold));color:#201706;border-color:#6d531b;box-shadow:0 6px 24px #c9a24b33}
.btn.primary:hover{filter:brightness(1.08);background:linear-gradient(180deg,var(--lamp),var(--gold))}
.top .btn{padding:9px 16px;font-size:13px}
.top nav a.btn.primary{color:#201706}

/* hero */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:center;overflow:hidden;padding:0;border-bottom:1px solid #c9a24b44}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0d0f14 0%,#0d0f14cc 30%,transparent 70%),linear-gradient(0deg,#0d0f14 0%,transparent 28%)}
.hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px}
.hero .lead{font-size:20px;max-width:520px;color:var(--text)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero .type{margin-top:22px;font-size:14px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:44px}
.step{background:linear-gradient(180deg,#1a2234,#11161f);border:1px solid #c9a24b44;border-radius:6px;overflow:hidden;box-shadow:0 12px 36px #0009}
.step img{aspect-ratio:1/1;object-fit:cover;width:100%;border-bottom:1px solid #c9a24b44}
.step .body{padding:20px 22px 26px}
.step .n{font-family:var(--deco);color:var(--gold);font-size:14px;letter-spacing:.2em}
.step h3{margin:6px 0 8px}
.step p{margin:0;color:#d6ccb4;font-size:16px}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:6px;border:1px solid #c9a24b55;box-shadow:0 16px 48px #000b}
.split ul{padding-left:20px}.split li{margin:8px 0}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:28px}}

/* features */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:36px}
.feat{padding:22px;border:1px solid #c9a24b33;border-left:3px solid var(--gold);background:#11161f99;border-radius:4px}
.feat h3{font-size:19px;margin-bottom:6px;color:var(--lamp)}.feat p{margin:0;font-size:15.5px;color:#cfc5ac}

/* band image */
.band{position:relative;min-height:380px;display:flex;align-items:center;border-top:1px solid #c9a24b44;border-bottom:1px solid #c9a24b44;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band:before{content:"";position:absolute;inset:0;background:#0d0f14b3;z-index:1}
.band .wrap{position:relative;z-index:2;text-align:center;padding-top:60px;padding-bottom:60px}
.band p{max-width:620px;margin:14px auto 28px}

/* stories */
.tools{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.tools input,.tools select{background:#11161f;color:var(--text);border:1px solid #c9a24b66;border-radius:4px;padding:11px 14px;font:16px var(--sans)}
.tools input{flex:1;min-width:220px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.card{background:#11161f;border:1px solid #c9a24b44;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-4px);border-color:var(--gold)}
.card img{aspect-ratio:2/3;object-fit:cover;width:100%}
.card .b{padding:14px 16px 18px}
.card h3{font-size:17px;line-height:1.25}
.card .m{font:13px var(--type);color:var(--gold);margin:6px 0}
.card p{font-size:14px;color:#cfc5ac;margin:0;line-height:1.5}
.count{font:14px var(--type);color:var(--muted)}

/* help */
.help{display:grid;grid-template-columns:230px 1fr;gap:48px;align-items:start}
.toc{position:sticky;top:90px;display:flex;flex-direction:column;gap:2px;border-left:1px solid #c9a24b44}
.toc a{padding:8px 16px;text-decoration:none;color:var(--text);font-weight:700;font-size:15px}
.toc a:hover{color:var(--lamp)}
.doc h2{margin:56px 0 12px;font-size:34px;scroll-margin-top:90px}
.doc h2:first-child{margin-top:0}
.doc h3{margin:28px 0 6px;color:var(--lamp);font-size:20px}
.doc p,.doc li{color:#ddd3ba}
.doc li{margin:6px 0}
.note{border:1px solid #c9a24b55;background:#c9a24b14;padding:14px 18px;border-radius:4px;margin:18px 0;font-size:16px}
.faq details{border-bottom:1px solid #c9a24b33;padding:14px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--paper);font-size:18px}
.faq details p{margin:10px 0 0}
@media(max-width:820px){.help{grid-template-columns:1fr}.toc{position:static;flex-direction:row;flex-wrap:wrap;border:0}}
.pagehead{padding:64px 0 24px}
.pagehead p{max-width:640px;font-size:19px}

/* footer */
footer{border-top:1px solid #c9a24b44;padding:40px 0;color:var(--muted);font-size:14px}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center}
footer a{color:var(--muted)}footer a:hover{color:var(--lamp)}

/* fixes: hero text pinned left of the wrap; compact header on phones */
.hero .wrap{width:100%}
@media(max-width:640px){
  .top .wrap{min-height:56px;gap:10px}
  .brand{font-size:16px}.brand img{width:32px;height:32px}
  .top nav{flex-wrap:nowrap;gap:0}
  .top nav a:not(.btn){display:none}
  .hero>img{object-position:78% center}
  section{padding:52px 0}
}
