/* Fyeo Hale, author site. Palette sampled from the How Wildflowers Grow cover. */
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --storm:#1c1e21;      /* cover sky, darkest */
  --storm-2:#2a2e33;    /* cover clouds */
  --slate:#43484f;
  --parchment:#e8e2d6;  /* cover title lettering, lifted */
  --paper:#f7f2e9;
  --paper-2:#efe7d9;
  --ink:#24221f;
  --ink-soft:#4f4a43;
  --gold:#c99a3b;       /* black eyed susan */
  --gold-ink:#7f5a17;   /* gold dark enough for text on paper */
  --sage:#656847;       /* roadside grasses */
  --sage-ink:#4c5034;
  --rose:#b7987d;       /* dusk light behind the clouds */
  --aster:#7b6d96;      /* the small purple asters */
  --line:rgba(36,34,31,.14);
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1120px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font:400 1.0625rem/1.7 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-ink);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--paper);color:var(--ink);padding:.6rem 1rem;z-index:20}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.005em;margin:0 0 .6em}
h2{font-size:clamp(2rem,1.4rem + 2.2vw,3rem)}
h3{font-size:1.6rem}
p{margin:0 0 1.1em}
.eyebrow{font:600 .78rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--sage-ink);margin:0 0 1rem;display:flex;align-items:center;gap:.8rem}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:currentColor;opacity:.6}

