/* ============================================================
   alveneer.com — author home for A. L. Veneer
   Warm wellness-core editorial. The menace lives in the fine print.
   Palette/type shared with marketing/fucus-ai-employee-handbook.html
   ============================================================ */

:root{
  --paper:#f6f1e7;          /* warm oatmeal paper */
  --paper-2:#efe7d7;        /* deeper panel */
  --ink:#2b2822;            /* near-black warm ink */
  --ink-soft:#5f594e;       /* muted body */
  --oak:#c9a56a;            /* white-oak gold */
  --sage:#6f7d5f;           /* wellness eucalyptus */
  --sage-deep:#4c583f;
  --clay:#b8543a;           /* the ONE wrong detail */
  --line:#d9cfba;
  --serif:'Fraunces',serif;
  --sans:'Inter',system-ui,sans-serif;
  --mono:'IBM Plex Mono',monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
/* paper grain */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
::selection{ background:var(--clay); color:var(--paper); }

.wellness-bar{
  height:10px;
  background:linear-gradient(90deg,var(--oak),#f2e4c4,var(--sage),#f2e4c4,var(--oak));
}

.wrap{ max-width:1100px; margin:0 auto; padding:0 28px; position:relative; z-index:2; }

h1,h2,h3{ font-family:var(--serif); font-weight:600; line-height:1.08; margin:0; letter-spacing:-.01em; }
p{ color:var(--ink-soft); margin:0 0 1.2em; }
strong{ color:var(--ink); font-weight:600; }
img{ max-width:100%; }
a{ color:var(--sage-deep); text-decoration-color:var(--line); text-underline-offset:3px; }
a:hover{ color:var(--clay); text-decoration-color:var(--clay); }

.eyebrow{
  font-family:var(--mono); font-size:12px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--sage-deep); margin:0 0 18px;
}
.fine{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.06em;
  color:var(--ink-soft); line-height:1.8;
}
.fine .mark{ color:var(--clay); }

/* ---------- header ---------- */
header.site{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:30px 0 26px; border-bottom:1px solid var(--line);
}
.wordmark{
  font-family:var(--serif); font-weight:600; font-size:22px; color:var(--ink);
  text-decoration:none; letter-spacing:-.01em;
}
.wordmark:hover{ color:var(--ink); }
.wordmark b{ color:var(--sage-deep); font-weight:600; }
nav.site{ display:flex; gap:30px; }
nav.site a{
  font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); text-decoration:none; position:relative;
}
nav.site a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-4px; height:1px;
  background:var(--clay); transition:right .25s ease;
}
nav.site a:hover{ color:var(--ink); }
nav.site a:hover::after{ right:0; }
nav.site a.join{ color:var(--clay); }

/* ---------- hero ---------- */
.hero{ display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; padding:92px 0 72px; }
.hero > *{ min-width:0; }
.hero h1{ font-size:clamp(42px,5.6vw,72px); }
.hero h1 .polite{ font-style:italic; font-weight:500; color:var(--sage-deep); }
.hero .lede{ font-size:19px; max-width:34em; margin-top:26px; }
.hero-plaque{ position:relative; justify-self:end; width:100%; max-width:420px; }
.hero-plaque img{
  display:block; width:100%; border:1px solid var(--line);
  box-shadow:0 24px 60px -32px rgba(43,40,34,.35);
  transform:rotate(-1.25deg);
}
.hero-plaque .caption{
  margin-top:14px; text-align:right;
  font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-soft);
}

/* staggered load reveal */
.reveal{ opacity:0; transform:translateY(14px); animation:rise .8s cubic-bezier(.2,.6,.2,1) forwards; }
.reveal.d1{ animation-delay:.08s; } .reveal.d2{ animation-delay:.2s; }
.reveal.d3{ animation-delay:.34s; } .reveal.d4{ animation-delay:.5s; }
@keyframes rise{ to{ opacity:1; transform:none; } }
/* scroll reveal (JS adds .in) */
.watch{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.6,.2,1); }
.watch.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal,.watch{ opacity:1 !important; transform:none !important; animation:none !important; transition:none !important; }
}

/* ---------- glossary ticker ---------- */
.glossary-line{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:14px 0; overflow:hidden; white-space:nowrap;
}
.glossary-line .inner{
  display:inline-block; font-family:var(--mono); font-size:12px; letter-spacing:.12em;
  color:var(--ink-soft); animation:drift 60s linear infinite;
}
.glossary-line .inner span{ margin-right:56px; }
.glossary-line .inner i{ font-style:normal; color:var(--sage-deep); }
.glossary-line .inner em{ font-style:normal; color:var(--clay); }
@keyframes drift{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .glossary-line .inner{ animation:none; } }

