/* ============================================================
   CHAPTER — the story, chapter by chapter
   Scoped to body.d-chapter. 1rem = 10px.
   ============================================================ */
body.d-chapter{
  --ch-bg:#f8f4ec;--ch-paper:#fffdf8;--ch-ink:#1b1712;--ch-soft:#4a4238;--ch-mute:#8a7f71;--ch-line:#e7dfd1;--ch-line2:#d6cab6;
  --bg-primary:var(--ch-bg);--bg-secondary:#f1ebdf;--bg-card:var(--ch-paper);--bg-inset:#f3ede2;
  --fg-primary:var(--ch-ink);--fg-soft:var(--ch-soft);--fg-muted:var(--ch-mute);--border-color:var(--ch-line);--border-strong:var(--ch-line2);
  background:var(--ch-bg);color:var(--ch-ink);font-family:'Geist','Inter',system-ui,sans-serif
}
body.d-chapter h1,body.d-chapter h2,body.d-chapter h3{font-family:'Young Serif',Georgia,serif;font-weight:400;letter-spacing:-.01em}
body.d-chapter h2 em,body.d-chapter .ch-tag{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--biz)}
body.d-chapter .bx-nav{background:rgba(248,244,236,.88);border-bottom-color:var(--ch-line)}
body.d-chapter .bx-brand-mark{border-radius:50%;background:var(--ch-paper);border:1px solid var(--ch-line)}
body.d-chapter .bx-nav-cta{background:var(--ch-ink);border-radius:999px}

/* hero */
.ch-hero{padding:calc(var(--nav-h) + 6.4rem) 2.4rem 0;max-width:calc(var(--max-w) + 4.8rem);margin:0 auto}
.ch-hero-in{max-width:110rem}
.ch-over{display:flex;flex-wrap:wrap;gap:0;font-size:1.25rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ch-mute);font-weight:600}
.ch-over span+span::before{content:'\00B7';margin:0 1.2rem;color:var(--ch-line2)}
.ch-hero h1{font-size:clamp(5rem,9vw,12rem);line-height:.95;margin:2.4rem 0 1.4rem}
.ch-tag{font-size:clamp(2.6rem,3.4vw,4.2rem);line-height:1.2;max-width:30ch}
.ch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;margin-top:3.6rem}
.ch-btn{display:inline-flex;align-items:center;gap:1rem;font-weight:600;font-size:1.55rem;transition:transform .25s var(--ease),background .25s,color .25s}
.ch-btn-main{padding:1.7rem 3rem;border-radius:999px;background:var(--ch-ink);color:var(--ch-paper)}
.ch-btn-main:hover{background:var(--biz);transform:translateY(-2px)}
.ch-btn-text{color:var(--ch-soft);border-bottom:1px solid var(--ch-line2);padding-bottom:.4rem}
.ch-btn-text:hover{color:var(--biz);border-color:var(--biz)}
.ch-photo{margin:5.6rem 0 0;border-radius:4px;overflow:hidden;aspect-ratio:21/8;box-shadow:0 30px 60px rgba(27,23,18,.12)}
.ch-photo img{width:100%;height:120%;object-fit:cover}
.ch-mono{margin-top:5.6rem;height:220px;border-top:1px solid var(--ch-line2);border-bottom:1px solid var(--ch-line2);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(var(--biz-rgb),.08),transparent 60%)}
.ch-mono span{width:130px;height:130px;border-radius:50%;background:var(--ch-paper);border:1px solid var(--ch-line);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 20px 40px rgba(27,23,18,.1)}
.ch-mono img{width:78%;height:78%;object-fit:contain}
.ch-mono span span{border:0;box-shadow:none;font-family:'Young Serif',serif;font-size:5rem;color:var(--biz);background:none}
.ch-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-bottom:1px solid var(--ch-line2)}
.ch-facts>div{padding:2.4rem 2rem 2.4rem 0}
.ch-facts>div+div{padding-left:2rem;border-left:1px solid var(--ch-line)}
.ch-facts dt{font-size:1.15rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-mute);font-weight:600}
.ch-facts dd{font-family:'Young Serif',serif;font-size:3rem;margin-top:.6rem}

