/* Inner pages (books, documents, what you get, writing, about).
   Loaded after home.css so these pages share its type, colour, masthead and footer. */
.inner main p{margin:0 0 1.1em}
.inner main h1,.inner main h2,.inner main h3{margin:0 0 .6em}
.inner main>section{padding-block:clamp(2.8rem,6vw,4.6rem)}
.inner .measure{max-width:38rem}.inner .measure-wide{max-width:48rem}
.inner h2{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.12}
.inner h3{font-size:1.3rem;line-height:1.25}
.inner h4{font-family:var(--serif);font-weight:600;font-size:1.12rem;line-height:1.3;margin:0 0 .5rem}
.inner .lede{font-size:1.28rem;line-height:1.55;color:var(--ink-2)}
.inner .small{font-size:1.02rem;line-height:1.62;color:var(--ink-2)}
.inner .tiny{font-family:var(--ui);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.inner .eyebrow{display:block}
.inner hr.rule{border:0;border-top:1px solid var(--rule);margin:2.4rem 0}
.inner .ar{display:inline-block}
.inner .btn-sm{padding:.7rem 1.1rem;font-size:.86rem}
.inner .btn-primary{background:var(--blue);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}

/* scroll reveal (progressive; js/site.js adds .in) */
.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.js [data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}

/* hero */
.inner main>section.phero{background:radial-gradient(60rem 30rem at 85% 0,var(--sky),transparent 70%),#fff;border-bottom:1px solid var(--rule);padding-block:clamp(2.5rem,6vw,4.75rem)}
.phero h1{font-size:clamp(2.4rem,5.4vw,4.3rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:1.2rem}
.phero .lede{max-width:40rem}
.phero .flag,.flag{font-family:var(--ui);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 1rem}
.flag .dot{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.vol-num{display:none}
.hero-cover{max-width:19rem;margin-inline:auto}
.cover{display:block}
.cover img{width:100%;height:auto;box-shadow:0 30px 50px -26px rgba(12,35,64,.65);border-radius:2px}
.set-shot{display:block;width:100%;height:auto;margin-top:2.5rem}

/* bands */
.band-alt{background:var(--paper);border-block:1px solid var(--rule)}
.inner main>section.band-dark{background:var(--navy);color:#eaf1f9}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark .eyebrow{color:var(--ice)}
.band-dark p{color:#c9d8ea}
.band-dark a{color:var(--ice)}

/* two-column prose + aside */
.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.prose p{font-size:1.12rem;line-height:1.68;color:var(--ink-2)}
.prose p.small{font-size:1.02rem}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.35;color:var(--navy);margin:0 0 1.6rem;padding-left:1.3rem;border-left:3px solid var(--blue);max-width:34rem}
.pull cite{display:block;font-family:var(--ui);font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:1rem}
.aside-card{background:var(--paper);border:1px solid var(--rule);border-top:2px solid var(--navy);padding:1.2rem 1.4rem;border-radius:0 0 4px 4px;margin-top:1.6rem!important}
.aside-card p:last-child{margin-bottom:0}
.ac-label{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin:0 0 .5rem!important}

/* chapter list */
.chapters{list-style:none;margin:1.8rem 0 0;padding:0;border-top:2px solid var(--navy);column-count:2;column-gap:clamp(1.5rem,4vw,3.5rem)}
.chapters li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.3rem;padding:.95rem 0 1rem;border-bottom:1px solid var(--rule);break-inside:avoid}
.chapters .cn{font-family:var(--ui);font-weight:700;font-size:.74rem;letter-spacing:.06em;color:var(--blue);padding-top:.35rem}
.chapters .ct{font-weight:600;font-size:1.1rem;line-height:1.3;color:var(--ink);margin:0 0 .25rem}
.chapters .ce{font-size:.98rem;line-height:1.55;color:var(--ink-3);margin:0}
.chapters .empty{display:none}

/* quotes */
.quotes{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25)}
.quotes>li{padding:1.6rem 1.6rem 1.6rem 0;display:flex;flex-direction:column;gap:1rem;justify-content:space-between}
.quotes>li+li{padding-left:1.6rem;border-left:1px solid rgba(255,255,255,.18)}
.quotes q{font-style:italic;font-size:1.3rem;line-height:1.4;color:#fff;quotes:none}
.quotes .src{font-family:var(--ui);font-size:.74rem;letter-spacing:.06em;color:var(--ice);margin:0}
.quotes .qlabel{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ice);margin:0 0 .6rem}
.quotes .qbody{font-size:1rem;line-height:1.55;color:#c9d8ea;margin:0 0 .7rem}

/* previous / next book */
.volnav{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--rule);background:#fff}
.volnav a{display:block;padding:1.5rem clamp(1.25rem,4vw,2.5rem);text-decoration:none;color:var(--ink)}
.volnav a+a{border-left:1px solid var(--rule);text-align:right}
.volnav a:hover{background:var(--paper)}
.volnav .dir{display:block;font-family:var(--ui);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.3rem}
.volnav .nt{display:block;font-size:1.15rem;line-height:1.3}

/* the set call-to-action (replaces the old end plate) */
.inner main>section.set-cta{background:var(--navy-2);color:#fff;border:0}
.set-cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.set-cta h2{color:#fff;margin-bottom:.6rem}
.set-cta p{color:#c9d8ea;max-width:38rem;margin:0}
.set-cta .btn{background:#fff;color:var(--navy);border-color:#fff;font-size:1.05rem;padding:1.15rem 1.7rem}
.set-cta .btn:hover{background:var(--sky);border-color:var(--sky)}
.set-cta .eyebrow{color:var(--ice)}

/* library: one row per book */
.volume{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);padding-block:2.4rem;border-bottom:1px solid var(--rule);align-items:start}
.volume:first-child{padding-top:0}
.volume-art .cover img{max-width:13.5rem}
.idx{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:.9rem 0 0!important}
.volume .body h2{font-size:clamp(1.6rem,3vw,2.15rem)}
.volume .body h2 a{color:var(--navy)}
.volume .sub{font-family:var(--ui);font-size:.9rem;color:var(--ink-3)}
.volume .lede{font-size:1.15rem!important}
.vq{font-style:italic;color:var(--navy);margin:1.2rem 0 0;padding-left:1.1rem;border-left:3px solid var(--blue);font-size:1.08rem;line-height:1.45}
.meta{font-family:var(--ui);font-size:.82rem;color:var(--ink-3);margin-top:1.1rem!important}
.tag{display:inline-block;font-weight:600;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-2);background:var(--sky);border-radius:99px;padding:.22rem .6rem;margin-right:.6rem}

/* documents */
.docset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem clamp(1.5rem,4vw,3.5rem);margin-top:2rem}
.docgroup{border-top:2px solid var(--navy);padding-top:1rem}
.gm{font-family:var(--ui);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin:0 0 .4rem!important}
.ge{font-size:1rem;line-height:1.55;color:var(--ink-3)}
.doclist{list-style:none;margin:.6rem 0 0;padding:0}
.doclist li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-top:1px solid var(--rule)}
.dt{font-size:1.05rem;line-height:1.3}
.do{font-family:var(--ui);font-size:.72rem;color:var(--ink-3);text-align:right;flex:0 0 auto;max-width:45%}
.set-pricing{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)}

/* columns of short arguments */
.cols{display:grid;gap:0;margin-top:2rem;border-top:2px solid var(--navy)}
.cols{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols>div{padding:1.4rem 1.4rem 1.6rem 0;border-bottom:1px solid var(--rule)}
.cols>div+div{padding-left:1.4rem;border-left:1px solid var(--rule)}
.cols .small{font-size:.98rem;margin-bottom:.8em}
.col-num{display:block;font-family:var(--serif);font-style:italic;font-size:1.9rem;line-height:1;color:var(--blue);margin-bottom:.5rem}

/* numbered commitments and memo entries */
.plain-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.plain-list li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.4rem;padding:1.15rem 0;border-bottom:1px solid var(--rule)}
.plain-list.rules-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,4vw,3.5rem)}
.plain-list .rn{font-family:var(--ui);font-weight:700;font-size:.78rem;letter-spacing:.06em;color:var(--blue);padding-top:.4rem}
.plain-list .label{display:block;font-weight:600;font-size:1.15rem;line-height:1.3;margin-bottom:.35rem;color:var(--ink)}
.plain-list .small{margin:0}
.entries{list-style:none;margin:2rem 0 0;padding:0;border-top:2px solid var(--navy)}
.entries li{padding:1.4rem 0 1.2rem;border-bottom:1px solid var(--rule)}
.entries .meta{margin:0 0 .4rem!important;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;color:var(--blue)}
.entries h3{margin-bottom:.4rem}

@media(max-width:52rem){
  .hero-grid,.split,.set-cta .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-cover{max-width:14rem;margin-inline:0}
  .chapters{column-count:1}
  .quotes{grid-template-columns:minmax(0,1fr)}
  .quotes>li,.quotes>li+li{padding:1.3rem 0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .quotes>li:first-child{border-top:0}
  .volume{grid-template-columns:minmax(0,1fr)}
  .volume-art{display:flex;gap:1rem;align-items:flex-end}.volume-art .cover{width:9rem;flex:0 0 auto}
  .docset,.plain-list.rules-2,.cols,.cols-2,.cols-4{grid-template-columns:minmax(0,1fr)}
  .cols>div,.cols>div+div{padding:1.3rem 0;border-left:0}
  .set-cta .btn{width:100%}
  .doclist li{flex-direction:column;gap:.15rem}.do{text-align:left;max-width:none}
}
@media(max-width:34rem){.volnav{grid-template-columns:1fr}.volnav a+a{border-left:0;border-top:1px solid var(--rule);text-align:left}}
.inner main p.eyebrow{font-size:.72rem;line-height:1.3;color:var(--blue);margin:0 0 1rem;letter-spacing:.16em}
.inner main .band-dark p.eyebrow{color:var(--ice)}
.inner main .set-cta p.eyebrow{color:var(--ice)}
.volnav{padding-inline:max(0px,calc((100% - 70rem)/2 + 1.5rem))}
.volnav a{padding-inline:1.25rem}
@media(max-width:34rem){.volnav{padding-inline:0}}

/* keep every grid balanced */
.docgroup:last-child:nth-child(odd){grid-column:1/-1}
.docgroup:last-child:nth-child(odd) .doclist{column-count:2;column-gap:clamp(1.5rem,4vw,3.5rem)}
.docgroup:last-child:nth-child(odd) .doclist li{break-inside:avoid}
@media(max-width:52rem){.docgroup:last-child:nth-child(odd) .doclist{column-count:1}}
@media(max-width:66rem) and (min-width:52.01rem){
  .cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols-4>div:nth-child(odd){padding-left:0;border-left:0}
  .cols-4>div:nth-child(even){padding-left:1.4rem;border-left:1px solid var(--rule)}
}
