:root {
  --ab-ink:#181713;
  --ab-paper:#f7f4ed;
  --ab-white:#fffdf8;
  --ab-clay:#9a4d38;
  --ab-muted:#6f6b62;
  --ab-line:#dcd6ca;
  --ab-soft:#ebe5da;
  --ab-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --ab-sans:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body { background:var(--ab-paper); color:var(--ab-ink); }
.ab-global-header { position:sticky; top:0; z-index:999; background:rgba(247,244,237,.94); backdrop-filter:blur(14px); border-bottom:1px solid rgba(24,23,19,.11); }
body.admin-bar .ab-global-header { top:32px; }
.ab-header-inner,.ab-footer-inner,.ab-shell { width:min(100% - 40px,1180px)!important; margin-inline:auto!important; }
.ab-brand .elementor-heading-title { font-family:var(--ab-serif)!important; letter-spacing:-.035em; }
.ab-nav-link .elementor-heading-title a { text-decoration:none; }
.ab-nav-link .elementor-heading-title a:hover { color:var(--ab-clay)!important; }
.ab-mobile-menu-toggle { display:none!important; }
.ab-mobile-panel { display:none!important; }
.ab-mobile-panel.is-open { display:flex!important; }
.ab-mobile-toggle-button { border:1px solid var(--ab-line); background:var(--ab-white); color:var(--ab-ink); border-radius:999px; padding:9px 13px; font:600 12px/1 var(--ab-sans); letter-spacing:.08em; cursor:pointer; }
.ab-mobile-toggle-button:focus-visible { outline:2px solid var(--ab-clay); outline-offset:3px; }
.ab-hero-kicker .elementor-heading-title,.ab-section-kicker .elementor-heading-title { letter-spacing:.15em; text-transform:uppercase; }
.ab-hero-title .elementor-heading-title { text-wrap:balance; }
.ab-editorial-rule { width:100%; height:1px; background:var(--ab-line); }
.ab-dynamic-area { width:100%; }
.ab-featured-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); border-top:1px solid var(--ab-ink); border-bottom:1px solid var(--ab-line); padding:30px 0 34px; gap:40px; text-decoration:none; color:inherit; }
.ab-featured-card:hover .ab-featured-title { color:var(--ab-clay); }
.ab-featured-media { min-height:340px; background:#e8dfd2; overflow:hidden; border-radius:2px; }
.ab-featured-media img { width:100%; height:100%; min-height:340px; object-fit:cover; display:block; transition:transform .45s ease; }
.ab-featured-card:hover .ab-featured-media img { transform:scale(1.02); }
.ab-placeholder-media { height:100%; min-height:340px; display:grid; place-items:center; font:600 72px/1 var(--ab-serif); color:rgba(24,23,19,.22); background:linear-gradient(135deg,#e8dfd2,#f3eee5); }
.ab-featured-copy { display:flex; flex-direction:column; justify-content:center; }
.ab-meta { display:flex; flex-wrap:wrap; gap:9px; align-items:center; font:600 11px/1.3 var(--ab-sans); text-transform:uppercase; letter-spacing:.1em; color:var(--ab-muted); }
.ab-meta span+span:before { content:"·"; margin-right:9px; color:#aaa399; }
.ab-featured-title { margin:18px 0 16px; font:500 clamp(35px,4.1vw,62px)/.98 var(--ab-serif); letter-spacing:-.04em; transition:color .2s ease; }
.ab-featured-excerpt { margin:0; color:#514d46; font:400 17px/1.7 var(--ab-sans); }
.ab-read-link { margin-top:26px; font:700 12px/1 var(--ab-sans); letter-spacing:.08em; text-transform:uppercase; }
.ab-empty-state { border:1px dashed #c7bfb2; background:rgba(255,253,248,.55); padding:30px; color:var(--ab-muted); font:400 15px/1.7 var(--ab-sans); }
.ab-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 26px; }
.ab-article-card { border-top:1px solid var(--ab-line); padding-top:16px; }
.ab-article-card a { color:inherit; text-decoration:none; }
.ab-article-card-media { aspect-ratio:16/10; overflow:hidden; background:#e8dfd2; margin-bottom:18px; }
.ab-article-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ab-article-card:hover img { transform:scale(1.025); }
.ab-article-card h3 { margin:12px 0 10px; font:500 27px/1.08 var(--ab-serif); letter-spacing:-.025em; }
.ab-article-card:hover h3 { color:var(--ab-clay); }
.ab-article-card p { margin:0; color:var(--ab-muted); font:400 14px/1.65 var(--ab-sans); }
.ab-topics { display:flex; flex-wrap:wrap; gap:10px; }
.ab-topic { display:inline-flex; align-items:center; gap:8px; padding:11px 15px; border:1px solid var(--ab-line); background:rgba(255,253,248,.58); color:var(--ab-ink); text-decoration:none; font:600 12px/1 var(--ab-sans); letter-spacing:.03em; border-radius:999px; transition:all .2s ease; }
.ab-topic:hover { border-color:var(--ab-clay); color:var(--ab-clay); }
.ab-topic-count { color:var(--ab-muted); font-weight:500; }
.ab-pagination { margin-top:42px; display:flex; flex-wrap:wrap; gap:8px; }
.ab-pagination .page-numbers { padding:10px 13px; border:1px solid var(--ab-line); text-decoration:none; font:600 12px/1 var(--ab-sans); }
.ab-pagination .current { background:var(--ab-ink); color:var(--ab-white); border-color:var(--ab-ink); }
.ab-article-hero { width:min(100% - 40px,920px); margin:0 auto; padding:78px 0 44px; }
.ab-article-hero h1 { margin:18px 0 22px; font:500 clamp(43px,7vw,82px)/.96 var(--ab-serif); letter-spacing:-.05em; text-wrap:balance; }
.ab-article-deck { max-width:760px; margin:0; font:400 19px/1.6 var(--ab-sans); color:#514d46; }
.ab-article-hero-image { width:min(100% - 40px,1180px); margin:0 auto 54px; }
.ab-article-hero-image img { display:block; width:100%; max-height:700px; object-fit:cover; }
.ab-article-body { width:min(100% - 40px,760px); margin:0 auto; padding:0 0 80px; font:400 19px/1.78 var(--ab-serif); }
.ab-article-body p { margin:0 0 1.4em; }
.ab-article-body h2,.ab-article-body h3 { font-family:var(--ab-serif); line-height:1.08; letter-spacing:-.025em; margin:1.8em 0 .65em; }
.ab-article-body h2 { font-size:38px; }
.ab-article-body h3 { font-size:29px; }
.ab-article-body blockquote { margin:2em 0; padding:6px 0 6px 26px; border-left:3px solid var(--ab-clay); font-size:25px; line-height:1.5; }
.ab-article-body a { text-decoration-thickness:1px; text-underline-offset:3px; }
.ab-related-wrap { width:min(100% - 40px,1180px); margin:0 auto; border-top:1px solid var(--ab-ink); padding:34px 0 80px; }
.ab-related-wrap h2 { font:500 34px/1.05 var(--ab-serif); margin:0 0 26px; }
.ab-archive-title { margin:0; font:500 clamp(46px,6vw,72px)/.98 var(--ab-serif); letter-spacing:-.045em; color:var(--ab-ink); }
.ab-archive-description { max-width:720px; color:var(--ab-muted); font:400 16px/1.7 var(--ab-sans); }
.ab-search-form { display:flex; gap:8px; max-width:720px; }
.ab-search-form input[type="search"] { min-width:0; flex:1; border:1px solid var(--ab-line); background:var(--ab-white); color:var(--ab-ink); padding:14px 16px; font:400 15px/1.2 var(--ab-sans); }
.ab-search-form button { border:1px solid var(--ab-ink); background:var(--ab-ink); color:var(--ab-white); padding:14px 18px; font:700 12px/1 var(--ab-sans); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.ab-contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ab-contact-field { display:flex; flex-direction:column; gap:8px; }
.ab-contact-field.ab-full { grid-column:1/-1; }
.ab-contact-form label { font:700 11px/1 var(--ab-sans); text-transform:uppercase; letter-spacing:.1em; }
.ab-contact-form input,.ab-contact-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--ab-line); background:var(--ab-white); color:var(--ab-ink); padding:13px 14px; font:400 15px/1.4 var(--ab-sans); border-radius:0; }
.ab-contact-form textarea { min-height:170px; resize:vertical; }
.ab-contact-form input:focus,.ab-contact-form textarea:focus { outline:2px solid rgba(154,77,56,.28); border-color:var(--ab-clay); }
.ab-contact-submit { justify-self:start; border:0; background:var(--ab-ink); color:var(--ab-white); padding:14px 19px; font:700 12px/1 var(--ab-sans); text-transform:uppercase; letter-spacing:.09em; cursor:pointer; }
.ab-contact-notice { grid-column:1/-1; padding:12px 14px; background:#ece6db; font:500 14px/1.5 var(--ab-sans); }
.ab-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:900px) {
  .ab-featured-card { grid-template-columns:1fr; gap:24px; }
  .ab-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ab-desktop-nav { display:none!important; }
  .ab-mobile-menu-toggle { display:block!important; }
}
@media (max-width:782px) { body.admin-bar .ab-global-header { top:46px; } }
@media (max-width:640px) {
  .ab-header-inner,.ab-footer-inner,.ab-shell { width:min(100% - 28px,1180px)!important; }
  .ab-featured-media,.ab-placeholder-media,.ab-featured-media img { min-height:250px; }
  .ab-featured-title { font-size:39px; }
  .ab-article-grid { grid-template-columns:1fr; gap:30px; }
  .ab-contact-form { grid-template-columns:1fr; }
  .ab-contact-field.ab-full { grid-column:auto; }
  .ab-article-hero { padding-top:52px; }
  .ab-article-hero h1 { font-size:48px; }
  .ab-article-body { font-size:18px; }
}


/* Author platform / publications */
.ab-button-row { flex-wrap:wrap; }
.ab-button-secondary .elementor-button { background:transparent!important; color:var(--ab-ink)!important; border:1px solid var(--ab-ink)!important; }
.ab-button-secondary .elementor-button:hover { background:var(--ab-ink)!important; color:var(--ab-white)!important; }

.ab-publication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 30px; }
.ab-publication-card { min-width:0; }
.ab-publication-card a,.ab-publication-featured a { color:inherit; text-decoration:none; }
.ab-publication-cover-link { display:block; }
.ab-publication-cover { width:100%; aspect-ratio:2/3; background:#ddd3c4; overflow:hidden; box-shadow:0 18px 40px rgba(24,23,19,.09); }
.ab-publication-cover img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.ab-publication-card:hover .ab-publication-cover img,.ab-publication-featured:hover .ab-publication-cover img { transform:scale(1.015); }
.ab-publication-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:rgba(24,23,19,.28); background:linear-gradient(145deg,#d9cbb9,#f0e8dc); }
.ab-publication-placeholder span { font:600 clamp(42px,7vw,76px)/1 var(--ab-serif); }
.ab-publication-placeholder small { font:700 10px/1 var(--ab-sans); letter-spacing:.14em; text-transform:uppercase; }
.ab-publication-copy { padding-top:20px; }
.ab-publication-type { color:var(--ab-clay); font:700 10px/1.2 var(--ab-sans); letter-spacing:.14em; text-transform:uppercase; }
.ab-publication-copy h3 { margin:10px 0 10px; font:500 31px/1.04 var(--ab-serif); letter-spacing:-.035em; }
.ab-publication-copy p { margin:0; color:var(--ab-muted); font:400 14px/1.65 var(--ab-sans); }
.ab-publication-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; margin-top:20px; }
.ab-text-link { font:700 11px/1.2 var(--ab-sans); letter-spacing:.07em; text-transform:uppercase; }
.ab-amazon-link { display:inline-flex; align-items:center; border-bottom:1px solid var(--ab-ink); padding-bottom:2px; font:700 11px/1.2 var(--ab-sans); letter-spacing:.06em; text-transform:uppercase; }
.ab-publication-featured { display:grid; grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr); gap:54px; align-items:center; border-top:1px solid var(--ab-ink); padding-top:28px; }
.ab-publication-featured .ab-publication-cover { max-width:390px; }
.ab-publication-featured .ab-publication-copy { padding-top:0; max-width:650px; }
.ab-publication-featured .ab-publication-copy h3 { font-size:clamp(40px,5vw,68px); line-height:.98; margin:14px 0 18px; }
.ab-publication-featured .ab-publication-copy p { font-size:17px; line-height:1.7; max-width:620px; }
.ab-publication-empty { opacity:.96; }

.ab-publication-hero { width:min(100% - 40px,1180px); margin:0 auto; padding:82px 0 76px; display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:68px; align-items:center; }
.ab-publication-hero-cover { max-width:430px; width:100%; }
.ab-publication-hero-cover img { width:100%; aspect-ratio:2/3; object-fit:cover; display:block; box-shadow:0 24px 60px rgba(24,23,19,.12); }
.ab-publication-hero-copy h1 { margin:14px 0 20px; font:500 clamp(48px,6.5vw,84px)/.95 var(--ab-serif); letter-spacing:-.05em; text-wrap:balance; }
.ab-publication-subtitle { margin:0; max-width:680px; color:#514d46; font:400 19px/1.65 var(--ab-sans); }
.ab-amazon-button { display:inline-flex; margin-top:28px; padding:14px 19px; background:var(--ab-ink); color:var(--ab-white)!important; font:700 11px/1 var(--ab-sans); letter-spacing:.09em; text-transform:uppercase; }
.ab-publication-body { width:min(100% - 40px,760px); margin:0 auto; padding:70px 0 92px; font:400 18px/1.78 var(--ab-serif); }
.ab-publication-body-label { margin-bottom:24px; color:var(--ab-clay); font:700 10px/1 var(--ab-sans); letter-spacing:.14em; text-transform:uppercase; }
.ab-publication-body h2,.ab-publication-body h3 { font-family:var(--ab-serif); line-height:1.08; letter-spacing:-.025em; margin:1.7em 0 .6em; }
.ab-publication-body h2 { font-size:37px; }
.ab-publication-body h3 { font-size:28px; }

@media (max-width:900px) {
  .ab-publication-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ab-publication-featured,.ab-publication-hero { grid-template-columns:1fr; gap:34px; }
  .ab-publication-featured .ab-publication-cover,.ab-publication-hero-cover { max-width:360px; }
}
@media (max-width:640px) {
  .ab-publication-grid { grid-template-columns:1fr; gap:36px; }
  .ab-publication-card { max-width:420px; }
  .ab-publication-featured .ab-publication-cover,.ab-publication-hero-cover { max-width:280px; }
  .ab-publication-hero { width:min(100% - 28px,1180px); padding:54px 0 60px; }
  .ab-publication-hero-copy h1 { font-size:48px; }
}

@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }


/* Publication trust and conversion layer */
.ab-wellbeing-note { margin-top:54px; padding:24px 26px; border:1px solid var(--ab-line); background:var(--ab-paper); }
.ab-wellbeing-note p { margin:0; color:var(--ab-muted); font:400 15px/1.7 var(--ab-sans); }
.ab-publication-purchase { margin-top:58px; padding:30px 0 0; border-top:1px solid var(--ab-ink); display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.ab-publication-purchase h2 { margin:8px 0 8px; font:500 34px/1.02 var(--ab-serif); letter-spacing:-.03em; }
.ab-publication-purchase p { margin:0; color:var(--ab-muted); font:400 15px/1.6 var(--ab-sans); }
@media (max-width:640px) { .ab-publication-purchase { align-items:flex-start; flex-direction:column; } }
