/* ==========================================================================
   Eternal Word Bible Handbook — visual theme (v2)
   Loaded after style.css and redesign.css. Layout, type, color, and motion.
   ========================================================================== */

@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif";src:url(/assets/fonts/source-serif.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif";src:url(/assets/fonts/source-serif-italic.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}

:root{
  --ink:#0e1a2b;
  --ink-2:#2c3d53;
  --muted:#5e6d80;
  --paper:#f3f5f8;
  --paper-2:#e9edf2;
  --white:#ffffff;
  --card:#ffffff;
  --line:#dde3ea;
  --line-strong:#c7d0db;
  --night:#07101c;
  --night-2:#0e1b2d;
  --night-3:#16263c;
  --blue:#2f6db0;
  --blue-ink:#1d4f86;
  --sky:#a9cdf4;
  --sky-2:#d6e7fa;
  --gold:#2f6db0;          /* legacy variable name, kept blue */
  --accent:#a9cdf4;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --scripture:"Source Serif",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.75,.15,1);
  --radius:14px;
  --radius-sm:10px;
  --gx:clamp(20px,4vw,64px);
  --top:44px;
  --header-h:84px;
  --shadow-sm:0 1px 2px rgba(14,26,43,.05),0 2px 8px rgba(14,26,43,.04);
  --shadow:0 2px 6px rgba(14,26,43,.05),0 18px 40px -18px rgba(14,26,43,.22);
  --shadow-lg:0 30px 70px -30px rgba(7,16,28,.45);
  font-family:var(--sans);
  color:var(--ink);
}

html{scroll-padding-top:calc(var(--header-h) + 24px);-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
::selection{background:#bcd7f5;color:var(--night)}

/* ---------- Type ---------- */
h1,h2,.serif{font-family:var(--display);font-weight:600;letter-spacing:-.012em;line-height:1.02;color:inherit}
h1{font-size:clamp(3.1rem,6.4vw,6.6rem)}
h2{font-size:clamp(2.2rem,3.6vw,3.6rem)}
h3{font-family:var(--sans);font-weight:650;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;font-weight:500}
p{color:inherit}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;font-weight:650;text-transform:uppercase;color:var(--blue)}
.muted,.small.muted{color:var(--muted)}
a{text-underline-offset:.2em}
.text-link{color:var(--blue-ink);font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .35s var(--ease),color .2s;padding-bottom:2px}
.text-link:hover{background-size:0 1px;color:var(--blue)}

/* ---------- Layout ---------- */
.layout{margin:0}
.main-inner{max-width:1480px;margin:0 auto;padding:var(--top) var(--gx) 0}
.bleed,.home-hero,.book-hero,.page-banner,.book-marquee,.stat-band,.site-footer{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}

/* ---------- Header ---------- */
.site-header{height:var(--header-h);padding:0 var(--gx);background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(14,26,43,.07);transition:background .45s var(--ease),border-color .45s,box-shadow .45s,color .3s;gap:24px}
.site-header.scrolled{box-shadow:0 8px 30px -18px rgba(14,26,43,.35)}
.handbook-brand .brand-lockup{width:226px;transition:filter .45s var(--ease),opacity .3s}
.site-navigation{gap:2px}
.nav-link{position:relative;background:none!important;border:0;border-radius:0;padding:10px 14px;font-size:.86rem;font-weight:560;color:var(--ink-2);letter-spacing:.005em;transition:color .25s}
.nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-link:hover{color:var(--ink)}
.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1);transform-origin:left}
.nav-link.active{color:var(--ink)}
.site-navigation .nav-more{display:grid;place-items:center;width:42px;height:42px;margin-left:10px;border-radius:50%;border:1px solid var(--line-strong);color:var(--ink);transition:background .25s,border-color .25s,color .25s}
.site-navigation .nav-more:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.nav-more .icon{width:17px;height:17px}

