/* ============================================================
   PLAIN FUTURE PRESS — book pages (The Honest Guide to AI)
   A calm, warm, high-accessibility consumer look. Deliberately
   NOT the Black Line Ops B2B "serious operations" style.

   Audience: non-technical adults ~50+. Accessibility is a
   feature, not a checkbox:
     • body text >=19px, line-height ~1.65
     • AAA contrast on body text, AA minimum everywhere
     • single-column, large tap targets (>=44px)
     • bold (never italic) for emphasis
     • visible keyboard focus, reduced-motion respected
   System fonts only (fast, reliable, no web-font flash). Swap in
   a branded face later if the imprint gets a defined type system.
   ============================================================ */

:root{
  --paper:#FBF7F1;        /* warm paper background            */
  --paper-2:#F6EFE4;      /* slightly deeper paper (alt bands)*/
  --surface:#FFFFFF;      /* cards                            */
  --ink:#221D17;          /* near-black body text (AAA)       */
  --ink-2:#574E44;        /* secondary text (AAA on paper)    */
  --accent:#0F5A66;       /* deep teal — links, buttons       */
  --accent-deep:#0A434C;  /* hover / pressed                  */
  --accent-soft:#E1EDEF;  /* teal tint surface                */
  --sand:#F2E8D8;         /* warm tint (safety module)        */
  --sand-line:#E4D4B8;    /* warm border                      */
  --gold:#8A5A22;         /* warm secondary accent (sparing)  */
  --line:#E8DFD0;         /* hairline                         */
  --ok:#1C6B4B;           /* success green (AA on paper)      */
  --maxw:680px;           /* comfortable reading measure      */
  --maxw-wide:980px;      /* hero / grids                     */
  --radius:14px;
  --shadow:0 1px 2px rgba(34,29,23,.05), 0 8px 24px rgba(34,29,23,.06);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.001ms!important;transition-duration:.001ms!important;}}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:19px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ---- links --------------------------------------------------- */
