/*
 * Simon J Cooper — lightweight theme styles.
 * Palette defaults are exposed as CSS variables for the WordPress Customizer.
 */
:root{--sjc-bg:#171B26;--sjc-surface:#293344;--sjc-gold:#C5A46D;--sjc-ivory:#EAE5DA;--sjc-muted:#b8b5ad;--sjc-line:rgba(234,229,218,.14);--sjc-content:1180px;--sjc-reading:780px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sjc-bg);color:var(--sjc-ivory);font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--sjc-gold)}
button,input,textarea{font:inherit}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;z-index:999;background:var(--sjc-ivory);color:var(--sjc-bg);padding:.7rem 1rem}
.site-header{background:#141821;border-bottom:1px solid var(--sjc-line);position:relative;z-index:5}
.header-inner{max-width:var(--sjc-content);margin:auto;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-branding{min-width:240px}
.site-title{font-size:25px;line-height:1.2;letter-spacing:.01em;font-weight:700}
.site-title span{font-size:15px;color:var(--sjc-muted);font-weight:400}
.site-tagline{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.04em;color:var(--sjc-muted);margin:6px 0 0}
.custom-logo{max-height:72px;width:auto}
.primary-navigation{display:flex;align-items:center;gap:26px}
.primary-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;font-family:Arial,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.primary-menu a{padding:10px 0;transition:color .18s ease}
.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--sjc-gold)}
.header-social{display:flex;gap:10px}
.header-social a{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--sjc-line);border-radius:50%;font:700 12px Arial,sans-serif;color:var(--sjc-gold)}
.menu-toggle{display:none;background:none;border:1px solid var(--sjc-line);padding:9px;border-radius:3px;color:var(--sjc-ivory)}
.menu-toggle span:not(.screen-reader-text){display:block;width:20px;height:1px;background:currentColor;margin:4px}
.book-hero{background:linear-gradient(115deg,#1c2230 0%,#252f40 100%);border-bottom:1px solid var(--sjc-line)}
.book-hero-inner{max-width:var(--sjc-content);margin:auto;min-height:470px;padding:68px 34px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);align-items:center;gap:65px}
.eyebrow,.post-category{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--sjc-gold);margin:0 0 14px}
.hero-copy h1{font-size:clamp(38px,5vw,62px);line-height:1.08;font-weight:400;max-width:670px;margin:0 0 22px;letter-spacing:-.025em}
.hero-description{font-size:19px;color:#d1cbbf;max-width:590px;margin:0 0 28px}
.hero-book{display:flex;justify-content:center;align-items:center;min-height:300px}
.hero-book img{max-height:350px;width:auto;max-width:100%;box-shadow:0 22px 55px rgba(0,0,0,.38)}
.book-cover-placeholder{width:230px;height:340px;background:linear-gradient(145deg,#3b4656,#171d28);border:1px solid rgba(197,164,109,.65);box-shadow:0 22px 55px rgba(0,0,0,.38);display:flex;flex-direction:column;justify-content:space-between;padding:30px 22px;text-align:center;color:var(--sjc-ivory)}
.book-cover-placeholder:before{content:"";height:1px;background:var(--sjc-gold);width:55%;margin:0 auto}
.book-cover-placeholder span{font-size:28px;line-height:1.2}
.book-cover-placeholder small{font:10px Arial,sans-serif;letter-spacing:.2em;color:var(--sjc-gold)}
.book-cover-placeholder.small{width:105px;height:150px;padding:14px 9px}
.book-cover-placeholder.small span{font-size:15px}
.book-cover-placeholder.small small{font-size:7px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;min-height:46px;font:700 11px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease}
.button-gold{background:var(--sjc-gold);border:1px solid var(--sjc-gold);color:#171b26}
.button-gold:hover{background:#d5b982;border-color:#d5b982;color:#171b26}
.button-outline{border:1px solid rgba(234,229,218,.45);color:var(--sjc-ivory)}
.button-outline:hover{border-color:var(--sjc-gold);color:var(--sjc-gold)}
.content-with-sidebar{max-width:var(--sjc-content);margin:0 auto;padding:68px 28px 80px;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:64px}
.main-column{min-width:0}
.section-block{margin-bottom:76px}
.author-intro{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.5fr);gap:38px;align-items:center}
.author-photo{min-height:245px;background:var(--sjc-surface);overflow:hidden}
.author-image{width:100%;height:280px;object-fit:cover}
.image-placeholder{display:block;width:100%;height:100%;min-height:180px;background:linear-gradient(145deg,#344154,#1c2330);position:relative}
.image-placeholder:after{content:"";position:absolute;inset:18px;border:1px solid rgba(197,164,109,.28)}
.author-copy h2{font-size:31px;line-height:1.2;font-weight:400;margin:0 0 16px}
.author-copy>p:not(.eyebrow){color:#c8c4bb;margin:0 0 18px}
.text-link{display:inline-block;color:var(--sjc-gold);font:700 11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.text-link span{font-size:16px;margin-left:5px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.section-heading h2{font-size:34px;line-height:1.2;font-weight:400;margin:0}
.section-heading>.text-link{margin-bottom:6px}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.post-card{min-width:0}
.post-card-image{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sjc-surface)}
.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.post-card-image:hover img{transform:scale(1.035)}
.post-card-body{padding:17px 0 0}
.post-card .post-category{margin-bottom:9px}
.post-category a{color:var(--sjc-gold)}
.post-card h3{font-size:21px;line-height:1.25;font-weight:400;margin:0 0 10px}
.post-excerpt{font-size:14px;line-height:1.65;color:var(--sjc-muted);margin:0 0 14px}
.site-sidebar{min-width:0}
.sidebar-heading{font-size:24px;font-weight:400;margin:0 0 20px;padding-bottom:13px;border-bottom:1px solid var(--sjc-line)}
.promo-card{background:var(--sjc-surface);margin-bottom:22px}
.promo-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#202938}
.promo-image img{width:100%;height:100%;object-fit:cover}
.promo-content{padding:18px 19px 20px}
.promo-content .eyebrow{margin-bottom:7px}
.promo-content h3{font-size:21px;line-height:1.2;font-weight:400;margin:0 0 8px}
.promo-content>p:not(.eyebrow){font-size:13px;line-height:1.55;color:#c2c0ba;margin:0 0 13px}
.wordpress-widgets{margin-top:30px}
.widget{padding:20px 0;border-top:1px solid var(--sjc-line)}
.widget-title{font-size:19px;font-weight:400}
.page-shell{max-width:var(--sjc-content);margin:0 auto;padding:75px 28px 95px}
.archive-header{max-width:760px;margin:0 auto 48px;text-align:center}
.archive-header h1,.page-header h1{font-size:clamp(38px,5vw,56px);font-weight:400;line-height:1.12;margin:0 0 15px}
.archive-header>p:not(.eyebrow){color:var(--sjc-muted)}
.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-shell .content-with-sidebar{padding:0;max-width:none}
.pagination{margin-top:50px}
.nav-links{display:flex;gap:10px;justify-content:center;align-items:center}
.page-numbers{display:inline-flex;padding:8px 13px;border:1px solid var(--sjc-line);font:12px Arial,sans-serif}
.page-numbers.current{background:var(--sjc-gold);color:var(--sjc-bg);border-color:var(--sjc-gold)}
.post-book-strip{background:#222b39;border-bottom:1px solid var(--sjc-line)}
.post-book-inner{max-width:var(--sjc-content);margin:auto;min-height:235px;padding:32px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.post-book-inner>div:first-child{max-width:760px}
.post-book-inner h2{font-size:27px;line-height:1.25;font-weight:400;margin:0 0 18px}
.post-book-cover img{max-height:170px;width:auto;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.article-layout{padding-top:58px}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--sjc-muted);font:11px Arial,sans-serif;margin-bottom:30px}
.article-header{margin-bottom:30px}
.article-header h1{font-size:clamp(38px,5vw,54px);font-weight:400;line-height:1.13;margin:0 0 16px}
.article-meta{font:12px Arial,sans-serif;color:var(--sjc-muted);display:flex;gap:10px}
.article-featured-image{margin:0 0 36px}
.article-featured-image img{width:100%;max-height:540px;object-fit:cover}
.article-content{max-width:var(--sjc-reading);font-size:18px;line-height:1.9;color:#ded9cf}
.article-content h2,.article-content h3,.article-content h4{color:var(--sjc-ivory);font-weight:400;line-height:1.25;margin-top:1.8em}
.article-content h2{font-size:32px}
.article-content h3{font-size:25px}
.article-content p{margin:0 0 1.35em}
.article-content a{color:var(--sjc-gold);text-decoration:underline;text-underline-offset:3px}
.article-content blockquote{border-left:2px solid var(--sjc-gold);margin:2em 0;padding:5px 0 5px 25px;color:#c9c3b8;font-size:21px}
.article-content img{height:auto}
.article-author-box{margin-top:65px;padding:27px;background:var(--sjc-surface);display:grid;grid-template-columns:105px 1fr;gap:24px;align-items:center}
.author-box-photo .image-placeholder,.author-box-photo img{width:105px;height:115px;min-height:115px;object-fit:cover}
.article-author-box h2{font-size:24px;font-weight:400;margin:0 0 5px}
.article-author-box p:not(.eyebrow){font-size:14px;color:var(--sjc-muted);margin:0 0 10px}
.post-navigation{margin-top:35px}
.post-navigation .nav-links{justify-content:space-between;border-top:1px solid var(--sjc-line);padding-top:25px}
.post-navigation .nav-links a{max-width:48%;display:flex;flex-direction:column}
.nav-label{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--sjc-gold)}
.nav-title{font-size:16px}
.standard-page{max-width:900px}
.page-header{text-align:center;margin-bottom:42px}
.page-featured-image{margin-bottom:35px}
.page-featured-image img{max-height:500px;width:100%;object-fit:cover}
.error-page{text-align:center;min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.error-page h1{font-size:clamp(36px,5vw,56px);font-weight:400;max-width:750px;line-height:1.15}
.error-page p:not(.eyebrow){color:var(--sjc-muted);margin-bottom:25px}
.site-footer{background:#121720;border-top:1px solid var(--sjc-line);padding:55px 28px 0}
.footer-inner{max-width:var(--sjc-content);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;padding-bottom:45px}
.footer-column h2{font-size:20px;font-weight:400;margin:0 0 15px}
.footer-column p,.footer-column li{font-size:14px;color:var(--sjc-muted)}
.footer-column ul{list-style:none;margin:0;padding:0}
.footer-column li{margin:0 0 7px}
.footer-column a:hover{color:var(--sjc-gold)}
.footer-extra{max-width:var(--sjc-content);margin:0 auto 25px}
.footer-bottom{max-width:var(--sjc-content);margin:auto;border-top:1px solid var(--sjc-line);padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:var(--sjc-muted);font:11px Arial,sans-serif}
.footer-bottom p{margin:0}
.footer-bottom a{color:var(--sjc-gold)}
.search-form{display:flex;gap:8px;justify-content:center}
.search-form input{background:var(--sjc-surface);border:1px solid var(--sjc-line);padding:10px;color:var(--sjc-ivory)}
.search-form button{background:var(--sjc-gold);border:0;padding:10px 16px;color:var(--sjc-bg)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.content-with-sidebar{grid-template-columns:minmax(0,1fr) 250px;gap:35px}.book-hero-inner{gap:35px}.post-grid{gap:16px}.post-card h3{font-size:19px}}
@media(max-width:760px){.header-inner{padding:19px 20px}.menu-toggle{display:block}.primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#141821;padding:20px;border-bottom:1px solid var(--sjc-line);align-items:flex-start;flex-direction:column}.primary-navigation.is-open{display:flex}.primary-menu{flex-direction:column;align-items:flex-start;gap:10px}.book-hero-inner{min-height:0;padding:55px 24px;grid-template-columns:1fr;gap:35px}.hero-copy h1{font-size:43px}.hero-book{min-height:0}.hero-book img{max-height:280px}.book-cover-placeholder{width:185px;height:275px}.content-with-sidebar{padding:50px 22px 65px;grid-template-columns:1fr;gap:50px}.author-intro{grid-template-columns:1fr;gap:24px}.author-photo{max-width:330px}.author-image{height:320px}.post-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sidebar-heading{grid-column:1/-1;margin-bottom:0}.promo-card{margin:0}.wordpress-widgets{grid-column:1/-1}.post-book-inner{padding:28px 22px;min-height:0}.post-book-inner h2{font-size:22px}.post-book-cover img{max-height:130px}.article-layout{padding-top:40px}.page-shell{padding:55px 22px 70px}.footer-inner{gap:30px}.site-footer{padding-left:22px;padding-right:22px}}
@media(max-width:520px){body{font-size:16px}.site-title{font-size:21px}.site-tagline{font-size:10px}.hero-copy h1{font-size:37px}.hero-description{font-size:17px}.post-grid,.archive-grid{grid-template-columns:1fr}.post-card-image{aspect-ratio:16/9}.site-sidebar{grid-template-columns:1fr}.promo-card{display:grid;grid-template-columns:110px 1fr}.promo-image{aspect-ratio:1/1}.promo-content{padding:12px}.promo-content h3{font-size:17px}.promo-content>p:not(.eyebrow){font-size:12px}.post-book-inner{align-items:flex-start}.post-book-inner h2{font-size:19px}.post-book-cover img{max-height:110px}.book-cover-placeholder.small{width:75px;height:110px}.book-cover-placeholder.small span{font-size:12px}.article-header h1{font-size:36px}.article-content{font-size:17px}.article-author-box{grid-template-columns:75px 1fr;padding:18px;gap:15px}.author-box-photo .image-placeholder,.author-box-photo img{width:75px;height:85px;min-height:85px}.footer-inner{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.footer-bottom{flex-direction:column;gap:8px}.section-heading h2{font-size:29px}.section-heading{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