/* ---------- capture ---------- */
.capture-band{ padding:84px 0; }
.capture-card{
  background:var(--paper-2); border:1px solid var(--line);
  padding:54px 58px; display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:center;
}
.capture-card h2{ font-size:clamp(30px,3.4vw,42px); }
.capture-card h2 em{ font-style:italic; color:var(--sage-deep); }
.capture-copy p{ margin-top:18px; }
form.capture{ display:flex; gap:12px; }
form.capture input[type=email]{
  flex:1; min-width:0; padding:15px 18px;
  background:var(--paper); border:1px solid var(--line); border-radius:0;
  font-family:var(--mono); font-size:14px; color:var(--ink);
}
form.capture input[type=email]::placeholder{ color:#a49b8a; }
form.capture input[type=email]:focus{ outline:2px solid var(--clay); outline-offset:-1px; }
form.capture button{
  padding:15px 26px; border:1px solid var(--sage-deep); background:var(--sage-deep); color:var(--paper);
  font-family:var(--mono); font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  cursor:pointer; transition:background .2s ease, border-color .2s ease;
}
form.capture button:hover{ background:var(--clay); border-color:var(--clay); }
.capture-fine{ margin-top:16px; }
.form-note{ margin-top:14px; font-family:var(--mono); font-size:12.5px; color:var(--clay); display:none; }

/* ---------- books ---------- */
section.books{ padding:30px 0 90px; }
.section-head{ display:flex; align-items:baseline; justify-content:space-between; border-top:1px solid var(--line); padding-top:22px; margin-bottom:54px; }
.section-head h2{ font-size:clamp(30px,3.6vw,44px); }
.book{ display:grid; grid-template-columns:.62fr 1.38fr; gap:64px; align-items:start; }
.cover{
  aspect-ratio:2/3; border:1px solid var(--line); background:var(--paper-2);
  display:flex; flex-direction:column; position:relative; overflow:hidden;
  box-shadow:0 24px 60px -34px rgba(43,40,34,.4);
}
.cover .bar{ height:8px; background:linear-gradient(90deg,var(--oak),#f2e4c4,var(--sage),#f2e4c4,var(--oak)); }
.cover .inner{ flex:1; display:flex; flex-direction:column; justify-content:space-between; padding:34px 30px; }
.cover .t{ font-family:var(--serif); font-weight:600; font-size:clamp(26px,2.6vw,36px); line-height:1.05; }
.cover .t .sub{ display:block; margin-top:12px; font-family:var(--mono); font-weight:400; font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--clay); }
.cover .a{ font-family:var(--mono); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--sage-deep); }
.cover.redacted{ border-style:dashed; box-shadow:none; }
.cover.redacted .block{ height:30px; background:var(--ink); opacity:.82; margin:6px 0; }
.cover.redacted .block.w60{ width:60%; }
.cover.redacted .block.w80{ width:80%; }
.book h3{ font-size:clamp(26px,3vw,36px); margin-bottom:6px; }
.book .status{ font-family:var(--mono); font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--clay); margin:10px 0 24px; }
.book blockquote{
  margin:0 0 22px; padding-left:22px; border-left:2px solid var(--oak);
  font-family:var(--serif); font-style:italic; font-size:20px; line-height:1.5; color:var(--ink);
}
.comp{ font-size:15.5px; }
.book2{ margin-top:84px; }
.book2 .pitch{ font-family:var(--serif); font-style:italic; font-size:20px; color:var(--ink); margin-bottom:18px; }

/* ---------- about ---------- */
section.about{ padding:0 0 96px; }
.about-grid{ display:grid; grid-template-columns:.35fr 1fr; gap:64px; align-items:start; border-top:1px solid var(--line); padding-top:54px; }
.about-grid img{ width:170px; height:170px; border-radius:50%; border:1px solid var(--line); }
.about-grid .bio p{ font-size:18.5px; }
.about-grid .bio p.lead{ font-family:var(--serif); font-size:23px; line-height:1.5; color:var(--ink); }

/* ---------- footer ---------- */
footer.site{ border-top:1px solid var(--line); padding:44px 0 60px; }
.foot-grid{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.social{ display:flex; gap:26px; }
.social a{
  font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft); text-decoration:none;
}
.social a:hover{ color:var(--clay); }
.legal{ margin-top:30px; }

@media (max-width:880px){
  .hero{ grid-template-columns:1fr; gap:50px; padding-top:56px; }
  .hero-plaque{ justify-self:start; }
  .capture-card{ grid-template-columns:1fr; padding:38px 30px; gap:30px; }
  .book,.about-grid{ grid-template-columns:1fr; gap:36px; }
  .cover{ max-width:320px; }
  nav.site{ gap:18px; }
  header.site{ flex-direction:column; gap:14px; align-items:flex-start; }
  form.capture{ flex-direction:column; }
}
