/* Site-wide UI roles. Page layout stays in style.css; family accents in family.css. */
:root{
 --ui-display:clamp(42px,6.3vw,94px);
 --ui-card:clamp(26px,2.5vw,36px);
 --ui-lead:clamp(17px,1.4vw,21px);
 --ui-body:17px;
 --ui-muted:#b8b8b8;
 --ui-accent:#ff5a5f;
}
body main .ui-display{font-family:Archivo,Arial,sans-serif;font-size:var(--ui-display);line-height:1;letter-spacing:-.055em;font-weight:500}
body main .ui-card-title{font-family:Archivo,Arial,sans-serif;font-size:var(--ui-card);line-height:1.1;letter-spacing:-.035em;font-weight:600}
body main .kicker{font-family:var(--family-mono);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.12em;color:var(--ui-accent)}
body main article>.section-number{font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.12em}
body main article>p:not(.kicker),body main .booking-faq-list p{font-size:var(--ui-body);line-height:1.55;font-weight:400}
body main :is(.sb-builder-hero-content,.keynote-builder-hero-content,.media-builder-hero-content,.author-books-hero-copy,.contact-copy)>p:not(.kicker),
body main :is(.keynote-section-lead,.author-books-lead,.media-builder-lead,.sb-authority-intro){font-size:var(--ui-lead);line-height:1.5}
body main .sb-home-connect-inner>p:not(.kicker){font-size:var(--ui-lead);line-height:1.5}
body main blockquote{font-family:Archivo,Arial,sans-serif;font-weight:500}
body main cite{font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5;font-weight:400}
/* Secondary offer details remain deliberately smaller than the main description. */
body main .engagement-grid article>.engagement-price,
body main .engagement-grid article>.engagement-remote{font-size:14px;line-height:1.55}
body main .engagement-grid article>.engagement-terms,
body main .engagement-grid article>.engagement-infrared{font-size:13px;line-height:1.55}
body main .engagement-price span{font-size:18px;font-weight:400}
body main .engagement-case-grid p.engagement-result-number:not(.kicker){font-family:Archivo,Arial,sans-serif;font-size:var(--ui-card);font-weight:600;line-height:1.1;letter-spacing:-.035em}
body main .light-panel.light-panel .kicker{color:#ae2228}
body main .light-panel.light-panel article>.section-number{color:#626262}
body .button,body .engagement-grid .button{font-family:Archivo,Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.01em;min-height:44px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal}
body .site-header{background:rgba(0,0,0,.94)}
body .site-header .main-nav a,body .site-header .header-link{font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.01em}
body .main-nav a[aria-current="page"],body .mobile-menu a[aria-current="page"],body .header-link[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--ui-accent);text-underline-offset:6px;text-decoration-thickness:1px}
body .site-footer a,body .site-footer span{font-size:12px;line-height:1.6;font-weight:400}
body :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}
body .skip-link{position:fixed;top:10px;left:20px;z-index:200;padding:12px 18px;background:#f1f0ee;color:#171717;font:14px/1.4 Inter,Arial,sans-serif;transform:translateY(-160%)}
body .skip-link:focus{transform:none}
main:focus{outline:none}
/* The Media topic list now belongs to a full-size panel heading. */
.media-builder-topic-heading .ui-display{max-width:1040px}
.media-builder-topic-grid .ui-card-title{margin-top:56px;max-width:520px}
@media(max-width:620px){
 :root{--ui-display:clamp(40px,12vw,58px);--ui-card:26px;--ui-lead:17px}
 body .button{max-width:100%}
 .media-builder-topic-grid .ui-card-title{margin-top:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Book features: a full-width title, followed by copy and a coherent image pair. */
body .author-book-section{min-height:0;padding-block:100px;scroll-margin-top:76px}
body .book-feature{max-width:1240px;display:block}
body .book-feature-heading{max-width:1040px;margin-bottom:52px}
body .book-feature-heading .ui-display{max-width:1040px;text-wrap:balance}
body .book-feature-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
body .book-feature-body .author-book-copy{order:0;max-width:460px}
body .book-feature-body .author-book-copy>p:first-child{margin-top:0}
body .book-feature-body .author-book-media{order:0;display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:26px;align-items:center;min-width:0}
body .book-feature-body .author-book-cover,body .book-feature-body .author-book-spread{width:100%;max-width:100%;height:auto;min-width:0}
body .author-book-shock{background:radial-gradient(ellipse at 80% 65%,rgba(196,0,0,.2),transparent 60%),#151515}
@media(max-width:980px){body .book-feature-body{grid-template-columns:1fr;gap:40px}body .book-feature-body .author-book-copy{max-width:680px}body .book-feature-body .author-book-media{max-width:720px;width:100%}body .author-book-section{padding-block:80px}}
@media(max-width:620px){body .author-book-section{padding-block:64px}body .book-feature-heading{margin-bottom:30px}body .book-feature-body .author-book-media{gap:16px;grid-template-columns:minmax(0,.42fr) minmax(0,1fr)}}
