/*
Theme Name: First Chapter Studios Author
Theme URI: https://firstchapterstudios.com
Author: Nathan E. Brooks / First Chapter Studios
Author URI: https://firstchapterstudios.com
Description: Custom author and book-series theme for Nathan E. Brooks and First Chapter Studios.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: firstchapterstudios-author
*/

:root { --ink:#18334d; --navy:#0b2946; --blue:#0f5ea8; --cream:#fff9eb; --paper:#f7eed9; --gold:#f1bd3f; --leaf:#557548; --shadow:0 18px 45px rgba(13,40,67,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; }
.offline-toolbar { position:sticky; top:0; z-index:1000; min-height:62px; padding:10px clamp(14px,4vw,54px); background:#071d32; color:white; display:flex; align-items:center; justify-content:space-between; gap:18px; box-shadow:0 6px 22px rgba(0,0,0,.24); }
.offline-status { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.offline-status span { width:11px; height:11px; border-radius:50%; background:#6fd18d; box-shadow:0 0 0 4px rgba(111,209,141,.16); }
.offline-status strong { font-size:.8rem; letter-spacing:.12em; }
.offline-status small { color:#c9d8e4; }
.toolbar-actions { display:flex; gap:8px; flex-wrap:wrap; }
.toolbar-actions button { appearance:none; border:1px solid rgba(255,255,255,.4); border-radius:999px; padding:8px 14px; background:rgba(255,255,255,.09); color:white; font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; }
.toolbar-actions button:hover { background:white; color:var(--navy); }
.edit-message { padding:7px 20px; text-align:center; background:#eaf7ee; color:#1f5a34; font-size:.84rem; border-bottom:1px solid #c9e8d3; }
.editing [data-editable] { outline:2px dashed #ec9f05; outline-offset:3px; background:rgba(255,239,163,.34); cursor:text; }
.site-header { max-width:1240px; margin:auto; min-height:86px; padding:18px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--navy); font-weight:800; }
.brand img { width:48px; height:48px; object-fit:contain; border-radius:50%; }
.site-header nav { display:flex; gap:25px; }
.site-header nav a { text-decoration:none; font-size:.92rem; font-weight:700; }
.site-header nav a:hover { color:var(--blue); }
.header-link { border-bottom:2px solid var(--gold); text-decoration:none; font-size:.86rem; font-weight:800; }
.hero { max-width:1240px; margin:auto; padding:42px 28px 84px; display:grid; grid-template-columns:1.05fr .85fr; align-items:center; gap:clamp(42px,7vw,95px); }
.eyebrow { margin:0 0 15px; color:var(--blue); font-size:.77rem; font-weight:900; letter-spacing:.16em; }
.hero h1,.section h2,.activity-feature h2,.community-section h2,.about-section h2,.closing-cta h2 { margin:0; color:var(--navy); font-family:Georgia,'Times New Roman',serif; line-height:1.05; }
.hero h1 { font-size:clamp(2.65rem,5.6vw,5.6rem); letter-spacing:-.035em; }
.hero-intro { max-width:660px; margin:26px 0; font-size:clamp(1.03rem,2vw,1.27rem); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { display:inline-block; padding:13px 20px; border-radius:999px; text-decoration:none; font-weight:900; text-align:center; }
.button-primary { background:var(--blue); color:white; box-shadow:0 10px 24px rgba(15,94,168,.22); }
.button-secondary { border:2px solid var(--blue); color:var(--blue); }
.hero-proof { margin-top:28px; display:flex; flex-wrap:wrap; gap:8px; }
.hero-proof span { padding:7px 11px; border-radius:999px; background:var(--paper); font-size:.78rem; font-weight:800; }
.portrait-frame { position:relative; max-width:460px; justify-self:center; padding:13px; background:white; border-radius:210px 210px 30px 30px; box-shadow:var(--shadow); transform:rotate(1.5deg); }
.portrait-frame>img { width:100%; aspect-ratio:.88; object-fit:cover; object-position:50% 22%; border-radius:200px 200px 23px 23px; }
.portrait-caption { padding:15px 16px 9px; display:flex; justify-content:space-between; gap:10px; }
.portrait-caption span { color:#687b8c; font-size:.82rem; }
.portrait-sticker { position:absolute; right:-18px; top:23%; width:102px; height:102px; border-radius:50%; background:var(--gold); color:var(--navy); display:grid; place-items:center; text-align:center; font:800 .96rem/1.1 Georgia,serif; transform:rotate(8deg); box-shadow:0 9px 20px rgba(0,0,0,.16); }
.purpose-strip { padding:32px 28px; text-align:center; background:var(--navy); color:white; }
.purpose-strip p { margin:0 0 4px; color:#c8dae8; }
.purpose-strip strong { color:var(--gold); font:700 clamp(1.35rem,3vw,2.3rem)/1.2 Georgia,serif; }
.section { max-width:1240px; margin:auto; padding:92px 28px; }
.section-heading { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:end; margin-bottom:45px; }
.section-heading h2,.activity-feature h2,.community-section h2,.about-section h2,.closing-cta h2 { font-size:clamp(2rem,4vw,3.8rem); }
.section-heading>p { margin:0; font-size:1.05rem; }
.book-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.book-card { overflow:hidden; display:grid; grid-template-columns:.82fr 1fr; min-height:570px; background:white; border:1px solid #eadfc5; border-radius:24px; box-shadow:0 15px 40px rgba(24,51,77,.1); }
.book-cover-wrap { position:relative; padding:26px; background:linear-gradient(145deg,#d7edf6,#f8e8b2); display:grid; place-items:center; }
.book-cover-wrap img { max-height:485px; box-shadow:0 15px 25px rgba(0,0,0,.2); }
.book-badge { position:absolute; top:18px; left:18px; z-index:2; padding:7px 11px; border-radius:999px; background:var(--gold); color:var(--navy); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.book-copy { padding:38px 31px; display:flex; flex-direction:column; justify-content:center; }
.book-number { margin:0; color:var(--blue); font-size:.75rem; font-weight:900; letter-spacing:.14em; }
.book-copy h3 { margin:10px 0 18px; color:var(--navy); font:700 clamp(1.5rem,2.5vw,2.1rem)/1.08 Georgia,serif; }
.book-note { margin:12px 0 20px; padding:12px; background:#fff8dd; border-radius:12px; display:flex; gap:8px; color:#72551e; }
.book-note p { margin:0; font-size:.87rem; }
.text-link { color:var(--blue); font-weight:900; text-decoration-thickness:2px; text-underline-offset:4px; }
.text-link-muted { color:#6d7c87; text-decoration:none; }
.activity-feature { max-width:1160px; margin:0 auto 95px; padding:38px 45px; display:grid; grid-template-columns:auto 1.2fr .9fr; align-items:center; gap:28px; background:#e7f3dc; border:1px solid #c9dfb7; border-radius:22px; }
.activity-icon { width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:var(--leaf); color:white; font-size:2rem; }
.activity-feature p { margin:0; }
.activity-feature h2 { font-size:clamp(1.8rem,3.3vw,3rem); }
.community-section { padding:96px max(28px,calc((100vw - 1184px)/2)); background:var(--navy); color:white; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(45px,7vw,85px); align-items:center; }
.eyebrow-light { color:#92cce8; }
.community-section h2 { color:white; }
.community-lead { color:var(--gold); font:700 1.35rem Georgia,serif; }
.community-copy blockquote { margin:26px 0 0; padding-left:20px; border-left:3px solid var(--gold); color:#d6e5ef; font:italic 1.12rem/1.55 Georgia,serif; }
.community-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.community-gallery img { width:100%; aspect-ratio:.83; object-fit:cover; border-radius:15px; border:4px solid rgba(255,255,255,.12); }
.values-heading { grid-template-columns:1fr; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.values-grid article { padding:30px; background:white; border-top:5px solid var(--gold); box-shadow:0 12px 28px rgba(24,51,77,.08); }
.value-number { color:var(--gold); font-size:1.8rem; font-weight:900; }
.values-grid h3 { color:var(--navy); font:700 1.45rem Georgia,serif; }
.about-section { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; background:var(--paper); }
.about-photo { min-height:700px; height:100%; }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.about-copy { max-width:650px; padding:75px clamp(35px,8vw,110px); }
.about-lead { color:var(--blue); font:700 1.4rem Georgia,serif; }
.about-copy .button { margin-top:12px; }
.closing-cta { padding:90px 28px; background:linear-gradient(120deg,#0f5ea8,#153a5b); color:white; text-align:center; }
.closing-cta h2 { color:white; max-width:780px; margin:auto; }
.closing-cta>p:not(.eyebrow) { max-width:700px; margin:20px auto 26px; }
.button-gold { background:var(--gold); color:var(--navy); }
footer { min-height:150px; padding:35px max(28px,calc((100vw - 1184px)/2)); background:#061a2c; color:#c8d5df; display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; }
.footer-brand { color:white; }
.footer-brand small { display:block; color:#aebfcb; font-weight:400; }
footer>p { margin:0; font-size:.82rem; text-align:right; }
@media (max-width:980px) {
  .site-header nav { display:none; }
  .hero,.community-section,.about-section { grid-template-columns:1fr; }
  .hero-copy { order:2; }
  .portrait-frame { order:1; max-width:390px; }
  .section-heading { grid-template-columns:1fr; gap:18px; }
  .book-grid { grid-template-columns:1fr; }
  .book-card { grid-template-columns:.75fr 1fr; }
  .activity-feature { grid-template-columns:auto 1fr; }
  .activity-feature>p { grid-column:2; }
  .about-photo { min-height:600px; }
}
@media (max-width:690px) {
  .offline-toolbar { position:relative; align-items:flex-start; flex-direction:column; }
  .toolbar-actions { width:100%; }
  .toolbar-actions button { flex:1; min-width:115px; }
  .site-header { padding:15px 18px; }
  .header-link { display:none; }
  .hero,.section { padding-left:20px; padding-right:20px; }
  .hero { padding-top:25px; }
  .portrait-sticker { right:-4px; }
  .book-card { grid-template-columns:1fr; }
  .book-cover-wrap img { max-height:430px; }
  .activity-feature { margin:0 18px 65px; padding:28px 24px; grid-template-columns:1fr; }
  .activity-feature>p { grid-column:1; }
  .community-gallery { grid-template-columns:repeat(2,1fr); }
  .values-grid { grid-template-columns:1fr; }
  .about-photo { min-height:480px; }
  footer { grid-template-columns:1fr; }
  footer>p { text-align:left; }
}
@media print {
  .offline-toolbar,.edit-message { display:none!important; }
  body { background:white; }
  .site-header { position:static; }
  .hero,.section,.community-section,.about-section,.closing-cta { break-inside:avoid; }
}
