/* ============================================================================
   Read with Olabisi — author site for Olabisi Rabiu
   Editorial / literary design system from Claude Design.
   Cream "trophy" paper · Playfair serif · abstract checker-square motif ·
   gold / Nigerian-green / red accents.
   ========================================================================== */

:root{
  --paper:#F2E9D8; --paper-2:#EADFC8; --paper-3:#E4DAC4;
  --ink:#191410; --ink-soft:#3A322A; --ink-faint:#6B6055;
  --gold:#B08D4F; --gold-deep:#8A6C36;
  --green:#0B7A38; --red:#B23A2E; --blue:#3C4A66;
  --line:rgba(25,20,16,0.14); --line-soft:rgba(25,20,16,0.08);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Space Grotesk',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --cond:'Saira Condensed','Arial Narrow',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(25,20,16,0.045) 0.5px, transparent 0.6px);
  background-size:3px 3px; mix-blend-mode:multiply; opacity:.6;
}
.wrap{max-width:1180px; margin:0 auto; padding:0 40px; position:relative; z-index:1;}
.eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold-deep);}
h1,h2,h3{font-family:var(--serif); font-weight:900; letter-spacing:-.015em; margin:0;}
a{color:inherit;}
img{max-width:100%; display:block;}
::selection{background:rgba(176,141,79,.32);}

/* keyboard accessibility */
:focus-visible{outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:2px;}
.skip-link{position:absolute; left:-999px; top:0; z-index:200; background:var(--ink); color:var(--paper);
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; padding:12px 18px; text-decoration:none;}
.skip-link:focus{left:12px; top:12px;}

/* ── chess-square divider strip ── */
.sq-strip{display:flex; height:10px; width:100%;}
.sq-strip i{flex:1; background:var(--ink);}
.sq-strip i:nth-child(even){background:transparent;}

/* ── nav ── */
.nav{position:sticky; top:0; z-index:50; backdrop-filter:blur(10px);
  background:color-mix(in oklab, var(--paper) 82%, transparent);
  border-bottom:1px solid var(--line-soft);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; height:64px;}
.brand{display:flex; align-items:center; gap:11px; font-family:var(--serif); font-weight:800; font-size:18px; letter-spacing:.01em; text-decoration:none;}
.brand .pc{color:var(--gold);}
.nav-links{display:flex; align-items:center; gap:30px;}
.nav-links a{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-toggle{display:none; background:transparent; border:1px solid var(--line); border-radius:5px; padding:8px 10px; cursor:pointer; color:var(--ink);}
.nav-toggle span{display:block; width:18px; height:2px; background:var(--ink); margin:3px 0;}
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  padding:11px 20px; border-radius:4px; text-decoration:none; cursor:pointer; border:none; transition:transform .18s, box-shadow .2s, background .2s;}
.btn-solid{background:var(--ink); color:var(--paper);}
.btn-solid:hover{transform:translateY(-1px); box-shadow:0 8px 22px -8px rgba(25,20,16,.6);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--ink); background:rgba(25,20,16,.04);}
@media(max-width:820px){
  .nav-toggle{display:block;}
  .nav-links{position:absolute; top:64px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper); border-bottom:1px solid var(--line); padding:8px 0; display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 40px;}
  .nav-links a.btn{margin:10px 40px; justify-content:center;}
}
@media(max-width:760px){ .wrap{padding:0 22px;} }
@media(max-width:760px){ .nav-links a:not(.btn){padding-left:22px; padding-right:22px;} }

/* ── hero (author-forward) ── */
.hero{padding:80px 0 70px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;}
.hero h1{font-size:clamp(46px,7vw,82px); line-height:.94;}
.hero h1 .em{color:var(--red);}
.hero .lede{font-family:var(--serif); font-style:italic; font-size:22px; line-height:1.45; color:var(--ink-soft); margin:24px 0 0; max-width:40ch;}
.hero .actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero .meta{margin-top:28px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.hero .meta .by{font-family:var(--mono); font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-soft);}
.book-caption{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); text-align:center; margin-top:22px;}
.book-caption b{color:var(--ink-soft); font-weight:600;}
@media(max-width:880px){ .hero-grid{grid-template-columns:1fr; gap:40px;} .book-stage{order:-1;} }