a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
a:hover{color:var(--accent-deep);}
::selection{background:var(--accent);color:#fff;}

/* ---- keyboard accessibility --------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,
summary:focus-visible,.btn:focus-visible,.form-success:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
  border-radius:6px;
}
.skip-link{
  position:fixed;top:-60px;left:1rem;z-index:200;
  background:var(--accent);color:#fff;
  padding:.85rem 1.3rem;border-radius:10px;
  font-weight:700;text-decoration:none;
  transition:top .2s ease;
}
.skip-link:focus{top:1rem;}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---- layout primitives -------------------------------------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:1.3rem;}
.wrap-wide{max-width:var(--maxw-wide);margin-inline:auto;padding-inline:1.3rem;}
section{padding-block:clamp(2.6rem,6vw,4rem);}
.band{background:var(--paper-2);}
.band-accent{background:var(--accent-soft);}

/* ---- typography --------------------------------------------- */
h1,h2,h3{font-family:Georgia,"Times New Roman",Times,serif;color:var(--ink);font-weight:700;letter-spacing:-.01em;}
h1{font-size:clamp(2.05rem,5.4vw,3.05rem);line-height:1.12;margin-bottom:1rem;}
h2{font-size:clamp(1.55rem,3.6vw,2.1rem);line-height:1.18;margin-bottom:1rem;}
h3{font-size:1.2rem;line-height:1.3;margin-bottom:.5rem;}
p{margin-bottom:1.1rem;}
p:last-child{margin-bottom:0;}
strong{font-weight:700;color:var(--ink);}    /* emphasis = bold, never italic */
.lead{font-size:1.2rem;color:var(--ink-2);line-height:1.55;}
.eyebrow{
  display:inline-block;
  font-family:system-ui,sans-serif;
  font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.9rem;
}
.muted{color:var(--ink-2);}
.center{text-align:center;}

/* ---- imprint bar (top — no corporate nav) ------------------- */
.imprint-bar{padding-block:1.1rem;border-bottom:1px solid var(--line);background:var(--paper);}
.imprint{display:inline-flex;flex-direction:column;line-height:1.1;text-decoration:none;}
.imprint:hover{text-decoration:none;}
.imprint .pfp{font-family:Georgia,serif;font-size:1.12rem;font-weight:700;color:var(--accent);}
.imprint .pfp-sub{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:.15rem;}

/* ---- hero ---------------------------------------------------- */
.hero{background:linear-gradient(180deg,#FFFFFF 0%,var(--paper) 100%);}
.hero-grid{display:grid;grid-template-columns:1fr;gap:2.2rem;align-items:center;}
@media (min-width:780px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:3.2rem;}}
.hero-copy h1{margin-bottom:1.1rem;}
.hero-sub{font-size:1.22rem;color:var(--ink-2);line-height:1.5;margin-bottom:1.6rem;}
.trust-line{margin-top:1.4rem;font-size:1.02rem;color:var(--ink-2);}
.trust-line strong{color:var(--ink);}

/* ---- "Coming soon" badge + cover caption ---- */
.badge-soon{
  display:inline-flex;align-items:center;gap:.5rem;
  margin-bottom:1.1rem;padding:.42rem .95rem;
  background:#FBEEDA;color:#7A4E1C;border:1px solid #EAD6B0;border-radius:999px;
  font-family:system-ui,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.badge-soon .dot{width:8px;height:8px;border-radius:50%;background:#C97A2C;flex:0 0 auto;}
.cover-caption{margin-top:.85rem;text-align:center;font-size:.95rem;font-weight:700;color:var(--ink-2);}

/* ---- book cover (placeholder slot, 1.6:1 portrait) ---------- */
.cover-frame{
  max-width:300px;margin-inline:auto;
}
.cover{
  display:block;width:100%;height:auto;aspect-ratio:1 / 1.6;border-radius:10px;
  background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--shadow);overflow:hidden;object-fit:cover;
}
.cover-ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:.5rem;padding:1.4rem;
  background:
    linear-gradient(135deg,var(--accent-soft),var(--sand));
  color:var(--ink-2);
}
.cover-ph .ph-title{font-family:Georgia,serif;font-size:1.25rem;color:var(--ink);line-height:1.2;}
.cover-ph .ph-note{font-size:.8rem;letter-spacing:.04em;}

/* ---- buttons ------------------------------------------------- */
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.2rem;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:56px;padding:.9rem 1.7rem;
  font-family:system-ui,sans-serif;font-size:1.08rem;font-weight:700;
  text-decoration:none;border-radius:12px;border:2px solid transparent;
  cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-deep);color:#fff;}
.btn-secondary{background:var(--surface);color:var(--accent);border-color:var(--accent);}
.btn-secondary:hover{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent-deep);}
.btn-block{width:100%;}
.btn-note{margin-top:.7rem;font-size:.86rem;color:var(--ink-2);}

/* ---- benefit list (6 verbatim bullets) ---------------------- */
.benefits{list-style:none;margin:0;display:grid;grid-template-columns:1fr;gap:.9rem;}
@media (min-width:680px){.benefits{grid-template-columns:1fr 1fr;gap:1rem 1.6rem;}}
.benefit{display:flex;gap:.8rem;align-items:flex-start;font-size:1.06rem;}
.benefit .tick{
  flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-weight:700;
  margin-top:.1rem;
}

/* ---- safety / STOP module (the differentiator) -------------- */
.safety-card{
  background:var(--sand);border:1px solid var(--sand-line);
  border-radius:var(--radius);padding:clamp(1.4rem,4vw,2.2rem);
}
.safety-frame{font-size:1.15rem;color:var(--ink);margin-bottom:1rem;}
.stop-list{list-style:none;margin:1.4rem 0 0;display:grid;gap:.9rem;}
.stop-item{display:flex;gap:1rem;align-items:flex-start;}
.stop-letter{
  flex:0 0 auto;width:46px;height:46px;border-radius:12px;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:1.5rem;font-weight:700;
}
.stop-body h3{margin-bottom:.2rem;}
.stop-body p{margin-bottom:0;color:var(--ink-2);}
.safety-foot{margin-top:1.4rem;font-weight:700;color:var(--ink);}