/* Transparent header over dark heroes */
body.over-hero .site-header{position:fixed;left:0;right:0;top:0}
body.over-hero .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(4,10,18,.55),rgba(4,10,18,0));border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
body.over-hero .site-header:not(.scrolled) .brand-lockup{filter:brightness(0) invert(1)}
body.over-hero .site-header:not(.scrolled) .brand-emblem{filter:brightness(0) invert(1)}
body.over-hero .site-header:not(.scrolled) .brand-mobile-name,body.over-hero .site-header:not(.scrolled) .brand-mobile-name small{color:#fff}
body.over-hero .site-header:not(.scrolled) .nav-link{color:rgba(255,255,255,.84)}
body.over-hero .site-header:not(.scrolled) .nav-link:hover,body.over-hero .site-header:not(.scrolled) .nav-link.active{color:#fff}
body.over-hero .site-header:not(.scrolled) .nav-more{border-color:rgba(255,255,255,.4);color:#fff}
body.over-hero .site-header:not(.scrolled) .nav-more:hover{background:#fff;color:var(--ink)}
body.over-hero .site-header:not(.scrolled) .menu-toggle{color:#fff}
body.over-hero .main-inner{padding-top:0}
body.over-hero .main-inner>.home-hero:first-child,body.over-hero .main-inner>.book-hero:first-child,body.over-hero .main-inner>.page-banner:first-child{margin-top:0}

.scroll-progress{position:fixed;top:0;left:0;right:0;width:100%!important;height:2px;z-index:120;background:linear-gradient(90deg,var(--blue),var(--sky));transform-origin:0 50%;transform:scaleX(0);pointer-events:none}

/* ---------- Buttons ---------- */
.button{border-radius:999px;padding:12px 22px;font-family:var(--sans);font-size:.875rem;font-weight:600;letter-spacing:.005em;gap:10px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);transition:background .3s var(--ease),color .3s,border-color .3s,transform .35s var(--ease),box-shadow .35s var(--ease)}
.button .icon{width:17px;height:17px;transition:transform .35s var(--ease)}
.button:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--ink)}
.button:hover .icon{transform:translateX(3px)}
.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.button.primary:hover{background:var(--blue-ink);border-color:var(--blue-ink)}
.button.acid,.button.gold{background:var(--sky);border-color:var(--sky);color:var(--night)}
.button.acid:hover,.button.gold:hover{background:#fff;border-color:#fff;color:var(--night)}
.button.glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.36);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.button.glass:hover{background:#fff;border-color:#fff;color:var(--ink)}
.button.small{padding:8px 15px;font-size:.8rem}
.button-row{gap:10px}

.segmented{background:var(--paper-2);border-radius:999px;padding:5px;gap:2px}
.segmented button{border-radius:999px;font-family:var(--sans);font-size:.85rem;font-weight:560;padding:9px 18px;transition:background .3s var(--ease),color .3s}
.segmented button.active{background:var(--ink);color:#fff;box-shadow:0 4px 14px -6px rgba(14,26,43,.5)}
.segmented button:not(.active):hover{color:var(--ink);background:rgba(255,255,255,.7)}
.select{border-radius:999px;border:1px solid var(--line-strong);padding:10px 38px 10px 16px;font-family:var(--sans);font-size:.86rem;background-color:#fff}
input,select,textarea,button{font-family:var(--sans)}

/* ---------- Home hero ---------- */
.home-hero{position:relative;height:100vh;height:100svh;min-height:620px;max-height:1100px;margin-top:calc(var(--top) * -1);overflow:hidden;background:var(--night);display:flex;align-items:flex-end;isolation:isolate}
.home-hero:after{display:none}
.hero-media{position:absolute;inset:-6% 0;z-index:-2;will-change:transform}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:grayscale(.55) contrast(1.08) brightness(.92)}
.hero-media video{opacity:0;transition:opacity 1.6s ease;z-index:1}
.hero-media video.playing{opacity:1}
.hero-shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 15% 100%,rgba(4,10,18,.88) 0%,rgba(4,10,18,.55) 45%,rgba(4,10,18,.15) 75%),linear-gradient(180deg,rgba(4,10,18,.35) 0%,rgba(4,10,18,0) 30%,rgba(4,10,18,.5) 100%)}
.home-hero .hero-content{position:relative;padding:0 var(--gx) clamp(90px,13vh,150px);max-width:1180px;will-change:transform,opacity}
.home-hero .eyebrow{color:var(--sky);display:inline-flex;align-items:center;gap:14px}
.home-hero .eyebrow:before{content:"";width:38px;height:1px;background:currentColor}
.home-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(3.6rem,10vw,10.5rem);line-height:.86;letter-spacing:-.02em;margin:26px 0 30px;color:#fff}
.home-hero h1>span{display:block}
.home-hero h1 em{display:block;font-weight:500;font-style:italic;color:var(--sky);font-size:.62em;letter-spacing:-.005em;margin-top:.12em}
.home-hero .hero-content p{font-size:clamp(1.02rem,1.3vw,1.2rem);line-height:1.6;max-width:560px;color:rgba(255,255,255,.82)}
.home-hero .hero-actions{margin-top:34px;flex-wrap:wrap}
.hero-line{display:block;opacity:0;transform:translateY(28px);animation:heroIn 1.2s var(--ease) forwards;animation-delay:calc(.25s + var(--d) * .13s)}
.home-hero .eyebrow.hero-line{display:inline-flex}
.hero-actions.hero-line{display:flex}
@keyframes heroIn{to{opacity:1;transform:none}}
.hero-corner{position:absolute;right:var(--gx);bottom:36px;z-index:2;display:flex;gap:28px;color:rgba(255,255,255,.62);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:560}
.hero-corner span+span:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--sky);margin-right:28px;vertical-align:middle;opacity:.8}
.scroll-cue{position:absolute;left:var(--gx);bottom:34px;z-index:2;width:26px;height:44px;border:1.5px solid rgba(255,255,255,.55);border-radius:20px;display:block}
.scroll-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:3px;background:#fff;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:0;transform:translateY(16px)}100%{opacity:0}}
.home-hero .motion-button{position:absolute;right:var(--gx);bottom:74px;z-index:3;width:34px;height:34px;padding:0;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:.55;transition:opacity .3s,background .3s;backdrop-filter:blur(6px)}
.home-hero .motion-button:hover,.home-hero .motion-button:focus-visible{opacity:1;background:rgba(255,255,255,.18)}
.motion-button i{width:9px;height:10px;border-left:3px solid #fff;border-right:3px solid #fff}
.motion-button.paused i{border:0;width:0;height:0;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}

/* ---------- Marquee ---------- */
.book-marquee{background:var(--night);color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);padding:22px 0;position:relative}
.book-marquee:before,.book-marquee:after{content:"";position:absolute;top:0;bottom:0;width:12vw;z-index:2;pointer-events:none}
.book-marquee:before{left:0;background:linear-gradient(90deg,var(--night),transparent)}
.book-marquee:after{right:0;background:linear-gradient(270deg,var(--night),transparent)}
.marquee-track{display:flex;width:max-content;align-items:center;animation:marquee 190s linear infinite}
.book-marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track a,.marquee-dup a{font-family:var(--display);font-size:clamp(1.6rem,2.4vw,2.3rem);font-weight:500;font-style:italic;color:rgba(255,255,255,.78);padding:0 26px;white-space:nowrap;text-decoration:none;transition:color .25s}
.marquee-track a:hover{color:var(--sky)}
.marquee-track i{font-style:normal;color:var(--blue);font-size:.8rem;opacity:.9}
.marquee-dup{display:flex;align-items:center}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Stats ---------- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--night-2);color:#fff;padding:0 var(--gx)}
.stat{padding:48px 28px 46px;border-left:1px solid rgba(255,255,255,.09)}
.stat:first-child{border-left:0;padding-left:0}
.stat strong{display:block;font-family:var(--display);font-weight:600;font-size:clamp(2.8rem,4.6vw,4.6rem);line-height:1;letter-spacing:-.01em;color:#fff;font-variant-numeric:lining-nums}
.stat span{display:block;margin-top:12px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:650;color:var(--sky)}
.stat small{display:block;margin-top:4px;color:rgba(255,255,255,.55);font-size:.85rem}

/* ---------- Pathways ---------- */
.pathways{margin:clamp(70px,9vw,120px) 0 0}
.section-head{margin-bottom:34px}
.section-head h2{margin:12px 0 0}
.pathway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pathway{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;border-radius:var(--radius);overflow:hidden;background:var(--night);color:#fff;text-decoration:none;isolation:isolate;box-shadow:var(--shadow)}
.pathway img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) contrast(1.05) brightness(.9);transition:transform 1.2s var(--ease),filter .6s}
.pathway:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,16,28,.1) 0%,rgba(7,16,28,.35) 40%,rgba(7,16,28,.94) 100%),linear-gradient(0deg,rgba(29,79,134,.35),rgba(29,79,134,.35));mix-blend-mode:normal;transition:opacity .5s}
.pathway:hover img{transform:scale(1.07);filter:grayscale(1) contrast(1.1) brightness(1)}
.pathway>div{padding:28px 26px 28px}
.pathway-num{position:absolute;top:22px;left:26px;font-size:.72rem;letter-spacing:.22em;font-weight:650;color:var(--sky)}
.pathway h3{font-family:var(--display);font-size:2.2rem;font-weight:600;letter-spacing:-.01em;margin:0 0 10px;line-height:1.02}
.pathway p{color:rgba(255,255,255,.78);font-size:.93rem;line-height:1.55;margin:0 0 18px}
.pathway-go{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.pathway-go .icon{width:16px;height:16px;transition:transform .4s var(--ease)}
.pathway:hover .pathway-go .icon{transform:translateX(6px)}

.publisher-resource{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:42px;padding:30px 34px;background:#ecf2f8;border:1px solid #d5e0ed;border-radius:var(--radius)}
.publisher-resource .eyebrow{margin:0 0 8px}
.publisher-resource h2{margin:0 0 8px;font-size:clamp(1.8rem,2.6vw,2.4rem)}
.publisher-resource p:not(.eyebrow){max-width:730px;margin:0;color:var(--muted);line-height:1.55}
.publisher-resource .button{flex:none;color:var(--blue-ink);background:#fff;border-color:#c2d3e5}
@media(max-width:720px){.publisher-resource{align-items:flex-start;flex-direction:column;padding:26px 24px}.publisher-resource .button{white-space:normal}}

/* ---------- Library ---------- */
.library-intro{margin:clamp(80px,10vw,130px) 0 30px;align-items:flex-end}
.library-intro h2{font-size:clamp(2.4rem,4.2vw,4.3rem);margin-top:12px}
.library-intro .eyebrow{color:var(--blue)}
.search-wrap{position:relative}
.search-input{border-radius:999px;border:1px solid var(--line-strong);background:#fff;min-height:62px;padding-left:56px;font-size:1rem;box-shadow:var(--shadow-sm);transition:border-color .25s,box-shadow .25s}
.search-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,109,176,.15)}
.search-wrap .icon{left:22px;top:21px}
.search-hint{right:26px;top:21px;color:var(--muted)}
.filter-bar{margin:18px 0 40px}

.book-group{margin-bottom:64px}
.group-banner{position:relative;display:flex;align-items:flex-end;height:clamp(190px,20vw,260px);border-radius:var(--radius);overflow:hidden;background:var(--night);color:#fff;margin-bottom:18px;isolation:isolate}
.group-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2;filter:grayscale(1) contrast(1.1);transform:scale(1.04);transition:transform 1.4s var(--ease)}
.group-banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,16,28,.95) 0%,rgba(7,16,28,.78) 38%,rgba(7,16,28,.25) 100%),linear-gradient(0deg,color-mix(in srgb,var(--group-color) 45%,transparent),color-mix(in srgb,var(--group-color) 45%,transparent))}
.group-banner:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--group-color);filter:brightness(1.6) saturate(.8)}
.book-group:hover .group-banner img{transform:scale(1.08)}
.group-banner-text{padding:30px 36px}
.group-banner .group-count{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:650;color:var(--sky)}
.group-banner h2{font-size:clamp(2.4rem,4.2vw,4rem);margin:8px 0 6px;color:#fff}
.group-books{font-size:.9rem;color:rgba(255,255,255,.72)}

.book-grid{gap:14px}
.book-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;padding:26px 24px 24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.book-card:before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--group-color);transform:scaleX(.12);transform-origin:left;transition:transform .6s var(--ease)}
.book-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.book-card:hover:before{transform:scaleX(1)}
.book-number{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--group-color);line-height:1.2;min-width:30px;font-variant-numeric:lining-nums;opacity:.9}
.book-card h3{font-family:var(--display);font-weight:600;font-size:2rem;line-height:1.05;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}
.book-card p{font-size:.92rem;line-height:1.55;color:var(--ink-2);margin:0 0 14px}
.book-meta{display:flex;align-items:center;gap:10px;font-size:.76rem;color:var(--muted);letter-spacing:.02em;min-width:0}
.book-meta i{width:3px;height:3px;border-radius:50%;background:var(--line-strong);flex:none}
.book-card-body{min-width:0}
.book-card-body .book-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.book-meta i{display:inline-block;vertical-align:middle;margin:0 8px}
.book-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink);transition:background .35s var(--ease),color .35s,border-color .35s,transform .45s var(--ease)}
.book-arrow .icon{width:16px;height:16px}
.book-card:hover .book-arrow{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(-45deg)}

