/*
Theme Name: MyBoys3
Theme URI: https://myboys3.com
Author: Steven K. Smith
Author URI: https://myboys3.com
Description: Block theme for Steven K. Smith's myboys3.com — middle-grade author site with three series (Virginia Mysteries, Brother Wars, Final Kingdom). Read the Mystery. Visit the History.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: myboys3
Tags: block-theme, full-site-editing, author, books
*/

/* =====================================================================
   Ported verbatim from MyBoys3_BrotherWars_Page.html design specification.
   Base64 images extracted to /assets/ and referenced by file.
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Source Sans 3',sans-serif;background:#FAFAF7;color:#1a1a18;font-size:16px;line-height:1.6}

/* Site header bar. Targets the header template part whether it renders as
   <nav> (page.html) or <header> (WooCommerce templates) — both wrap .nav-logo-wrap.
   Scoped via :has() so it no longer bleeds onto WooCommerce's <nav> breadcrumb/pagination. */
.wp-block-template-part:has(> .nav-logo-wrap){background:#1C2B1A;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:68px;position:sticky;top:0;z-index:100}
.nav-logo-wrap{display:flex;align-items:center;gap:12px}
.nav-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid #C9A84C;flex-shrink:0}
.nav-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.nav-logo{font-family:'Playfair Display',serif;color:#E8DFC4;font-size:18px;font-weight:700}
.nav-logo a{color:inherit;text-decoration:none}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-links a{color:#B8C4A8;text-decoration:none;font-size:14px;letter-spacing:.03em;text-transform:uppercase}
.nav-links a:hover{color:#E8DFC4}
.nav-cta{background:#8B6914;color:#FFF8E7!important;padding:7px 18px;border-radius:3px;font-weight:600!important}
.mobile-menu-btn{display:none;background:transparent;border:0;color:#E8DFC4;font-size:24px;cursor:pointer;padding:8px}

/* FULL-BLEED HERO with canoe artwork */
.bw-hero{position:relative;padding:5rem 4rem 4rem;color:#FFF;overflow:hidden;min-height:580px}
.bw-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/hero-canoe.jpg');background-size:cover;background-position:center 30%;z-index:0}
.bw-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,60,90,.4) 0%,rgba(20,50,75,.78) 65%,rgba(15,40,60,.96) 100%);z-index:1}
.bw-hero-content{position:relative;z-index:2;max-width:1400px;margin:0 auto}
.bw-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#A8C4DA;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}
.bw-breadcrumb a{color:#A8C4DA;text-decoration:none}
.bw-breadcrumb a:hover{color:#FFB870}
.bw-breadcrumb span{color:#6A8AA0}
.bw-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#FFB870;margin-bottom:1rem}
.bw-hero-title{font-family:'Bebas Neue',sans-serif;font-size:120px;font-weight:400;line-height:.9;color:#FFF;margin-bottom:1rem;letter-spacing:.02em;text-shadow:0 8px 40px rgba(0,0,0,.5)}
.bw-hero-title em{font-style:normal;color:#E07A1F;display:block;transform:skewX(-3deg);text-shadow:0 8px 40px rgba(224,122,31,.4),0 4px 16px rgba(0,0,0,.6)}
.bw-hero-tag{font-family:'Playfair Display',serif;font-size:24px;color:#D8E8F2;font-style:italic;margin-bottom:1.5rem;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,.5);max-width:720px;white-space:nowrap}
.bw-hero-sub{font-size:17px;color:#B8D4E8;line-height:1.7;margin-bottom:2rem;max-width:580px;font-weight:300;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.bw-stat-row{display:flex;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap}
.bw-stat-num{font-family:'Bebas Neue',sans-serif;font-size:36px;color:#E07A1F;line-height:1;letter-spacing:.02em}
.bw-stat-label{font-size:12px;color:#A8C4DA;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.bw-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.bw-btn-primary{background:#E07A1F;color:#FFF;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;letter-spacing:.02em;transition:all .2s;box-shadow:0 6px 24px rgba(224,122,31,.45)}
.bw-btn-primary:hover{background:#F08A2F;transform:translateY(-1px);box-shadow:0 8px 28px rgba(224,122,31,.55)}
.bw-btn-secondary{background:rgba(255,255,255,.08);color:#FFF;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid rgba(255,255,255,.3);display:inline-block;transition:all .2s;backdrop-filter:blur(4px)}
.bw-btn-secondary:hover{background:rgba(255,255,255,.15);border-color:#E07A1F}

/* MANIFESTO */
.bw-manifesto{background:#F4F0E4;padding:5rem 4rem;text-align:center}
.bw-manifesto-inner{max-width:780px;margin:0 auto}
.bw-manifesto-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#E07A1F;margin-bottom:1rem}
.bw-manifesto-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;color:#1C2B1A;line-height:1.15;margin-bottom:1.5rem}
.bw-manifesto-title em{color:#E07A1F;font-style:italic}
.bw-manifesto-body{font-size:18px;line-height:1.8;color:#4A4A40;font-weight:300}
.bw-manifesto-body+.bw-manifesto-body{margin-top:1.2rem}
.bw-divider{width:60px;height:3px;background:#E07A1F;margin:1.5rem auto}

/* MEET THE BROTHERS */
.meet-brothers{background:#FFF;padding:4rem;border-top:1px solid #E0DCC8;border-bottom:1px solid #E0DCC8}
.meet-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.meet-character{background:linear-gradient(145deg,#FFF8EA,#F4ECD4);padding:2rem;border-radius:10px;border:1px solid #E8DCB8;position:relative}
.meet-character::before{content:'';position:absolute;top:-12px;left:1.5rem;background:#E07A1F;color:#FFF;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.15em;padding:4px 14px;border-radius:2px}
.meet-character.harry::before{content:'HARRY'}
.meet-character.randy::before{content:'RANDY'}
.meet-char-label{font-family:'Playfair Display',serif;font-size:20px;color:#1E4A6B;font-weight:700;margin-bottom:.4rem;margin-top:.6rem}
.meet-char-tag{font-size:13px;color:#8B6914;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem}
.meet-char-body{font-size:15px;color:#4A4A40;line-height:1.65}

/* FEATURE STRIP - using Cabin Eleven art */
.bw-feature-strip{position:relative;height:500px;overflow:hidden;display:flex;align-items:center}
.bw-feature-strip::before{content:'';position:absolute;inset:0;background-image:url('assets/feature-cabin-eleven.jpg');background-size:cover;background-position:center;z-index:0}
.bw-feature-strip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,40,60,.95) 0%,rgba(30,40,60,.7) 40%,rgba(30,40,60,.2) 70%,transparent 100%);z-index:1}
.bw-fs-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.bw-fs-inner{max-width:520px}
.bw-fs-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#FFB870;font-weight:700;margin-bottom:1rem}
.bw-fs-title{font-family:'Playfair Display',serif;font-size:42px;line-height:1.1;color:#FFF;font-weight:900;margin-bottom:1.2rem}
.bw-fs-title em{color:#E07A1F;font-style:italic}
.bw-fs-body{font-size:16px;color:#C8D8E8;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.bw-fs-btn{display:inline-block;background:transparent;color:#FFF;padding:12px 28px;border:1.5px solid #E07A1F;border-radius:3px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}
.bw-fs-btn:hover{background:#E07A1F}

/* BOOKS SECTION */
.bw-books-section{padding:5rem 4rem;background:#FAFAF7}
.bw-section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.bw-section-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#1E4A6B;margin-bottom:.8rem}
.bw-section-title{font-family:'Playfair Display',serif;font-size:40px;font-weight:900;color:#1a1a18;line-height:1.15;margin-bottom:1rem}
.bw-section-sub{font-size:17px;color:#5A5A50;line-height:1.7;font-weight:300}
.bw-books-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1100px;margin:0 auto}

/* BOOK CARDS with hover-reveal */
.bw-book-card{background:white;border:1px solid #E0DCC8;border-radius:10px;padding:2rem;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start;transition:all .25s}
.bw-book-card:hover{border-color:#E07A1F;box-shadow:0 14px 38px rgba(0,0,0,.1);transform:translateY(-3px)}
.bw-book-cover-wrap{position:relative;aspect-ratio:5/8;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.bw-art-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity .5s ease,transform .8s ease;z-index:1}
.bw-cover-display{position:absolute;inset:0;transition:opacity .45s ease;z-index:2}
.bw-cover-display img{width:100%;height:100%;object-fit:cover;display:block}
.bw-book-card:hover .bw-art-bg{opacity:1;transform:scale(1)}
.bw-book-card:hover .bw-cover-display{opacity:0}
.bw-book-number{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:.18em;color:#E07A1F;margin-bottom:.4rem}
.bw-book-title{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:#1C2B1A;line-height:1.15;margin-bottom:.6rem}
.bw-book-setting{font-size:13px;color:#1E4A6B;font-weight:600;letter-spacing:.03em;margin-bottom:1.2rem}
.bw-book-desc{font-size:15px;line-height:1.75;color:#4A4A40;margin-bottom:1.5rem;font-weight:300}
.bw-book-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.bw-book-actions .bw-btn-primary{padding:10px 22px;font-size:13px;box-shadow:0 4px 14px rgba(224,122,31,.3)}
.bw-btn-signed{background:#8B6914;color:#FFF8E7;padding:10px 22px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;transition:background .2s}
.bw-btn-signed:hover{background:#A07A1C}
.bw-btn-sample{background:transparent;color:#1E4A6B;padding:10px 22px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;border:1.5px solid #1E4A6B;transition:all .2s}
.bw-btn-sample:hover{background:#1E4A6B;color:#FFF}

/* WHO IT'S FOR */
.bw-audience{background:#1E4A6B;color:#FFF;padding:5rem 4rem;text-align:center;position:relative;overflow:hidden}
.bw-audience::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at top right,rgba(224,122,31,.15) 0%,transparent 60%);pointer-events:none}
.bw-aud-inner{max-width:1100px;margin:0 auto;position:relative;z-index:2}
.bw-aud-label{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#FFB870;margin-bottom:.8rem}
.bw-aud-title{font-family:'Playfair Display',serif;font-size:38px;font-weight:900;color:#FFF;line-height:1.15;margin-bottom:1rem}
.bw-aud-title em{color:#E07A1F;font-style:italic}
.bw-aud-sub{font-size:17px;color:#A8C8DC;line-height:1.7;max-width:600px;margin:0 auto 3rem;font-weight:300}
.bw-aud-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.bw-aud-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:2rem 1.5rem;backdrop-filter:blur(4px);transition:all .25s;text-align:center}
.bw-aud-card:hover{background:rgba(255,255,255,.1);border-color:rgba(224,122,31,.4);transform:translateY(-3px)}
.bw-aud-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#E07A1F,#C5641A);display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 6px 20px rgba(224,122,31,.4)}
.bw-aud-icon svg{width:30px;height:30px;color:#FFF}
.bw-aud-card-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:#FFF;margin-bottom:.6rem}
.bw-aud-card-desc{font-size:14px;color:#A8C8DC;line-height:1.6}

/* FINAL CTA */
.bw-final{background:linear-gradient(135deg,#E07A1F,#C5641A);padding:5rem 4rem;text-align:center;color:#FFF}
.bw-final-title{font-family:'Playfair Display',serif;font-size:44px;font-weight:900;margin-bottom:.8rem;line-height:1.15}
.bw-final-title em{font-style:italic}
.bw-final-sub{font-size:18px;color:#FFE5C8;margin-bottom:2rem;font-weight:300;max-width:560px;margin-left:auto;margin-right:auto}
.bw-btn-white{background:#FFF;color:#C5641A;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:700;font-size:16px;display:inline-block;margin:0 8px 8px;transition:background .2s}
.bw-btn-white:hover{background:#FFF8EA}
.bw-btn-outline-white{background:transparent;color:#FFF;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:600;font-size:16px;border:1.5px solid rgba(255,255,255,.5);display:inline-block;margin:0 8px 8px}

/* MORE FROM STEVEN */
.more-strip{background:#F0EBD8;border-top:1px solid #DDD8C4;padding:3rem 4rem}
.more-strip-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}
.more-strip-title{font-family:'Playfair Display',serif;font-size:22px;color:#1C2B1A;font-weight:700}
.more-strip-link{font-size:13px;color:#8B6914;text-decoration:none;font-weight:600;border-bottom:1px solid #C9A84C}
.other-series-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.other-series-card{background:white;border:1px solid #D8D4C0;border-radius:8px;padding:1.5rem;display:flex;gap:1.2rem;align-items:flex-start;transition:all .2s}
.other-series-card:hover{border-color:#C9A84C;box-shadow:0 6px 18px rgba(0,0,0,.05)}
.os-mini-stack{display:flex;flex-shrink:0;position:relative;width:110px;height:100px}
.os-mini-stack img{position:absolute;width:55px;height:auto;border-radius:3px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.os-mini-stack img:nth-child(1){left:0;top:8px;transform:rotate(-6deg);z-index:1}
.os-mini-stack img:nth-child(2){left:28px;top:0;z-index:3}
.os-mini-stack img:nth-child(3){left:56px;top:8px;transform:rotate(6deg);z-index:2}
.os-name{font-family:'Playfair Display',serif;font-size:18px;color:#1C2B1A;font-weight:700;margin-bottom:4px}
.os-tag{font-size:11px;color:#8B6914;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.os-desc{font-size:14px;color:#5A5A50;line-height:1.6;margin-bottom:10px}
.os-cta{font-size:13px;font-weight:600;color:#2E4A2A;text-decoration:none;border-bottom:1px solid #A8C498}

footer{background:#111A10;padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:'Playfair Display',serif;color:#6A8260;font-size:16px}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-links a{color:#506840;text-decoration:none;font-size:13px}
.footer-copy{font-size:12px;color:#3A5230}

@media (max-width:1024px){
  .bw-hero{padding:3.5rem 2rem}
  .bw-hero-title{font-size:84px}
  .bw-hero-tag{font-size:20px}
  .bw-buttons,.bw-stat-row{justify-content:flex-start}
  .meet-inner{grid-template-columns:1fr;gap:1.5rem}
  .bw-aud-cards{grid-template-columns:1fr}
  .other-series-grid{grid-template-columns:1fr}
  .bw-fs-content{padding:0 2rem}
  .bw-fs-title{font-size:34px}
  .bw-manifesto,.bw-books-section,.bw-audience,.bw-final,.meet-brothers,.more-strip,footer{padding-left:2rem;padding-right:2rem}
}
@media (max-width:640px){
  .wp-block-template-part:has(> .nav-logo-wrap){padding:0 1rem;height:60px}
  .nav-logo{font-size:15px}
  .nav-avatar{width:34px;height:34px}
  .nav-links{display:none}
  .mobile-menu-btn{display:block}
  .bw-hero{padding:2.5rem 1.2rem;min-height:480px}
  .bw-hero-title{font-size:64px}
  .bw-hero-tag{font-size:17px;white-space:normal;max-width:none}
  .bw-hero-sub{font-size:15px}
  .bw-btn-primary,.bw-btn-secondary{display:block;text-align:center;width:100%}
  .bw-buttons{flex-direction:column;align-items:stretch}
  .bw-stat-row{gap:1.5rem}
  .bw-stat-num{font-size:28px}
  .bw-manifesto{padding:3rem 1.2rem}
  .bw-manifesto-title{font-size:30px}
  .bw-manifesto-body{font-size:16px}
  .meet-brothers{padding:3rem 1.2rem}
  .bw-feature-strip{height:auto;padding:3rem 0}
  .bw-fs-content{padding:0 1.2rem}
  .bw-fs-title{font-size:28px}
  .bw-books-section{padding:3rem 1.2rem}
  .bw-section-title{font-size:30px}
  .bw-book-card{grid-template-columns:1fr;padding:1.5rem;gap:1.2rem;text-align:center}
  .bw-book-cover-wrap{max-width:200px;margin:0 auto;aspect-ratio:5/8}
  .bw-book-title{font-size:24px}
  .bw-book-actions{justify-content:center;flex-direction:column;align-items:stretch}
  .bw-btn-signed,.bw-btn-sample{text-align:center}
  .bw-audience{padding:3rem 1.2rem}
  .bw-aud-title{font-size:28px}
  .bw-final{padding:3rem 1.2rem}
  .bw-final-title{font-size:30px}
  .bw-btn-white,.bw-btn-outline-white{display:block;margin:8px 0;text-align:center}
  .more-strip{padding:2.5rem 1.2rem}
  footer{flex-direction:column;text-align:center;padding:2rem 1.2rem}
}

/* =====================================================================
   Block theme overrides — neutralize WP defaults that conflict with
   the mockup's sectioned, edge-to-edge layout.
   ===================================================================== */

.wp-site-blocks{padding:0!important;margin:0!important}
.wp-site-blocks > main{padding:0!important;margin:0!important;max-width:none!important}
.has-global-padding{padding-left:0!important;padding-right:0!important}
body .is-layout-constrained > *,
body .is-layout-flow > * { max-width: none; }

/* The post-content wrapper inherits contentSize from theme.json (1100px),
   which truncates our full-bleed sections. Let our sections own their own widths. */
.wp-block-post-content,
.entry-content,
main > .wp-block-post-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* =====================================================================
   Virginia Mysteries page styles
   Ported from MyBoys3_VirginiaMysteries_Page.html
   Class names do not collide with BW (.bw-*) styles.
   ===================================================================== */

/* HERO with atmospheric artwork background */
.page-hero{position:relative;padding:5rem 4rem 4rem;overflow:hidden;min-height:560px}
.page-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/vm-hero.jpg');background-size:cover;background-position:center 30%;filter:brightness(.55) saturate(1.15);z-index:0}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.6) 0%,rgba(28,43,26,.88) 100%);z-index:1}
.hero-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#A8C098;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem;position:relative;z-index:2}
.hero-breadcrumb a{color:#A8C098;text-decoration:none}
.hero-breadcrumb a:hover{color:#C9A84C}
.hero-breadcrumb span{color:#7A9075}
.page-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;max-width:1400px;margin:0 auto;position:relative;z-index:2}
.page-hero-eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.page-hero-title{font-family:'Playfair Display',serif;font-size:64px;font-weight:900;line-height:1;color:#F2ECD8;margin-bottom:.5rem;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.page-hero-title em{font-style:italic;color:#C9A84C;display:block}
.page-hero-tag{font-family:'Playfair Display',serif;font-size:22px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem;line-height:1.4}
.page-hero-sub{font-size:17px;color:#B5C5A3;line-height:1.7;margin-bottom:2rem;max-width:520px;font-weight:300}
.hero-stat-row{display:flex;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:32px;font-weight:900;color:#C9A84C;line-height:1}
.hero-stat-label{font-size:12px;color:#A8C098;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{background:#C9A84C;color:#1C2B1A;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;letter-spacing:.02em;transition:background .2s}
.btn-primary:hover{background:#D4B860}
.btn-secondary{background:transparent;color:#E2EDD2;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid rgba(255,255,255,.25);display:inline-block;transition:all .2s}
.btn-secondary:hover{border-color:#C9A84C;color:#FFF}

.hero-books-fan{position:relative;height:440px;display:flex;align-items:center;justify-content:center}
.fan-book{position:absolute;width:140px;border-radius:4px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.6);transition:transform .4s ease}
.fan-book img{width:100%;height:auto;display:block}
.fan-book:nth-child(1){transform:rotate(-22deg) translateX(-160px) translateY(8px);z-index:1}
.fan-book:nth-child(2){transform:rotate(-12deg) translateX(-90px) translateY(-12px);z-index:2}
.fan-book:nth-child(3){transform:rotate(-4deg) translateX(-30px) translateY(-20px);z-index:3}
.fan-book:nth-child(4){transform:rotate(4deg) translateX(30px) translateY(-20px);z-index:3}
.fan-book:nth-child(5){transform:rotate(12deg) translateX(90px) translateY(-12px);z-index:2}
.fan-book:nth-child(6){transform:rotate(22deg) translateX(160px) translateY(8px);z-index:1}

.timeline-section{background:#0F1F12;padding:2.5rem 4rem;border-bottom:1px solid #2A3A26}
.timeline-label-top{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7A9A6A;margin-bottom:1.2rem;text-align:center}
.timeline-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;max-width:1400px;margin:0 auto}
.timeline-item{text-align:center;text-decoration:none;color:inherit;transition:transform .2s}
.timeline-item:hover{transform:translateY(-3px)}
.timeline-num{font-family:'Playfair Display',serif;font-size:13px;color:#506840;font-weight:700;margin-bottom:6px}
.timeline-cover{width:100%;aspect-ratio:2/3;border-radius:3px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.4);margin-bottom:8px}
.timeline-cover img{width:100%;height:100%;object-fit:cover;display:block}
.timeline-label{font-size:10px;color:#7A9A6A;line-height:1.3;letter-spacing:.02em}
.timeline-item:hover .timeline-label{color:#C9A84C}

.manifesto{background:#F4F0E4;padding:5rem 4rem;text-align:center}
.manifesto-inner{max-width:780px;margin:0 auto}
.manifesto-eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8B6914;margin-bottom:1rem}
.manifesto-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;color:#1C2B1A;line-height:1.15;margin-bottom:1.5rem}
.manifesto-title em{color:#8B6914;font-style:italic}
.manifesto-body{font-size:18px;line-height:1.8;color:#4A4A40;font-weight:300}
.manifesto-body+.manifesto-body{margin-top:1.2rem}
.divider-gold{width:60px;height:3px;background:#C9A84C;margin:1.5rem auto}

/* START HERE - now with subtle artwork peek */
.start-here{background:#1C2B1A;padding:5rem 4rem;color:#E8DFC4;position:relative;overflow:hidden}
.start-here-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:center;position:relative;z-index:2}
.start-here-cover{position:relative}
.start-here-cover img{width:100%;height:auto;border-radius:4px;box-shadow:0 16px 40px rgba(0,0,0,.6)}
.start-here-badge{position:absolute;top:-12px;left:-12px;background:#C9A84C;color:#1C2B1A;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:2px;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.start-here-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7A9A6A;margin-bottom:.8rem}
.start-here-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;color:#F2ECD8;line-height:1.1;margin-bottom:1rem}
.start-here-title em{font-style:italic;color:#C9A84C}
.start-here-desc{font-size:17px;line-height:1.7;color:#A8B890;font-weight:300;margin-bottom:1.5rem;max-width:600px}
.start-here-callouts{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}
.callout{display:flex;flex-direction:column}
.callout-num{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#C9A84C}
.callout-label{font-size:12px;color:#7A9A6A;letter-spacing:.04em}
.btn-signed{background:#8B6914;color:#FFF8E7;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;transition:background .2s}
.btn-signed:hover{background:#A07A1C}

/* VISIT THE HISTORY feature strip */
.feature-strip{position:relative;height:500px;overflow:hidden;display:flex;align-items:center}
.feature-strip::before{content:'';position:absolute;inset:0;background-image:url('assets/vm-feature-jamestown.jpg');background-size:cover;background-position:center;z-index:0}
.feature-strip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,43,26,.95) 0%,rgba(28,43,26,.78) 38%,rgba(28,43,26,.25) 70%,transparent 100%);z-index:1}
.fs-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.fs-inner{max-width:540px}
.fs-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.fs-title{font-family:'Playfair Display',serif;font-size:46px;line-height:1.1;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.fs-title em{color:#C9A84C;font-style:italic}
.fs-body{font-size:16px;color:#C8D8B5;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.fs-btn{display:inline-block;background:transparent;color:#F2ECD8;padding:12px 28px;border:1.5px solid #C9A84C;border-radius:3px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}
.fs-btn:hover{background:#C9A84C;color:#1C2B1A}

.books-section{padding:5rem 4rem;background:#FAFAF7}
.section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7A8A6A;margin-bottom:.8rem}
.section-title{font-family:'Playfair Display',serif;font-size:40px;font-weight:900;color:#1a1a18;line-height:1.15;margin-bottom:1rem}
.section-sub{font-size:17px;color:#5A5A50;line-height:1.7;font-weight:300}
.books-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1200px;margin:0 auto}

/* BOOK CARDS with hover-reveal artwork */
.book-card{background:white;border:1px solid #E0DCC8;border-radius:10px;padding:2rem;display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start;transition:all .25s}
.book-card:hover{border-color:#C9A84C;box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-2px)}
.book-cover-wrap{position:relative;aspect-ratio:5/8;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.book-art-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s ease,opacity .5s ease;opacity:0;transform:scale(1.05);z-index:1}
.book-cover-display{position:absolute;inset:0;transition:opacity .45s ease;z-index:2}
.book-cover-display img{width:100%;height:100%;object-fit:cover;display:block}
.book-card:hover .book-art-bg{opacity:1;transform:scale(1)}
.book-card:hover .book-cover-display{opacity:0}
.book-number{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#8B6914;margin-bottom:.4rem}
.book-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:#1C2B1A;line-height:1.15;margin-bottom:.6rem}
.book-loc{font-size:13px;color:#2E4A2A;font-weight:600;margin-bottom:.3rem}
.book-era{font-size:12px;color:#8B6914;font-style:italic;margin-bottom:1rem;letter-spacing:.02em}
.book-desc{font-size:15px;line-height:1.7;color:#4A4A40;margin-bottom:1.2rem;font-weight:300}
.book-meta{display:flex;gap:.6rem;margin-bottom:1.2rem;flex-wrap:wrap}
.book-meta-tag{display:inline-block;background:#F4F0E4;color:#5A5A50;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:3px;border:1px solid #DDD8C4}
.book-meta-tag.tag-award{background:#EAF3DE;color:#3B6D11;border-color:#A8C498}
.book-meta-tag.tag-atos{background:#F0E8D0;color:#8B6914;border-color:#D8C898}
.book-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.btn-card-primary{background:#2E4A2A;color:#E8DFC4;padding:10px 20px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;transition:background .2s}
.btn-card-primary:hover{background:#3D5E37}
.btn-card-signed{background:#8B6914;color:#FFF8E7;padding:10px 20px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;transition:background .2s}
.btn-card-signed:hover{background:#A07A1C}
.btn-card-sample{background:transparent;color:#2E4A2A;padding:10px 20px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;border:1.5px solid #C9A84C;transition:all .2s}
.btn-card-sample:hover{background:#F4F0E4}

.educator-strip{background:#243322;padding:4rem;color:#E8DFC4}
.edu-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.edu-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7A9A6A;margin-bottom:.6rem}
.edu-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:#F2ECD8;line-height:1.2;margin-bottom:1rem}
.edu-body{font-size:16px;color:#A8B890;line-height:1.7;font-weight:300;max-width:560px}
.edu-cta{display:flex;flex-direction:column;gap:.8rem}

.testimonials-section{padding:5rem 4rem;background:#F4F0E4}
.testimonials-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;max-width:1100px;margin:2.5rem auto 0}
.testimonial{background:white;border-left:4px solid #C9A84C;padding:1.8rem 2rem;border-radius:0 8px 8px 0}
.tquote{font-family:'Playfair Display',serif;font-size:18px;color:#1C2B1A;line-height:1.6;font-style:italic;margin-bottom:1rem}
.tattrib{font-size:13px;color:#7A7A68;font-weight:600;letter-spacing:.02em}

.final-cta{background:#8B6914;padding:5rem 4rem;text-align:center}
.final-cta-title{font-family:'Playfair Display',serif;font-size:44px;color:#FFF8E7;font-weight:900;margin-bottom:.8rem;line-height:1.15}
.final-cta-title em{font-style:italic}
.final-cta-sub{font-size:18px;color:#F4E8C8;margin-bottom:2rem;font-weight:300;max-width:560px;margin-left:auto;margin-right:auto}
.btn-white{background:#FFF8E7;color:#8B6914;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:700;font-size:16px;display:inline-block;margin:0 8px 8px;transition:background .2s}
.btn-white:hover{background:white}
.btn-outline-white{background:transparent;color:#FFF8E7;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:600;font-size:16px;border:1.5px solid rgba(255,248,231,.5);display:inline-block;margin:0 8px 8px}

@media (max-width:1024px){
  .page-hero{padding:3.5rem 2rem}
  .page-hero-grid{grid-template-columns:1fr;gap:3rem;text-align:center}
  .page-hero-sub{margin-left:auto;margin-right:auto}
  .hero-buttons,.hero-stat-row{justify-content:center}
  .hero-books-fan{height:380px}
  .timeline-grid{grid-template-columns:repeat(6,1fr);gap:12px}
  .start-here-inner{grid-template-columns:1fr;text-align:center;gap:2rem}
  .start-here-cover{max-width:240px;margin:0 auto}
  .start-here-desc{margin-left:auto;margin-right:auto}
  .start-here-callouts{justify-content:center}
  .fs-content{padding:0 2rem}
  .fs-title{font-size:36px}
  .edu-inner{grid-template-columns:1fr;text-align:center}
  .edu-cta{align-items:center}
  .testimonials-grid{grid-template-columns:1fr}
  .start-here,.books-section,.testimonials-section,.educator-strip,.final-cta,.manifesto{padding-left:2rem;padding-right:2rem}
  .timeline-section{padding-left:2rem;padding-right:2rem}
}
@media (max-width:640px){
  .page-hero{padding:2.5rem 1.2rem}
  .page-hero-title{font-size:42px}
  .page-hero-tag{font-size:17px}
  .page-hero-sub{font-size:15px}
  .hero-stat-row{gap:1.5rem}
  .hero-stat-num{font-size:24px}
  .hero-books-fan{height:280px}
  .fan-book{width:90px}
  .fan-book:nth-child(1){transform:rotate(-22deg) translateX(-100px) translateY(8px)}
  .fan-book:nth-child(2){transform:rotate(-12deg) translateX(-55px) translateY(-12px)}
  .fan-book:nth-child(3){transform:rotate(-4deg) translateX(-18px) translateY(-20px)}
  .fan-book:nth-child(4){transform:rotate(4deg) translateX(18px) translateY(-20px)}
  .fan-book:nth-child(5){transform:rotate(12deg) translateX(55px) translateY(-12px)}
  .fan-book:nth-child(6){transform:rotate(22deg) translateX(100px) translateY(8px)}
  .btn-primary,.btn-secondary,.btn-signed{display:block;text-align:center;width:100%}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .timeline-section{padding:2rem 1.2rem}
  .timeline-grid{grid-template-columns:repeat(4,1fr);gap:10px}
  .manifesto{padding:3rem 1.2rem}
  .manifesto-title{font-size:30px}
  .manifesto-body{font-size:16px}
  .start-here{padding:3rem 1.2rem}
  .start-here-title{font-size:30px}
  .start-here-desc{font-size:15px}
  .feature-strip{height:auto;padding:3rem 0}
  .fs-content{padding:0 1.2rem}
  .fs-title{font-size:28px}
  .books-section{padding:3rem 1.2rem}
  .section-title{font-size:30px}
  .book-card{grid-template-columns:1fr;padding:1.5rem;gap:1.2rem;text-align:center}
  .book-cover-wrap{max-width:200px;margin:0 auto;aspect-ratio:5/8}
  .book-title{font-size:24px}
  .book-actions{justify-content:center;flex-direction:column;align-items:stretch}
  .btn-card-primary,.btn-card-signed,.btn-card-sample{text-align:center}
  .book-meta{justify-content:center}
  .educator-strip{padding:3rem 1.2rem}
  .edu-title{font-size:24px}
  .testimonials-section{padding:3rem 1.2rem}
  .testimonials-grid{grid-template-columns:1fr;gap:1rem}
  .final-cta{padding:3rem 1.2rem}
  .final-cta-title{font-size:30px}
  .btn-white,.btn-outline-white{display:block;margin:8px 0;text-align:center}
}


/* =====================================================================
   Final Kingdom page styles
   Ported from MyBoys3_FinalKingdom_Page.html
   All component classes use .fk- prefix (no collision).
   Body/footer overrides scoped to body.page-final-kingdom
   so they don't leak to Brother Wars or Virginia Mysteries pages.
   ===================================================================== */

/* Scoped body background/text — FK page only */
body.page-final-kingdom{background:#0A1318;color:#E8F0EB}

/* FULL-BLEED HERO with The Missing artwork */
.fk-hero{position:relative;padding:5rem 4rem 4rem;color:#FFF;overflow:hidden;min-height:620px}
.fk-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/fk-hero.jpg');background-size:cover;background-position:center;z-index:0}
.fk-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,15,25,.88) 0%,rgba(10,25,30,.65) 45%,rgba(8,18,28,.93) 100%);z-index:1}
/* Binary code accent overlay */
.fk-hero-binary{position:absolute;inset:0;z-index:2;opacity:.08;font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.4;color:#5EE2C7;padding:1rem;overflow:hidden;pointer-events:none;letter-spacing:.05em;word-break:break-all}
.fk-hero-content{position:relative;z-index:3;max-width:1400px;margin:0 auto}
.fk-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#7AA8B0;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}
.fk-breadcrumb a{color:#7AA8B0;text-decoration:none}
.fk-breadcrumb a:hover{color:#5EE2C7}
.fk-breadcrumb span{color:#4A6870}
.fk-hero-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#5EE2C7;margin-bottom:1.2rem}
.fk-hero-eyebrow::before{content:'> ';opacity:.6}
.fk-hero-title{font-family:'Playfair Display',serif;font-size:96px;font-weight:900;line-height:.92;color:#F2ECD8;margin-bottom:1rem;letter-spacing:-.01em;text-shadow:0 8px 40px rgba(0,0,0,.6)}
.fk-hero-title em{font-style:italic;color:#5EE2C7;display:block;text-shadow:0 6px 30px rgba(94,226,199,.4),0 4px 16px rgba(0,0,0,.6)}
.fk-hero-tag{font-family:'Playfair Display',serif;font-size:24px;color:#A8D8D0;font-style:italic;margin-bottom:1.5rem;line-height:1.4;max-width:720px;text-shadow:0 2px 8px rgba(0,0,0,.5);white-space:nowrap}
.fk-hero-sub{font-size:17px;color:#92B0B0;line-height:1.7;margin-bottom:2rem;max-width:580px;font-weight:300;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.fk-stat-row{display:flex;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap}
.fk-stat-num{font-family:'JetBrains Mono',monospace;font-size:24px;color:#5EE2C7;line-height:1;font-weight:700;letter-spacing:-.02em}
.fk-stat-label{font-size:12px;color:#7AA8B0;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.fk-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.fk-btn-primary{background:#5EE2C7;color:#0A1318;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;letter-spacing:.02em;transition:all .2s;box-shadow:0 6px 28px rgba(94,226,199,.35)}
.fk-btn-primary:hover{background:#7EF0D8;transform:translateY(-1px);box-shadow:0 8px 32px rgba(94,226,199,.5)}
.fk-btn-secondary{background:rgba(255,255,255,.04);color:#E8F0EB;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid rgba(94,226,199,.3);display:inline-block;transition:all .2s;backdrop-filter:blur(4px)}
.fk-btn-secondary:hover{background:rgba(94,226,199,.1);border-color:#5EE2C7}

/* AGE WARNING bar */
.fk-age-bar{background:#0F2025;border-top:1px solid #1A3A40;border-bottom:1px solid #1A3A40;padding:1.2rem 4rem;text-align:center}
.fk-age-bar-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.fk-age-icon{width:32px;height:32px;border-radius:50%;background:rgba(94,226,199,.15);border:1.5px solid #5EE2C7;display:inline-flex;align-items:center;justify-content:center;color:#5EE2C7;font-weight:700;font-size:14px;flex-shrink:0}
.fk-age-text{font-size:14px;color:#92B0B0;line-height:1.5}
.fk-age-text strong{color:#E8F0EB;font-weight:600}

/* MANIFESTO */
.fk-manifesto{background:#0D1A1F;padding:5rem 4rem;text-align:center;position:relative;overflow:hidden}
.fk-manifesto::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(94,226,199,.06) 0%,transparent 60%);pointer-events:none}
.fk-manifesto-inner{max-width:780px;margin:0 auto;position:relative}
.fk-manifesto-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#5EE2C7;margin-bottom:1rem}
.fk-manifesto-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;color:#F2ECD8;line-height:1.15;margin-bottom:1.5rem}
.fk-manifesto-title em{color:#5EE2C7;font-style:italic}
.fk-manifesto-body{font-size:18px;line-height:1.8;color:#A8C0BA;font-weight:300}
.fk-manifesto-body+.fk-manifesto-body{margin-top:1.2rem}
.fk-divider{width:60px;height:3px;background:#5EE2C7;margin:1.5rem auto;box-shadow:0 0 20px rgba(94,226,199,.4)}

/* FEATURE STRIP */
.fk-feature-strip{position:relative;height:520px;overflow:hidden;display:flex;align-items:center}
.fk-feature-strip::before{content:'';position:absolute;inset:0;background-image:url('assets/fk-feature-recruit.jpg');background-size:cover;background-position:center;z-index:0}
.fk-feature-strip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,25,.95) 0%,rgba(8,15,25,.75) 40%,rgba(8,15,25,.25) 70%,transparent 100%);z-index:1}
.fk-fs-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.fk-fs-inner{max-width:540px}
.fk-fs-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#5EE2C7;font-weight:700;margin-bottom:1rem}
.fk-fs-title{font-family:'Playfair Display',serif;font-size:46px;line-height:1.1;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.fk-fs-title em{color:#5EE2C7;font-style:italic}
.fk-fs-body{font-size:16px;color:#A8C0BA;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.fk-fs-btn{display:inline-block;background:transparent;color:#F2ECD8;padding:12px 28px;border:1.5px solid #5EE2C7;border-radius:3px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}
.fk-fs-btn:hover{background:#5EE2C7;color:#0A1318}

/* BOOKS SECTION */
.fk-books-section{padding:5rem 4rem;background:#0A1318}
.fk-section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.fk-section-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#5EE2C7;margin-bottom:.8rem}
.fk-section-title{font-family:'Playfair Display',serif;font-size:40px;font-weight:900;color:#F2ECD8;line-height:1.15;margin-bottom:1rem}
.fk-section-sub{font-size:17px;color:#92B0B0;line-height:1.7;font-weight:300}
.fk-books-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1100px;margin:0 auto}

/* BOOK CARDS with hover-reveal - dark theme */
.fk-book-card{background:#0F2025;border:1px solid #1A3A40;border-radius:10px;padding:2rem;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start;transition:all .3s}
.fk-book-card:hover{border-color:#5EE2C7;box-shadow:0 14px 50px rgba(94,226,199,.18);transform:translateY(-3px)}
.fk-book-cover-wrap{position:relative;aspect-ratio:5/8;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.fk-art-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity .5s ease,transform .8s ease;z-index:1}
.fk-cover-display{position:absolute;inset:0;transition:opacity .45s ease;z-index:2}
.fk-cover-display img{width:100%;height:100%;object-fit:cover;display:block}
.fk-book-card:hover .fk-art-bg{opacity:1;transform:scale(1)}
.fk-book-card:hover .fk-cover-display{opacity:0}
.fk-book-number{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;color:#5EE2C7;margin-bottom:.4rem;text-transform:uppercase;font-weight:700}
.fk-book-title{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:#F2ECD8;line-height:1.15;margin-bottom:.6rem}
.fk-book-tagline{font-family:'Playfair Display',serif;font-size:16px;color:#5EE2C7;font-style:italic;margin-bottom:1.2rem;line-height:1.5}
.fk-book-desc{font-size:15px;line-height:1.75;color:#A8C0BA;margin-bottom:1.5rem;font-weight:300}
.fk-book-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.fk-book-actions .fk-btn-primary{padding:10px 22px;font-size:13px;box-shadow:0 4px 16px rgba(94,226,199,.25)}
.fk-btn-signed{background:#8B6914;color:#FFF8E7;padding:10px 22px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;transition:background .2s}
.fk-btn-signed:hover{background:#A07A1C}
.fk-btn-sample{background:transparent;color:#5EE2C7;padding:10px 22px;border-radius:3px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-block;border:1.5px solid #5EE2C7;transition:all .2s}
.fk-btn-sample:hover{background:#5EE2C7;color:#0A1318}

/* WHO IT'S FOR */
.fk-audience{background:#0D1A1F;color:#FFF;padding:5rem 4rem;text-align:center;position:relative;overflow:hidden;border-top:1px solid #1A3A40}
.fk-audience::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at bottom left,rgba(94,226,199,.1) 0%,transparent 60%);pointer-events:none}
.fk-aud-inner{max-width:1100px;margin:0 auto;position:relative;z-index:2}
.fk-aud-label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#5EE2C7;margin-bottom:.8rem}
.fk-aud-title{font-family:'Playfair Display',serif;font-size:38px;font-weight:900;color:#F2ECD8;line-height:1.15;margin-bottom:1rem}
.fk-aud-title em{color:#5EE2C7;font-style:italic}
.fk-aud-sub{font-size:17px;color:#92B0B0;line-height:1.7;max-width:600px;margin:0 auto 3rem;font-weight:300}
.fk-aud-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.fk-aud-card{background:rgba(94,226,199,.04);border:1px solid rgba(94,226,199,.15);border-radius:10px;padding:2rem 1.5rem;transition:all .25s;text-align:center}
.fk-aud-card:hover{background:rgba(94,226,199,.08);border-color:rgba(94,226,199,.4);transform:translateY(-3px)}
.fk-aud-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,rgba(94,226,199,.2),rgba(94,226,199,.05));border:1.5px solid #5EE2C7;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 0 30px rgba(94,226,199,.2)}
.fk-aud-icon svg{width:28px;height:28px;color:#5EE2C7}
.fk-aud-card-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:#F2ECD8;margin-bottom:.6rem}
.fk-aud-card-desc{font-size:14px;color:#A8C0BA;line-height:1.6}

/* MORE FROM STEVEN */
.fk-more-strip{background:#0F2025;border-top:1px solid #1A3A40;padding:3rem 4rem}
.fk-more-strip-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}
.fk-more-strip-title{font-family:'Playfair Display',serif;font-size:22px;color:#F2ECD8;font-weight:700}
.fk-more-strip-link{font-size:13px;color:#5EE2C7;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(94,226,199,.4)}
.fk-other-series-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.fk-other-series-card{background:#0A1318;border:1px solid #1A3A40;border-radius:8px;padding:1.5rem;display:flex;gap:1.2rem;align-items:flex-start;transition:all .2s}
.fk-other-series-card:hover{border-color:rgba(94,226,199,.4)}
.fk-os-mini-stack{display:flex;flex-shrink:0;position:relative;width:110px;height:100px}
.fk-os-mini-stack img{position:absolute;width:55px;height:auto;border-radius:3px;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.fk-os-mini-stack img:nth-child(1){left:0;top:8px;transform:rotate(-6deg);z-index:1}
.fk-os-mini-stack img:nth-child(2){left:28px;top:0;z-index:3}
.fk-os-mini-stack img:nth-child(3){left:56px;top:8px;transform:rotate(6deg);z-index:2}
.fk-os-name{font-family:'Playfair Display',serif;font-size:18px;color:#F2ECD8;font-weight:700;margin-bottom:4px}
.fk-os-tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:#5EE2C7;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.fk-os-desc{font-size:14px;color:#92B0B0;line-height:1.6;margin-bottom:10px}
.fk-os-cta{font-size:13px;font-weight:600;color:#5EE2C7;text-decoration:none;border-bottom:1px solid rgba(94,226,199,.4)}

/* FINAL CTA */
.fk-final{background:linear-gradient(135deg,#0A1318,#0F2530);padding:5rem 4rem;text-align:center;color:#FFF;position:relative;overflow:hidden;border-top:1px solid #1A3A40}
.fk-final::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(94,226,199,.12) 0%,transparent 70%);pointer-events:none}
.fk-final-content{position:relative;z-index:2}
.fk-final-title{font-family:'Playfair Display',serif;font-size:48px;font-weight:900;margin-bottom:.8rem;line-height:1.15;color:#F2ECD8}
.fk-final-title em{font-style:italic;color:#5EE2C7;text-shadow:0 0 40px rgba(94,226,199,.5)}
.fk-final-sub{font-size:18px;color:#A8C0BA;margin-bottom:2rem;font-weight:300;max-width:560px;margin-left:auto;margin-right:auto}
.fk-btn-final{background:#5EE2C7;color:#0A1318;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:700;font-size:16px;display:inline-block;margin:0 8px 8px;transition:all .2s;box-shadow:0 6px 32px rgba(94,226,199,.4)}
.fk-btn-final:hover{background:#7EF0D8;transform:translateY(-1px)}
.fk-btn-final-outline{background:transparent;color:#F2ECD8;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:600;font-size:16px;border:1.5px solid rgba(94,226,199,.4);display:inline-block;margin:0 8px 8px;transition:all .2s}
.fk-btn-final-outline:hover{border-color:#5EE2C7}

/* Footer overrides scoped to FK page only */
body.page-final-kingdom footer{background:#040A0E;border-top:1px solid #1A3A40}
body.page-final-kingdom .footer-logo{color:#5EE2C7;opacity:.7}
body.page-final-kingdom .footer-links a{color:#7AA8B0}
body.page-final-kingdom .footer-links a:hover{color:#5EE2C7}
body.page-final-kingdom .footer-copy{color:#4A6870}

@media (max-width:1024px){
  .fk-hero{padding:3.5rem 2rem}
  .fk-hero-title{font-size:72px}
  .fk-hero-tag{font-size:20px}
  .fk-aud-cards{grid-template-columns:1fr}
  .fk-other-series-grid{grid-template-columns:1fr}
  .fk-fs-content{padding:0 2rem}
  .fk-fs-title{font-size:34px}
  .fk-manifesto,.fk-books-section,.fk-audience,.fk-final,.fk-more-strip,.fk-age-bar{padding-left:2rem;padding-right:2rem}
}
@media (max-width:640px){
  .fk-hero{padding:2.5rem 1.2rem;min-height:520px}
  .fk-hero-title{font-size:54px}
  .fk-hero-tag{font-size:17px;white-space:normal;max-width:none}
  .fk-hero-sub{font-size:15px}
  .fk-btn-primary,.fk-btn-secondary{display:block;text-align:center;width:100%}
  .fk-buttons{flex-direction:column;align-items:stretch}
  .fk-stat-row{gap:1.5rem}
  .fk-age-bar{padding:1rem 1.2rem}
  .fk-manifesto{padding:3rem 1.2rem}
  .fk-manifesto-title{font-size:30px}
  .fk-manifesto-body{font-size:16px}
  .fk-feature-strip{height:auto;padding:3rem 0}
  .fk-fs-content{padding:0 1.2rem}
  .fk-fs-title{font-size:28px}
  .fk-books-section{padding:3rem 1.2rem}
  .fk-section-title{font-size:30px}
  .fk-book-card{grid-template-columns:1fr;padding:1.5rem;gap:1.2rem;text-align:center}
  .fk-book-cover-wrap{max-width:200px;margin:0 auto;aspect-ratio:5/8}
  .fk-book-title{font-size:26px}
  .fk-book-actions{justify-content:center;flex-direction:column;align-items:stretch}
  .fk-btn-signed,.fk-btn-sample{text-align:center}
  .fk-audience{padding:3rem 1.2rem}
  .fk-aud-title{font-size:28px}
  .fk-final{padding:3rem 1.2rem}
  .fk-final-title{font-size:30px}
  .fk-btn-final,.fk-btn-final-outline{display:block;margin:8px 0;text-align:center}
  .fk-more-strip{padding:2.5rem 1.2rem}
}


/* =====================================================================
   Homepage styles
   Ported from MyBoys3_Homepage_Mockup.html
   Conflicting rules scoped to body.page-home so they don't override
   the VM page (which already defines .final-cta, .section-title differently).
   ===================================================================== */

/* HERO with atmospheric Summer of the Woods background */
.home-hero{position:relative;padding:5.5rem 4rem 4.5rem;overflow:hidden;min-height:640px;color:#FFF}
.home-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/home-hero.jpg');background-size:cover;background-position:center 30%;filter:brightness(.5) saturate(1.1);z-index:0}
.home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.55) 0%,rgba(28,43,26,.9) 100%);z-index:1}
.home-hero-grid{position:relative;z-index:2;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center}
.home-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.home-title{font-family:'Playfair Display',serif;font-size:64px;font-weight:900;line-height:1;color:#F2ECD8;margin-bottom:.6rem;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.home-title em{font-style:italic;color:#C9A84C;display:block;font-size:.95em}
.home-tag{font-family:'Playfair Display',serif;font-size:22px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem;line-height:1.4;max-width:720px;white-space:nowrap}
.home-sub{font-size:17px;color:#B5C5A3;line-height:1.7;margin-bottom:2rem;max-width:520px;font-weight:300}
.home-stat-row{display:flex;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap}
.home-stat-num{font-family:'Playfair Display',serif;font-size:30px;font-weight:900;color:#C9A84C;line-height:1}
.home-stat-label{font-size:12px;color:#A8C098;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.home-buttons{display:flex;gap:1rem;flex-wrap:wrap}

.home-book-stack{position:relative;height:480px;display:flex;align-items:center;justify-content:center}
.stack-book{position:absolute;border-radius:4px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.6)}
.stack-book img{width:100%;height:auto;display:block}
.stack-book.s1{width:160px;transform:rotate(-15deg) translate(-150px,15px);z-index:1}
.stack-book.s2{width:180px;transform:rotate(-5deg) translate(-50px,-10px);z-index:3}
.stack-book.s3{width:180px;transform:rotate(5deg) translate(50px,-10px);z-index:3}
.stack-book.s4{width:160px;transform:rotate(15deg) translate(150px,15px);z-index:1}
.stack-book.center{width:200px;z-index:4;transform:translateY(-25px)}

/* PERSONAL INTRO with headshot */
.steven-intro{background:#F4F0E4;padding:4rem;border-bottom:1px solid #E0DCC8}
.steven-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:center}
.steven-avatar{position:relative}
.steven-avatar img{width:200px;height:200px;border-radius:50%;object-fit:cover;border:6px solid #FFF;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.steven-avatar::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid #C9A84C;opacity:.5;animation:pulse 4s ease-in-out infinite;pointer-events:none}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.04);opacity:.2}}
.steven-greeting{font-family:'Playfair Display',serif;font-size:38px;color:#1C2B1A;font-weight:900;margin-bottom:.6rem;line-height:1.15}
.steven-greeting em{color:#8B6914;font-style:italic}
.steven-bio{font-size:17px;color:#4A4A40;line-height:1.7;margin-bottom:1.2rem;font-weight:300;max-width:640px}
.steven-creds{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:13px;color:#7A7A68;letter-spacing:.03em}
.steven-creds strong{color:#8B6914;font-weight:700}

/* THREE SERIES showcase */
.series-showcase{padding:5rem 4rem;background:#FAFAF7}
.series-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.5rem;max-width:1300px;margin:0 auto}
.series-card{background:#FFF;border:1px solid #E0DCC8;border-radius:12px;padding:2rem;text-align:center;transition:all .3s;display:flex;flex-direction:column}
.series-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.08)}
.series-card.featured{border-color:#C9A84C;background:linear-gradient(180deg,#FFF,#FAF5E8)}
.series-card.featured .series-stack{height:260px}
.series-stack{position:relative;height:200px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center}
.series-stack img{position:absolute;border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.series-stack img:nth-child(1){left:50%;transform:translateX(-50%) rotate(-8deg) translateX(-30px);width:90px;z-index:1}
.series-stack img:nth-child(2){left:50%;transform:translateX(-50%);width:100px;z-index:3}
.series-stack img:nth-child(3){left:50%;transform:translateX(-50%) rotate(8deg) translateX(30px);width:90px;z-index:2}
.series-card.featured .series-stack img:nth-child(1){width:110px}
.series-card.featured .series-stack img:nth-child(2){width:130px}
.series-card.featured .series-stack img:nth-child(3){width:110px}
.series-name{font-family:'Playfair Display',serif;font-size:24px;color:#1C2B1A;font-weight:700;margin-bottom:.4rem}
.series-tag{font-size:11px;color:#8B6914;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.series-card.featured .series-name{font-size:28px;color:#8B6914}
.series-desc{font-size:15px;color:#5A5A50;line-height:1.6;margin-bottom:1.5rem;flex-grow:1}
.series-link{display:inline-block;color:#2E4A2A;text-decoration:none;font-weight:600;font-size:14px;border-bottom:1.5px solid #C9A84C;padding-bottom:2px;align-self:center}
.series-card.featured .series-link{color:#8B6914}

/* VIRGINIA MYSTERIES FEATURE STRIP (homepage only — distinct from .vm-* on VM page) */
.vm-feature{position:relative;height:540px;overflow:hidden;display:flex;align-items:center}
.vm-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/home-vm-feature.jpg');background-size:cover;background-position:center;z-index:0}
.vm-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,43,26,.95) 0%,rgba(28,43,26,.78) 38%,rgba(28,43,26,.25) 70%,transparent 100%);z-index:1}
.vm-feature-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.vm-feature-inner{max-width:580px}
.vm-feature-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.vm-feature-title{font-family:'Playfair Display',serif;font-size:52px;line-height:1.05;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.vm-feature-title em{color:#C9A84C;font-style:italic}
.vm-feature-body{font-size:17px;color:#C8D8B5;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.vm-feature-btn{display:inline-block;background:#C9A84C;color:#1C2B1A;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;transition:background .2s}
.vm-feature-btn:hover{background:#D4B860}

/* VM 12-BOOK SHOWCASE */
.vm-showcase{padding:4rem;background:#0F1F12}
.vm-showcase-header{text-align:center;color:#E8DFC4;margin-bottom:2.5rem}
.vm-showcase-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#7A9A6A;font-weight:600;margin-bottom:.6rem}
.vm-showcase-title{font-family:'Playfair Display',serif;font-size:30px;color:#F2ECD8;font-weight:700}
.vm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:1100px;margin:0 auto 2rem}
.vm-grid-item{aspect-ratio:5/8;border-radius:3px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.5);transition:transform .3s}
.vm-grid-item:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(201,168,76,.3)}
.vm-grid-item img{width:100%;height:100%;object-fit:cover;display:block}
.vm-showcase-cta{text-align:center}

/* BROTHER WARS FEATURE (homepage only) */
.bw-feature{position:relative;padding:5rem 4rem;color:#FFF;overflow:hidden;min-height:480px;display:flex;align-items:center}
.bw-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/home-bw-feature.jpg');background-size:cover;background-position:center;z-index:0}
.bw-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(20,40,60,.25) 30%,rgba(20,40,60,.78) 62%,rgba(15,30,50,.95) 100%);z-index:1}
.bw-feature-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;width:100%;display:flex;justify-content:flex-end}
.bw-feature-inner{max-width:540px;text-align:left}
.bw-feature-label{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.22em;color:#FFB870;font-weight:400;margin-bottom:1rem}
.bw-feature-title{font-family:'Bebas Neue',sans-serif;font-size:68px;line-height:.95;color:#FFF;margin-bottom:1.2rem;letter-spacing:.02em}
.bw-feature-title em{font-style:normal;color:#E07A1F;transform:skewX(-3deg);display:inline-block}
.bw-feature-body{font-size:16px;color:#C8D8E8;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.bw-feature-btn{background:#E07A1F;color:#FFF;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;box-shadow:0 6px 24px rgba(224,122,31,.4)}
.bw-feature-btn:hover{background:#F08A2F}

/* FINAL KINGDOM FEATURE (homepage only) */
.fk-feature{position:relative;padding:5rem 4rem;color:#FFF;overflow:hidden;min-height:480px;display:flex;align-items:center}
.fk-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/home-fk-feature.jpg');background-size:cover;background-position:center;z-index:0}
.fk-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,25,.95) 0%,rgba(10,25,30,.75) 35%,rgba(8,18,28,.3) 70%,rgba(8,15,25,.6) 100%);z-index:1}
.fk-feature-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;width:100%}
.fk-feature-inner{max-width:540px}
.fk-feature-label{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:.22em;color:#5EE2C7;font-weight:400;margin-bottom:1rem}
.fk-feature-title{font-family:'Playfair Display',serif;font-size:56px;line-height:1;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.fk-feature-title em{font-style:italic;color:#5EE2C7}
.fk-feature-body{font-size:16px;color:#A8C0BA;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.fk-feature-btn{background:#5EE2C7;color:#0A1318;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:15px;display:inline-block;box-shadow:0 6px 24px rgba(94,226,199,.35)}
.fk-feature-btn:hover{background:#7EF0D8}

/* WHO IT'S FOR (homepage audience strip) */
.audience{background:#FFF;padding:5rem 4rem;border-top:1px solid #E0DCC8}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1200px;margin:3rem auto 0}
.aud-card{text-align:center;padding:1.5rem 1rem}
.aud-icon{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.aud-icon-1{background:linear-gradient(135deg,#C9A84C,#A88838)}
.aud-icon-2{background:linear-gradient(135deg,#7A9A6A,#5A7A4A)}
.aud-icon-3{background:linear-gradient(135deg,#8B6914,#6A4F0E)}
.aud-icon-4{background:linear-gradient(135deg,#2E4A2A,#1C2B1A)}
.aud-icon svg{width:30px;height:30px;color:#FFF}
.aud-card-title{font-family:'Playfair Display',serif;font-size:18px;color:#1C2B1A;font-weight:700;margin-bottom:.5rem}
.aud-card-desc{font-size:14px;color:#5A5A50;line-height:1.6}

/* TESTIMONIALS (homepage section uses .testimonials; VM uses .testimonials-section) */
.testimonials{padding:5rem 4rem;background:#F4F0E4}

/* Buttons unique to homepage final CTA */
.btn-gold{background:#C9A84C;color:#1C2B1A;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:700;font-size:16px;display:inline-block;margin:0 8px 8px}
.btn-gold:hover{background:#D4B860}
.btn-outline-gold{background:transparent;color:#E8DFC4;padding:14px 34px;border-radius:3px;text-decoration:none;font-weight:600;font-size:16px;border:1.5px solid #C9A84C;display:inline-block;margin:0 8px 8px}

/* Homepage-scoped overrides — these conflict with VM page, so only apply on home */
body.page-home .section-title{font-size:42px}
body.page-home .final-cta{background:#1C2B1A;padding:5rem 4rem;text-align:center;color:#E8DFC4}
body.page-home .final-cta-title{font-family:'Playfair Display',serif;font-size:44px;color:#F2ECD8;font-weight:900;margin-bottom:.8rem;line-height:1.15}
body.page-home .final-cta-title em{font-style:italic;color:#C9A84C}
body.page-home .final-cta-sub{font-size:18px;color:#A8B890;margin-bottom:2rem;font-weight:300;max-width:580px;margin-left:auto;margin-right:auto}

@media (max-width:1024px){
  .home-hero{padding:3.5rem 2rem}
  .home-hero-grid{grid-template-columns:1fr;gap:3rem;text-align:center}
  .home-sub{margin-left:auto;margin-right:auto}
  .home-buttons,.home-stat-row{justify-content:center}
  .home-book-stack{height:380px}
  .steven-intro{padding:3rem 2rem}
  .steven-inner{grid-template-columns:1fr;text-align:center;gap:1.5rem}
  .steven-avatar img{width:160px;height:160px}
  .steven-creds{justify-content:center}
  .series-grid{grid-template-columns:1fr}
  .vm-grid{grid-template-columns:repeat(4,1fr)}
  .vm-feature-content,.bw-feature-content,.fk-feature-content{padding:0 2rem}
  .bw-feature-content{justify-content:flex-start}
  .vm-feature-title{font-size:38px}
  .bw-feature-title{font-size:54px}
  .fk-feature-title{font-size:42px}
  .audience-grid{grid-template-columns:repeat(2,1fr)}
  .series-showcase,.audience,.testimonials{padding-left:2rem;padding-right:2rem}
  .vm-showcase,.bw-feature,.fk-feature{padding-left:2rem;padding-right:2rem}
  body.page-home .final-cta{padding-left:2rem;padding-right:2rem}
}
@media (max-width:640px){
  .home-hero{padding:2.5rem 1.2rem;min-height:560px}
  .home-title{font-size:42px}
  .home-tag{font-size:17px;white-space:normal;max-width:none}
  .home-sub{font-size:15px}
  .home-stat-row{gap:1.5rem}
  .home-stat-num{font-size:24px}
  .home-book-stack{height:280px}
  .stack-book.s1{width:80px;transform:rotate(-15deg) translate(-80px,15px)}
  .stack-book.s2{width:90px;transform:rotate(-5deg) translate(-25px,-10px)}
  .stack-book.s3{width:90px;transform:rotate(5deg) translate(25px,-10px)}
  .stack-book.s4{width:80px;transform:rotate(15deg) translate(80px,15px)}
  .stack-book.center{width:110px}
  .home-buttons{flex-direction:column;align-items:stretch}
  .steven-greeting{font-size:28px}
  .steven-bio{font-size:15px}
  body.page-home .section-title{font-size:30px}
  .series-showcase{padding:3rem 1.2rem}
  .vm-feature{height:auto;padding:3rem 0}
  .vm-feature-content{padding:0 1.2rem}
  .vm-feature-title{font-size:30px}
  .vm-showcase{padding:3rem 1.2rem}
  .vm-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .bw-feature,.fk-feature{padding:3rem 1.2rem}
  .bw-feature-title{font-size:42px}
  .fk-feature-title{font-size:32px}
  .audience{padding:3rem 1.2rem}
  .audience-grid{grid-template-columns:1fr}
  .testimonials{padding:3rem 1.2rem}
  body.page-home .final-cta{padding:3rem 1.2rem}
  body.page-home .final-cta-title{font-size:30px}
  .btn-gold,.btn-outline-gold{display:block;margin:8px 0;text-align:center}
}


/* =====================================================================
   Teachers & Librarians page styles
   Ported from MyBoys3_TeachersLibrarians_Page.html
   Page slug `teachers-librarians` → body.page-teachers-librarians
   Conflicting .section-* and .final-cta* are scoped to that body class.
   ===================================================================== */

/* HERO */
.t-hero{position:relative;padding:5rem 4rem 4rem;overflow:hidden;min-height:520px;color:#FFF}
.t-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/teach-hero.jpg');background-size:cover;background-position:center;filter:brightness(.55) saturate(1.1);z-index:0}
.t-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.6) 0%,rgba(28,43,26,.92) 100%);z-index:1}
.t-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto;text-align:center}
.t-breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#A8C098;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem}
.t-breadcrumb a{color:#A8C098;text-decoration:none}
.t-breadcrumb a:hover{color:#C9A84C}
.t-breadcrumb span{color:#7A9075}
.t-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.t-title{font-family:'Playfair Display',serif;font-size:60px;font-weight:900;line-height:1.05;color:#F2ECD8;margin-bottom:1rem;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.t-title em{font-style:italic;color:#C9A84C}
.t-tag{font-family:'Playfair Display',serif;font-size:22px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem}
.t-sub{font-size:17px;color:#B5C5A3;line-height:1.7;margin-bottom:2rem;max-width:680px;margin-left:auto;margin-right:auto;font-weight:300}
.t-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}

/* TRUST BAR */
.trust-bar{background:#0F1F12;padding:2rem 4rem;color:#E8DFC4;border-bottom:1px solid #2A3A26}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto;text-align:center}
.trust-num{font-family:'Playfair Display',serif;font-size:36px;color:#C9A84C;font-weight:900;line-height:1;margin-bottom:.4rem}
.trust-label{font-size:11px;color:#7A9A6A;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}

/* SECTION BASE (Teachers-only) */
section.t-section{padding:5rem 4rem}

/* ATOS TABLE */
.atos-section{background:#FAFAF7}
.atos-wrap{max-width:900px;margin:0 auto;background:#FFF;border:1px solid #E0DCC8;border-radius:10px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.04)}
.atos-table{width:100%;border-collapse:collapse}
.atos-table thead{background:#1C2B1A;color:#E8DFC4}
.atos-table th{padding:1rem 1.5rem;text-align:left;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.atos-table th.atos-th{text-align:right;width:120px}
.atos-table tbody tr{border-bottom:1px solid #F0EBD8;transition:background .15s}
.atos-table tbody tr:hover{background:#FAF5E8}
.atos-table tbody tr:last-child{border-bottom:none}
.atos-table td{padding:.9rem 1.5rem;font-size:15px}
.num-cell{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#8B6914;font-weight:700;width:100px}
.title-cell{color:#1C2B1A;font-weight:600}
.atos-cell{text-align:right;font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#8B6914}
.award-tag{display:inline-block;background:#EAF3DE;color:#3B6D11;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:3px;border:1px solid #A8C498;margin-left:.5rem;vertical-align:middle;text-transform:uppercase}
.atos-footnote{text-align:center;font-size:14px;color:#7A7A68;margin-top:1.5rem;font-style:italic}

/* RESOURCE CARDS GRID */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto}
.t-card{background:#FFF;border:1px solid #E0DCC8;border-radius:10px;padding:2rem;transition:all .25s}
.t-card:hover{border-color:#C9A84C;box-shadow:0 12px 30px rgba(0,0,0,.06);transform:translateY(-3px)}
.t-card-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#C9A84C,#A88838);display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.2rem;color:#FFF}
.t-card-icon svg{width:24px;height:24px}
.t-card-title{font-family:'Playfair Display',serif;font-size:20px;color:#1C2B1A;font-weight:700;margin-bottom:.6rem;line-height:1.25}
.t-card-desc{font-size:15px;color:#5A5A50;line-height:1.65;margin-bottom:1rem;font-weight:300}
.t-card-link{font-size:13px;font-weight:600;color:#2E4A2A;text-decoration:none;border-bottom:1.5px solid #C9A84C;padding-bottom:1px}

/* SOL ALIGNMENT — dark forest feature */
.sol-section{background:#1C2B1A;color:#E8DFC4;padding:5rem 4rem}
.sol-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.sol-header.section-eyebrow,.sol-header .section-eyebrow{color:#C9A84C}
.sol-title{font-family:'Playfair Display',serif;font-size:38px;color:#F2ECD8;font-weight:900;line-height:1.15;margin-bottom:1rem}
.sol-title em{font-style:italic;color:#C9A84C}
.sol-body{font-size:16px;color:#A8B890;line-height:1.7;font-weight:300;margin-bottom:1.2rem}
.sol-checklist{list-style:none;padding:0}
.sol-checklist li{padding:.7rem 0;border-bottom:1px solid #2A3A26;font-size:15px;color:#C8D8B5;display:flex;align-items:flex-start;gap:.8rem}
.sol-checklist li:last-child{border:none}
.sol-checklist li::before{content:'';width:18px;height:18px;border-radius:50%;background:#C9A84C;flex-shrink:0;margin-top:3px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231C2B1A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}

/* ONE BOOK ONE SCHOOL feature strip */
.obos-feature{position:relative;height:480px;overflow:hidden;display:flex;align-items:center}
.obos-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/teach-obos.jpg');background-size:cover;background-position:center;z-index:0}
.obos-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,43,26,.95) 0%,rgba(28,43,26,.78) 40%,rgba(28,43,26,.25) 72%,transparent 100%);z-index:1}
.obos-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.obos-inner{max-width:560px}
.obos-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.obos-title{font-family:'Playfair Display',serif;font-size:44px;line-height:1.1;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.obos-title em{color:#C9A84C;font-style:italic}
.obos-body{font-size:16px;color:#C8D8B5;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.obos-btn{display:inline-block;background:#C9A84C;color:#1C2B1A;padding:13px 28px;border-radius:3px;text-decoration:none;font-weight:700;font-size:14px;transition:background .2s}
.obos-btn:hover{background:#D4B860}

/* BULK ORDERS */
.bulk-section{background:#F4F0E4}
.bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:1100px;margin:0 auto;align-items:center}
.bulk-content .section-title{font-size:36px}
.bulk-cta-card{background:#FFF;border:2px solid #C9A84C;border-radius:10px;padding:2.5rem;text-align:center}
.bulk-cta-title{font-family:'Playfair Display',serif;font-size:24px;color:#1C2B1A;font-weight:700;margin-bottom:.6rem}
.bulk-cta-sub{font-size:15px;color:#5A5A50;margin-bottom:1.5rem;line-height:1.6}
.bulk-cta-tags{display:flex;gap:.6rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.bulk-tag{background:#F4F0E4;color:#8B6914;font-size:12px;font-weight:600;padding:5px 12px;border-radius:3px;border:1px solid #DDD8C4;letter-spacing:.04em}

/* AUTHOR VISIT cross-promo */
.av-promo{background:#243322;padding:4rem;color:#E8DFC4}
.av-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.av-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#7A9A6A;font-weight:600;margin-bottom:.6rem}
.av-title{font-family:'Playfair Display',serif;font-size:30px;color:#F2ECD8;font-weight:700;line-height:1.2;margin-bottom:1rem}
.av-body{font-size:16px;color:#A8B890;line-height:1.7;font-weight:300;max-width:580px}

/* EDUCATOR TESTIMONIALS — distinct class name from other testimonial blocks */
.t-testimonials{background:#FFF;border-top:1px solid #E0DCC8}
.t-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;max-width:1100px;margin:3rem auto 0}
.t-test{background:#FAFAF7;border-left:4px solid #C9A84C;padding:2rem;border-radius:0 8px 8px 0}
.t-test-quote{font-family:'Playfair Display',serif;font-size:17px;color:#1C2B1A;line-height:1.6;font-style:italic;margin-bottom:1rem}
.t-test-attrib{font-size:13px;color:#7A7A68;font-weight:600;letter-spacing:.02em}

/* Scoped overrides — these would clash with VM (.final-cta bronze, .section-title 40px)
   and with .section-eyebrow VM color (#7A8A6A vs Teachers #8B6914). */
body.page-teachers-librarians .section-header{text-align:center;max-width:780px;margin:0 auto 3rem}
body.page-teachers-librarians .section-eyebrow{color:#8B6914}
body.page-teachers-librarians .section-title{font-size:38px}
body.page-teachers-librarians .final-cta{background:#1C2B1A;padding:5rem 4rem;text-align:center;color:#E8DFC4}
body.page-teachers-librarians .final-cta-title{font-family:'Playfair Display',serif;font-size:42px;color:#F2ECD8;font-weight:900;margin-bottom:.8rem;line-height:1.15}
body.page-teachers-librarians .final-cta-title em{font-style:italic;color:#C9A84C}
body.page-teachers-librarians .final-cta-sub{font-size:18px;color:#A8B890;margin-bottom:2rem;font-weight:300;max-width:580px;margin-left:auto;margin-right:auto}

@media (max-width:1024px){
  .t-hero{padding:3.5rem 2rem}
  .t-title{font-size:42px}
  .trust-bar{padding:1.5rem 2rem}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  section.t-section{padding:3.5rem 2rem}
  .card-grid{grid-template-columns:1fr}
  .sol-section{padding:3.5rem 2rem}
  .sol-inner{grid-template-columns:1fr;gap:2rem}
  .obos-feature{height:auto;padding:3rem 0}
  .obos-content{padding:0 2rem}
  .obos-title{font-size:32px}
  .bulk-grid{grid-template-columns:1fr;gap:2rem}
  .av-promo{padding:3rem 2rem}
  .av-inner{grid-template-columns:1fr;text-align:center}
  .t-test-grid{grid-template-columns:1fr}
  body.page-teachers-librarians .final-cta{padding-left:2rem;padding-right:2rem}
}
@media (max-width:640px){
  .t-hero{padding:2.5rem 1.2rem}
  .t-title{font-size:34px}
  .t-tag{font-size:17px}
  .t-buttons{flex-direction:column;align-items:stretch}
  .trust-grid{grid-template-columns:1fr}
  .trust-num{font-size:28px}
  section.t-section{padding:3rem 1.2rem}
  body.page-teachers-librarians .section-title{font-size:28px}
  .atos-table th{padding:.8rem 1rem;font-size:11px}
  .atos-table td{padding:.7rem 1rem;font-size:14px}
  .num-cell{font-size:10px;width:60px}
  .atos-cell{font-size:16px}
  .sol-section{padding:3rem 1.2rem}
  .sol-title{font-size:28px}
  .obos-feature{padding:2.5rem 0}
  .obos-content{padding:0 1.2rem}
  .obos-title{font-size:26px}
  .bulk-cta-card{padding:1.8rem}
  .av-promo{padding:3rem 1.2rem}
  .av-title{font-size:24px}
  body.page-teachers-librarians .final-cta{padding:3rem 1.2rem}
  body.page-teachers-librarians .final-cta-title{font-size:28px}
}


/* =====================================================================
   School Visits / Author Visits page styles
   Ported from MyBoys3_SchoolVisits_Page.html
   Page slug `school-visits` → body.page-school-visits
   .trust-bar/.trust-grid already exist (from Teachers); skip dupes.
   .section-* conflicts scoped to body.page-school-visits.
   ===================================================================== */

/* HERO with author + artwork */
.sv-hero{position:relative;padding:5rem 4rem 4rem;overflow:hidden;min-height:580px;color:#FFF}
.sv-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/sv-hero.jpg');background-size:cover;background-position:center 30%;filter:brightness(.5) saturate(1.1);z-index:0}
.sv-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.55) 0%,rgba(28,43,26,.92) 100%);z-index:1}
.sv-hero-grid{position:relative;z-index:2;max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:3.5rem;align-items:center}
.sv-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#A8C098;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem}
.sv-breadcrumb a{color:#A8C098;text-decoration:none}
.sv-breadcrumb a:hover{color:#C9A84C}
.sv-breadcrumb span{color:#7A9075}
.sv-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.sv-title{font-family:'Playfair Display',serif;font-size:60px;font-weight:900;line-height:1.05;color:#F2ECD8;margin-bottom:1rem;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.sv-title em{font-style:italic;color:#C9A84C}
.sv-tag{font-family:'Playfair Display',serif;font-size:22px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem;line-height:1.4}
.sv-sub{font-size:17px;color:#B5C5A3;line-height:1.7;margin-bottom:2rem;max-width:540px;font-weight:300}
.sv-buttons{display:flex;gap:1rem;flex-wrap:wrap}

/* Author portrait card */
.sv-author-card{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.sv-author-img{width:100%;height:480px;object-fit:cover;object-position:center top;display:block}
.sv-author-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.8rem 1.8rem;background:linear-gradient(to top,rgba(10,20,10,.95) 0%,rgba(10,20,10,.7) 60%,transparent 100%)}
.sv-author-overlay::before{content:'';position:absolute;top:0;left:1.8rem;right:1.8rem;height:2px;background:linear-gradient(to right,#C9A84C,transparent)}
.sv-author-name{font-family:'Playfair Display',serif;font-size:22px;color:#F2ECD8;font-weight:700;margin-bottom:.3rem}
.sv-author-role{font-size:11px;color:#C9A84C;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:.9rem}
.sv-author-quote{font-family:'Playfair Display',serif;font-size:14px;color:rgba(200,216,181,.9);font-style:italic;line-height:1.55}

/* SECTION BASE (SV) */
section.sv-section{padding:5rem 4rem}

/* WHAT TO EXPECT */
.intro-section{background:#F4F0E4}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:center}
.intro-content .section-eyebrow{text-align:left}
.intro-content .section-title{text-align:left;font-size:36px}
.intro-content .section-sub{text-align:left;margin-bottom:1.2rem}
.intro-callouts{background:#FFF;border:2px solid #C9A84C;border-radius:10px;padding:2rem}
.intro-callouts-title{font-family:'Playfair Display',serif;font-size:18px;color:#1C2B1A;font-weight:700;margin-bottom:1.2rem}
.intro-callout-list{list-style:none;padding:0}
.intro-callout-list li{padding:.7rem 0;border-bottom:1px solid #F0EBD8;font-size:15px;color:#4A4A40;display:flex;align-items:flex-start;gap:.8rem}
.intro-callout-list li:last-child{border:none}
.intro-callout-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:#C9A84C;flex-shrink:0;margin-top:9px}

/* VISIT OPTIONS GRID */
.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.option-card{background:#FFF;border:1px solid #E0DCC8;border-radius:12px;padding:2rem;transition:all .25s;position:relative}
.option-card:hover{border-color:#C9A84C;box-shadow:0 14px 36px rgba(0,0,0,.06);transform:translateY(-3px)}
.option-badge{position:absolute;top:-12px;left:1.5rem;background:#8B6914;color:#FFF8E7;font-size:10px;font-weight:700;letter-spacing:.12em;padding:5px 12px;border-radius:2px;text-transform:uppercase}
.option-card.popular{border-color:#C9A84C;background:linear-gradient(180deg,#FFFEFA,#FAF5E8)}
.option-card.popular .option-badge{background:#C9A84C;color:#1C2B1A}
.option-title{font-family:'Playfair Display',serif;font-size:24px;color:#1C2B1A;font-weight:700;margin-bottom:.5rem;margin-top:.6rem}
.option-meta{display:flex;gap:1rem;font-size:13px;color:#7A7A68;margin-bottom:1rem;flex-wrap:wrap}
.option-meta-item{display:flex;align-items:center;gap:5px}
.option-desc{font-size:15px;color:#4A4A40;line-height:1.65;margin-bottom:1.2rem;font-weight:300}
.option-includes{font-size:13px;color:#8B6914;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem}
.option-list{list-style:none;padding:0;margin-bottom:1.2rem}
.option-list li{padding:.3rem 0;font-size:14px;color:#4A4A40;display:flex;align-items:flex-start;gap:.6rem}
.option-list li::before{content:'\2713';color:#7A9A6A;font-weight:700;flex-shrink:0}

/* SAMPLE DAY */
.sample-day{background:#1C2B1A;color:#E8DFC4;padding:5rem 4rem}
.sample-day .section-header{color:#E8DFC4}
.sample-day .section-eyebrow{color:#C9A84C}
.sample-day .section-title{color:#F2ECD8}
.sample-day .section-sub{color:#A8B890}
.timeline-list{max-width:760px;margin:0 auto;position:relative}
.timeline-list::before{content:'';position:absolute;left:80px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#C9A84C,#8B6914);z-index:1}
.timeline-row{display:grid;grid-template-columns:80px 1fr;gap:2rem;padding:1.2rem 0;position:relative;z-index:2}
.timeline-time{font-family:'Playfair Display',serif;font-size:16px;color:#C9A84C;font-weight:700;text-align:right}
.timeline-content{background:rgba(232,223,196,.06);border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:1rem 1.2rem;position:relative}
.timeline-content::before{content:'';position:absolute;left:-15px;top:18px;width:12px;height:12px;border-radius:50%;background:#C9A84C;box-shadow:0 0 0 4px #1C2B1A}
.timeline-event{font-family:'Playfair Display',serif;font-size:17px;color:#F2ECD8;font-weight:700;margin-bottom:.3rem}
.timeline-desc{font-size:14px;color:#A8B890;line-height:1.55}

/* TOPICS / THEMES */
.topics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1100px;margin:0 auto}
.topic-card{background:#FFF;border:1px solid #E0DCC8;border-radius:8px;padding:1.5rem;transition:all .2s}
.topic-card:hover{border-color:#C9A84C;background:#FAF5E8}
.topic-icon{width:40px;height:40px;border-radius:50%;background:#F4F0E4;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.8rem;color:#8B6914}
.topic-icon svg{width:20px;height:20px}
.topic-title{font-family:'Playfair Display',serif;font-size:17px;color:#1C2B1A;font-weight:700;margin-bottom:.4rem}
.topic-desc{font-size:13px;color:#5A5A50;line-height:1.55}

/* FEATURE STRIP — past schools */
.past-feature{position:relative;height:480px;overflow:hidden;display:flex;align-items:center}
.past-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/sv-past.jpg');background-size:cover;background-position:center;z-index:0}
.past-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,43,26,.95) 0%,rgba(28,43,26,.78) 40%,rgba(28,43,26,.25) 72%,transparent 100%);z-index:1}
.past-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.past-inner{max-width:580px}
.past-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.past-title{font-family:'Playfair Display',serif;font-size:42px;line-height:1.1;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.past-title em{color:#C9A84C;font-style:italic}
.past-body{font-size:16px;color:#C8D8B5;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.past-stats{display:flex;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}
.past-stat{display:flex;flex-direction:column}
.past-stat-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:#C9A84C;line-height:1}
.past-stat-label{font-size:11px;color:#A8C098;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}

/* SV TESTIMONIALS */
.sv-test{background:#F4F0E4}
.sv-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;max-width:1100px;margin:3rem auto 0}
.sv-test-card{background:#FFF;border-left:4px solid #C9A84C;padding:2rem;border-radius:0 8px 8px 0}
.sv-quote{font-family:'Playfair Display',serif;font-size:17px;color:#1C2B1A;line-height:1.6;font-style:italic;margin-bottom:1rem}
.sv-attrib{font-size:13px;color:#7A7A68;font-weight:600;letter-spacing:.02em}

/* FAQ */
.faq-section{background:#FFF;border-top:1px solid #E0DCC8}
.faq-list{max-width:840px;margin:0 auto}
.faq-item{border-bottom:1px solid #E0DCC8;padding:1.5rem 0}
.faq-item:last-child{border-bottom:none}
.faq-q{font-family:'Playfair Display',serif;font-size:19px;color:#1C2B1A;font-weight:700;margin-bottom:.6rem;line-height:1.3}
.faq-a{font-size:15px;color:#5A5A50;line-height:1.7;font-weight:300}

/* BOOKING CTA */
.booking-section{background:linear-gradient(135deg,#1C2B1A 0%,#243322 100%);padding:5rem 4rem;color:#E8DFC4}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:center}
.booking-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:.8rem}
.booking-title{font-family:'Playfair Display',serif;font-size:42px;color:#F2ECD8;font-weight:900;line-height:1.15;margin-bottom:1rem}
.booking-title em{font-style:italic;color:#C9A84C}
.booking-body{font-size:16px;color:#A8B890;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.booking-form{background:rgba(232,223,196,.05);border:1px solid rgba(201,168,76,.25);border-radius:12px;padding:2rem}
.booking-form-title{font-family:'Playfair Display',serif;font-size:20px;color:#F2ECD8;font-weight:700;margin-bottom:.8rem}
.booking-form-body{font-size:14px;color:#A8B890;margin-bottom:1.2rem;line-height:1.6}
.booking-fields{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}
.booking-fields input,.booking-fields textarea{background:rgba(255,255,255,.06);border:1px solid rgba(201,168,76,.25);border-radius:5px;padding:11px 14px;color:#E8DFC4;font-family:inherit;font-size:14px;outline:none}
.booking-fields input:focus,.booking-fields textarea:focus{border-color:#C9A84C}
.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#7A9075}
.booking-btn{background:#C9A84C;color:#1C2B1A;padding:13px 20px;border:none;border-radius:5px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;width:100%;transition:background .2s}
.booking-btn:hover{background:#D4B860}

/* Scoped overrides — these would clash with VM (.section-eyebrow olive, .section-title 40px) */
body.page-school-visits .section-header{text-align:center;max-width:780px;margin:0 auto 3rem}
body.page-school-visits .section-eyebrow{color:#8B6914}
body.page-school-visits .section-title{font-size:38px}

@media (max-width:1024px){
  .sv-hero{padding:3.5rem 2rem}
  .sv-hero-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .sv-sub{margin-left:auto;margin-right:auto}
  .sv-buttons{justify-content:center}
  .sv-title{font-size:44px}
  section.sv-section{padding:3.5rem 2rem}
  .sample-day{padding:3.5rem 2rem}
  .intro-grid{grid-template-columns:1fr;gap:2rem}
  .options-grid{grid-template-columns:1fr}
  .topics-grid{grid-template-columns:repeat(2,1fr)}
  .past-feature{height:auto;padding:3rem 0}
  .past-content{padding:0 2rem}
  .past-title{font-size:32px}
  .sv-test-grid{grid-template-columns:1fr}
  .booking-section{padding:3.5rem 2rem}
  .booking-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:640px){
  .sv-hero{padding:2.5rem 1.2rem}
  .sv-title{font-size:34px}
  .sv-tag{font-size:17px}
  .sv-author-img{height:320px}
  .sv-buttons{flex-direction:column;align-items:stretch}
  section.sv-section{padding:3rem 1.2rem}
  body.page-school-visits .section-title{font-size:28px}
  .options-grid,.topics-grid{grid-template-columns:1fr;gap:1rem}
  .sample-day{padding:3rem 1.2rem}
  .timeline-list::before{left:60px}
  .timeline-row{grid-template-columns:60px 1fr;gap:1rem}
  .timeline-time{font-size:13px}
  .timeline-event{font-size:15px}
  .past-feature{padding:2.5rem 0}
  .past-content{padding:0 1.2rem}
  .past-title{font-size:26px}
  .past-stats{gap:1.5rem}
  .past-stat-num{font-size:22px}
  .booking-section{padding:3rem 1.2rem}
  .booking-title{font-size:28px}
  .booking-form{padding:1.5rem}
}


/* =====================================================================
   Book detail page styles (template for all 18 book pages)
   Ported from MyBoys3_SOTW_BookPage.html
   Page content is wrapped in <div class="book-page">…</div> so all
   classes that conflict with VM/home/etc. can be scoped to that wrapper.
   This same wrapper will be reused on every future book detail page.
   ===================================================================== */

/* BOOK HERO — unique names, unscoped */
.book-hero{position:relative;padding:4rem;overflow:hidden;color:#FFF;min-height:680px}
.book-hero::before{content:'';position:absolute;inset:0;background-image:var(--book-hero-bg,url('assets/sotw-hero.jpg'));background-size:cover;background-position:center;filter:brightness(.4) saturate(1.1);z-index:0}
.book-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.6) 0%,rgba(28,43,26,.93) 100%);z-index:1}
.book-hero-grid{position:relative;z-index:2;max-width:1300px;margin:0 auto;display:grid;grid-template-columns:360px 1fr;gap:4rem;align-items:center}
.bh-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#A8C098;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem}
.bh-breadcrumb a{color:#A8C098;text-decoration:none}
.bh-breadcrumb a:hover{color:#C9A84C}
.bh-breadcrumb span{color:#7A9075}

/* Hero cover wrap — scoped to .book-page because VM defines .book-cover-display differently */
.book-page .book-cover-display{position:relative}
.book-page .book-cover-display img{width:100%;height:auto;border-radius:5px;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.cover-badge{position:absolute;top:-14px;left:-14px;background:#C9A84C;color:#1C2B1A;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:7px 16px;border-radius:2px;box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:3}
.cover-mini-details{margin-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cover-mini-detail{background:rgba(255,255,255,.06);border:1px solid rgba(201,168,76,.25);border-radius:5px;padding:.7rem .9rem;text-align:center}
.cmd-label{font-size:10px;color:#A8C098;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-weight:600}
.cmd-value{font-size:13px;color:#F2ECD8;font-weight:600}
.bh-series{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:.8rem}
.bh-title{font-family:'Playfair Display',serif;font-size:56px;font-weight:900;line-height:1.05;color:#F2ECD8;margin-bottom:.8rem;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.bh-title em{font-style:italic;color:#C9A84C}
.bh-tag{font-family:'Playfair Display',serif;font-size:20px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem;line-height:1.4}
.bh-intro{font-size:16px;color:#B5C5A3;line-height:1.7;margin-bottom:1.5rem;font-weight:300;max-width:580px}
.bh-meta-row{display:flex;gap:.6rem;margin-bottom:1.8rem;flex-wrap:wrap}
.bh-meta-tag{background:rgba(201,168,76,.15);color:#E8DFC4;padding:5px 12px;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.05em;border:1px solid rgba(201,168,76,.3)}
.bh-meta-tag.audio{background:rgba(126,200,180,.15);color:#A8E0D0;border-color:rgba(126,200,180,.3)}
.bh-meta-tag.award{background:rgba(168,196,72,.15);color:#C8E8A8;border-color:rgba(168,196,72,.3)}
.bh-buttons{display:flex;flex-direction:column;gap:.7rem;max-width:380px}
.btn-buy-amazon{background:#C9A84C;color:#1C2B1A;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:space-between;letter-spacing:.02em;transition:background .2s}
.btn-buy-amazon:hover{background:#D4B860}
.btn-buy-signed{background:#8B6914;color:#FFF8E7;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}
.btn-buy-signed:hover{background:#A07A1C}
.btn-buy-audio{background:rgba(255,255,255,.08);color:#E8DFC4;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid rgba(126,200,180,.4);display:flex;align-items:center;justify-content:space-between;transition:all .2s;backdrop-filter:blur(4px)}
.btn-buy-audio:hover{background:rgba(126,200,180,.12);border-color:#7EC8B4}
.btn-buy-sample{background:transparent;color:#C8D8B5;padding:10px 28px;font-size:14px;font-weight:600;text-decoration:underline;text-decoration-color:rgba(201,168,76,.4);text-underline-offset:4px;text-align:center;letter-spacing:.02em;transition:color .2s}
.btn-buy-sample:hover{color:#C9A84C}

/* STORY — drop-cap typography */
.story-section{padding:5rem 4rem;background:#FAFAF7}
.story-inner{max-width:760px;margin:0 auto}
.story-body{font-size:17px;line-height:1.85;color:#3A3A30;font-weight:400}
.story-body p{margin-bottom:1.2rem}
.story-body p:first-of-type::first-letter{font-family:'Playfair Display',serif;font-size:64px;color:#8B6914;font-weight:900;float:left;line-height:1;margin-right:8px;margin-top:6px}

/* WHAT YOU'LL FIND - elements grid */
.elements-section{background:#F4F0E4;padding:4rem;border-top:1px solid #E0DCC8;border-bottom:1px solid #E0DCC8}
.elements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1100px;margin:2rem auto 0}
.element-card{text-align:center}
.element-icon{width:50px;height:50px;border-radius:50%;background:#FFF;border:2px solid #C9A84C;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.8rem;color:#8B6914}
.element-icon svg{width:24px;height:24px}
.element-label{font-family:'Playfair Display',serif;font-size:15px;color:#1C2B1A;font-weight:700}

/* VISIT THE HISTORY - big feature with visit card */
.visit-section{position:relative;padding:5rem 4rem;color:#FFF;overflow:hidden;min-height:560px;display:flex;align-items:center}
.visit-section::before{content:'';position:absolute;inset:0;background-image:var(--visit-bg,url('assets/sotw-visit.jpg'));background-size:cover;background-position:center 60%;filter:saturate(1.1);z-index:0}
.visit-section::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,31,18,.92) 0%,rgba(28,43,26,.88) 50%,rgba(28,43,26,.7) 100%);z-index:1}
.visit-grid{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;width:100%}
.visit-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.visit-title{font-family:'Playfair Display',serif;font-size:48px;line-height:1.05;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.visit-title em{color:#C9A84C;font-style:italic}
.visit-body{font-size:17px;color:#C8D8B5;line-height:1.75;font-weight:300;margin-bottom:1.2rem}
.visit-card{background:rgba(244,240,228,.95);border-radius:12px;padding:2.5rem;color:#1C2B1A;box-shadow:0 20px 50px rgba(0,0,0,.4);position:relative}
.visit-card-badge{position:absolute;top:-12px;left:2rem;background:#8B6914;color:#FFF8E7;font-size:10px;font-weight:700;letter-spacing:.15em;padding:6px 14px;border-radius:2px;text-transform:uppercase}
.visit-card-eyebrow{font-size:11px;color:#8B6914;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.6rem;margin-top:.4rem}
.visit-card-title{font-family:'Playfair Display',serif;font-size:28px;color:#1C2B1A;font-weight:900;margin-bottom:.4rem;line-height:1.15}
.visit-card-sub{font-family:'Playfair Display',serif;font-size:15px;color:#8B6914;font-style:italic;margin-bottom:1.2rem}
.visit-card-body{font-size:15px;color:#3A3A30;line-height:1.7;margin-bottom:1.5rem}
.visit-card-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;padding-top:1.2rem;border-top:1px solid #DDD8C4}
.visit-detail-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7A7A68;margin-bottom:3px;font-weight:700}
.visit-detail-value{font-size:14px;color:#1C2B1A;font-weight:600}
.visit-card-cta{display:flex;flex-direction:column;gap:.6rem}
.visit-card-cta a{font-size:14px;font-weight:700;color:#1C2B1A;text-decoration:none;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:#C9A84C;border-radius:5px;transition:background .2s}
.visit-card-cta a:hover{background:#D4B860}
.visit-card-cta a.secondary{background:transparent;color:#8B6914;border:1.5px solid #C9A84C}
.visit-card-cta a.secondary:hover{background:#FAF5E8}

/* HISTORICAL CONTEXT */
.history-context{padding:4rem;background:#FFF}
.context-inner{max-width:1000px;margin:0 auto}
.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
.context-card{background:#F4F0E4;border:1px solid #E0DCC8;border-radius:10px;padding:1.8rem;transition:all .2s}
.context-card:hover{border-color:#C9A84C;background:#FAF5E8}
.context-card-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8B6914;font-weight:700;margin-bottom:.5rem}
.context-card-title{font-family:'Playfair Display',serif;font-size:19px;color:#1C2B1A;font-weight:700;margin-bottom:.6rem;line-height:1.3}
.context-card-desc{font-size:14px;color:#5A5A50;line-height:1.65;margin-bottom:.8rem}
.context-card-links{display:flex;flex-direction:column;gap:.4rem}
.context-link{font-size:13px;color:#2E4A2A;text-decoration:none;border-bottom:1px solid #C9A84C;width:fit-content;padding-bottom:1px;font-weight:600}
.context-link::before{content:'\2197 '}
.context-link:hover{color:#8B6914}

/* REVIEWS */
.reviews-section{padding:5rem 4rem;background:#F4F0E4;border-top:1px solid #E0DCC8}
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;max-width:1100px;margin:2.5rem auto 0}
.review-card{background:#FFF;border-left:4px solid #C9A84C;padding:2rem;border-radius:0 8px 8px 0}
.review-stars{color:#C9A84C;font-size:14px;letter-spacing:2px;margin-bottom:.8rem}
.review-quote{font-family:'Playfair Display',serif;font-size:17px;color:#1C2B1A;line-height:1.6;font-style:italic;margin-bottom:1rem}
.review-attrib{font-size:13px;color:#7A7A68;font-weight:600;letter-spacing:.02em}

/* UP NEXT */
.up-next{padding:5rem 4rem;background:#1C2B1A;color:#E8DFC4}
.up-next-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.up-next-tagline{font-family:'Playfair Display',serif;font-size:20px;color:#C8D8B5;font-style:italic;margin-bottom:1rem;line-height:1.4}
.up-next-body{font-size:16px;color:#A8B890;line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.up-next-cover{display:flex;justify-content:center}
.up-next-cover img{max-width:280px;width:100%;border-radius:5px;box-shadow:0 20px 50px rgba(0,0,0,.5)}

/* SERIES MINI showcase */
.series-mini{padding:4rem;background:#F4F0E4}
.mini-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:1100px;margin:2rem auto}
.mini-cover{aspect-ratio:5/8;border-radius:3px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.18);transition:all .25s;cursor:pointer}
.mini-cover:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 12px 28px rgba(0,0,0,.25)}
.mini-cover img{width:100%;height:100%;object-fit:cover;display:block}
.series-mini-cta{text-align:center;margin-top:2rem}

/* TEACHER STRIP (different from .av-promo on School Visits — this is a small footer-strip variant) */
.teacher-strip{background:#243322;padding:3rem 4rem;color:#E8DFC4}
.teacher-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.teacher-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7A9A6A;font-weight:600;margin-bottom:.5rem}
.teacher-title{font-family:'Playfair Display',serif;font-size:24px;color:#F2ECD8;font-weight:700;line-height:1.2;margin-bottom:.6rem}
.teacher-body{font-size:15px;color:#A8B890;line-height:1.6;font-weight:300;max-width:600px}

/* CTA buttons row at bottom (unique to book pages) */
.cta-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}

/* Scoped overrides — all conflicts with VM/home/etc. are wrapped by .book-page */
.book-page .section-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8B6914;margin-bottom:.8rem;text-align:center}
.book-page .section-title{font-family:'Playfair Display',serif;font-size:36px;font-weight:900;color:#1a1a18;line-height:1.2;margin-bottom:1.5rem;text-align:center}
.book-page .section-title em{color:#8B6914;font-style:italic}
.book-page .divider-gold{width:50px;height:3px;background:#C9A84C;margin:0 auto 2rem}
.book-page .up-next .section-eyebrow{color:#C9A84C;text-align:left}
.book-page .up-next .section-title{color:#F2ECD8;text-align:left;font-size:36px}
.book-page .btn-secondary{background:transparent;color:#1C2B1A;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid #C9A84C;display:inline-block;transition:all .2s}
.book-page .btn-secondary:hover{background:#F4F0E4}
.book-page .final-cta{background:#FFF;padding:5rem 4rem;text-align:center;border-top:1px solid #E0DCC8}
.book-page .final-cta-title{font-family:'Playfair Display',serif;font-size:42px;color:#1a1a18;font-weight:900;margin-bottom:.8rem;line-height:1.15}
.book-page .final-cta-title em{font-style:italic;color:#8B6914}
.book-page .final-cta-sub{font-size:18px;color:#5A5A50;margin-bottom:2rem;font-weight:300;max-width:580px;margin-left:auto;margin-right:auto}

@media (max-width:1024px){
  .book-hero{padding:3rem 2rem;min-height:auto}
  .book-hero-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .bh-breadcrumb,.bh-meta-row,.bh-buttons{justify-content:center}
  .bh-buttons{margin-left:auto;margin-right:auto}
  .book-page .book-cover-display{max-width:280px;margin:0 auto}
  .bh-title{font-size:42px}
  .bh-intro{margin-left:auto;margin-right:auto}
  .story-section{padding:3.5rem 2rem}
  .elements-section{padding:3rem 2rem}
  .elements-grid{grid-template-columns:repeat(2,1fr)}
  .visit-section{padding:3.5rem 2rem;min-height:auto}
  .visit-grid{grid-template-columns:1fr;gap:2.5rem}
  .visit-title{font-size:36px}
  .history-context{padding:3.5rem 2rem}
  .context-grid{grid-template-columns:1fr}
  .reviews-section{padding:3.5rem 2rem}
  .reviews-grid{grid-template-columns:1fr}
  .up-next{padding:3.5rem 2rem}
  .up-next-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .book-page .up-next .section-eyebrow,.book-page .up-next .section-title{text-align:center}
  .series-mini{padding:3.5rem 2rem}
  .mini-grid{grid-template-columns:repeat(4,1fr);gap:.8rem}
  .teacher-strip{padding:3rem 2rem}
  .teacher-inner{grid-template-columns:1fr;text-align:center}
  .book-page .final-cta{padding:3.5rem 2rem}
}
@media (max-width:640px){
  .book-hero{padding:2rem 1.2rem}
  .bh-title{font-size:32px}
  .bh-tag{font-size:16px}
  .bh-intro{font-size:15px}
  .cover-mini-details{grid-template-columns:1fr 1fr}
  .story-section{padding:3rem 1.2rem}
  .book-page .section-title{font-size:26px}
  .story-body{font-size:16px}
  .story-body p:first-of-type::first-letter{font-size:48px}
  .elements-section{padding:2.5rem 1.2rem}
  .elements-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .visit-section{padding:3rem 1.2rem}
  .visit-title{font-size:28px}
  .visit-card{padding:1.8rem}
  .visit-card-details{grid-template-columns:1fr}
  .history-context{padding:3rem 1.2rem}
  .reviews-section{padding:3rem 1.2rem}
  .review-card{padding:1.5rem}
  .up-next{padding:3rem 1.2rem}
  .book-page .up-next .section-title{font-size:26px}
  .series-mini{padding:3rem 1.2rem}
  .mini-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .teacher-strip{padding:2.5rem 1.2rem}
  .book-page .final-cta{padding:3rem 1.2rem}
  .book-page .final-cta-title{font-size:28px}
  .cta-buttons{flex-direction:column;align-items:stretch}
  .cta-buttons a{display:block;text-align:center}
}


/* =====================================================================
   About page styles
   Ported from MyBoys3_About_Page.html
   Page slug `about` → body.page-about
   Conflicting .section-*, .divider-gold, .story-inner, .books-* are
   scoped to body.page-about so they don't leak to VM or SOTW.
   ===================================================================== */

/* Active nav state (safe to add globally — only affects links with .active) */
.nav-links a.active{color:#C9A84C}

/* HERO */
.about-hero{position:relative;padding:5rem 4rem 4.5rem;overflow:hidden;min-height:560px;color:#FFF}
.about-hero::before{content:'';position:absolute;inset:0;background-image:url('assets/about-hero.jpg');background-size:cover;background-position:center 30%;filter:brightness(.5) saturate(1.05);z-index:0}
.about-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,26,.6) 0%,rgba(28,43,26,.92) 100%);z-index:1}
.about-hero-grid{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:center}
.ah-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#A8C098;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}
.ah-breadcrumb a{color:#A8C098;text-decoration:none}
.ah-breadcrumb a:hover{color:#C9A84C}
.ah-breadcrumb span{color:#7A9075}
.ah-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.ah-greeting{font-family:'Playfair Display',serif;font-size:68px;font-weight:900;line-height:1;color:#F2ECD8;margin-bottom:1rem;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.ah-greeting em{font-style:italic;color:#C9A84C}
.ah-tag{font-family:'Playfair Display',serif;font-size:22px;color:#C8D8B5;font-style:italic;margin-bottom:1.5rem;line-height:1.4;max-width:540px}
.ah-mission{font-size:17px;color:#B5C5A3;line-height:1.7;font-weight:300;max-width:540px;border-left:3px solid #C9A84C;padding-left:1.2rem}
.ah-photo-wrap{position:relative}
.ah-photo{width:320px;height:320px;border-radius:50%;object-fit:cover;border:6px solid #C9A84C;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.ah-photo-caption{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);background:#C9A84C;color:#1C2B1A;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 18px;border-radius:2px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.3)}

/* Pull quote (only on About page — but unique class so no scoping needed) */
.pull-quote{margin:2.5rem 0;padding:2rem;background:#F4F0E4;border-left:4px solid #C9A84C;border-radius:0 8px 8px 0}
.pull-quote-text{font-family:'Playfair Display',serif;font-size:24px;color:#1C2B1A;font-style:italic;line-height:1.4;font-weight:700}
.pull-quote-text::before{content:'"';color:#C9A84C;font-size:42px;line-height:0;vertical-align:-0.4em;margin-right:8px}
.pull-quote-text::after{content:'"';color:#C9A84C;font-size:42px;line-height:0;vertical-align:-0.5em;margin-left:4px}

/* BY THE NUMBERS */
.numbers-section{background:#1C2B1A;color:#E8DFC4;padding:4rem;border-top:1px solid #2A3A26;border-bottom:1px solid #2A3A26}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto;text-align:center}
.num-big{font-family:'Playfair Display',serif;font-size:54px;color:#C9A84C;font-weight:900;line-height:1;margin-bottom:.5rem;letter-spacing:-.02em}
.num-label{font-size:13px;color:#A8C098;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;font-weight:600}
.num-sub{font-size:13px;color:#7A9A6A;margin-top:4px;font-weight:300}

/* THE BOOKS - body of work (three series overview) */
.book-mini{background:#FFF;border:1px solid #E0DCC8;border-radius:10px;padding:1.8rem;transition:all .25s}
.book-mini:hover{border-color:#C9A84C;box-shadow:0 12px 30px rgba(0,0,0,.06);transform:translateY(-3px)}
.book-mini-stack{position:relative;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.book-mini-stack img{position:absolute;border-radius:3px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.book-mini-stack img:nth-child(1){left:50%;transform:translateX(-50%) rotate(-8deg) translateX(-30px);width:62px;z-index:1}
.book-mini-stack img:nth-child(2){left:50%;transform:translateX(-50%);width:70px;z-index:3}
.book-mini-stack img:nth-child(3){left:50%;transform:translateX(-50%) rotate(8deg) translateX(30px);width:62px;z-index:2}
.book-mini-name{font-family:'Playfair Display',serif;font-size:20px;color:#1C2B1A;font-weight:700;text-align:center;margin-bottom:.4rem}
.book-mini-tag{font-size:11px;color:#8B6914;font-weight:600;text-transform:uppercase;letter-spacing:.1em;text-align:center;margin-bottom:.8rem}
.book-mini-desc{font-size:14px;color:#5A5A50;line-height:1.6;text-align:center;margin-bottom:1rem}
.book-mini-link{display:block;font-size:13px;font-weight:600;color:#2E4A2A;text-decoration:none;text-align:center;border-bottom:1.5px solid #C9A84C;padding-bottom:1px;width:fit-content;margin:0 auto}

/* VIRGINIA CONNECTION feature strip */
.va-feature{position:relative;height:480px;overflow:hidden;display:flex;align-items:center}
.va-feature::before{content:'';position:absolute;inset:0;background-image:url('assets/about-va-feature.jpg');background-size:cover;background-position:center;z-index:0}
.va-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,43,26,.95) 0%,rgba(28,43,26,.78) 40%,rgba(28,43,26,.25) 72%,transparent 100%);z-index:1}
.va-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 4rem;color:#FFF;width:100%}
.va-inner{max-width:580px}
.va-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;font-weight:600;margin-bottom:1rem}
.va-title{font-family:'Playfair Display',serif;font-size:46px;line-height:1.05;color:#F2ECD8;font-weight:900;margin-bottom:1.2rem}
.va-title em{color:#C9A84C;font-style:italic}
.va-body{font-size:16px;color:#C8D8B5;line-height:1.7;font-weight:300;margin-bottom:1rem}

/* LATEST BOOK callout */
.latest-section{padding:4rem;background:#FFF;border-bottom:1px solid #E0DCC8}
.latest-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:center}
.latest-cover{position:relative}
.latest-cover img{width:100%;height:auto;border-radius:5px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.latest-cover-badge{position:absolute;top:-12px;left:-12px;background:#C9A84C;color:#1C2B1A;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:2px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.latest-content .section-eyebrow{text-align:left}
.latest-title{font-family:'Playfair Display',serif;font-size:36px;color:#1C2B1A;font-weight:900;margin-bottom:.6rem;line-height:1.15}
.latest-title em{color:#8B6914;font-style:italic}
.latest-body{font-size:16px;color:#4A4A40;line-height:1.7;margin-bottom:1.2rem}
.latest-link{display:inline-block;background:#C9A84C;color:#1C2B1A;padding:12px 26px;text-decoration:none;font-weight:700;font-size:14px;border-radius:3px;letter-spacing:.04em;transition:background .2s}
.latest-link:hover{background:#D4B860}

/* OFF THE PAGE - personal life cards */
.personal-section{padding:5rem 4rem;background:#FAFAF7}
.personal-grid{max-width:900px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.personal-card{text-align:center;padding:1.5rem 1rem}
.personal-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#C9A84C,#8B6914);display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#FFF;box-shadow:0 6px 18px rgba(201,168,76,.25)}
.personal-icon svg{width:26px;height:26px}
.personal-card-title{font-family:'Playfair Display',serif;font-size:18px;color:#1C2B1A;font-weight:700;margin-bottom:.6rem}
.personal-card-desc{font-size:14px;color:#5A5A50;line-height:1.6;font-weight:300}

/* CONNECT - final 3-card CTAs */
.connect-section{background:linear-gradient(135deg,#1C2B1A 0%,#243322 100%);padding:5rem 4rem;color:#E8DFC4;position:relative;overflow:hidden}
.connect-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,168,76,.08) 0%,transparent 60%);pointer-events:none}
.connect-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;text-align:center}
.connect-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.connect-title{font-family:'Playfair Display',serif;font-size:46px;color:#F2ECD8;font-weight:900;line-height:1.1;margin-bottom:1rem}
.connect-title em{font-style:italic;color:#C9A84C}
.connect-sub{font-size:18px;color:#A8C098;line-height:1.7;margin:0 auto 3rem;font-weight:300;max-width:640px}
.connect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto}
.connect-card{background:rgba(232,223,196,.05);border:1px solid rgba(201,168,76,.25);border-radius:10px;padding:2rem 1.5rem;transition:all .25s;text-decoration:none;color:inherit;display:block}
.connect-card:hover{background:rgba(232,223,196,.1);border-color:#C9A84C;transform:translateY(-4px)}
.connect-card-icon{width:48px;height:48px;border-radius:50%;background:#C9A84C;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#1C2B1A}
.connect-card-icon svg{width:22px;height:22px}
.connect-card-title{font-family:'Playfair Display',serif;font-size:20px;color:#F2ECD8;font-weight:700;margin-bottom:.5rem}
.connect-card-desc{font-size:14px;color:#A8C098;line-height:1.5;margin-bottom:1rem}
.connect-card-arrow{font-size:13px;color:#C9A84C;font-weight:600;letter-spacing:.05em}

/* Scoped overrides — conflicts with VM/SOTW unscoped values */
body.page-about .section-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8B6914;margin-bottom:.8rem}
body.page-about .section-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;color:#1a1a18;line-height:1.15;margin-bottom:1rem}
body.page-about .section-title em{color:#8B6914;font-style:italic}
body.page-about .section-header{text-align:center;margin-bottom:3rem}
body.page-about .divider-gold{width:50px;height:3px;background:#C9A84C;margin:0 auto 2rem}
body.page-about .story-inner{max-width:780px;margin:0 auto}
body.page-about .story-body em{color:#1C2B1A;font-style:italic;font-weight:500}
body.page-about .books-section{padding:5rem 4rem;background:#F4F0E4;border-bottom:1px solid #E0DCC8}
body.page-about .books-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1100px;margin:3rem auto 0}

@media (max-width:1024px){
  .about-hero{padding:3.5rem 2rem}
  .about-hero-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .ah-greeting{font-size:48px}
  .ah-mission{margin-left:auto;margin-right:auto;text-align:left}
  .ah-photo{width:240px;height:240px}
  .ah-photo-wrap{margin:0 auto;width:240px}
  .ah-breadcrumb{justify-content:center}
  .numbers-section{padding:3rem 2rem}
  .numbers-grid{grid-template-columns:repeat(2,1fr);gap:2rem}
  body.page-about .books-section{padding:3.5rem 2rem}
  body.page-about .books-grid{grid-template-columns:1fr;max-width:480px}
  .va-feature{height:auto;padding:3rem 0}
  .va-content{padding:0 2rem}
  .va-title{font-size:32px}
  .latest-section{padding:3rem 2rem}
  .latest-inner{grid-template-columns:1fr;gap:2rem;text-align:center}
  .latest-cover{max-width:200px;margin:0 auto}
  .latest-content .section-eyebrow{text-align:center}
  .personal-section{padding:3.5rem 2rem}
  .personal-grid{grid-template-columns:1fr;gap:1.5rem}
  .connect-section{padding:3.5rem 2rem}
  .connect-title{font-size:34px}
  .connect-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .about-hero{padding:2.5rem 1.2rem;min-height:auto}
  .ah-greeting{font-size:36px}
  .ah-tag{font-size:17px}
  .ah-mission{font-size:15px}
  .ah-photo{width:180px;height:180px;border-width:4px}
  .ah-photo-wrap{width:180px}
  body.page-about .section-title{font-size:30px}
  .pull-quote-text{font-size:19px}
  .pull-quote{padding:1.5rem;margin:2rem 0}
  .numbers-section{padding:2.5rem 1.2rem}
  .numbers-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .num-big{font-size:38px}
  body.page-about .books-section{padding:3rem 1.2rem}
  .va-feature{padding:2.5rem 0}
  .va-content{padding:0 1.2rem}
  .va-title{font-size:26px}
  .latest-section{padding:2.5rem 1.2rem}
  .latest-title{font-size:26px}
  .personal-section{padding:3rem 1.2rem}
  .connect-section{padding:3rem 1.2rem}
  .connect-title{font-size:28px}
}

/* =====================================================================
   CONTACT PAGE — scoped to body.page-contact
   ===================================================================== */

/* Hero */
.page-contact .contact-hero{background:#F4F0E4;padding:5rem 4rem 4rem;position:relative;overflow:hidden}
.page-contact .contact-hero::before{content:'';position:absolute;top:0;right:0;bottom:0;width:40%;background:radial-gradient(circle at 70% 30%,rgba(201,168,76,.08),transparent 60%),radial-gradient(circle at 30% 70%,rgba(28,43,26,.04),transparent 60%);pointer-events:none}
.page-contact .contact-hero-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:center;position:relative}
.page-contact .contact-hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:#C9A84C;margin-bottom:1rem}
.page-contact .contact-hero-title{font-family:'Playfair Display',serif;font-size:56px;line-height:1.05;font-weight:700;color:#1C2B1A;letter-spacing:-.02em;margin-bottom:1.2rem}
.page-contact .contact-hero-title em{font-style:italic;color:#C9A84C}
.page-contact .contact-hero-sub{font-size:18px;color:#7A7A68;max-width:480px;font-family:'Playfair Display',serif;font-style:italic}
.page-contact .contact-hero-photo{width:280px;height:280px;border-radius:50%;border:4px solid #C9A84C;overflow:hidden;box-shadow:0 12px 40px rgba(28,43,26,.15);flex-shrink:0}
.page-contact .contact-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Section shell */
.page-contact .c-section{padding:5rem 4rem}
.page-contact .c-section-cream{background:#F4F0E4;border-top:1px solid #E0DCC8}
.page-contact .c-section-dark{background:#1C2B1A;color:#F4F0E4}
.page-contact .c-section-inner{max-width:1100px;margin:0 auto}
.page-contact .c-label{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:#C9A84C;margin-bottom:.8rem}
.page-contact .c-title{font-family:'Playfair Display',serif;font-size:36px;line-height:1.15;font-weight:700;color:#1C2B1A;letter-spacing:-.01em}
.page-contact .c-section-dark .c-title{color:#F4F0E4}
.page-contact .c-sub{font-size:17px;color:#7A7A68;max-width:600px;margin-top:.8rem}
.page-contact .c-section-dark .c-sub{color:rgba(244,240,228,.75)}
.page-contact .c-divider{width:60px;height:3px;background:#C9A84C;margin:1.5rem 0 2.5rem}

/* Audience cards */
.page-contact .audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.page-contact .audience-card{background:#FFF;border:1px solid #E0DCC8;border-radius:8px;padding:1.8rem 1.5rem;text-decoration:none;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column}
.page-contact .audience-card:hover{transform:translateY(-3px);border-color:#C9A84C;box-shadow:0 10px 30px rgba(28,43,26,.08)}
.page-contact .audience-icon{width:40px;height:40px;border-radius:50%;background:#F4F0E4;display:flex;align-items:center;justify-content:center;color:#C9A84C;font-size:20px;font-weight:700;font-family:'Playfair Display',serif;margin-bottom:1rem}
.page-contact .audience-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;color:#1C2B1A;margin-bottom:.5rem}
.page-contact .audience-body{font-size:14px;color:#7A7A68;line-height:1.55;flex:1}
.page-contact .audience-link{margin-top:1rem;font-size:13px;font-weight:600;color:#C9A84C;letter-spacing:.02em}

/* Contact form section */
.page-contact .form-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.page-contact .form-intro .c-title{font-size:32px}
.page-contact .form-promise{margin-top:1.5rem;padding:1.2rem 1.4rem;background:#F4F0E4;border-left:3px solid #C9A84C;border-radius:0 6px 6px 0}
.page-contact .form-promise-title{font-family:'Playfair Display',serif;font-style:italic;font-size:17px;color:#1C2B1A;margin-bottom:.4rem}
.page-contact .form-promise-body{font-size:14px;color:#7A7A68}
.page-contact .form-card{background:#FFF;border:1px solid #E0DCC8;border-radius:10px;padding:2.2rem;box-shadow:0 4px 20px rgba(28,43,26,.04)}

/* CF7 field styling */
.page-contact .wpcf7-form-control.wpcf7-text,
.page-contact .wpcf7-form-control.wpcf7-email,
.page-contact .wpcf7-form-control.wpcf7-textarea,
.page-contact .wpcf7-form-control.wpcf7-select{width:100%;padding:.85rem 1rem;font-family:'Source Sans 3',sans-serif;font-size:15px;color:#1C2B1A;background:#FFF;border:1px solid #E0DCC8;border-radius:6px;transition:border-color .15s,box-shadow .15s}
.page-contact .wpcf7-form-control:focus{outline:none;border-color:#C9A84C;box-shadow:0 0 0 3px rgba(201,168,76,.15)}
.page-contact .wpcf7-form-control.wpcf7-textarea{min-height:130px;resize:vertical}
.page-contact .wpcf7-submit{background:#1C2B1A;color:#F4F0E4;border:none;padding:1rem 1.8rem;border-radius:6px;font-family:'Source Sans 3',sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s;margin-top:.5rem}
.page-contact .wpcf7-submit:hover{background:#C9A84C;color:#1C2B1A}
.page-contact .form-footnote{font-size:12px;color:#7A7A68;margin-top:1rem}
.page-contact .wpcf7-response-output{margin:1rem 0 0!important;padding:.9rem 1.1rem!important;border-radius:6px!important;font-size:14px;border-width:1px!important}
.page-contact .wpcf7-not-valid-tip{color:#B94A48;font-size:12px;margin-top:.4rem}
.page-contact .wpcf7 form.sent .wpcf7-response-output{border-color:#C9A84C!important;background:rgba(201,168,76,.10);color:#1C2B1A}
.page-contact .wpcf7-spinner{display:none}

/* Snail mail */
.page-contact .mail-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.page-contact .mail-copy .c-title{font-size:32px}
.page-contact .mail-copy-body{margin-top:1.2rem;font-size:16px;color:#7A7A68;line-height:1.7}
.page-contact .mail-copy-body strong{color:#1C2B1A;font-weight:600}
.page-contact .mail-illustration{background:#1C2B1A;color:#F4F0E4;padding:3rem;border-radius:10px;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:center}
.page-contact .mail-illustration::before{content:"✉";position:absolute;right:-30px;bottom:-60px;font-size:260px;color:#C9A84C;opacity:.12;line-height:1}
.page-contact .mail-address-label{font-family:'Playfair Display',serif;font-style:italic;font-size:14px;color:#C9A84C;margin-bottom:.8rem}
.page-contact .mail-address{font-family:'Playfair Display',serif;font-size:22px;line-height:1.5;position:relative;z-index:1}

/* Newsletter + social */
.page-contact .stay-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.page-contact .newsletter-form{display:flex;gap:.6rem;margin-top:1.5rem}
.page-contact .newsletter-input{flex:1;padding:.95rem 1.1rem;background:rgba(244,240,228,.08);border:1px solid rgba(244,240,228,.2);border-radius:6px;color:#F4F0E4;font-family:'Source Sans 3',sans-serif;font-size:15px}
.page-contact .newsletter-input::placeholder{color:rgba(244,240,228,.4)}
.page-contact .newsletter-input:focus{outline:none;border-color:#C9A84C;box-shadow:0 0 0 3px rgba(201,168,76,.2)}
.page-contact .newsletter-btn{background:#C9A84C;color:#1C2B1A;border:none;padding:0 1.6rem;border-radius:6px;font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s}
.page-contact .newsletter-btn:hover{background:#D4B96A}
.page-contact .newsletter-note{font-size:12px;color:rgba(244,240,228,.5);margin-top:.8rem}
.page-contact .social-list{display:flex;flex-direction:column;gap:.9rem;margin-top:1.2rem}
.page-contact .social-link{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;background:rgba(244,240,228,.05);border:1px solid rgba(244,240,228,.12);border-radius:6px;color:#F4F0E4;text-decoration:none;font-size:14px;transition:background .15s,border-color .15s}
.page-contact .social-link:hover{background:rgba(201,168,76,.12);border-color:#C9A84C}
.page-contact .social-icon{width:32px;height:32px;border-radius:50%;background:#C9A84C;color:#1C2B1A;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:'Playfair Display',serif;flex-shrink:0}

/* FAQ */
.page-contact .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2.5rem;margin-top:1rem}
.page-contact .c-faq-item{padding:1.4rem 0;border-bottom:1px solid #E0DCC8}
.page-contact .c-faq-q{font-family:'Playfair Display',serif;font-size:18px;font-weight:600;color:#1C2B1A;margin-bottom:.5rem}
.page-contact .c-faq-a{font-size:14px;color:#7A7A68;line-height:1.6}
.page-contact .c-faq-a a{color:#C9A84C;font-weight:600;text-decoration:none}
.page-contact .c-faq-a a:hover{text-decoration:underline}

/* Cross-promo strip */
.page-contact .cross-promo{background:#C9A84C;padding:3.5rem 4rem;text-align:center}
.page-contact .cross-promo-title{font-family:'Playfair Display',serif;font-size:24px;font-style:italic;color:#1C2B1A;margin-bottom:1.5rem}
.page-contact .cross-promo-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.page-contact .cross-promo-link{background:#1C2B1A;color:#F4F0E4;padding:.85rem 1.6rem;border-radius:4px;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .15s}
.page-contact .cross-promo-link:hover{background:#2A3E27}

/* Responsive */
@media(max-width:900px){
  .page-contact .contact-hero{padding:3rem 1.5rem}
  .page-contact .contact-hero-grid{grid-template-columns:1fr;text-align:center;gap:2rem}
  .page-contact .contact-hero-title{font-size:38px}
  .page-contact .contact-hero-photo{width:200px;height:200px;margin:0 auto}
  .page-contact .c-section{padding:3rem 1.5rem}
  .page-contact .audience-grid{grid-template-columns:1fr 1fr}
  .page-contact .form-grid,.page-contact .mail-grid,.page-contact .stay-grid{grid-template-columns:1fr;gap:2rem}
  .page-contact .faq-grid{grid-template-columns:1fr}
  .page-contact .cross-promo{padding:2.5rem 1.5rem}
}
}

/* =====================================================================
   WooCommerce — brand styling (Tier 1)
   Styles WooCommerce's default product/shop output to the MyBoys3 design
   system (VM forest/gold/cream). Buttons are handled globally via
   theme.json elements.button; the rules below cover WC-specific parts.
   ===================================================================== */
.woocommerce .product_title,
.woocommerce-page .product_title { color:#1C2B1A; }

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.woocommerce .woocommerce-Price-amount { color:#8B6914; font-weight:700; }
.woocommerce div.product p.price { font-size:1.5rem; }

/* On-sale badge */
.woocommerce span.onsale {
  background:#C9A84C; color:#1C2B1A; font-weight:700;
  border-radius:999px; min-height:auto; line-height:1.4; padding:6px 12px;
}

/* Buttons — reinforce brand in case WC's .button.alt overrides the
   theme.json button style on add-to-cart. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce .single_add_to_cart_button {
  background:#C9A84C; color:#1C2B1A; border:none; border-radius:3px;
  font-weight:700; font-size:15px; letter-spacing:.02em;
  padding:14px 30px; text-transform:none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce .single_add_to_cart_button:hover { background:#D4B860; color:#1C2B1A; }

/* Quantity input */
.woocommerce .quantity .qty {
  border:1.5px solid rgba(28,43,26,.2); border-radius:3px; padding:8px 6px;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:1px solid rgba(28,43,26,.15); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color:rgba(28,43,26,.15); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background:transparent; border:none; border-radius:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:#5A5A48; font-weight:600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color:#1C2B1A; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom:3px solid #C9A84C; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after { display:none; }

/* Section headings (Playfair to match the site) */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cart_totals h2,
.woocommerce-checkout h3 { font-family:'Playfair Display',serif; color:#1C2B1A; }

/* Breadcrumb — forms the top line of the shop forest hero (see header band below) */
.woocommerce .woocommerce-breadcrumb {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  padding: 1.5rem 2rem 0;
  background: #1C2B1A;
  color: #9DB089;
  text-align: center;
  font-size: 13px;
  letter-spacing: .02em;
}
.woocommerce .woocommerce-breadcrumb a { color:#C9A84C; }
.woocommerce .woocommerce-breadcrumb a:hover { color:#E8DFC4; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color:#C9A84C;
}
.woocommerce-message::before, .woocommerce-info::before { color:#C9A84C; }

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before { color:#C9A84C; }

/* ---------------------------------------------------------------------
   Shop / product-archive header — branded band to match the page heroes
   (forest green + Playfair cream title + gold divider). Replaces the
   bare default WooCommerce "Shop" heading.
   --------------------------------------------------------------------- */
.woocommerce-products-header {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0.75rem 2rem 3.25rem;   /* small top pad — abuts the breadcrumb above into one forest band */
  margin-top: 0;
  margin-bottom: 2.5rem;
  background: #1C2B1A;
  text-align: center;
}
.woocommerce-products-header__title.page-title {
  font-family: 'Playfair Display', serif;
  font-weight: 900;
  font-size: 48px;
  line-height: 1.05;
  color: #F2ECD8;
  margin: 0 0 1.1rem;
}
.woocommerce-products-header::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #C9A84C;
  margin: 0 auto;
}
.woocommerce-products-header .term-description {
  max-width: 620px;
  margin: 1.2rem auto 0;
  color: #C8D8B5;
  line-height: 1.7;
  font-weight: 300;
}

/* Result count + sort toolbar (sits below the header band, on cream) */
.woocommerce .woocommerce-result-count {
  color: #6A6A58;
  font-size: 14px;
  font-style: italic;
}
.woocommerce .woocommerce-ordering select {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  border: 1.5px solid rgba(28,43,26,.2);
  border-radius: 3px;
  padding: 9px 12px;
  background: #FFF;
  color: #1C2B1A;
  cursor: pointer;
}

/* Product card titles (shop grid + related products) — brand forest, not link-blue */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:#1C2B1A; }
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover .woocommerce-loop-product__title { color:#8B6914; }

/* ---------------------------------------------------------------------
   Reading Comprehension Quizzes page — quiz card grid
   --------------------------------------------------------------------- */
.quiz-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;
  max-width:1100px; margin:0 auto; padding:0 2rem;
}
.quiz-card{
  display:flex; flex-direction:column;
  background:#FFFFFF; border:1px solid rgba(28,43,26,.1); border-radius:8px;
  padding:1.5rem; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.quiz-card:hover{
  transform:translateY(-3px); box-shadow:0 10px 30px rgba(28,43,26,.12); border-color:#C9A84C;
}
.quiz-num{
  font-family:'Source Sans 3',sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#8B6914; margin-bottom:.4rem;
}
.quiz-title{
  font-family:'Playfair Display',serif; font-size:20px; font-weight:700;
  color:#1C2B1A; line-height:1.2; margin-bottom:.9rem;
}
.quiz-dl{ margin-top:auto; color:#C9A84C; font-weight:700; font-size:14px; }
a.quiz-card:hover .quiz-dl{ color:#8B6914; }
.quiz-card-feature{ background:#F4F0E4; border-color:rgba(201,168,76,.4); }
.quiz-note{ font-size:13px; color:#5A5A48; line-height:1.55; margin-bottom:1rem; }
.quiz-links{ display:flex; flex-direction:column; gap:.5rem; margin-top:auto; }
.quiz-link{ color:#8B6914; font-weight:700; font-size:14px; text-decoration:none; }
.quiz-link:hover{ color:#C9A84C; }
.quiz-footnote{ text-align:center; color:#6A6A58; font-size:14px; margin:2.5rem auto 0; }
.quiz-footnote a{ color:#8B6914; font-weight:600; }
@media(max-width:900px){ .quiz-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .quiz-grid{ grid-template-columns:1fr; } }

/* Compact ATOS reading-level chips (replaces the large table) */
.atos-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .75rem;max-width:960px;margin:1.75rem auto 0;padding:0 2rem}
.atos-chip{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;background:#FFF;border:1px solid #E6E1CE;border-radius:6px;padding:.5rem .8rem}
.atos-chip .ac-title{font-size:13.5px;color:#1C2B1A;line-height:1.3}
.atos-chip .ac-lvl{font-family:'Playfair Display',serif;font-weight:700;color:#8B6914;font-size:15px;flex-shrink:0}
@media(max-width:760px){.atos-chips{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.atos-chips{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   One Book, One School page
   --------------------------------------------------------------------- */
.obos-quote-section{background:#FAFAF7}
.obos-quote{max-width:820px;margin:1.5rem auto 0;padding:2.25rem 2.5rem;background:#1C2B1A;border-radius:12px;position:relative}
.obos-quote p{color:#EDE7D3;font-size:18px;line-height:1.75;font-style:italic;margin:0 0 1.25rem}
.obos-quote cite{color:#C9A84C;font-style:normal;font-weight:600;font-size:14px;letter-spacing:.02em}

.obos-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;max-width:1000px;margin:1.75rem auto 0;padding:0 2rem}
.obos-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.obos-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.obos-video-label{margin-top:.7rem;text-align:center;font-family:'Playfair Display',serif;font-size:17px;color:#1C2B1A}

.obos-links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
.obos-links a{color:#8B6914;font-weight:600;font-size:14px;text-decoration:none}
.obos-links a:hover{color:#C9A84C}

.obos-order-section{background:#FAFAF7;text-align:center}
.obos-order-links{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-top:1.5rem}
.obos-order-text{color:#8B6914;font-weight:700;font-size:15px;text-decoration:none}
.obos-order-text:hover{color:#C9A84C}

.obos-schools{list-style:none;margin:1.75rem auto 0;padding:0 2rem;max-width:960px;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem .75rem}
.obos-schools li{background:#FFF;border:1px solid #E6E1CE;border-radius:6px;padding:.55rem .85rem;font-size:14px;color:#1C2B1A;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.obos-schools li span{color:#8B7E63;font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:760px){.obos-video-grid{grid-template-columns:1fr}.obos-schools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.obos-schools{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   Virginia Readers' Choice — Shadows at Jamestown teaching activities
   --------------------------------------------------------------------- */
.vrc-cover-wrap{text-align:center;margin-bottom:2.5rem}
.vrc-cover{width:190px;height:auto;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.vrc-wrap{max-width:780px;margin:0 auto;padding:0 2rem}
.vrc-activity{margin-bottom:2.5rem}
.vrc-activity h3{font-family:'Playfair Display',serif;font-size:24px;color:#1C2B1A;margin:0 0 .75rem;line-height:1.25}
.vrc-activity p{font-size:16px;line-height:1.7;color:#2A2A24;margin:0 0 1rem}
.vrc-activity ul{margin:0 0 1rem 1.25rem;padding:0}
.vrc-activity li{font-size:15.5px;line-height:1.65;color:#2A2A24;margin-bottom:.6rem}
.vrc-activity a{color:#8B6914;font-weight:600;text-decoration:underline}
.vrc-activity a:hover{color:#C9A84C}
.vrc-activity .obos-video{margin-top:1rem;max-width:640px}

/* Teaching Resources hub — per-book index links */
.res-books{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem .75rem;max-width:960px;margin:1.75rem auto 0;padding:0 2rem}
.res-book{display:flex;align-items:baseline;gap:.6rem;background:#FFF;border:1px solid #E6E1CE;border-radius:6px;padding:.6rem .9rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.res-book:hover{border-color:#C9A84C;transform:translateY(-2px)}
.res-book .rb-num{font-size:11px;font-weight:700;color:#8B6914;letter-spacing:.08em;flex-shrink:0}
.res-book .rb-title{font-size:14px;color:#1C2B1A;font-weight:600;line-height:1.2}
@media(max-width:760px){.res-books{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.res-books{grid-template-columns:1fr}}

/* ===== Shadows at Jamestown teaching pack (scoped under .saj-teach) ===== */
.saj-teach{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}
.saj-teach{
    --parchment:#F4ECDA;--parchment-2:#EBE1C9;--card:#FBF6E9;
    --pine:#1E3A2B;--pine-2:#2C5440;--marker:#15120E;--silver:#CFCBBE;
    --ink:#221F19;--muted:#5C5544;--brass:#9C6E27;--gold:#6E4F1C;--rule:#CBBE9C;
  }.saj-teach *{box-sizing:border-box;}.saj-teach{margin:0;background:var(--parchment);color:var(--ink);
    font-family:"Public Sans",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}.saj-teach .wrap{max-width:1000px;margin:0 auto;padding:0 22px;}.saj-teach h1, .saj-teach h2, .saj-teach h3{font-family:"Fraunces",Georgia,serif;color:var(--pine);line-height:1.12;}.saj-teach a{color:var(--brass);}.saj-teach .eyebrow{display:inline-block;background:var(--marker);color:var(--silver);font-size:12px;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;border-radius:2px;border:1px solid #000;
    box-shadow:inset 0 0 0 2px #2a251c;}.saj-teach header.top{background:var(--pine);color:#F4ECDA;padding:50px 0 44px;border-bottom:5px solid var(--brass);}.saj-teach header.top .eyebrow{background:#10231a;color:#cfe0d3;box-shadow:inset 0 0 0 2px #1d3a2b;border-color:#0a160f;}.saj-teach header.top .kicker{font-family:"Public Sans";font-weight:600;letter-spacing:.02em;color:#CFE0D3;font-size:17px;margin-top:18px;}.saj-teach header.top h1{color:#F8F2E2;font-size:clamp(30px,5vw,50px);font-weight:900;margin:8px 0 0;letter-spacing:-.01em;}.saj-teach header.top .sub{font-family:"Fraunces";font-style:italic;color:#EBD9B4;font-size:20px;margin-top:12px;}.saj-teach header.top .wrap{display:flex;gap:34px;align-items:center;justify-content:space-between;flex-wrap:wrap;}.saj-teach header.top .htext{flex:1;min-width:280px;}.saj-teach .bookcover{width:172px;flex:0 0 auto;border-radius:7px;box-shadow:0 14px 32px rgba(0,0,0,.40);border:1px solid rgba(0,0,0,.35);display:block;}
  @media(max-width:680px){.saj-teach .bookcover{width:124px;}.saj-teach header.top .wrap{gap:20px;}}.saj-teach /* award plaque */
  .award{background:var(--marker);color:var(--silver);margin:-26px auto 0;max-width:940px;border-radius:4px;
    border:2px solid #000;box-shadow:0 14px 30px rgba(0,0,0,.22),inset 0 0 0 3px #2a251c;padding:24px 30px;
    display:flex;gap:20px;align-items:center;flex-wrap:wrap;}.saj-teach .award .seal{font-family:"Fraunces";font-weight:900;font-size:13px;letter-spacing:.04em;color:#15120E;
    background:#E7C77E;border-radius:50%;width:96px;height:96px;display:flex;align-items:center;justify-content:center;
    text-align:center;line-height:1.15;padding:10px;flex:0 0 auto;border:3px solid #C9A765;}.saj-teach .award .txt{flex:1;min-width:240px;}.saj-teach .award .txt .t{font-family:"Fraunces";font-size:22px;color:#EFE9DA;font-weight:600;margin:0 0 4px;}.saj-teach .award .txt .d{font-size:15px;color:#cfc8b8;margin:0;}.saj-teach .award .txt a, .saj-teach .award .txt a:visited{color:#F2D98C;text-decoration:underline;text-underline-offset:2px;}.saj-teach .award .txt a:hover{color:#FFF0C4;}.saj-teach section{padding:42px 0;}.saj-teach .lede{color:var(--muted);max-width:720px;font-size:18px;}.saj-teach /* quiz CTA + alignment link */
  .cta-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;}.saj-teach .cta{display:block;background:var(--pine);color:#F4ECDA;border-radius:10px;padding:20px 22px;text-decoration:none;
    border:1px solid var(--pine);transition:transform .12s ease;}.saj-teach .cta:hover{transform:translateY(-2px);}.saj-teach .cta .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A9C3B2;font-weight:700;}.saj-teach .cta .h{font-family:"Fraunces";font-size:21px;color:#F8F2E2;margin:5px 0 3px;font-weight:600;}.saj-teach .cta .s{font-size:14px;color:#CFE0D3;}.saj-teach .cta.alt{background:var(--card);border-color:var(--rule);color:var(--ink);}.saj-teach .cta.alt .l{color:var(--brass);}.saj-teach .cta.alt .h{color:var(--pine);}.saj-teach .cta.alt .s{color:var(--muted);}.saj-teach /* activities */
  .act{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:24px 26px;margin-bottom:18px;}.saj-teach .act .head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}.saj-teach .act .no{font-family:"Fraunces";font-weight:900;font-size:30px;color:#E0D2AE;line-height:1;}.saj-teach .act h3{font-size:22px;margin:0;flex:1;min-width:200px;}.saj-teach .skill{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--pine-2);
    padding:4px 10px;border-radius:999px;white-space:nowrap;}.saj-teach .act p{font-size:15.5px;line-height:1.55;margin:12px 0 0;}.saj-teach .chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;}.saj-teach .chip{font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;border:1px solid var(--pine-2);color:var(--pine);background:#EFE7D2;}.saj-teach .qs{margin:12px 0 0;padding-left:20px;}.saj-teach .qs li{font-size:14.5px;line-height:1.5;margin:0 0 7px;}.saj-teach .qs b{color:var(--pine);}.saj-teach .res{display:inline-flex;align-items:center;gap:6px;margin:14px 12px 0 0;font-size:13.5px;font-weight:600;
    color:var(--brass);text-decoration:none;border-bottom:1px solid #d8c79a;padding-bottom:1px;}.saj-teach .res:hover{border-color:var(--brass);}.saj-teach .note{background:var(--pine);color:#EDE3CE;border-radius:10px;padding:22px 26px;font-size:15px;}.saj-teach .note a{color:#E7C77E;}.saj-teach footer.foot{text-align:center;color:var(--muted);font-size:13px;padding:32px 0 50px;}

  @media(max-width:680px){.saj-teach .cta-row{grid-template-columns:1fr;}.saj-teach .award{flex-direction:column;text-align:center;}}
/* ---------------------------------------------------------------------
   SOL Alignment page
   --------------------------------------------------------------------- */
.sol-table-wrap{max-width:960px;margin:1.5rem auto 0;padding:0 2rem;overflow-x:auto}
.sol-table{width:100%;border-collapse:collapse;background:#FFF;border:1px solid #E0DCC8;border-radius:10px;overflow:hidden;font-size:14.5px}
.sol-table thead{background:#1C2B1A;color:#E8DFC4}
.sol-table th{padding:.8rem 1rem;text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.sol-table td{padding:.75rem 1rem;border-bottom:1px solid #F0EBD8;vertical-align:top;line-height:1.5;color:#2A2A24}
.sol-table tbody tr:last-child td{border-bottom:none}
.sol-table tbody tr:hover{background:#FAF5E8}
.sol-table td:first-child{white-space:nowrap;color:#1C2B1A}
.sol-dot{color:#1C2B1A;font-weight:700}
.sol-dot.open{color:#8B7E63}
.sol-gap{color:#9A7B2E;font-style:italic;font-size:13px}

.sol-books{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;max-width:1100px;margin:1.75rem auto 0;padding:0 2rem}
.sol-book{position:relative;background:#FFF;border:1px solid #E6E1CE;border-radius:10px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}
.sol-book .sb-num{font-family:'Source Sans 3',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;color:#8B6914}
.sol-book .sb-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;color:#1C2B1A;line-height:1.2;margin:.15rem 0 .25rem}
.sol-book .sb-meta{font-size:12px;color:#7A7A68;letter-spacing:.02em;margin-bottom:.7rem}
.sol-book .sb-codes{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.7rem}
.sol-book .code{font-size:11.5px;font-weight:700;color:#1C2B1A;background:#EFE7D2;border:1px solid rgba(28,43,26,.18);border-radius:999px;padding:2px 9px;letter-spacing:.02em}
.sol-book .code.lit{background:#F4F0E4;color:#8B6914}
.sol-book .sb-line{font-size:13.5px;line-height:1.55;color:#3a3a30;margin:0}
.sol-book .sb-flag{position:absolute;top:-10px;right:14px;background:#C9A84C;color:#1C2B1A;font-size:10.5px;font-weight:800;letter-spacing:.05em;padding:3px 10px;border-radius:999px}

.sol-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:960px;margin:1.5rem auto 0;padding:0 2rem}
.sol-col h3{font-family:'Playfair Display',serif;font-size:21px;color:#1C2B1A;margin:0 0 .8rem}
.sol-col p{font-size:15px;line-height:1.65;color:#2A2A24;margin:0 0 .9rem}
.sol-col ul{margin:0 0 .9rem 1.1rem;padding:0}
.sol-col li{font-size:14.5px;line-height:1.6;color:#2A2A24;margin-bottom:.55rem}
.sol-col code{background:#EFE7D2;border-radius:3px;padding:1px 5px;font-size:13px;color:#8B6914}

.sol-note{max-width:820px;margin:0 auto;background:#1C2B1A;border-radius:12px;padding:2rem 2.25rem}
.sol-note p{color:#D8E0CF;font-size:15px;line-height:1.7;margin:0 0 1rem}
.sol-note .sol-dot{color:#C9A84C}
.sol-note .sol-dot.open{color:#9DB089}
.sol-note-cta{margin:0}
.sol-note-cta a{color:#E7C77E;font-weight:700;text-decoration:underline}
@media(max-width:760px){.sol-books{grid-template-columns:1fr}.sol-cols{grid-template-columns:1fr;gap:1.5rem}}

/* ---------------------------------------------------------------------
   Historical Background — aggregated history links from all 12 books
   --------------------------------------------------------------------- */
.hist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:1100px;margin:1.75rem auto 0;padding:0 2rem}
.hist-book{background:#FFF;border:1px solid #E6E1CE;border-radius:10px;padding:1.4rem 1.5rem}
.hist-book-head{border-bottom:1px solid #F0EBD8;padding-bottom:.7rem;margin-bottom:.85rem}
.hist-book-head .hb-num{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8B6914}
.hist-book-head .hb-title{font-family:'Playfair Display',serif;font-size:19px;color:#1C2B1A;margin:.2rem 0 0;line-height:1.2}
.hist-book-head .hb-title a{color:inherit;text-decoration:none}
.hist-book-head .hb-title a:hover{color:#8B6914}
.hist-links{list-style:none;margin:0;padding:0}
.hist-links li{margin-bottom:.5rem;padding-left:14px;position:relative}
.hist-links li::before{content:"›";position:absolute;left:0;color:#C9A84C;font-weight:700}
.hist-links a{color:#5A5A48;font-size:14px;font-weight:600;text-decoration:none;line-height:1.4}
.hist-links a:hover{color:#8B6914;text-decoration:underline}
@media(max-width:900px){.hist-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hist-grid{grid-template-columns:1fr}}

/* Book trailer section (book detail pages) */
.trailer-section{padding:5rem 4rem;background:#FFFFFF;text-align:center}
.trailer-inner{max-width:760px;margin:0 auto}
.trailer-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.18);margin-top:1.75rem}
.trailer-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:640px){.trailer-section{padding:3.5rem 1.2rem}}

/* ---------------------------------------------------------------------
   Companion article page (e.g. The Real George Wythe)
   --------------------------------------------------------------------- */
.article-wrap{max-width:1040px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.article-body p{font-size:17px;line-height:1.8;color:#2A2A24;margin:0 0 1.4rem;font-family:'Source Sans 3',sans-serif}
.article-body p:first-child::first-letter{font-family:'Playfair Display',serif;font-size:64px;line-height:.8;float:left;color:#1C2B1A;margin:6px 12px 0 0;font-weight:900}
.article-credit{font-size:15px;color:#6A6A58;border-top:1px solid #E6E1CE;padding-top:1.2rem;margin-top:.5rem}
.article-aside{position:sticky;top:90px}
.article-book{display:block;background:#FFF;border:1px solid #E6E1CE;border-radius:12px;padding:1.25rem;text-decoration:none;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.article-book:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(28,43,26,.12)}
.article-book img{width:170px;max-width:100%;height:auto;border-radius:5px;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.article-book-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8B6914;margin-top:1rem}
.article-book-title{font-family:'Playfair Display',serif;font-size:21px;color:#1C2B1A;margin:.25rem 0 .5rem;line-height:1.2}
.article-book-cta{font-size:13px;font-weight:600;color:#C9A84C}
@media(max-width:820px){.article-wrap{grid-template-columns:1fr;gap:2rem}.article-aside{position:static;max-width:300px;margin:0 auto}}

/* In-article figures + deleted-scene styling (companion article pages) */
.article-body .article-figure{margin:0 auto 1.75rem;text-align:center;max-width:340px}
.article-body .article-figure img{width:100%;height:auto;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.article-body .article-figure figcaption{font-size:13px;color:#7A7A68;margin-top:.55rem;font-style:italic}
.article-body .story-msg{font-style:italic;color:#8B6914;font-weight:700;font-size:18px}
.article-kicker{font-size:13px;color:#8B6914;font-weight:600;margin:0 0 1.5rem;letter-spacing:.02em}

/* Author photo gallery (book detail pages) */
.author-gallery-section{padding:5rem 4rem;background:#F4F0E4}
.author-gallery-inner{max-width:1000px;margin:0 auto;text-align:center}
.author-gallery-intro{font-size:16px;color:#5A5A48;max-width:660px;margin:0 auto 2.5rem;line-height:1.7}
.author-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.ag-item{margin:0}
.ag-item img{width:100%;height:auto;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18);display:block}
.ag-item figcaption{font-size:13px;color:#7A7A68;font-style:italic;margin-top:.6rem;text-align:center}
.ag-wide{grid-column:1 / -1}
.ag-wide img{max-height:440px;object-fit:cover}
@media(max-width:680px){.author-gallery{grid-template-columns:1fr}.author-gallery-section{padding:3.5rem 1.5rem}}

/* ---------------------------------------------------------------------
   Kit (ConvertKit) newsletter signup — free Chapter 1 of Summer of the Woods
   --------------------------------------------------------------------- */
.kit-signup{margin:0 auto;width:100%}
/* hide the site-wide footer form on pages that already have a dedicated one */
.home .footer-kit,.page-home .footer-kit,.page-free-chapter .footer-kit,.page-contact .footer-kit{display:none}

/* /free-chapter landing page */
.fc-section{padding:5rem 2rem;background:#1C2B1A;text-align:center}
.fc-inner{max-width:900px;margin:0 auto}
.fc-eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#C9A84C;margin-bottom:1rem}
.fc-title{font-family:'Playfair Display',serif;font-size:46px;font-weight:900;color:#F2ECD8;line-height:1.08;margin:0 0 .6rem}
.fc-title em{color:#C9A84C;font-style:italic}
.fc-tag{font-family:'Playfair Display',serif;font-style:italic;font-size:21px;color:#C8D8B5;margin:0 0 1.2rem}
.fc-sub{font-size:16px;color:#D8E0CF;line-height:1.7;max-width:600px;margin:0 auto 2.5rem}
.fc-card{display:grid;grid-template-columns:230px 1fr;gap:2.5rem;align-items:center;text-align:left;background:#FAFAF7;border-radius:14px;padding:2.5rem;box-shadow:0 20px 50px rgba(0,0,0,.3);max-width:760px;margin:0 auto}
.fc-card .fc-cover img{width:100%;height:auto;border-radius:6px;box-shadow:0 14px 32px rgba(0,0,0,.35);display:block}
.fc-form{min-width:0}
@media(max-width:680px){.fc-card{grid-template-columns:1fr;text-align:center;padding:1.75rem}.fc-cover{max-width:190px;margin:0 auto}.fc-title{font-size:32px}}

/* Homepage Kit capture band */
.home-kit{padding:3.5rem 2rem;background:#F4F0E4;text-align:center}
.home-kit-inner{max-width:680px;margin:0 auto}
.home-kit-eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8B6914;margin-bottom:.7rem}
.home-kit-title{font-family:'Playfair Display',serif;font-size:30px;font-weight:900;color:#1C2B1A;margin:0 0 .5rem;line-height:1.15}
.home-kit-sub{font-size:16px;color:#5A5A48;margin:0 auto 1.75rem;line-height:1.6;max-width:520px}

/* Footer Kit capture */
.footer-kit{max-width:560px;margin:0 auto 2rem;padding-bottom:1.6rem;border-bottom:1px solid rgba(255,255,255,.12);text-align:center}
.footer-kit-label{font-family:'Playfair Display',serif;font-size:17px;color:#E8DFC4;margin-bottom:1rem}

/* SOTW secondary "listen" link beside the free-chapter CTA */
.btn-buy-listen{display:inline-block;margin-top:.45rem;color:#8B6914;font-size:14px;font-weight:600;text-decoration:none}
.btn-buy-listen:hover{color:#C9A84C;text-decoration:underline}