/* body with the chapter index */
.ch-body{max-width:calc(var(--max-w) + 4.8rem);margin:0 auto;padding:0 2.4rem;display:grid;grid-template-columns:220px 1fr;gap:6rem}
.ch-index{position:sticky;top:calc(var(--nav-h) + 4rem);align-self:start;padding-top:8rem}
.ch-index>p{font-size:1.15rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ch-mute);font-weight:600;margin-bottom:1.6rem}
.ch-index ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--ch-line2)}
.ch-index a{position:relative;display:flex;gap:1.2rem;padding:.9rem 0 .9rem 1.8rem;font-size:1.45rem;color:var(--ch-mute);transition:color .25s}
.ch-index a span{font-family:'Instrument Serif',serif;font-style:italic;min-width:2.6rem}
.ch-index a::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--biz);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.ch-index a:hover,.ch-index a.is-read{color:var(--ch-soft)}
.ch-index a.is-on{color:var(--ch-ink);font-weight:600}
.ch-index a.is-on::before,.ch-index a.is-read::before{transform:scaleY(1)}
.ch-index a.is-read::before{opacity:.35}
.ch-main{min-width:0}
.ch-sec{padding-top:8rem}
.ch-head{display:flex;flex-direction:column;gap:.8rem;margin-bottom:3.6rem;padding-bottom:2rem;border-bottom:1px solid var(--ch-line2)}
.ch-num{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.8rem;color:var(--ch-mute)}
.ch-head h2{font-size:clamp(3.6rem,4.8vw,5.8rem);line-height:1}
.ch-entries{display:flex;flex-direction:column}
.ch-entry{display:grid;grid-template-columns:6rem 1fr auto;gap:2rem;align-items:start;padding:2.6rem 0;border-bottom:1px solid var(--ch-line);transition:padding .35s var(--ease),background .35s}
.ch-entry-n{font-family:'Instrument Serif',serif;font-style:italic;font-size:2.4rem;color:var(--ch-mute);line-height:1.2;transition:color .3s}
.ch-entry-t b{display:block;font-family:'Young Serif',serif;font-weight:400;font-size:clamp(2.2rem,2.6vw,3rem);line-height:1.2;text-transform:capitalize}
.ch-entry-t small{display:block;max-height:0;overflow:hidden;opacity:0;font-size:1.5rem;color:var(--ch-soft);line-height:1.6;transition:max-height .45s var(--ease),opacity .35s,margin .35s}
.ch-entry>i{margin-top:.8rem;font-size:1.6rem;color:var(--ch-mute);transform:rotate(-45deg);transition:transform .35s var(--ease),color .3s}
.ch-entry:hover{padding-left:1.6rem;background:linear-gradient(90deg,rgba(var(--biz-rgb),.06),transparent)}
.ch-entry:hover .ch-entry-n,.ch-entry:hover>i{color:var(--biz)}
.ch-entry:hover>i{transform:none}
.ch-entry:hover .ch-entry-t small,.ch-entry:focus-visible .ch-entry-t small{max-height:14rem;opacity:1;margin-top:1rem}
@media (hover:none){.ch-entry-t small{max-height:none;opacity:1;margin-top:1rem}}
.ch-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,30%);gap:2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.6rem;scrollbar-width:thin}
.ch-item{scroll-snap-align:start;display:flex;flex-direction:column;gap:.8rem}
.ch-item-img{aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--ch-paper);border:1px solid var(--ch-line);display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--ch-line2)}
.ch-item-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ch-item:hover .ch-item-img img{transform:scale(1.05)}
.ch-item h3{font-size:2rem;margin-top:.8rem}
.ch-item p{font-size:1.4rem;color:var(--ch-soft);line-height:1.5}
.ch-item-foot{display:flex;justify-content:space-between;font-size:1.4rem;margin-top:auto;padding-top:.6rem}
.ch-item-foot span{color:var(--ch-mute)}
.ch-item-foot a{color:var(--biz);font-weight:600}
.ch-prose{max-width:68ch}
.ch-prose p{font-size:1.75rem;line-height:1.85;color:var(--ch-soft)}
.ch-prose p+p{margin-top:2rem}
.ch-prose .ch-open{font-size:2.1rem;line-height:1.7;color:var(--ch-ink)}
.ch-prose .ch-open::first-letter{float:left;font-family:'Young Serif',serif;font-size:7.4rem;line-height:.82;padding:.6rem 1.2rem 0 0;color:var(--biz)}
.ch-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.6rem}
.ch-post{display:flex;flex-direction:column;gap:.8rem;padding:2.4rem;border-radius:4px;background:var(--ch-paper);border:1px solid var(--ch-line);transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.ch-post:hover{transform:translateY(-4px);border-color:var(--biz);box-shadow:0 18px 40px rgba(27,23,18,.08)}
.ch-post time{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.6rem;color:var(--ch-mute)}
.ch-post b{font-family:'Young Serif',serif;font-weight:400;font-size:1.9rem;line-height:1.3}
.ch-post small{font-size:1.4rem;color:var(--ch-soft);line-height:1.55}
.ch-post span{margin-top:auto;padding-top:.8rem;font-weight:600;font-size:1.35rem;color:var(--biz);display:inline-flex;gap:.6rem;align-items:center}
.ch-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--ch-line)}
.ch-notes>div{padding:2.8rem 2.4rem 2.8rem 0;border-bottom:1px solid var(--ch-line);display:flex;flex-direction:column;gap:.8rem}
.ch-notes i{color:var(--biz);font-size:1.8rem}
.ch-notes b{font-family:'Young Serif',serif;font-weight:400;font-size:2.1rem}
.ch-notes small{font-size:1.45rem;color:var(--ch-soft);line-height:1.55}
.ch-gal{columns:3;column-gap:1.2rem}
.ch-gal-item{display:block;width:100%;margin-bottom:1.2rem;border-radius:4px;overflow:hidden;break-inside:avoid}
.ch-gal-item img{width:100%;display:block;transition:transform .6s var(--ease)}
.ch-gal-item:hover img{transform:scale(1.04)}
.ch-quotes{display:flex;flex-direction:column;gap:4rem}
.ch-quotes blockquote{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(2.4rem,3vw,3.4rem);line-height:1.3;max-width:40ch}
.ch-quotes figcaption{margin-top:1.4rem;font-size:1.4rem;color:var(--ch-mute);letter-spacing:.04em}
body.d-chapter .hours-row{border-radius:4px;background:var(--ch-paper)}
body.d-chapter .hours-row.is-today{border-color:var(--biz)}
.ch-contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.ch-contact-card{padding:4rem;border-radius:4px;background:var(--ch-paper);border:1px solid var(--ch-line)}
.ch-contact-card>p{font-family:'Instrument Serif',serif;font-style:italic;font-size:2.4rem;line-height:1.35;margin-bottom:2.6rem}
body.d-chapter .ci{border-radius:4px}
body.d-chapter .contact-form{border-radius:4px;padding:4rem;background:var(--ch-paper)}
body.d-chapter .cf-field input,body.d-chapter .cf-field textarea{border-radius:4px;background:#fff}
body.d-chapter .btn-onbiz{background:var(--ch-ink);border-radius:999px;text-transform:none;letter-spacing:0;font-size:1.55rem}
.ch-map{margin-top:2rem}
body.d-chapter .biz-map{border-radius:4px;filter:sepia(.25)}
.ch-share{margin-top:4rem}
body.d-chapter .bx-foot{margin-top:8rem;border-top-color:var(--ch-line2)}
@media (max-width:1080px){.ch-body{grid-template-columns:1fr;gap:0}.ch-index{display:none}}
@media (max-width:900px){.ch-contact{grid-template-columns:1fr}.ch-gal{columns:2}.ch-shelf{grid-auto-columns:minmax(240px,70%)}}
@media (max-width:640px){
  .ch-hero{padding:calc(var(--nav-h) + 4.4rem) 1.6rem 0}
  .ch-body{padding:0 1.6rem}
  .ch-sec{padding-top:6.4rem}
  .ch-photo{aspect-ratio:4/3}
  .ch-entry{grid-template-columns:4rem 1fr auto;gap:1.2rem}
  .ch-facts>div+div{padding-left:1.2rem}
  .ch-contact-card,body.d-chapter .contact-form{padding:2.6rem}
}
