/* Consistent Sherwood typography across the homepage and video library. */
:root{--font-text:"DM Sans",Arial,sans-serif;--font-display:"Cormorant Garamond",Georgia,serif}
body{font-family:var(--font-text);font-size:1rem;line-height:1.65}
button,input,select,textarea{font-family:var(--font-text)}
h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
h3{font-family:var(--font-text);font-weight:700;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}
.hero-compact h1{font-size:clamp(3rem,5.7vw,5.5rem);font-weight:600;line-height:1.04;letter-spacing:-.03em}
.hero-compact .hero-description{font-size:1.0625rem;line-height:1.75;max-width:58ch}
.homepage .hero-intro>.eyebrow{font-family:var(--font-text);font-weight:700;line-height:1.25;letter-spacing:.025em;text-wrap:balance}
.homepage .hero-location{line-height:1.6}
.site-header .brand-name,.homepage .site-header .brand-name,.site-footer .brand-name{font-family:var(--font-text);font-weight:700;line-height:1.15;letter-spacing:.07em}
.site-header .brand-name span,.homepage .site-header .brand-name span,.site-footer .brand-name span{font-weight:600;line-height:1.4;letter-spacing:.06em}
.site-nav,.homepage .site-nav{font-size:1rem;font-weight:600}
.coach-story-copy h2{font-weight:600;line-height:1.08}
.coach-story-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.75}
.hub-head h2{font-family:var(--font-display);font-size:clamp(2.25rem,3.7vw,3.5rem);font-weight:600;line-height:1.13;letter-spacing:-.02em;max-width:30ch}
.eyebrow,.service-card strong,.principle>span{font-family:var(--font-text);font-size:.875rem;font-weight:700;line-height:1.5;letter-spacing:.09em}
.credential-row span{font-size:.875rem;line-height:1.45;letter-spacing:.025em}
.proof-strip span{font-size:.875rem;line-height:1.5;letter-spacing:.07em}
.service-card h3,.principle h3{font-family:var(--font-text);font-size:clamp(1.5rem,2.1vw,1.875rem);font-weight:700;line-height:1.25;letter-spacing:-.025em;margin-top:22px;margin-bottom:16px}
.service-card p,.principle p{font-size:1rem;line-height:1.75;opacity:1}
.button,.tab-list .tab-button,.category-filters button,.library-pagination button{font-family:var(--font-text);font-weight:700;letter-spacing:0}
.button,.hero-actions .button{font-size:1rem;line-height:1.45}
.tab-instructions{font-size:1.0625rem;line-height:1.6}
.bio-sources>span{font-size:1.125rem;line-height:1.5;letter-spacing:.055em;text-wrap:balance}
.bio-sources>a,.bio-sources .rspa-videos summary{font-size:1.0625rem;line-height:1.5}
.trailer-label,.trailer-footer{font-size:.875rem;line-height:1.5}
.trailer-label{letter-spacing:.06em;font-weight:600}
.library-heading h1,.library-contact h2{font-family:var(--font-display);font-weight:600;line-height:1.08}
.library-stat strong{font-family:var(--font-display);font-weight:600}
.library-card-content h2{font-family:var(--font-text);font-size:1.375rem;line-height:1.3;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.library-card-art .topic-label{font-family:var(--font-text);font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.library-card-content>p{font-size:1rem;line-height:1.65}
.library-card-content>.embedded-category,.library-card-content>.embedded-meta,.coverage-note,.library-stat span,.library-card .original-title,.library-card .original-title summary,.library-card .original-title p{font-size:.875rem;line-height:1.55}
.form-field{font-size:1rem;font-weight:600;line-height:1.5}
.form-field input,.form-field select,.form-field textarea,.prepared-message{font-family:var(--font-text);font-size:1rem;line-height:1.5;font-weight:400}
.form-note,.form-status{font-size:.875rem;line-height:1.65}
.dialog-head h2{font-weight:600;line-height:1.1}
.site-footer .brand-name .footer-address{font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:0}
.site-footer small{font-size:.875rem;line-height:1.5}
@media(max-width:760px){.hero-compact h1{font-size:clamp(2.75rem,9vw,4rem)}.homepage .hero-intro>.eyebrow{font-size:clamp(1.75rem,5.5vw,2.25rem)}.proof-strip span{font-size:.875rem;letter-spacing:.035em}.trailer-label{letter-spacing:.035em}}

/* Keep the business name on two intentional lines. */
.homepage .hero-intro{container-type:inline-size}
.homepage .hero-intro>.hero-brand-title{display:flex;flex-direction:column;gap:6px;text-wrap:initial;letter-spacing:.025em}
.hero-brand-title>span{display:block;white-space:nowrap}
.hero-brand-title>span:last-child{font-size:clamp(.875rem,5.1cqi,1.625rem);line-height:1.35;letter-spacing:.015em}
@media(min-width:761px){.homepage .site-header .brand-name>span{white-space:nowrap;font-size:clamp(.875rem,1.7vw,1.625rem);letter-spacing:.035em}}
.coach-video-preview{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:var(--blue-deep);cursor:pointer;color:#fff}
.coach-video-preview img{height:100%;width:100%;object-fit:contain}
.coach-video-play{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 20px;border-radius:999px;background:var(--lime);color:var(--blue-deep);font:700 1rem/1.4 var(--font-text);white-space:nowrap}
.coach-video-preview:hover .coach-video-play{background:#fff}
.coach-video-preview:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