/* ── 3D book mockup (Direction A — the typographic cover) ── */
.book-stage{display:flex; justify-content:center; perspective:1600px;}
.book{width:300px; height:450px; position:relative; transform:rotateY(-22deg) rotateX(4deg); transform-style:preserve-3d;
  transition:transform .6s cubic-bezier(.2,.7,.2,1); box-shadow:38px 40px 60px -28px rgba(25,20,16,.6);}
.book:hover{transform:rotateY(-10deg) rotateX(2deg);}
.book .face{position:absolute; inset:0; background:linear-gradient(168deg,var(--paper) 0%, var(--paper-2) 100%);
  border:1px solid rgba(25,20,16,.12); display:flex; flex-direction:column; padding:30px 26px 24px; overflow:hidden;}
.book .face::after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(25,20,16,.05) .5px,transparent .6px); background-size:3px 3px; mix-blend-mode:multiply; opacity:.5;}
.book .spine{position:absolute; left:0; top:0; width:26px; height:100%; transform:translateX(-26px) rotateY(90deg); transform-origin:right center; background:var(--ink);}
.bk-eyebrow{font-family:var(--mono); font-size:7px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-deep); text-align:center;}
.bk-rule{width:30px; height:1px; background:var(--gold); margin:9px auto 0; opacity:.7;}
.bk-pre{font-family:var(--cond); font-style:italic; font-weight:700; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); text-align:center; margin-top:20px;}
.bk-t{font-family:var(--serif); font-weight:900; font-size:56px; line-height:.86; letter-spacing:-.02em; text-align:center; margin-top:3px;}
.bk-t .r{color:var(--red);}
.bk-scene{flex:1; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;}
.bk-checker{display:inline-flex;}
.bk-checker i{width:7px; height:7px;}
.bk-checker i:nth-child(odd){background:var(--gold);}
.bk-quote{font-family:var(--serif); font-style:italic; font-weight:700; font-size:13px; line-height:1.32; color:var(--ink); text-align:center; max-width:17ch;}
.bk-ground{position:absolute; bottom:33px; left:14%; right:14%; height:1px; background:var(--gold); opacity:.6;}
.bk-author{font-family:var(--mono); font-size:9px; letter-spacing:.3em; text-align:center; color:var(--ink);}

/* ── checker-square mark (abstract motif — no figurative pieces) ── */
.cmark{display:inline-grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); width:1em; height:1em; vertical-align:-0.12em;}
.cmark i{background:currentColor;}
.cmark i:nth-child(2),.cmark i:nth-child(3){background:var(--gold);}
.fmt .fpc{display:inline-flex; align-items:center; justify-content:center; color:var(--ink); font-size:18px; width:24px;}

/* ── section scaffolding ── */
section{position:relative; z-index:1;}
.sec{padding:84px 0;}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:46px;}
.sec-head .lhs{max-width:60ch;}
.sec-num{font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--gold-deep);}
.sec h2{font-size:clamp(32px,4.4vw,52px); line-height:1.02; margin-top:14px;}
.sec .sub{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--ink-soft); margin-top:16px; line-height:1.45;}

/* ── about the author ── */
.about{display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:start;}
.about-photo{width:320px; height:404px; position:relative; overflow:hidden; border:1px solid var(--line);
  border-radius:6px; background:linear-gradient(168deg,var(--paper-2),var(--paper-3));
  box-shadow:0 30px 60px -34px rgba(25,20,16,.55); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;}
.about-photo::after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(25,20,16,.05) .5px,transparent .6px); background-size:3px 3px; mix-blend-mode:multiply; opacity:.5; pointer-events:none;}
.about-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.about-photo .mono-mark{font-family:var(--serif); font-weight:900; font-size:92px; line-height:1; color:var(--gold); opacity:.9;}
.about-photo .mono-sub{font-family:var(--mono); font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-faint); text-align:center; max-width:22ch; padding:0 18px;}
.about .a-name{font-size:clamp(30px,4vw,46px); margin-top:4px;}
.about .a-role{font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); margin:14px 0 22px; line-height:1.7;}
.about .a-bio{font-family:var(--serif); font-size:19px; line-height:1.66; color:var(--ink-soft);}
.about .a-bio p{margin:0 0 16px;}
.about .a-bio em{color:var(--ink);}
.about .a-quote{font-family:var(--serif); font-style:italic; font-weight:700; font-size:clamp(20px,2.4vw,26px); line-height:1.4; color:var(--ink); border-left:2px solid var(--gold); padding-left:22px; margin:26px 0 0;}
.about .edit-note{font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--ink-faint); margin-top:20px;}
@media(max-width:780px){ .about{grid-template-columns:1fr; gap:30px;} .about-photo{width:100%; height:380px;} }