/* Study principles feature */
.video-hero{position:relative;overflow:hidden;border-radius:var(--radius);min-height:520px;margin-top:40px;isolation:isolate;background:var(--night)}
.video-hero-media{position:absolute;inset:-10% 0;z-index:-2}
.video-hero-media img{width:100%;height:100%;object-fit:cover}
.video-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,16,28,.92),rgba(7,16,28,.55) 55%,rgba(7,16,28,.2))}
.video-hero>img{display:none}
.video-hero .hero-content{position:relative;z-index:1;padding:clamp(40px,6vw,90px)}
.video-hero h2{font-size:clamp(2.8rem,5vw,5rem);color:#fff;line-height:.98;margin:18px 0 20px}
.video-hero .eyebrow{color:var(--sky)}
.video-hero .hero-content p{color:rgba(255,255,255,.8);max-width:520px;margin-bottom:28px}

/* ---------- Page banners (context, words, about) ---------- */
.page-banner{position:relative;min-height:clamp(460px,62vh,640px);display:flex;align-items:flex-end;overflow:hidden;background:var(--night);color:#fff;isolation:isolate;margin-top:calc(var(--top) * -1);margin-bottom:56px}
.page-banner.compact{min-height:clamp(380px,48vh,500px)}
.page-banner-art{position:absolute;inset:-8% 0;z-index:-2}
.page-banner-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(1) contrast(1.08) brightness(.85)}
.page-banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,16,28,.95) 0%,rgba(7,16,28,.72) 45%,rgba(7,16,28,.3) 100%),linear-gradient(0deg,rgba(7,16,28,.7),transparent 50%),linear-gradient(0deg,rgba(29,79,134,.28),rgba(29,79,134,.28))}
.page-banner-inner{width:100%;max-width:1480px;margin:0 auto;padding:calc(var(--header-h) + 40px) var(--gx) clamp(48px,7vw,84px)}
.page-banner .eyebrow{color:var(--sky)}
.page-banner h1{color:#fff;font-size:clamp(3.2rem,7.6vw,7.4rem);line-height:.92;margin:18px 0 22px}
.page-banner h1 em{color:var(--sky)}
.page-banner-inner>p:last-child{max-width:640px;color:rgba(255,255,255,.8);font-size:1.08rem;line-height:1.65}
.banner-numeral{position:absolute;right:var(--gx);bottom:-.16em;font-family:var(--display);font-weight:600;font-size:clamp(12rem,26vw,26rem);line-height:1;color:rgba(255,255,255,.06);pointer-events:none;z-index:-1}
.story-title{display:none}
.intro-text{font-size:1.12rem;line-height:1.75;color:var(--ink-2);max-width:820px}

/* ---------- Book guide hero ---------- */
.book-hero{position:relative;overflow:hidden;background:var(--night);color:#fff;isolation:isolate;margin-top:calc(var(--top) * -1);margin-bottom:0}
.book-hero-art{position:absolute;top:-8%;bottom:-8%;right:0;width:62%;z-index:-2}
.book-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(1) contrast(1.1) brightness(.95)}
.book-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--night) 0%,var(--night) 38%,rgba(7,16,28,.82) 55%,rgba(7,16,28,.35) 100%),linear-gradient(0deg,rgba(7,16,28,.9) 0%,transparent 45%),linear-gradient(0deg,color-mix(in srgb,var(--group-color) 30%,transparent),color-mix(in srgb,var(--group-color) 30%,transparent))}
.book-hero-inner{max-width:1480px;margin:0 auto;padding:calc(var(--header-h) + 34px) var(--gx) 56px}
.book-hero .breadcrumbs{color:rgba(255,255,255,.6);margin-bottom:46px;font-size:.8rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.book-hero .breadcrumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.book-hero .breadcrumbs a:hover{color:#fff;text-decoration:underline}
.book-hero .breadcrumbs .icon{width:13px;height:13px;opacity:.5}
.book-hero .book-heading{display:block;margin:0;padding:0;border:0}
.book-hero .eyebrow{color:var(--sky);display:flex;align-items:center;gap:14px}
.book-hero-num{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;font-family:var(--display);font-size:1.25rem;letter-spacing:0;font-weight:600}
.book-hero h1{color:#fff;font-size:clamp(3.6rem,9.5vw,9.4rem);line-height:.9;margin:22px 0 18px;letter-spacing:-.02em}
.book-hero .theme{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.4rem,2.3vw,2.1rem);line-height:1.25;color:rgba(255,255,255,.86);max-width:780px;margin:0 0 36px}
.book-hero .button-row{margin:0;display:flex;flex-wrap:wrap}
.book-hero .facts-strip{max-width:1480px;margin:0 auto;padding:0 var(--gx);display:grid;grid-template-columns:1fr 1.5fr .6fr 1.2fr;gap:0;border:0;position:relative}
.book-hero .facts-strip:before{content:"";position:absolute;left:var(--gx);right:var(--gx);top:0;height:1px;background:rgba(255,255,255,.14)}
.book-hero .fact{padding:26px 26px 34px 0;border:0}
.book-hero .fact+.fact{padding-left:26px;border-left:1px solid rgba(255,255,255,.1)}
.book-hero .fact .eyebrow{color:rgba(255,255,255,.55);font-size:.68rem;margin-bottom:8px}
.book-hero .fact-value{color:#fff;font-size:.98rem;line-height:1.5}
.book-monogram{display:none}

/* ---------- Book guide body ---------- */
.book-content{margin-top:clamp(50px,6vw,80px);gap:clamp(30px,5vw,80px)}
.book-toc{top:calc(var(--header-h) + 28px);padding:4px 0 4px 0;border-left:1px solid var(--line)}
.book-toc .eyebrow{padding-left:20px;margin-bottom:6px;display:block}
.toc-book{display:block;padding-left:20px;margin-bottom:14px;font-family:var(--display);font-size:1.7rem;font-weight:600;color:var(--ink);line-height:1.1}
.book-toc a{position:relative;display:block;padding:8px 0 8px 20px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);font-size:.88rem;text-decoration:none;transition:color .25s,border-color .35s var(--ease),padding .35s var(--ease)}
.book-toc a:hover{color:var(--ink)}
.book-toc a.current{color:var(--ink);border-left-color:var(--blue);font-weight:600;padding-left:24px}
.book-prose{max-width:900px}
.book-section{margin-bottom:clamp(64px,7vw,96px)}
.book-section h2{font-size:clamp(2.3rem,3.6vw,3.4rem);margin:10px 0 22px;letter-spacing:-.01em}
.book-section>p,.book-prose>p{font-size:1.07rem;line-height:1.8;color:var(--ink-2)}
.book-section#overview>p:first-of-type{font-family:var(--display);font-size:clamp(1.45rem,2.1vw,1.8rem);line-height:1.45;color:var(--ink);font-weight:500}
.book-section h3{font-size:1.05rem;margin:32px 0 12px}
.book-section li{line-height:1.75;color:var(--ink-2);margin-bottom:8px}
.detail-box{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);padding:24px 26px;box-shadow:var(--shadow-sm);margin:16px 0}
.detail-box h3{margin-top:0}
.detail-box.alt{background:linear-gradient(0deg,#f7f9fc,#f7f9fc);border-left:3px solid var(--blue)}
.tag{border-radius:999px;background:var(--paper-2);border:1px solid var(--line);padding:6px 14px;font-size:.82rem;color:var(--ink-2)}
a.tag{text-decoration:none;transition:background .25s,color .25s}
a.tag:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.key-verse{position:relative;border:0;border-radius:var(--radius-sm);background:linear-gradient(135deg,#eaf1f9,#f5f8fc);padding:26px 30px 24px 34px;margin:14px 0;overflow:hidden}
.key-verse:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.key-verse:after{content:"\201C";position:absolute;right:18px;top:-18px;font-family:var(--display);font-size:8rem;line-height:1;color:rgba(47,109,176,.12)}
.key-verse p{font-family:var(--display);font-size:1.35rem;line-height:1.45;color:var(--ink);margin:10px 0 0;font-weight:500}
.verse-ref,.ref-button{color:var(--blue-ink);font-weight:650;font-size:.86rem;text-decoration:none;letter-spacing:.01em}
a.verse-ref:hover{color:var(--blue);text-decoration:underline}
.outline-row{padding:20px 0;border-top:1px solid var(--line);gap:26px}
.outline-row .range{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--blue-ink);font-variant-numeric:lining-nums}
.outline-row h3{font-size:1.08rem;margin:0 0 6px}
.chapter-guide-row{border-radius:var(--radius-sm);transition:background .3s,transform .4s var(--ease)}
.chapter-guide-row:hover{background:#fff;transform:translateX(4px)}
.chapter-guide-row>span{font-family:var(--display);font-size:1.3rem;font-weight:600;color:var(--blue-ink)}
.deeper-note{border-top:1px solid var(--line);padding:32px 0}
.deeper-number{font-family:var(--display);font-size:2.4rem;font-weight:600;color:rgba(47,109,176,.55);line-height:1}
.deeper-note h3{font-family:var(--display);font-size:1.75rem;font-weight:600;letter-spacing:-.005em;margin:0 0 12px}
.book-sequence{gap:12px}
.book-sequence>a,.book-sequence>div{border-radius:var(--radius-sm)}
.book-sequence strong{font-family:var(--display);font-size:1.6rem;font-weight:600}
.book-sequence .sequence-current{background:var(--night)!important;color:#fff}
.doctrinal-thread{border-radius:var(--radius);background:var(--night-2);color:#fff;padding:32px 34px}
.doctrinal-thread p{color:rgba(255,255,255,.85)}
.doctrinal-thread .eyebrow{color:var(--sky)}
.doctrinal-thread .text-link{color:var(--sky)}
.application-panel{border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:28px 30px;margin-top:16px}
.connections{gap:14px}
.connection{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;padding:22px 24px;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.connection:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.connection strong{font-family:var(--display);font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:10px}
.connection strong .icon{width:16px;height:16px;transition:transform .4s var(--ease)}
.connection:hover strong .icon{transform:translateX(5px)}
.book-next{border-top:1px solid var(--line);padding-top:30px;margin-top:20px}
.book-next a{text-decoration:none;padding:18px 0;transition:transform .4s var(--ease)}
.book-next a:hover{transform:translateX(4px)}
.book-next a:first-child:hover{transform:translateX(-4px)}
.book-next strong{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;display:block;margin-top:6px}

/* ---------- Story / context ---------- */
.story-tabs{margin-bottom:34px}
.journey-picker button{border-radius:var(--radius-sm);transition:background .3s,transform .4s var(--ease),box-shadow .4s}
.journey-picker button:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.journey-picker button.active{background:var(--night)!important;color:#fff!important;border-color:var(--night)!important}
.journey-picker button.active span{color:var(--sky)!important}
.journey-intro h2,.canonical-section h2{font-size:clamp(2.3rem,3.8vw,3.6rem)}
.journey-stop h3{font-family:var(--display);font-size:1.65rem;font-weight:600}
.journey-number{font-family:var(--display)!important;font-weight:600}
.journey-application{border-radius:var(--radius);background:var(--night-2)!important;color:#fff}
.journey-application p{color:rgba(255,255,255,.85)}
.journey-application .eyebrow{color:var(--sky)!important}
.canonical-book{border-radius:var(--radius-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.canonical-book:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.canonical-book>strong{font-family:var(--display);font-size:1.45rem;font-weight:600}
.era-card{border-radius:var(--radius)}
.era-card h2{font-size:clamp(1.9rem,2.6vw,2.5rem)}
.story-tools>a{border-radius:var(--radius);transition:transform .45s var(--ease),box-shadow .45s}
.story-tools>a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.story-tools strong{font-family:var(--display);font-size:2rem;font-weight:600}

/* ---------- Words ---------- */
.word-grid .detail-box h3{font-family:var(--display);font-size:1.8rem;font-weight:600}
.method-card{border-radius:var(--radius)}
.method-card h2{font-size:2.1rem}

/* ---------- Course ---------- */
.course-hero{border-radius:var(--radius);overflow:hidden;background:var(--night)!important;box-shadow:var(--shadow-lg)}
.course-hero h1{font-size:clamp(3rem,5.4vw,5.6rem);line-height:.95}
.course-hero h1 span{font-style:italic;font-weight:500;color:var(--sky)}
.course-hero img{filter:grayscale(.5) contrast(1.05)}
.course-verse{border-radius:var(--radius);background:linear-gradient(135deg,#e7eff8,#f4f7fb)!important;border-left:3px solid var(--blue)!important}
.course-verse blockquote{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.35;font-weight:500;font-style:italic}
.course-overview-intro h2{font-size:clamp(2.4rem,4vw,3.8rem)}
.course-card{border-radius:var(--radius-sm);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.course-card h3{font-family:var(--display);font-size:1.7rem;font-weight:600}
.course-nav-heading strong{font-family:var(--display);font-size:1.9rem;font-weight:600}
.course-nav nav>a{border-radius:8px;transition:background .25s,color .25s,padding .3s var(--ease)}
.course-nav nav>a.active{background:var(--night)!important;color:#fff!important}
.course-nav nav>a.active span{color:var(--sky)!important}
.course-lesson>h1{font-size:clamp(2.8rem,5vw,4.8rem)}
.lesson-section h2{font-size:clamp(2rem,3vw,2.8rem)}
.lesson-memory{border-radius:var(--radius);background:var(--night-2)!important;color:#fff}
.lesson-memory blockquote{font-family:var(--display);font-size:1.7rem;font-style:italic;color:#fff}
.worked-example{border-radius:var(--radius-sm)}

/* ---------- Reader ---------- */
.reader-title h1{font-size:clamp(3rem,5.6vw,5.4rem)}
.passage-lookup{border-radius:999px;border:1px solid var(--line-strong);background:#fff;box-shadow:var(--shadow-sm);padding:6px 6px 6px 10px;overflow:hidden}
.passage-lookup input{font-size:1.02rem}
.passage-lookup .button{border-radius:999px}
.scripture-page{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.scripture-chapter-head h2{font-family:var(--display);font-size:clamp(3rem,5vw,4.6rem);font-weight:600}
.scripture-chapter-head h2 span{font-style:italic;font-weight:500;color:var(--blue)}
.scripture-body,.reader-verse{font-family:var(--scripture)}
.reader-verse{font-size:1.14em;line-height:1.95;color:#1c2736}
.verse-number{font-family:var(--sans)}
.reader-note-card{border-radius:var(--radius-sm);transition:transform .4s var(--ease),box-shadow .4s}
.reader-note-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.notes-heading h2{font-size:2.2rem}
.search-verse,.saved-passage{border-radius:var(--radius-sm)}

/* ---------- Atlas ---------- */
.atlas-testaments{border-radius:999px;padding:5px;background:var(--paper-2)}
.atlas-testaments a{border-radius:999px;transition:background .3s,color .3s}
.atlas-title h1{font-size:clamp(3rem,6vw,6rem)}
.atlas-periods button{border-radius:999px;transition:background .3s,color .3s,border-color .3s}
.atlas-experience{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);border-color:var(--line)}
.atlas-experience.expanded{border-radius:0}
.atlas-compass button{border-radius:10px}
.nt-atlas-embed iframe{border-radius:var(--radius)}
.timeline-table{font-size:.9rem}

/* ---------- Footer ---------- */
.site-footer{display:block;margin-top:clamp(90px,11vw,150px);padding:0 var(--gx) 34px;background:var(--night);color:rgba(255,255,255,.72);border:0;font-size:.9rem}
.footer-verse{max-width:1480px;margin:0 auto;padding:clamp(70px,9vw,120px) 0 clamp(60px,7vw,90px);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}
.footer-verse p{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.9rem,3.6vw,3.4rem);line-height:1.2;color:#fff;max-width:980px;margin:0 auto 18px}
.footer-verse a{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:650;color:var(--sky);text-decoration:none}
.footer-verse a:hover{color:#fff}
.footer-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:60px 0 50px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col h2{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:650;color:var(--sky);margin:0 0 8px}
.footer-col a{color:rgba(255,255,255,.78);text-decoration:none;width:fit-content;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-about p{max-width:340px;color:rgba(255,255,255,.6);line-height:1.6;margin-top:10px}
.site-footer .footer-brand{display:block;padding:0}
.site-footer .footer-brand img{width:250px;height:auto;filter:brightness(0) invert(1);opacity:.95}
.footer-base{max-width:1480px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;letter-spacing:.06em;color:rgba(255,255,255,.45)}

/* ---------- Misc ---------- */
.page-title-row h1{font-size:clamp(3rem,6vw,5.6rem)}
.no-results{border-radius:var(--radius);background:#fff;border:1px solid var(--line);padding:40px}
.toast{border-radius:999px;background:var(--ink);color:#fff;padding:12px 22px;box-shadow:var(--shadow-lg)}
.credits-prose{max-width:820px}
.credits-prose h2{font-size:clamp(2rem,3vw,2.6rem)!important}
.skip-link{border-radius:999px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.home-hero :focus-visible,.book-hero :focus-visible,.page-banner :focus-visible,.site-footer :focus-visible{outline-color:var(--sky)}

/* Motion: page entrance & reveals */
.page-enter>*:not(.home-hero):not(.book-hero):not(.page-banner){animation:pageIn .7s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.has-motion .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.has-motion .reveal.is-visible{opacity:1;transform:none}
.has-motion .group-banner.reveal{transform:translateY(34px) scale(.985)}
.has-motion .group-banner.reveal.is-visible{transform:none}
.book-hero .book-heading,.book-hero .button-row,.book-hero .breadcrumbs,.book-hero .facts-strip,.page-banner-inner>*{animation:heroIn 1.1s var(--ease) both}
.book-hero .breadcrumbs{animation-delay:.1s}.book-hero .book-heading{animation-delay:.2s}.book-hero .button-row{animation-delay:.35s}.book-hero .facts-strip{animation-delay:.5s}
.page-banner-inner>*:nth-child(1){animation-delay:.1s}.page-banner-inner>*:nth-child(2){animation-delay:.22s}.page-banner-inner>*:nth-child(3){animation-delay:.36s}
.hero-line,.book-hero .book-heading,.page-banner-inner>*{opacity:0}
.book-hero .book-heading{opacity:1}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .pathway-grid{grid-template-columns:repeat(2,1fr)}
  .pathway{min-height:380px}
  .book-hero .facts-strip{grid-template-columns:1fr 1fr}
  .book-hero .fact:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:980px){
  :root{--header-h:72px;--top:32px}
  .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;padding:9px 16px;font-size:.84rem;font-weight:600;color:var(--ink);z-index:130;position:relative}
  body.over-hero .site-header:not(.scrolled) .menu-toggle{border-color:rgba(255,255,255,.4)}
  .site-navigation{display:flex!important;position:fixed;inset:0;top:0;z-index:125;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:100px var(--gx) 60px;background:var(--night);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .55s;border:0;box-shadow:none}
  .site-navigation.open{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease),transform .55s var(--ease)}
  body.menu-open{overflow:hidden}
  body.menu-open .site-header{background:transparent!important;box-shadow:none;border-color:transparent}
  body.menu-open .brand-lockup,body.menu-open .brand-emblem{filter:brightness(0) invert(1)}
  body.menu-open .brand-mobile-name,body.menu-open .brand-mobile-name small{color:#fff!important}
  body.menu-open .menu-toggle{color:#fff;border-color:rgba(255,255,255,.4)}
  .handbook-brand{position:relative;z-index:130}
  .site-navigation .nav-link{font-family:var(--display);font-size:clamp(2.2rem,8vw,3.2rem);font-weight:600;color:rgba(255,255,255,.85)!important;padding:6px 0;letter-spacing:-.01em}
  .site-navigation .nav-link:after{left:0;right:auto;width:60px;bottom:2px;background:var(--sky)}
  .site-navigation .nav-link.active{color:#fff!important}
  .site-navigation .nav-more{display:flex;margin:22px 0 0;border-color:rgba(255,255,255,.35);color:#fff;width:auto;height:auto;padding:12px 20px;border-radius:999px}
  .site-navigation .nav-more:after{content:"Saved books";margin-left:10px;font-size:.9rem;font-weight:600}
  .stat-band{grid-template-columns:repeat(2,1fr)}
  .stat{padding:36px 22px 34px}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.09)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
  .footer-about{grid-column:1/-1}
  .book-hero-art{width:100%;opacity:.55}
  .book-hero-shade{background:linear-gradient(0deg,var(--night) 0%,rgba(7,16,28,.8) 55%,rgba(7,16,28,.55) 100%),linear-gradient(0deg,color-mix(in srgb,var(--group-color) 30%,transparent),color-mix(in srgb,var(--group-color) 30%,transparent))}
  .book-toc{border-left:0}
  .book-toc .toc-book{display:none}
}
@media (max-width:700px){
  .home-hero{min-height:600px}
  .home-hero h1{font-size:clamp(3.3rem,15vw,5rem)}
  .home-hero .hero-content{padding-bottom:120px}
  .hero-corner{left:var(--gx);right:auto;bottom:30px;gap:14px;font-size:.62rem;letter-spacing:.14em;flex-wrap:wrap}
  .hero-corner span+span:before{margin-right:14px}
  .scroll-cue{display:none}
  .home-hero .motion-button{bottom:28px}
  .hero-actions .button{flex:1 1 auto}
  .pathway-grid{grid-template-columns:1fr}
  .pathway{min-height:320px}
  .group-banner-text{padding:22px 22px}
  .book-card{grid-template-columns:1fr auto;padding:22px 20px}
  .book-number{grid-column:1/-1;font-size:1.2rem;margin-bottom:-8px}
  .book-card h3{font-size:1.8rem}
  .library-intro{flex-direction:column;align-items:flex-start}
  .search-hint{display:none}
  .book-hero .facts-strip{grid-template-columns:1fr 1fr}
  .book-hero .fact{padding:18px 14px 20px 0}
  .book-hero .fact+.fact{padding-left:14px}
  .book-hero .fact:nth-child(3){padding-left:0}
  .book-hero .button-row .button{padding:10px 16px;font-size:.8rem}
  .book-hero .breadcrumbs{margin-bottom:28px}
  .page-banner{min-height:440px}
  .banner-numeral{font-size:13rem}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-base{flex-direction:column;gap:6px}
  .site-footer .footer-brand img{width:210px}
  .key-verse{padding:22px 20px 20px 24px}
}
@media (max-width:420px){
  .stat strong{font-size:2.4rem}
  .stat small{display:none}
  .book-hero .facts-strip{grid-template-columns:1fr}
  .book-hero .fact,.book-hero .fact+.fact{padding:14px 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
}

@media (prefers-reduced-motion:reduce){
  .hero-line,.book-hero .book-heading,.book-hero .button-row,.book-hero .breadcrumbs,.book-hero .facts-strip,.page-banner-inner>*,.page-enter>*{animation:none!important;opacity:1!important;transform:none!important}
  .marquee-track{animation:none}
  .scroll-cue span{animation:none}
  .hero-media video{display:none}
}

@media print{
  .site-header,.book-hero-art,.book-hero-shade,.book-marquee,.stat-band,.pathways,.site-footer,.scroll-progress,.motion-button{display:none!important}
  .book-hero{background:none!important;color:#000!important;width:auto;margin:0}
  .book-hero *{color:#000!important}
  .book-hero .button-row{display:none}
  .hero-line,.page-banner-inner>*{opacity:1!important}
}

/* ---------- Refinements (pass 2) ---------- */
.home-hero h1>span{color:#fff}
.library-intro>div{max-width:none}
.library-intro h2{max-width:14ch}
@media (min-width:900px){.library-intro h2{max-width:none}}
.pathway img{filter:grayscale(1) contrast(1.12) brightness(.82)}
.pathway:before{background:linear-gradient(180deg,rgba(7,16,28,.05) 0%,rgba(7,16,28,.2) 38%,rgba(7,16,28,.92) 88%)}
.pathway:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(47,109,176,.28),rgba(7,16,28,0) 60%);mix-blend-mode:screen;opacity:.9}
.group-banner{background:var(--night)}
.group-banner img{left:auto;right:0;width:54%;object-position:center 30%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%);opacity:.92}
.group-banner:before{background:linear-gradient(90deg,var(--night) 0%,var(--night) 40%,rgba(7,16,28,.2) 100%),linear-gradient(90deg,color-mix(in srgb,var(--group-color) 22%,transparent),transparent 70%)}
@media (max-width:700px){.group-banner img{width:100%;-webkit-mask-image:none;mask-image:none;opacity:.45}}
.site-header{background-origin:border-box}
body.over-hero .site-header:not(.scrolled){border-bottom:0}
h1,h2,.serif,.stat strong,.book-number,.outline-row .range,.deeper-number,.chapter-guide-row>span{font-variant-numeric:lining-nums}
.book-section#overview>p:first-of-type{font-family:var(--scripture);font-size:clamp(1.15rem,1.5vw,1.32rem);line-height:1.75;font-weight:400;color:var(--ink)}
.key-verse p{font-family:var(--scripture);font-size:1.12rem;line-height:1.65;font-weight:400}
.chapter-guide-row{grid-template-columns:112px 1fr 20px;align-items:baseline;padding:22px 18px}
.chapter-guide-row>span{font-family:var(--sans);font-size:.85rem;font-weight:650;letter-spacing:.02em;color:var(--blue-ink);background:var(--sky-2);border-radius:999px;padding:4px 12px;justify-self:start;white-space:nowrap}
.chapter-guide-row h3{margin-top:0}
.outline-row .range{font-family:var(--sans);font-size:.85rem;font-weight:650;letter-spacing:.02em;white-space:nowrap}
.brand-mobile-name{font-family:var(--display)!important;font-weight:600!important;font-size:1.35rem!important}
.brand-mobile-name small{font-family:var(--sans)!important}
@media (max-width:700px){
  .hero-corner{display:none}
  .chapter-guide-row{grid-template-columns:1fr 16px;gap:10px}
  .chapter-guide-row>span{grid-column:1/-1}
}
.journey-number{font-family:var(--sans)!important;font-weight:650!important;font-size:.8rem!important}
@media (max-width:700px){.passage-lookup{border-radius:22px;padding:8px}}
.hero-media video{filter:grayscale(.6) contrast(1.12) brightness(.6) sepia(.08) hue-rotate(185deg)}
.hero-shade{background:radial-gradient(120% 90% at 15% 100%,rgba(4,10,18,.9) 0%,rgba(4,10,18,.6) 45%,rgba(4,10,18,.22) 75%),linear-gradient(180deg,rgba(4,10,18,.55) 0%,rgba(4,10,18,0) 26%,rgba(4,10,18,.45) 100%)}
@media (max-width:980px){
  .book-toc{display:flex;flex-wrap:wrap;gap:6px;border-left:0;padding:0}
  .book-toc .eyebrow{width:100%;padding-left:0}
  .book-toc a{border-left:0;margin:0;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.82rem}
  .book-toc a.current{background:var(--ink);border-color:var(--ink);color:#fff;padding-left:14px}
}

/* Keep unnumbered context notes in the full reading column. */
.deeper-note.context-note{display:block}

/* Compact book totals and vocabulary details. */
.book-statistics{margin:28px 0 0;padding:24px;background:var(--sky-2);border:1px solid var(--line);border-radius:16px}
.book-counts{display:flex;flex-wrap:wrap;gap:20px 48px;margin:0}
.book-counts>div{min-width:110px}
.book-counts dt{font-size:.875rem;font-weight:600;color:var(--muted)}
.book-counts dd{margin:4px 0 0;font-size:1.85rem;line-height:1.2;font-weight:600;color:var(--blue-ink);font-variant-numeric:tabular-nums}
.book-keywords h3{margin:0 0 12px;font-size:1rem}
.book-counts+.book-keywords{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.book-keywords ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.book-keywords li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;margin:0;padding:0;font-size:.9rem}
.book-keywords .keyword-term{font-weight:600;color:var(--ink)}
@media(max-width:480px){.book-statistics{padding:20px}.book-counts{gap:20px 32px}.book-keywords li{display:block}.book-keywords li>span{display:block}}

/* Give references room in book outlines and passage comparisons. */
.outline-row{grid-template-columns:minmax(135px,max-content) minmax(0,1fr)}
.outline-row>:last-child{min-width:0}

@media (max-width:700px){
  .outline-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .outline-row .range{white-space:normal}
}
