/* ============================================================
   ADVANCEDHUMANMODE.COM — shared styles (all pages)
   Palette: cream #F3EFE7 · ink #2B2723 · teal #3E6B5F
   Type: EB Garamond (Google Fonts), system serif fallback
   ============================================================ */
:root{
  --cream:#F3EFE7;
  --ink:#2B2723;
  --teal:#3E6B5F;
  --rule:rgba(43,39,35,.22);
  --quiet:rgba(43,39,35,.72);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'EB Garamond',Georgia,'Times New Roman',serif;
  font-size:1.15rem;
  line-height:1.7;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.wrap{
  width:100%;
  max-width:680px;
  margin:0 auto;
  padding-left:1.25rem;
  padding-right:1.25rem;
}
main{flex:1}
a{
  color:var(--teal);
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
}
a:hover{color:var(--ink)}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
}

/* ---- header ---- */
.site-header{border-bottom:1px solid var(--rule)}
.site-header .wrap{
  display:flex;flex-wrap:wrap;align-items:baseline;
  justify-content:space-between;gap:.5rem 1.5rem;
  padding-top:1.5rem;padding-bottom:1.25rem;
}
.wordmark{
  font-size:1.25rem;font-weight:600;color:var(--ink);
  text-decoration:none;letter-spacing:.01em;
}
.wordmark:hover{color:var(--teal)}
.site-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:1rem}
.site-nav a{color:var(--ink);text-decoration:none}
.site-nav a:hover{text-decoration:underline;text-underline-offset:.18em}

/* ---- type ---- */
h1{
  font-size:clamp(2.1rem,5.5vw,3rem);
  line-height:1.15;font-weight:600;
  margin:0 0 1.25rem;
}
h2{
  font-size:1.35rem;line-height:1.35;font-weight:600;
  margin:0 0 .75rem;
}
h3{font-size:1.15rem;font-weight:600;margin:0 0 .5rem}
p{margin:0 0 1.25rem}
em{font-style:italic}
code{
  font-family:ui-monospace,'Cascadia Mono',Menlo,Consolas,monospace;
  font-size:.85em;background:rgba(43,39,35,.08);padding:.05em .3em;
}

/* ---- sections ---- */
section{margin:3.5rem 0}
.hero{margin-top:4rem}
.subhead{font-size:1.3rem;line-height:1.55;margin-bottom:1.5rem}
.supporting{color:var(--quiet)}
.step{padding:1.5rem 0;border-top:1px solid var(--rule)}
.step:first-of-type{border-top:0;padding-top:.25rem}
.step p{margin-bottom:0}

/* ---- calls to action ---- */
.cta-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;
  margin-top:2rem;margin-bottom:0;
}
.btn{
  display:inline-block;padding:.65rem 1.4rem;
  border:1.5px solid var(--teal);
  color:var(--teal);text-decoration:none;
  background:transparent;cursor:pointer;
  font:inherit;font-size:1.05rem;
}
.btn:hover{background:var(--teal);color:var(--cream)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn[disabled]:hover{background:transparent;color:var(--teal)}
.btn.small{padding:.3rem .9rem;font-size:.95rem}
.btn.quiet-btn{border-color:var(--rule);color:var(--ink)}
.btn.quiet-btn:hover{background:var(--ink);color:var(--cream)}
.btn-secondary{display:inline-block;padding:.65rem 0;color:var(--teal)}

/* ---- form ---- */
form{margin:1.5rem 0}
.field{margin-bottom:1.5rem;border:0}
label{font-weight:600;display:block;margin-bottom:.25rem}
.hint{font-size:.95rem;color:var(--quiet);margin-bottom:.4rem}
.optional{font-weight:400;color:var(--quiet)}
input[type=text],input[type=email],textarea{
  width:100%;padding:.55rem .7rem;
  font:inherit;font-size:1.05rem;color:var(--ink);
  background:rgba(255,255,255,.55);
  border:1px solid var(--rule);border-radius:0;
}
input[aria-invalid="true"],fieldset[aria-invalid="true"]{border-color:#8a3b2e}
.error{color:#8a3b2e;font-size:.95rem;margin-top:.35rem;margin-bottom:0}
.choice{font-weight:400;display:flex;gap:.5rem;align-items:baseline;margin-bottom:.35rem}
.choice input{width:auto}
.consent{align-items:flex-start}
fieldset legend{font-weight:600;margin-bottom:.4rem;padding:0}
textarea{resize:vertical}
/* honeypot — invisible to humans */
.hp{
  position:absolute!important;left:-9999px!important;
  width:1px;height:1px;overflow:hidden;
}

/* ---- request received / admin ---- */
.form-note{color:var(--quiet)}
.filters{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:1rem 0 1.5rem;font-size:1rem}
.filters a{color:var(--ink);text-decoration:none}
.filters a:hover{text-decoration:underline;text-underline-offset:.18em}
.filters a[aria-current="true"]{color:var(--teal);text-decoration:underline;text-underline-offset:.18em}
.flashes{margin:0 0 1.5rem}
.flash{padding:.5rem .9rem;margin-bottom:.5rem;border-left:3px solid var(--rule);font-size:1rem}
.flash.ok{border-color:var(--teal)}
.flash.error{border-color:#8a3b2e;color:#8a3b2e}
.flash.info{border-color:var(--rule)}
.table-wrap{overflow-x:auto;margin-bottom:3rem}
table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.45}
th,td{
  text-align:left;vertical-align:top;
  padding:.5rem .6rem;border-bottom:1px solid var(--rule);
}
th{font-weight:600;white-space:nowrap}
td small{color:var(--quiet)}
td details summary{cursor:pointer;color:var(--teal)}
td.actions{white-space:nowrap}
td.actions form{display:inline-block;margin:0 .25rem .25rem 0}
td.empty{text-align:center;color:var(--quiet);padding:2rem}

/* ---- home: the book's sales page (2F) ---- */
.book-hero-grid{
  display:grid;grid-template-columns:minmax(160px,240px) 1fr;
  gap:2.5rem;align-items:start;
}
.book-cover{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.eyebrow{font-size:1rem;color:var(--quiet);margin-bottom:1.25rem}
.microline{font-size:.95rem;color:var(--quiet);margin-top:1rem}
.for-list{list-style:none;margin:0 0 1.25rem;padding:0}
.for-list li{padding:.5rem 0 .5rem 1.6rem;position:relative}
.for-list li::before{content:"—";position:absolute;left:0;color:var(--teal)}
@media (max-width:640px){
  .book-hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .book-hero-cover{max-width:220px}
}

/* ---- footer ---- */
.site-footer{border-top:1px solid var(--rule);margin-top:4rem}
.site-footer .wrap{
  display:flex;flex-direction:column;gap:.4rem;
  padding-top:1.75rem;padding-bottom:2.5rem;
  font-size:1rem;color:var(--quiet);
}
.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:.75rem}
.footer-nav a{color:var(--ink);text-decoration:none}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:.18em}
.legal-strip{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--rule);font-size:.68rem;letter-spacing:.04em;color:var(--quiet);opacity:.85}