/* ── featured book banner ── */
.featured{display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:18px 22px; margin-top:8px;
  background:var(--paper-2); border:1px solid var(--line); border-radius:6px;}
.featured .tag{font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep);}
.featured .ft-title{font-family:var(--serif); font-weight:800; font-size:19px;}
.featured .ft-title .r{color:var(--red);}
.featured .ft-meta{font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--ink-faint); margin-left:auto;}

/* ── premise / letter ── */
.letter{background:var(--paper-2); border:1px solid var(--line); border-radius:var(--r,6px);
  padding:54px clamp(28px,5vw,70px); position:relative; box-shadow:0 30px 60px -40px rgba(25,20,16,.5);}
.letter .salut{font-family:var(--serif); font-weight:900; font-style:italic; font-size:clamp(30px,4vw,46px); margin:0 0 24px;}
.letter .salut .g{color:var(--green);}
.letter p{font-family:var(--serif); font-size:clamp(18px,2vw,22px); line-height:1.6; margin:0 0 18px; max-width:62ch;}
.letter .hl{color:var(--red); font-style:italic;}
.letter .sign{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--ink-soft); margin-top:26px;}

/* ── two fears diptych ── */
.fears{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.fear-col{padding:44px clamp(24px,3.5vw,46px);}
.fear-col.home{background:linear-gradient(160deg,var(--paper-2),var(--paper-3));}
.fear-col.abroad{background:linear-gradient(200deg,#E4E2DD,#D8D7D2);}
.fear-col .tag{font-family:var(--cond); font-weight:800; font-size:24px; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:12px;}
.fear-col.home .tag{color:var(--green);} .fear-col.abroad .tag{color:var(--blue);}
.fear-col .tag .pc{font-family:var(--serif); font-size:26px;}
.fear-col h3{font-family:var(--serif); font-size:26px; margin:18px 0 6px;}
.fear-col .blurb{font-family:var(--serif); font-style:italic; color:var(--ink-soft); font-size:17px; line-height:1.5; margin-bottom:22px;}
.fear-list{list-style:none; margin:0; padding:0;}
.fear-list li{font-family:var(--mono); font-size:14px; letter-spacing:.06em; padding:13px 0; border-top:1px solid var(--line-soft); display:flex; align-items:center; gap:12px; color:var(--ink-soft);}
.fear-list li::before{content:"▪"; color:var(--gold); font-size:10px;}
.fears-seam{text-align:center; margin-top:30px;}
.fears-seam .q{font-family:var(--serif); font-style:italic; font-size:clamp(22px,3vw,32px); color:var(--ink);}
@media(max-width:720px){ .fears{grid-template-columns:1fr;} }

/* ── chess metaphor ── */
.chess{background:var(--ink); color:var(--paper); border-radius:8px; overflow:hidden; position:relative;}
.chess .inner{display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:clamp(40px,5vw,72px); align-items:center;}
.chess .eyebrow{color:var(--gold);}
.chess h2{color:var(--paper); font-size:clamp(30px,4vw,48px); line-height:1.04; margin-top:14px;}
.chess .body{font-family:var(--serif); font-size:19px; line-height:1.62; color:#D8CFBE; margin-top:20px;}
.chess .body .gold{color:var(--gold); font-style:italic;}
.chess .quotes{margin-top:28px; display:flex; flex-direction:column; gap:18px;}
.chess .quotes blockquote{margin:0; padding-left:20px; border-left:2px solid var(--gold); font-family:var(--serif); font-style:italic; font-size:18px; color:var(--paper);}
.chessboard{width:100%; aspect-ratio:1; max-width:380px; margin:0 auto; display:grid; grid-template-columns:repeat(8,1fr); grid-template-rows:repeat(8,1fr);
  border:8px solid var(--gold); box-shadow:0 30px 60px -22px rgba(0,0,0,.6); position:relative;}
.chessboard i{background:#E9DDC6;}
.chessboard i.d{background:#5A4A36;}
.chessboard i.hi{background:#E9DDC6; box-shadow:inset 0 0 0 3px var(--gold);}
@media(max-width:820px){ .chess .inner{grid-template-columns:1fr; gap:36px;} }

/* ── excerpt reader ── */
.reader{display:grid; grid-template-columns:300px 1fr; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 36px 70px -46px rgba(25,20,16,.55);}
.reader-list{background:var(--paper-2); border-right:1px solid var(--line); padding:14px;}
.reader-list .rl-h{font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); padding:12px 14px 14px;}
.rl-item{display:flex; gap:13px; align-items:flex-start; width:100%; text-align:left; background:transparent; border:none; cursor:pointer;
  padding:14px; border-radius:5px; transition:background .18s; font-family:var(--sans);}
.rl-item:hover{background:rgba(25,20,16,.045);}
.rl-item.active{background:var(--ink); }
.rl-item.active .rl-t,.rl-item.active .rl-n{color:var(--paper);}
.rl-item.active .rl-n{opacity:.7;}
.rl-n{font-family:var(--mono); font-size:12px; color:var(--gold-deep); padding-top:2px;}
.rl-t{font-family:var(--serif); font-weight:700; font-size:16px; line-height:1.25; color:var(--ink);}
.reader-page{background:var(--paper); padding:clamp(34px,4.5vw,64px); min-height:520px; display:flex; flex-direction:column;}
.rp-meta{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px;}
.rp-chap{font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep);}
.rp-title{font-family:var(--serif); font-weight:900; font-size:clamp(26px,3.4vw,38px); line-height:1.05; margin-bottom:22px;}
.rp-body{font-family:var(--serif); font-size:19px; line-height:1.72; color:var(--ink-soft); max-height:clamp(360px,52vh,620px); overflow-y:auto; padding-right:10px;}
.rp-body::-webkit-scrollbar{width:8px;}
.rp-body::-webkit-scrollbar-thumb{background:var(--line); border-radius:99px;}
.rp-body p{margin:0 0 18px;}
.rp-body p:first-of-type::first-letter{font-weight:900; font-size:3.4em; line-height:.8; float:left; padding:6px 12px 0 0; color:var(--red);}
.rp-body .hl{color:var(--ink); font-style:italic;}
.rp-nav{margin-top:auto; padding-top:30px; display:flex; align-items:center; justify-content:space-between;}
.rp-nav button{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; background:transparent; border:1px solid var(--line); color:var(--ink); padding:10px 16px; border-radius:4px; cursor:pointer; transition:.18s;}
.rp-nav button:hover:not(:disabled){background:var(--ink); color:var(--paper);}
.rp-nav button:disabled{opacity:.35; cursor:default;}
.rp-dots{font-family:var(--mono); font-size:11px; color:var(--ink-faint); letter-spacing:.1em;}
@media(max-width:780px){ .reader{grid-template-columns:1fr;} .reader-list{border-right:none; border-bottom:1px solid var(--line); display:flex; overflow-x:auto;} .reader-list .rl-h{display:none;} .rl-item{min-width:200px;} }

/* ── buy ── */
.buy{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.buy-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.formats{display:flex; flex-direction:column; gap:14px; margin-top:8px;}
.fmt{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:var(--paper); border:1px solid var(--line); border-radius:6px; transition:.2s; text-decoration:none; color:inherit;}
.fmt:hover{border-color:var(--gold); transform:translateY(-2px);}
.fmt .fl{display:flex; align-items:center; gap:14px;}
.fmt .fpc{font-family:var(--serif); font-size:26px; color:var(--gold);}
.fmt .fn{font-family:var(--serif); font-weight:700; font-size:19px;}
.fmt .fmeta{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--ink-faint); margin-top:2px;}
.fmt .fp{font-family:var(--mono); font-size:18px; font-weight:600;}
@media(max-width:820px){ .buy-grid{grid-template-columns:1fr; gap:36px;} }

/* ── email / newsletter ── */
.signup{text-align:center; max-width:620px; margin:0 auto;}
.signup h2{font-size:clamp(30px,4vw,48px);}
.signup .sub{margin:16px auto 30px;}
.signup form{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
.signup input{font-family:var(--mono); font-size:14px; padding:14px 18px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); min-width:300px;}
.signup input:focus{outline:none; border-color:var(--gold);}
.signup .ok{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--green); margin-top:22px; min-height:28px;}
.signup .err-msg{font-family:var(--mono); font-size:12px; color:var(--red); margin-top:14px; min-height:18px; letter-spacing:.04em;}
.signup .fineprint{font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:var(--ink-faint); margin-top:18px;}

/* ── footer ── */
footer{background:var(--ink); color:var(--paper); padding:60px 0 40px;}
footer .f-grid{display:flex; align-items:flex-start; justify-content:space-between; gap:30px; flex-wrap:wrap;}
footer .brand{color:var(--paper);} footer .brand .pc{color:var(--gold);}
footer .f-tag{font-family:var(--serif); font-style:italic; font-size:18px; color:#C9BFAE; max-width:36ch; margin-top:14px;}
footer .f-links{display:flex; gap:26px; flex-wrap:wrap;}
footer .f-links a{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#C9BFAE; text-decoration:none;}
footer .f-links a:hover{color:var(--paper);}
footer .f-base{margin-top:40px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:#8C8276;}
footer .f-base a{color:#8C8276; text-decoration:none;}
footer .f-base a:hover{color:var(--paper);}

/* ── scroll reveal ── */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1; transform:none;}

/* ── free-book giveaway ── */
.give{max-width:920px; margin:0 auto; text-align:center;}
.give h2{font-size:clamp(30px,4vw,48px); margin-top:12px;}
.give .sub{margin:16px auto 0; max-width:62ch;}
.give-insights{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:40px 0 0; text-align:left;}
.insight{background:var(--paper-2); border:1px solid var(--line); border-radius:8px; padding:24px 22px;}
.insight .q{font-family:var(--serif); font-style:italic; font-weight:700; font-size:18px; line-height:1.42; color:var(--ink);}
.insight .src{font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin-top:14px;}
@media(max-width:760px){ .give-insights{grid-template-columns:1fr;} }

.give-offer{margin-top:22px; background:var(--ink); color:var(--paper); border-radius:12px; padding:clamp(30px,4.5vw,52px); position:relative; overflow:hidden;}
.give-offer h3{font-family:var(--serif); font-weight:900; color:var(--paper); font-size:clamp(24px,3.2vw,34px); line-height:1.08;}
.give-offer .lead{font-family:var(--serif); font-style:italic; font-size:19px; color:#D8CFBE; margin:14px auto 0; max-width:50ch;}
.give-progress{max-width:480px; margin:26px auto 0;}
.progress-track{height:9px; border-radius:99px; background:rgba(255,255,255,.14); overflow:hidden;}
.progress-fill{height:100%; width:0; background:linear-gradient(90deg,var(--gold),var(--gold-deep)); transition:width .9s cubic-bezier(.2,.7,.2,1);}
.give-count{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:#C9BFAE; margin-top:12px;}
.give-count b{color:var(--paper);}
.give-form{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px;}
.give-form input{font-family:var(--mono); font-size:14px; padding:14px 18px; border:1px solid rgba(255,255,255,.18); border-radius:5px; background:rgba(255,255,255,.06); color:var(--paper); min-width:300px;}
.give-form input::placeholder{color:#9C9486;}
.give-form input:focus{outline:none; border-color:var(--gold);}
.btn-gold{background:var(--gold); color:var(--ink);}
.btn-gold:hover{background:#c39a55; transform:translateY(-1px); box-shadow:0 10px 26px -10px rgba(0,0,0,.5);}
.give-note{font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; color:#9C9486; margin-top:16px;}
.give-msg{font-family:var(--mono); font-size:12px; color:#E7B7AE; margin-top:14px; min-height:16px; letter-spacing:.03em;}
.give-success, .give-full{display:none;}
.give-success.show, .give-full.show{display:block;}
.give-success .ok-h, .give-full .full-h{font-family:var(--serif); font-weight:900; color:var(--paper); font-size:clamp(24px,3.2vw,34px);}
.give-success p, .give-full p{font-family:var(--serif); font-style:italic; font-size:18px; color:#D8CFBE; margin:14px auto 0; max-width:48ch;}
.btn-download{display:inline-flex; align-items:center; gap:10px; margin-top:24px; background:var(--gold); color:var(--ink); font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; padding:16px 28px; border-radius:6px; text-decoration:none; transition:.18s; border:none; cursor:pointer;}
.btn-download:hover{background:#c39a55; transform:translateY(-1px); box-shadow:0 12px 28px -10px rgba(0,0,0,.55);}

/* ── reduced motion ── */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  .reveal{opacity:1; transform:none;}
  .book{transform:rotateY(-16deg) rotateX(3deg);}
}