/* ---- author block ------------------------------------------- */
.author{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:start;}
@media (min-width:620px){.author{grid-template-columns:auto 1fr;gap:2rem;}}
.author-photo{
  width:140px;height:140px;border-radius:50%;object-fit:cover;
  border:3px solid var(--surface);box-shadow:var(--shadow);
}
.author-name{font-family:Georgia,serif;font-size:1.4rem;color:var(--ink);margin-bottom:.1rem;}
.author-role{color:var(--gold);font-weight:700;font-size:.95rem;margin-bottom:1rem;}

/* ---- email capture / forms ---------------------------------- */
.capture-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);
  padding:clamp(1.5rem,4vw,2.4rem);
}
.kit-list{list-style:none;margin:1rem 0 1.4rem;display:grid;gap:.6rem;}
.kit-list li{display:flex;gap:.65rem;align-items:flex-start;color:var(--ink-2);}
.kit-list .tick{flex:0 0 auto;color:var(--accent);font-weight:700;}
.form-row{display:grid;gap:.9rem;margin-bottom:1rem;}
@media (min-width:560px){.form-row.two{grid-template-columns:1fr 1fr;}}
.field label{display:block;font-weight:700;font-size:.95rem;margin-bottom:.35rem;color:var(--ink);}
.field input{
  width:100%;min-height:54px;padding:.8rem 1rem;font-size:1.05rem;
  border:2px solid #8C8073;border-radius:10px;background:#fff;color:var(--ink);
  font-family:inherit;
}
.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.consent{font-size:.9rem;color:var(--ink-2);margin-top:1rem;}
.form-success{
  display:none;background:var(--accent-soft);border:1px solid var(--accent);
  border-radius:var(--radius);padding:clamp(1.4rem,4vw,2rem);text-align:center;
}
.form-success.show{display:block;}
.form-success h3{color:var(--accent-deep);}
.form-success .check{
  width:56px;height:56px;border-radius:50%;background:var(--ok);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.8rem;
  margin-bottom:.8rem;
}
.form-error{display:none;color:#9A2A2A;font-weight:700;margin-top:.8rem;}
.form-error.show{display:block;}

/* ---- social proof (honest placeholders) --------------------- */
.testi-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:1.6rem;}
@media (min-width:760px){.testi-grid{grid-template-columns:repeat(3,1fr);}}
.testi-card{
  background:var(--surface);border:1px dashed var(--sand-line);
  border-radius:var(--radius);padding:1.4rem;color:var(--ink-2);
  display:flex;flex-direction:column;gap:.7rem;min-height:150px;
}
.testi-card .quote-mark{font-family:Georgia,serif;font-size:2.4rem;line-height:.6;color:var(--accent-soft);}
.testi-card .placeholder-note{font-size:.92rem;color:var(--ink-2);}
.inside-line{
  margin-top:1.8rem;text-align:center;font-weight:700;color:var(--ink);font-size:1.08rem;
}

/* ---- FAQ (all visible — no collapse, most accessible) ------- */
.faq-item{padding-block:1.3rem;border-bottom:1px solid var(--line);}
.faq-item:first-of-type{border-top:1px solid var(--line);}
.faq-item h3{margin-bottom:.4rem;}
.faq-item p{margin-bottom:0;color:var(--ink-2);}

/* ---- final CTA ---------------------------------------------- */
.final-cta{text-align:center;}
.final-cta .btn-row{justify-content:center;}
.close-line{
  max-width:560px;margin:0 auto 1.8rem;
  font-family:Georgia,serif;font-size:1.4rem;line-height:1.4;color:var(--ink);
}

/* ---- footer -------------------------------------------------- */
.site-foot{background:var(--ink);color:rgba(251,247,241,.72);padding-block:2.4rem;}
.site-foot a{color:rgba(251,247,241,.92);}
.site-foot a:hover{color:#fff;}
.foot-imprint{font-family:Georgia,serif;font-size:1.05rem;color:#fff;margin-bottom:.5rem;}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:1rem;font-size:.9rem;}
.foot-fine{margin-top:1rem;font-size:.84rem;color:rgba(251,247,241,.55);}

/* ---- generic spacing helpers -------------------------------- */
.mt-1{margin-top:1rem;}
.mt-2{margin-top:2rem;}
.stack > * + *{margin-top:1.1rem;}