/* Header */
.site-head{position:absolute;inset:0 0 auto 0;z-index:30;color:var(--parchment)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem}
.brand{font:500 1.35rem/1 var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--parchment);text-decoration:none;white-space:nowrap}
.brand:hover{color:#fff}
.nav{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem;margin:0;padding:0;list-style:none}
.nav a{display:block;padding:.45rem 0;color:rgba(232,226,214,.78);text-decoration:none;font-size:.9rem;letter-spacing:.08em;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover{color:#fff;border-color:rgba(201,154,59,.45)}
.nav a[aria-current="page"]{color:#fff;border-color:var(--gold)}
.menu-toggle{display:none;align-items:center;gap:.6rem;background:none;border:1px solid rgba(232,226,214,.35);color:var(--parchment);border-radius:999px;padding:.5rem 1rem;font:600 .85rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.menu-toggle .bars,.menu-toggle .bars::before,.menu-toggle .bars::after{display:block;width:16px;height:1.5px;background:currentColor;position:relative;transition:transform .25s,background-color .25s}
.menu-toggle .bars::before,.menu-toggle .bars::after{content:"";position:absolute;left:0}
.menu-toggle .bars::before{top:-5px}.menu-toggle .bars::after{top:5px}
.menu-open .menu-toggle .bars{background:transparent}
.menu-open .menu-toggle .bars::before{transform:translateY(5px) rotate(45deg)}
.menu-open .menu-toggle .bars::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:860px){
  .js .menu-toggle{display:inline-flex}
  .js #site-nav{position:absolute;left:0;right:0;top:100%;background:#17181a;box-shadow:0 20px 40px rgba(0,0,0,.4);border-top:1px solid rgba(232,226,214,.12);border-bottom:1px solid rgba(232,226,214,.12);padding:.6rem 1.25rem 1.4rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility 0s .25s}
  .js.menu-open-root #site-nav,.menu-open #site-nav{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
  .js .nav{flex-direction:column;gap:0}
  .js .nav a{font:500 1.6rem/1.2 var(--serif);letter-spacing:.01em;padding:.75rem 0;border-bottom:1px solid rgba(232,226,214,.1)}
  .js .nav a[aria-current="page"]{color:var(--gold);border-bottom-color:rgba(232,226,214,.1)}
  html:not(.js) .site-head .wrap{flex-direction:column;align-items:flex-start}
}

/* Page hero for inner pages */
.page-hero{position:relative;overflow:hidden;color:var(--parchment);background:radial-gradient(120% 90% at 80% 10%,rgba(201,154,59,.16),transparent 55%),linear-gradient(180deg,#25282c 0%,var(--storm) 100%);padding:8.5rem 0 4.5rem}
.page-hero::before{content:"";position:absolute;inset:0;background:var(--grain);pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero .kicker{font:600 .8rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.page-hero h1{font-size:clamp(2.6rem,1.6rem + 3.4vw,4.4rem);color:#f3eee4;margin-bottom:.3em;max-width:52rem}
.page-hero .sub{max-width:40rem;color:rgba(232,226,214,.85);font-size:1.12rem;margin:0}
.page-hero .rainbow{top:40px}

/* Hero */
.hero{position:relative;overflow:hidden;color:var(--parchment);background:
  radial-gradient(120% 80% at 78% 18%,rgba(201,154,59,.20),transparent 55%),
  radial-gradient(90% 70% at 10% 0%,#3a3f46 0%,transparent 60%),
  linear-gradient(180deg,#25282c 0%,var(--storm) 70%,#17181a 100%);
  padding:8.5rem 0 6rem}
.hero::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.9;pointer-events:none}
.hero .rainbow{position:absolute;width:1100px;height:1100px;right:-380px;top:120px;border-radius:50%;pointer-events:none;opacity:.16;
  background:radial-gradient(closest-side,transparent 86%,#b45f5f 87%,#c99a3b 89.5%,#8d9b5a 92%,#5b7d93 94.5%,#7b6d96 97%,transparent 98.5%);
  -webkit-mask:linear-gradient(180deg,#000 0%,#000 38%,transparent 55%);mask:linear-gradient(180deg,#000 0%,#000 38%,transparent 55%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:3rem;align-items:center}
.hero .kicker{font:600 .8rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.9rem,1.6rem + 3.6vw,4.25rem);font-weight:500;letter-spacing:.01em;margin-bottom:.35em;color:#f3eee4}
.hook{font:italic 500 clamp(1.5rem,1.1rem + 1.4vw,2.1rem)/1.3 var(--serif);color:#f3eee4;margin:0 0 1.2rem;padding-left:1.1rem;border-left:2px solid var(--gold)}
.hook span{display:block;font-style:normal;color:var(--rose)}
.lede{max-width:34rem;color:rgba(232,226,214,.86);font-size:1.08rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.btn{display:inline-flex;flex-direction:column;justify-content:center;min-height:3.4rem;padding:.65rem 1.35rem;border-radius:999px;text-decoration:none;font:600 .98rem/1.15 var(--sans);letter-spacing:.02em;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.btn small{font-weight:400;font-size:.78rem;opacity:.85;letter-spacing:.03em;margin-top:.15rem}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#1d1a14}
.btn-gold:hover{background:#d9ad52;color:#1d1a14}
.btn-ghost{border:1px solid rgba(232,226,214,.45);color:#f3eee4}
.btn-ghost:hover{border-color:#f3eee4;color:#fff;background:rgba(255,255,255,.05)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#000;color:#fff}
.btn-line{border:1px solid rgba(36,34,31,.35);color:var(--ink)}
.btn-line:hover{border-color:var(--ink);color:var(--ink);background:rgba(36,34,31,.04)}
.goodreads{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;color:var(--parchment);font-size:.95rem;text-decoration:none;border-bottom:1px solid rgba(201,154,59,.6);padding-bottom:.15rem}
.goodreads:hover{color:#fff;border-color:var(--gold)}
.goodreads svg{width:1.05rem;height:1.05rem;color:var(--gold)}

/* Sections */
section{position:relative}
.band{padding:clamp(4.5rem,3rem + 5vw,7.5rem) 0}
.band.alt{background:var(--paper-2) var(--grain)}
.band.dark{background:var(--storm-2) var(--grain);color:var(--parchment)}
.band.dark .eyebrow{color:var(--gold)}
.band.dark a{color:#e5c27a}
.band.dark a:hover{color:#fff}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:4rem;align-items:start}
.prose{max-width:40rem}
.prose p{color:var(--ink-soft)}
.prose .lead-q{font:italic 600 1.9rem/1.25 var(--serif);color:var(--ink);margin-bottom:.8em}
.prose .comps{font-weight:600;color:var(--ink)}
.prose .note{font-size:.92rem;font-style:italic;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.6rem}
.side-note{position:sticky;top:2rem}
.side-note blockquote{margin:0;font:italic 500 1.75rem/1.35 var(--serif);color:var(--ink)}
.side-note blockquote::before{content:"\201C";display:block;font-size:4rem;line-height:.6;color:var(--gold);margin-bottom:.6rem}
.side-note cite{display:block;margin-top:1rem;font:600 .78rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage-ink);font-style:normal}
.sprig{display:block;width:120px;color:var(--sage);opacity:.55;margin-top:2.2rem}

.for-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.for-card{background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.5rem}
.for-card h3{font-size:1.45rem;margin-bottom:.4em}
.for-card p{margin:0;color:var(--ink-soft);font-size:1rem}
.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.55rem;vertical-align:.12em}
.honest{max-width:44rem;margin:2.6rem auto 0;text-align:center;color:var(--ink-soft)}
.honest strong{font:italic 600 1.35rem/1.4 var(--serif);color:var(--ink);display:block;margin-top:.6rem}

.formats{display:grid;grid-template-columns:auto 1fr;gap:3.5rem;align-items:center}
.formats .mini{width:220px;border-radius:2px 4px 4px 2px;box-shadow:0 22px 45px rgba(0,0,0,.28),0 3px 8px rgba(0,0,0,.2)}
.fmt-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0 0}
.fmt{border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.3rem 1.4rem;background:rgba(255,255,255,.55);display:flex;flex-direction:column}
.fmt h3{font-size:1.5rem;margin:0 0 .2rem}
.fmt .price{font:600 .95rem var(--sans);color:var(--gold-ink);margin:0 0 .3rem}
.fmt p{font-size:.95rem;color:var(--ink-soft);margin:0 0 1rem}
.fmt .btn{margin-top:auto;align-self:flex-start;min-height:2.8rem;padding:.55rem 1.1rem;font-size:.92rem}

.pod{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.wave{display:flex;align-items:center;gap:5px;height:120px}
.wave i{display:block;width:6px;border-radius:3px;background:linear-gradient(180deg,var(--gold),var(--rose));opacity:.85}
.pod-card{border:1px solid rgba(232,226,214,.18);border-radius:18px;padding:2rem;background:rgba(0,0,0,.18)}
.pod-card .t{font:500 1.9rem/1.1 var(--serif);color:#f3eee4;margin:1.2rem 0 .3rem}
.pod-card .s{font-size:.9rem;color:rgba(232,226,214,.7);margin:0 0 1.4rem}
.btn-spotify{background:#f3eee4;color:#1c1e21}
.btn-spotify:hover{background:#fff;color:#000}
.band.dark .btn-spotify{color:#1c1e21}
.band.dark .btn-spotify:hover{color:#000}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.card{position:relative;display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;padding:2rem 2rem 1.8rem;background:rgba(255,255,255,.55);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(36,34,31,.1);border-color:rgba(36,34,31,.25);color:inherit}
.card .meta{font:600 .76rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage-ink);margin:0 0 .9rem}
.card h3{font-size:1.9rem;margin:0 0 .5rem}
.card p{color:var(--ink-soft);margin:0 0 1.2rem}
.card .go{font-weight:600;color:var(--gold-ink)}
.card .bg-sprig{position:absolute;right:-12px;bottom:-14px;width:120px;color:var(--sage);opacity:.12}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:4rem;align-items:center}
.monogram{aspect-ratio:1;max-width:320px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(201,154,59,.12),transparent 65%)}
.monogram svg{width:62%;color:var(--sage)}
.contact{text-align:center}
.contact .mail{font:500 clamp(1.6rem,1.2rem + 1.6vw,2.4rem)/1.2 var(--serif);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);word-break:break-word}
.contact .mail:hover{color:var(--gold-ink)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}
.duo>div{display:flex;flex-direction:column}
.duo h2{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.6rem)}
.duo-intro{color:var(--ink-soft);min-height:3.4em}
.duo .card{flex:1}
.js .book-stage:not(.go) .book,.js .book-stage:not(.go) .cover,.js .book-stage:not(.go) .page::after,.js .book-stage:not(.go) .book-shadow{animation-play-state:paused}

/* Quote band */
.quote-band{background:linear-gradient(180deg,#17181a 0,var(--storm-2) 100%);color:var(--parchment);padding:clamp(4rem,3rem + 4vw,6.5rem) 0;text-align:center;position:relative;overflow:hidden}
.quote-band::before{content:"";position:absolute;inset:0;background:var(--grain);pointer-events:none}
.quote-band .wrap{position:relative;max-width:900px}
.qb-orn{width:110px;color:var(--gold);opacity:.75;margin:0 auto 2rem;display:block}
.quote-band blockquote{margin:0}
.quote-band blockquote p{font:italic 500 clamp(1.45rem,1rem + 1.6vw,2.25rem)/1.5 var(--serif);color:#f1ebe0;margin:0;text-wrap:pretty}
.quote-band em{font-style:normal;color:var(--gold);background:linear-gradient(transparent 82%,rgba(201,154,59,.28) 82%)}
.quote-band footer{margin-top:1.8rem;font:600 .78rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(232,226,214,.65)}
.quote-band cite{font-style:normal}

/* Praise */
.praise{background:var(--paper-2) var(--grain)}
.praise-head{margin-bottom:2.4rem}
.praise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem;align-items:stretch}
.pq{position:relative;margin:0;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:18px;padding:2.2rem 2rem 1.8rem;display:flex;flex-direction:column;overflow:hidden}
.pq::before{content:"\201C";font:500 5rem/1 var(--serif);color:var(--gold);opacity:.55;position:absolute;top:.6rem;left:1.4rem}
.pq blockquote{margin:1.8rem 0 1.6rem;flex:1}
.pq blockquote p{font:italic 500 1.55rem/1.4 var(--serif);color:var(--ink);margin:0 0 .8em}
.pq blockquote p:last-child{margin:0}
.pq-feature{grid-column:span 2}
.pq-feature blockquote p{font-size:1.45rem}
.pq figcaption{border-top:1px solid var(--line);padding-top:1rem}
.pq figcaption a{text-decoration:none;display:flex;flex-direction:column}
.pq .who{font:600 .95rem var(--sans);color:var(--ink)}
.pq .where{font-size:.88rem;color:var(--gold-ink)}
.pq figcaption a:hover .where{text-decoration:underline}
.pq .bg-sprig{position:absolute;right:-10px;bottom:-14px;width:110px;color:var(--sage);opacity:.12}

/* Social */
.ico{width:1.1em;height:1.1em;flex:none}
.social{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;list-style:none;margin:2rem 0 0;padding:0}
.social a{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1.1rem;border:1px solid rgba(36,34,31,.22);border-radius:999px;color:var(--ink);text-decoration:none;font-size:.95rem;transition:border-color .2s,background-color .2s}
.social a:hover{border-color:var(--ink);background:rgba(36,34,31,.04);color:var(--ink)}
.social .ico{color:var(--gold-ink)}
.foot-links .ic{display:inline-flex;align-items:center;gap:.4rem}

/* Footer */
.site-foot{background:var(--storm) var(--grain);color:rgba(232,226,214,.78);padding:3.2rem 0 2.6rem;font-size:.95rem}
.site-foot a{color:#e5c27a}
.site-foot a:hover{color:#fff}
.help{border:1px solid rgba(232,226,214,.16);border-radius:14px;padding:1.2rem 1.4rem;margin-bottom:2rem;line-height:1.6}
a[href^="tel:"]{white-space:nowrap}
.help strong{color:#f3eee4;font-weight:600}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.foot-row .brand{font-size:1.1rem}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;margin:0;padding:0}

/* Article page */
.article-hero{padding:4.5rem 0 2rem;text-align:center}
.article-hero h1{font-size:clamp(2.4rem,1.6rem + 3vw,3.9rem);max-width:52rem;margin:0 auto .5em}
.byline{font:italic 500 1.2rem var(--serif);color:var(--ink-soft)}
.article{max-width:40rem;margin:0 auto;padding:1rem 1.5rem 5rem}
.article p,.article li{color:#3b3731;font-size:1.1rem}
.article h2{font-size:clamp(1.8rem,1.4rem + 1.2vw,2.3rem);margin:2.2em 0 .6em}
.article ul{padding-left:1.2rem}
.article blockquote{margin:2rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.5);font:italic 500 1.55rem/1.4 var(--serif);color:var(--ink);border-radius:0 12px 12px 0}
.article blockquote p{font:inherit;color:inherit;margin:0}
.article .sign{font:italic 500 1.6rem var(--serif);color:var(--ink)}
.article .divider{display:block;width:90px;margin:3rem auto;color:var(--gold);opacity:.75}
.book-box{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:1.4rem;background:rgba(255,255,255,.55);margin:1.6rem 0}
.book-box img{border-radius:2px 3px 3px 2px;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.book-box .btns{margin-top:.8rem}
.book-box .btn{min-height:2.6rem;padding:.45rem 1rem;font-size:.9rem}
.helpbox{margin:2rem 0;border:1px solid rgba(127,90,23,.35);background:rgba(201,154,59,.08);border-radius:14px;padding:1.3rem 1.4rem}
.helpbox p:last-child{margin:0}

/* Fade in */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:960px){
  .hero-grid,.two,.pod,.about,.duo{grid-template-columns:1fr;gap:3rem}
  .duo-intro{min-height:0}
  .hero{padding-top:7.5rem}
  .side-note{position:static}
  .for-grid,.fmt-list{grid-template-columns:1fr}
  .pq-feature{grid-column:auto}
  .formats{grid-template-columns:1fr;justify-items:center;gap:2rem}
  .formats .mini{width:180px}
  .monogram{max-width:200px;margin:0 auto}
}
@media (max-width:640px){
  body{font-size:1rem}
  .wrap{padding:0 1.25rem}
  html:not(.js) .site-head .wrap{flex-direction:column;align-items:flex-start;gap:.7rem;padding-top:1rem}
  .nav{gap:.2rem 1rem}
  .nav a{font-size:.82rem}
  .hero{padding:8rem 0 5.5rem}
  .book-stage{--w:min(250px,44vw)}
  .cards{grid-template-columns:1fr}
  .card{padding:1.6rem}
  .btn{flex:1 1 100%;align-items:center;text-align:center}
  .fmt .btn{flex:0 0 auto}
  .book-box{grid-template-columns:84px 1fr;gap:1rem}
  .book-box .btn{flex:1 1 auto}
  .side-note .sprig{display:none}
  .formats>picture{display:none}
  .monogram{max-width:140px}
  .wave{height:80px}
  .band{padding:4rem 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .replay{display:none}
}

/* ===== Flipbook hero ===== */
.fb-hero{position:relative;overflow:hidden;color:var(--parchment);background:
  radial-gradient(70% 60% at 50% 55%,rgba(201,154,59,.16),transparent 70%),
  radial-gradient(90% 70% at 10% 0%,#3a3f46 0%,transparent 60%),
  linear-gradient(180deg,#25282c 0%,var(--storm) 70%,#17181a 100%);
  padding:5.2rem 0 3.2rem}
.fb-hero::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.9;pointer-events:none}
.fb-hero .rainbow{top:60px;right:-420px}
.fb-top{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 2.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.fb-top .kicker{font:600 .78rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem}
.fb-top h1{font-size:clamp(2.3rem,1.5rem + 2.6vw,3.5rem);color:#f3eee4;margin:0}
.fb-top .hook{margin:0 0 .3rem;font-size:clamp(1.25rem,1rem + .9vw,1.7rem)}
.flipbook{position:relative}
.fb-stage{--ph:min(clamp(440px,calc(100vh - 200px),820px),calc(94vw / 1.36));--pw:calc(var(--ph) * .68);position:relative;width:calc(var(--pw) * 2);height:var(--ph);margin:0 auto;touch-action:pan-y pinch-zoom}
.fb-shadow{position:absolute;left:3%;right:3%;bottom:-5%;height:9%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(8px);transition:transform 1.6s cubic-bezier(.6,.02,.25,1)}
.book{position:absolute;inset:0;transition:transform 1.6s cubic-bezier(.6,.02,.25,1),opacity .2s ease}
.js .fb-stage.closed .book{transform:translateX(-25%)}
.js .fb-stage.closed .fb-shadow{transform:translateX(-25%) scaleX(.5)}
.no-anim,.no-anim *{transition:none!important}
.stack{position:absolute;top:0;height:100%;width:50%;border-radius:3px;background:#efe6d6;z-index:0}
.stack-r{left:50%;box-shadow:1px 1px 0 #ddd1bc,2px 2px 0 #f7f1e6,3px 3px 0 #d6c9b2,4px 4px 0 #f3ecdf,5px 5px 0 #cfc1a8,0 18px 40px rgba(0,0,0,.45)}
.stack-l{left:0;box-shadow:-1px 1px 0 #ddd1bc,-2px 2px 0 #f7f1e6,-3px 3px 0 #d6c9b2,-4px 4px 0 #f3ecdf,-5px 5px 0 #cfc1a8,0 18px 40px rgba(0,0,0,.45);transition:opacity .4s ease .5s}
.closed .stack-l{opacity:0;transition-delay:0s}
.leaf{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:0 50%;transform-style:preserve-3d;transform:perspective(2600px) rotateY(0deg);transition:transform var(--dur,900ms) cubic-bezier(.42,.04,.26,1),visibility 0s}
.leaf.flipped{transform:perspective(2600px) rotateY(-180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#fbf7ef}
.face.front{border-radius:0 3px 3px 0}
.face.back{transform:rotateY(180deg);border-radius:3px 0 0 3px}
.face::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;z-index:5}
.face.front::after{background:linear-gradient(90deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.32) 100%)}
.face.back::after{background:linear-gradient(270deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.32) 100%)}
.leaf.turning .face::after{animation:fb-shade var(--dur,900ms) ease-in-out}
@keyframes fb-shade{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
.cast{position:absolute;top:0;height:100%;width:50%;pointer-events:none;opacity:0;z-index:999}
.cast-r{left:50%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,0) 60%)}
.cast-l{left:0;background:linear-gradient(270deg,rgba(0,0,0,.35),rgba(0,0,0,0) 60%)}
.cast.on{animation:fb-cast var(--dur,900ms) ease-in-out}
@keyframes fb-cast{0%{opacity:0}20%{opacity:.9}60%{opacity:.5}100%{opacity:0}}
.face.blank{background:#f6f0e4 var(--grain)}

/* Page */
.pg{--fs:calc(var(--ph) * .0298);position:relative;width:100%;height:100%;padding:calc(var(--ph) * .075) calc(var(--pw) * .12) calc(var(--ph) * .065);background:#fbf7ef var(--grain);color:#2b2824;font:500 var(--fs)/1.55 var(--serif);display:flex;flex-direction:column;text-align:left}
.face>.pg{position:absolute;inset:0}
.face.front>.pg{background-image:linear-gradient(90deg,rgba(60,45,25,.18),rgba(60,45,25,0) 9%),var(--grain)}
.face.back>.pg{background-image:linear-gradient(270deg,rgba(60,45,25,.18),rgba(60,45,25,0) 9%),var(--grain)}
.pg .rh{font:600 calc(var(--fs) * .52)/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#8b7d68;text-align:center;margin:0 0 calc(var(--ph) * .045)}
.pg .folio{font:500 calc(var(--fs) * .78)/1 var(--serif);color:#8b7d68;text-align:center;margin-top:auto;padding-top:calc(var(--ph) * .02)}
.pg .txt{flex:1;min-height:0}
.pg .txt p{margin:0;text-indent:1.5em;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.pg .txt p.ni,.pg .txt h2+p,.pg .txt .csub{text-indent:0}
.pg .chap{font:500 calc(var(--fs) * 2)/1 var(--serif);text-align:center;margin:calc(var(--ph) * .015) 0 calc(var(--ph) * .035);color:#24221f}
.pg .txt h2.chap+p::first-letter{float:left;font-size:3.2em;line-height:.8;padding:.06em .08em 0 0;color:var(--sage-ink)}
.pg .contd{margin-top:1.1em;text-align:center;font-style:italic;color:#7a6c57;text-indent:0!important}
.pg .orn{display:block;width:30%;margin:1.1em auto;color:var(--gold);opacity:.85}
.pg a{color:var(--gold-ink)}
.pg a:hover{color:var(--ink)}
/* cover page */
.pg-cover{padding:0;background:#222}
.pg-cover picture{display:block;height:100%}
.pg-cover img{width:100%;height:100%;object-fit:cover}
.pg-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18) 0,rgba(0,0,0,.28) 1.4%,rgba(255,255,255,.08) 3%,transparent 7%,transparent 93%,rgba(0,0,0,.2))}
.pg-cover .open-hint{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:2;background:rgba(23,24,26,.72);color:#f3eee4;border:1px solid rgba(232,226,214,.35);border-radius:999px;padding:.5em 1.1em;font:600 calc(var(--fs) * .7)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.pg-cover .open-hint:hover{background:rgba(23,24,26,.9)}
/* title page */
.pg-title{justify-content:center;align-items:center;text-align:center}
.pg-title .t1{font:500 calc(var(--fs) * 2.15)/1.1 var(--serif);margin:0 0 .3em;color:#24221f}
.pg-title .t2{font:italic 500 calc(var(--fs) * 1.1) var(--serif);color:#6d604c;margin:0}
.pg-title svg.sp{width:24%;color:var(--sage);opacity:.7;margin:1.6em 0}
.pg-title .t3{font:600 calc(var(--fs) * .7) var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#4c463d;margin:0}
/* contents */
.toc{list-style:none;margin:0;padding:0}
.toc li{margin:0 0 .5em}
.toc a{display:flex;align-items:baseline;gap:.5em;color:#2b2824;text-decoration:none;font-size:calc(var(--fs) * 1.08);padding:.1em 0}
.toc a .n{font:600 calc(var(--fs) * .62) var(--sans);letter-spacing:.14em;color:var(--gold-ink);min-width:2.2em}
.toc a .dots{flex:1;border-bottom:1px dotted rgba(43,40,36,.35);transform:translateY(-.25em)}
.toc a .pnum{font-variant-numeric:oldstyle-nums}
.toc a:hover,.toc a:focus-visible{color:var(--gold-ink)}
.toc a:hover .dots{border-color:var(--gold)}
/* chapter opener + content pages */
.pg .roman{font:600 calc(var(--fs) * .62)/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-ink);text-align:center;margin:calc(var(--ph) * .02) 0 .9em}
.pg .ctitle{font:500 calc(var(--fs) * 1.95)/1.08 var(--serif);text-align:center;margin:0 0 .35em;color:#24221f}
.pg .csub{font:italic 500 calc(var(--fs) * 1.02)/1.35 var(--serif);text-align:center;color:#6d604c;margin:0 0 1em}
.pg .lead{text-align:left;margin:0 0 .8em}
.pg .pq-in{font:italic 500 calc(var(--fs) * 1.08)/1.45 var(--serif);margin:0 0 .7em;color:#2b2824}
.pg .cred{font:600 calc(var(--fs) * .62)/1.4 var(--sans);letter-spacing:.06em;margin:.4em 0 0}
.pg .cred a{text-decoration:none}
.pg .cred span{display:block;font-weight:400;color:var(--gold-ink)}
.pg .pbtns{display:flex;flex-direction:column;gap:.55em;margin:.6em 0 0}
.pg .pbtn{display:block;text-align:center;text-decoration:none;font:600 calc(var(--fs) * .7)/1.2 var(--sans);letter-spacing:.04em;padding:.85em 1em;border-radius:999px;border:1px solid rgba(43,40,36,.3);color:#24221f}
.pg .pbtn small{display:block;font-weight:400;font-size:.85em;opacity:.8;margin-top:.15em}
.pg .pbtn.solid{background:#24221f;color:#fbf7ef;border-color:#24221f}
.pg .pbtn.gold{background:var(--gold);border-color:var(--gold);color:#1d1a14}
.pg .pbtn:hover{border-color:#24221f;background:rgba(36,34,31,.06);color:#24221f}
.pg .pbtn.solid:hover{background:#000;color:#fff}
.pg .pbtn.gold:hover{background:#d9ad52;color:#1d1a14}
.pg .more{display:inline-block;margin-top:auto;font:600 calc(var(--fs) * .66)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--gold-ink);align-self:center;padding:.6em .2em .1em;border-bottom:1px solid rgba(127,90,23,.4)}
.pg .more:hover{color:#24221f;border-color:#24221f}
.pg .mini-cover{width:42%;margin:0 auto .9em;box-shadow:0 10px 22px rgba(0,0,0,.25);border-radius:1px 3px 3px 1px}
.pg .soc{list-style:none;padding:0;margin:.4em 0 1em;display:flex;flex-direction:column;gap:.55em}
.pg .soc a{display:flex;align-items:center;gap:.7em;text-decoration:none;color:#24221f;font:600 calc(var(--fs) * .74)/1.2 var(--sans);padding:.75em 1em;border:1px solid rgba(43,40,36,.22);border-radius:12px}
.pg .soc a:hover{border-color:#24221f}
.pg .soc .ico{color:var(--gold-ink);width:1.3em;height:1.3em}
.pg .ecard{display:block;text-decoration:none;color:inherit;border:1px solid rgba(43,40,36,.2);border-radius:12px;padding:1em 1.1em;margin:.4em 0 1em;background:rgba(255,255,255,.4)}
.pg .ecard:hover{border-color:#24221f;color:inherit}
.pg .ecard .m{font:600 calc(var(--fs) * .55)/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage-ink);margin:0 0 .5em}
.pg .ecard .h{font:500 calc(var(--fs) * 1.45)/1.1 var(--serif);margin:0 0 .3em}
.pg .ecard .g{font:600 calc(var(--fs) * .66) var(--sans);color:var(--gold-ink)}
.pg .wave{height:calc(var(--ph) * .12);gap:4px;justify-content:center;margin:.4em 0 1em}
.pg .wave i{width:5px}
.pg .epi{font:italic 500 calc(var(--fs) * 1.55)/1.35 var(--serif);text-align:center;margin:auto 0 .6em;color:#24221f}
.pg .epi-src{font:600 calc(var(--fs) * .58) var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8b7d68;text-align:center;margin:0 0 auto}
.pg .center{justify-content:center}

/* Controls */
.fb-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:1.2rem;margin:2.2rem auto 0}
.fb-btn{display:inline-flex;align-items:center;gap:.6rem;background:none;border:1px solid rgba(232,226,214,.4);color:#f3eee4;border-radius:999px;padding:.7rem 1.3rem;font:600 .92rem var(--sans);letter-spacing:.04em;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .2s}
.fb-btn:hover{background:rgba(255,255,255,.06);border-color:#f3eee4}
.fb-btn.next{background:var(--gold);border-color:var(--gold);color:#1d1a14}
.fb-btn.next:hover{background:#d9ad52}
.fb-btn[disabled]{opacity:.35;cursor:default}
.fb-ind{font:italic 500 1.05rem var(--serif);color:rgba(232,226,214,.75);min-width:9.5em;text-align:center}
.fb-edge{position:absolute;top:0;bottom:0;width:11%;z-index:1500;background:none;border:0;padding:0;cursor:pointer}
.fb-edge.r{right:0}.fb-edge.l{left:0}
.fb-edge::after{content:"";position:absolute;top:0;bottom:0;width:100%;opacity:0;transition:opacity .25s}
.fb-edge.r::after{right:0;background:linear-gradient(270deg,rgba(0,0,0,.14),transparent)}
.fb-edge.l::after{left:0;background:linear-gradient(90deg,rgba(0,0,0,.14),transparent)}
.fb-edge:hover::after{opacity:1}
.closed .fb-edge.l{display:none}
.fb-help{text-align:center;font-size:.82rem;color:rgba(232,226,214,.55);margin:.8rem 0 0;letter-spacing:.04em}
.fb-skip{position:absolute;left:-999px}
.fb-skip:focus{left:50%;transform:translateX(-50%);top:-2.4rem;background:var(--paper);color:var(--ink);padding:.4rem .9rem;border-radius:6px;z-index:2000}
.fb-buy{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;margin-top:1.8rem}
.fb-buy .btn{min-height:3rem}
.fb-buy .goodreads{margin:0 0 0 .4rem}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* No JS: pages as a swipeable strip */
html:not(.js) .fb-stage{width:auto;height:auto}
html:not(.js) .book{position:relative;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
html:not(.js) .book>.pg{flex:0 0 var(--pw);height:var(--ph);scroll-snap-align:center;border-radius:3px}
html:not(.js) .pg[data-only="single"],html:not(.js) .stack,html:not(.js) .fb-controls,html:not(.js) .fb-edge,html:not(.js) .fb-shadow,html:not(.js) .cast,html:not(.js) .fb-help,html:not(.js) .open-hint{display:none}

/* Single page (mobile) */
@media (max-width:860px){
  .fb-hero{padding:5rem 0 2.6rem}
  .fb-top{display:block;text-align:center;margin-bottom:1.2rem}
  .fb-top .hook{border-left:0;padding-left:0;margin-top:.6rem}
  .fb-stage{--pw:min(90vw,440px,calc((100svh - 190px) * .68));--ph:calc(var(--pw) / .68);width:var(--pw)}
  .js .fb-stage .leaf{left:0;width:100%}
  .js .fb-stage.closed .book,.js .fb-stage.closed .fb-shadow{transform:none}
  .stack-l,.cast-l{display:none}
  .stack-r,.cast-r{left:0;width:100%}
  .single .leaf.flipped{visibility:hidden;transition:transform var(--dur,900ms) cubic-bezier(.42,.04,.26,1),visibility 0s var(--dur,900ms)}
  .fb-edge{width:18%}
  .fb-controls{gap:.6rem;margin-top:1.6rem}
  .fb-btn{padding:.65rem 1rem;font-size:.85rem}
  .fb-ind{min-width:5.5em;font-size:.95rem}
  .fb-buy .btn{flex:1 1 100%}
  .fb-buy .goodreads{margin:0}
}
@media (prefers-reduced-motion:reduce){
  .leaf,.book,.fb-shadow{transition:none!important}
  .book{transition:opacity .2s ease!important}
}

/* Friends' words */
.ftags{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem .7rem;max-width:56rem}
.ftags li{font:500 1.35rem/1 var(--serif);padding:.65rem 1.15rem;border:1px solid rgba(36,34,31,.18);border-radius:999px;background:rgba(255,255,255,.55);color:var(--ink)}
.js .ftags li{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i) * 70ms)}
.js .ftags.in li{opacity:1;transform:none}
.ftags li.hl{background:var(--gold);border-color:var(--gold);color:#1d1a14;font-style:italic;font-weight:600;font-size:1.5rem;box-shadow:0 8px 22px rgba(201,154,59,.35)}
.flines{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:60rem;margin:2.8rem auto 0}
.fline{margin:0;padding:1.8rem 2rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.55);border-radius:0 16px 16px 0}
.fline p{font:italic 500 1.65rem/1.4 var(--serif);color:var(--ink);margin:0}
.ftags-in{list-style:none;padding:0;margin:.2em 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.35em .35em}
.ftags-in li{font:500 calc(var(--fs) * .78)/1 var(--serif);padding:.42em .7em;border:1px solid rgba(43,40,36,.2);border-radius:999px}
.ftags-in li.hl{background:var(--gold);border-color:var(--gold);color:#1d1a14;font-style:italic;font-weight:600}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.four .card{padding:1.6rem 1.5rem}
.cards.four .card h3{font-size:1.55rem}
.praise-plain{background:transparent}
@media (max-width:1100px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards.four{grid-template-columns:1fr}.flines{grid-template-columns:1fr}.fline p{font-size:1.4rem}.ftags li{font-size:1.15rem}.ftags li.hl{font-size:1.3rem}}
@media (prefers-reduced-motion:reduce){.js .ftags li{opacity:1;transform:none}}
.pg .txt .csub,.pg .txt .contd,.pg .txt .epi,.pg .txt .epi-src{text-align:center}
.pg .txt .pq-in{text-align:left;hyphens:manual}

/* ---- v3: Contents first, Chapter One quote page, phone readability ---- */
.pg .rh,.pg .folio,.pg .epi-src{color:#6e624f}
.pg .txt.col{display:flex;flex-direction:column;height:100%}
.pg .txt.col.center{justify-content:center}
.pg .txt.col.center>.more{margin-top:1.2em}
.pg .ecard .d{margin:0 0 .6em}
.pg .ecard .d.i{font-style:italic}
.pg-why .why{margin:0;text-align:center}
.pg-why .why p{font:italic 500 calc(var(--fs) * 1.12)/1.6 var(--serif);color:#24221f;margin:0;text-align:center;text-indent:0;hyphens:manual;text-wrap:pretty}
.pg-why .why em{font-style:normal;color:#5b3f0e;background:linear-gradient(transparent 80%,rgba(201,154,59,.35) 80%)}
.pg-why .why footer{margin-top:1.3em;font:600 calc(var(--fs) * .6)/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#6e624f}
.pg-why .why cite{font-style:normal}
.pg-why .orn{margin:0 auto 1.2em}
.fb-holder{display:none}
.pg .txt .cred{text-indent:0}
.pg .txt:has(+.txt){flex:0 0 auto}
.pg .txt+.txt{margin-top:1.4em}
@media (max-width:860px){
  .fb-hero{padding:4.6rem 0 2.2rem}
  .fb-hero .wrap{padding-left:7px;padding-right:7px}
  .fb-top{padding:0 1rem}
  .fb-stage{--pw:min(calc(100vw - 14px),520px);--ph:clamp(470px,calc(100svh - 84px),calc(var(--pw) * 1.75));width:var(--pw);height:var(--ph)}
  .fb-stage .pg{--fs:clamp(18.5px,5.2vw,21.5px);padding:calc(var(--ph) * .045) 8% calc(var(--ph) * .035);line-height:1.6;font-weight:500}
  .pg .txt p{text-align:left;hyphens:manual;-webkit-hyphens:manual}
  .pg .txt p.roman,.pg .txt p.csub,.pg .txt p.epi,.pg .txt p.epi-src,.pg-why .why p{text-align:center}
  .pg .rh{font-size:11px;letter-spacing:.24em;margin-bottom:calc(var(--ph) * .03)}
  .pg .folio{font-size:15px}
  .pg .chap{font-size:calc(var(--fs) * 1.7);margin:.1em 0 .5em}
  .toc li{margin:0 0 .12em}
  .toc a{font-size:var(--fs);padding:.25em 0}
  .toc a .n{font-size:13px;min-width:2em}
  .pg .roman{font-size:13px;margin-bottom:.7em}
  .pg .ctitle{font-size:calc(var(--fs) * 1.75)}
  .pg .csub{font-size:calc(var(--fs) * .98);color:#5a4f40}
  .pg .lead{margin-bottom:.7em}
  .pg .pq-in{font-size:calc(var(--fs) * 1.04);line-height:1.55;margin-bottom:.8em}
  .pg .cred{font-size:14px}
  .pg .pbtn{font-size:16px;padding:.8em 1em}
  .pg .pbtns{gap:.7em}
  .pg .more{font-size:13px;padding:.9em .3em .2em}
  .pg .soc a{font-size:16px}
  .pg .ecard .m{font-size:12px}
  .pg .ecard .g{font-size:15px}
  .pg .ecard .h{font-size:calc(var(--fs) * 1.4)}
  .ftags-in{gap:.45em .4em}
  .ftags-in li{font-size:16px;padding:.45em .75em;line-height:1.1}
  .pg .epi{font-size:calc(var(--fs) * 1.45)}
  .pg .epi-src{font-size:12px}
  .pg .mini-cover{width:46%;margin-top:1.2em}
  .pg-why .why p{font-size:calc(var(--fs) * 1.16)}
  .pg-why .why footer{font-size:12px}
  .fb-stage .pg.pg-cover{padding:0;background:#1c1e21}
  .pg-cover picture{display:flex;align-items:center;height:100%}
  .pg-cover img{width:100%;height:auto;max-height:100%;object-fit:contain}
  .pg-cover .open-hint{font-size:13px;padding:.75em 1.3em}
  .fb-edge{width:7%}
  .fb-controls{margin-top:1rem}
  .fb-buy,.fb-help{padding:0 1rem}
  .fb-stage .pg .txt{overflow-y:auto;overscroll-behavior:contain}
}
@media (max-width:860px) and (max-height:700px){.pg-why .why p{font-size:calc(var(--fs) * 1.06)}}
/* ---- v4: centered, symmetric pages (header top, folio bottom, content balanced between) ---- */
.book .pg .folio{margin-top:0}
.book .pg .rh{flex:0 0 auto}
.book .pg .txt{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;height:auto}
.book .pg .txt>:first-child{margin-top:auto}
.book .pg .txt>:last-child{margin-bottom:auto}
.book .pg .txt:has(+.txt){flex:0 0 auto;margin-top:auto}
.book .pg .txt:has(+.txt)>:first-child,.book .pg .txt+.txt>:last-child{margin-top:0;margin-bottom:0}
.book .pg .txt:has(+.txt)>:first-child{margin-top:0}
.book .pg .txt+.txt{flex:0 0 auto;margin-top:1.2em;margin-bottom:auto}
.book .pg .txt+.txt>:first-child{margin-top:0}
.book .pg .txt p,.book .pg .txt .lead,.book .pg .txt .pq-in{text-align:center;text-indent:0;hyphens:manual;-webkit-hyphens:manual;text-wrap:pretty}
.book .pg .txt h2.chap+p::first-letter{float:none;font-size:inherit;padding:0;color:inherit}
.book .pg .more{margin-top:1.3em;align-self:center}
.book .pg .txt>.more:last-child{margin-bottom:auto}
.book .pg .soc a{justify-content:center}
.book .pg .ecard{text-align:center}
.book .pg .mini-cover{align-self:center}
.book .pg .cred{text-align:center}
.book .pg .wave{flex:0 0 auto}
.book .pg .epi{margin:0 0 .6em}
.book .pg .epi-src{margin:0}
/* ---- v5: section headings on every page, resources ---- */
.pg .ctitle.sm{font-size:calc(var(--fs) * 1.32);line-height:1.15;margin:0 0 .25em}
.pg .ctitle.sm+.csub{margin-bottom:.9em}
.pg .ctitle.sm:only-child,.pg .ctitle.sm+:not(.csub){margin-top:0}
.pg-why .ctitle.sm{margin-bottom:.2em}
.pg .txt .roman+.pbtns{margin-top:.2em}
.pg .hotline{text-align:center}
.pg .hotline .hl-t{font:600 calc(var(--fs) * 1.05)/1.3 var(--serif);color:#24221f;margin:0}
.pg .hotline .hl-s{font-style:italic;color:#5a4f40;margin:.1em 0 .5em}
.pg .hotline .hl-911{font-weight:600;color:#24221f;margin:.8em 0 0}
.pg .ecard+.ecard{margin-top:0}
.flines-h{text-align:center;font:500 clamp(1.5rem,1.2rem + 1vw,2rem)/1.2 var(--serif);margin:2.6rem 0 1.4rem}
.help-card{max-width:42rem;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:18px;padding:clamp(1.6rem,1rem + 3vw,2.8rem);background:rgba(255,255,255,.55)}
.help-card .eyebrow{justify-content:center}
.help-list{list-style:none;padding:0;margin:1.4rem 0;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.help-card .danger{font-size:1.1rem;margin:0}
@media (max-width:860px){
  .pg .ctitle.sm{font-size:calc(var(--fs) * 1.28)}
  .pg .hotline .pbtns{gap:.55em}
  .help-list .btn{width:100%}
  .help-list li{flex:1 1 100%}
}
.toc li{margin:0 0 .22em}
.pg-why .ctitle.sm+.orn{margin-top:.4em}
#book-buy .mini-cover{width:28%}
@media (max-width:860px){
  .toc li{margin:0}
  .toc a{font-size:calc(var(--fs) * .95);padding:.12em 0;line-height:1.3}
  .pg .chap{margin:0 0 .35em}
}
@media (max-width:860px) and (max-height:640px){
  .ftags-in li{font-size:15px;padding:.4em .65em}
  .toc a{font-size:calc(var(--fs) * .9)}
}
@media (max-width:860px){.pg .mini-cover{width:38%;margin-top:.9em}}
.site-foot.slim{padding:1.6rem 0 1.8rem}
.site-foot.slim .help{margin:0 0 .6rem}
.site-foot.slim .copy{margin:0;font-size:.85rem}
.pg .txt.pg-title .t1{margin-top:0}
@media (min-width:861px){.toc li{margin:0 0 .1em}}
.pg .txt .epi-note{font-style:italic;color:#4a4136;margin:0 0 .9em}
.epilogue{margin:1.4rem 0 0;font:italic 500 1.2rem/1.4 var(--serif);color:var(--ink-soft)}
@media (min-width:861px){.toc li{margin:0}.toc a{font-size:var(--fs);padding:.08em 0}.pg .chap{margin:0 0 .5em}}
.rank{font:600 .78rem/1.4 var(--sans,inherit);letter-spacing:.04em;color:#a8792a;text-align:center;margin:0 auto .8em;max-width:30em}
.page .rank,main .rank{font-size:.9rem}
/* ---- v6: Letters ---- */
.letter-list{list-style:none;margin:0 auto;padding:0;max-width:40rem;display:flex;flex-direction:column;gap:1.4rem}
.letter-card{text-align:center}
.letter-card h2{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.2rem);margin:0 0 .5rem}
.letter-card .teaser{font:italic 500 1.25rem/1.45 var(--serif);color:var(--ink-soft)}
.letter-card .bg-sprig{display:none}
.letter{max-width:38rem;margin:0 auto;text-align:center}
.letter-body{text-align:left;font:500 clamp(1.22rem,1.1rem + .4vw,1.38rem)/1.75 var(--serif);color:var(--ink);background:#fbf7ef var(--grain);border:1px solid var(--line);border-radius:6px;padding:clamp(1.6rem,1rem + 3vw,3rem);box-shadow:0 14px 40px rgba(36,34,31,.08)}
.letter-body p{margin:0 0 1.05em}
.letter-body p:last-child{margin-bottom:0}
.letter-src{margin:1.6rem 0 0;font-size:.95rem;font-style:italic}
.letter-cta{margin:1.6rem 0 0}
.letter-back{margin:1.2rem 0 0;font-weight:600}
.pg-letters .pbtn{font-family:var(--serif);font-weight:500;font-size:calc(var(--fs) * .95);letter-spacing:0}
@media (max-width:860px){.pg-letters .pbtn{font-size:18px}}
@media (min-width:861px){#book-buy .mini-cover{width:24%}#book-buy .rank{margin-bottom:.5em}}
.page-hero.center .wrap{text-align:center}.page-hero.center h1,.page-hero.center .sub{margin-left:auto;margin-right:auto}
.letter-card .letter-date{font:600 .8rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .8rem}
.page-hero .sub.letter-hdate{font:600 .85rem/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* v7: stable page on phones */
html,body{overscroll-behavior:none}
.fb-stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.fb-stage .pg .txt,.fb-stage .pg p{-webkit-user-select:text;user-select:text}
