/* Shared editorial scale. Loaded last; content and search signals stay intact. */
:root{--gutter:clamp(20px,4.4vw,64px);--measure:1280px;--paper:#fafaf8;--ink:#242522;--muted:#62655f;--line:#d9dbd5}
body{font-size:1rem;line-height:1.65}
body>header{max-width:var(--measure);margin:auto;padding:30px var(--gutter);align-items:center;gap:24px}
.brand{font-size:1.875rem;letter-spacing:-.025em;line-height:1.15;flex-shrink:0}
.brand span{font-size:.8125rem;margin-top:8px}
.header-controls{align-items:center;gap:20px}
.desktop-nav{gap:22px;padding-top:0;font-size:.9375rem}
.desktop-nav a{padding:8px 0;line-height:1.5}
.language-switch{font-size:.8125rem;padding-top:0}
.site-search{margin-top:0}
h1,h2,h3{letter-spacing:-.015em;line-height:1.25;font-weight:400;overflow-wrap:break-word}
.home-hero{max-width:var(--measure);margin:auto;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);padding:60px var(--gutter);gap:clamp(40px,6vw,80px)}
.home-hero h1{font-size:clamp(2.5rem,4.8vw,4rem);line-height:1.12;letter-spacing:-.025em;margin:24px 0 22px}
.home-hero p{font-size:1.1875rem;line-height:1.6}
.home-hero .hero-bio{font-size:1rem;line-height:1.7;max-width:400px;margin-top:26px}
.home-hero figure{width:100%;max-width:244px}
.home-hero .hero-bio a{white-space:normal}
.eyebrow{font-size:.8125rem;letter-spacing:.045em}
.home-section{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--measure) - 2 * var(--gutter));margin:0 auto;padding:56px 0;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(40px,6vw,80px)}
.section-side h2,.home-section .section-side h2{font-size:1.75rem;line-height:1.3;letter-spacing:-.015em;margin:0 0 20px}
.home-section .topic h3{font-size:1.625rem;line-height:1.3;letter-spacing:-.015em}
.home-section .topic p{font-size:1rem;line-height:1.7;margin:12px 0 0}
.topic{padding-bottom:26px}.topic+.topic{padding-top:26px}
.article-row{padding:22px 0}
.article-row>span{font-size:1.25rem;line-height:1.45;letter-spacing:-.01em}
.article-row>small{font-size:1rem;line-height:1.7;margin-top:8px}
.text-link{font-size:1rem;line-height:1.5;padding-top:6px;padding-bottom:6px}
.page-intro{max-width:var(--measure);padding:28px var(--gutter) 44px}
.breadcrumb{font-size:.8125rem;line-height:1.7;margin-bottom:32px;gap:8px}
.page-intro h1,.profile-copy h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.2;letter-spacing:-.02em;margin:0 0 24px}
.deck{font-size:1.1875rem;line-height:1.75;max-width:720px}
.reading-layout{max-width:var(--measure);grid-template-columns:210px minmax(0,720px);gap:48px;padding:0 var(--gutter) 44px}
.reading-layout.reading-simple{max-width:calc(720px + 2 * var(--gutter))}
.toc{top:24px;padding-top:22px}
.toc a{font-size:.875rem;line-height:1.65}
.prose>section{padding:28px 0}
.prose h2{font-size:1.75rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 20px}
.prose h3{font-size:1.375rem;line-height:1.45;letter-spacing:-.01em;margin:28px 0 14px}
.prose p,.profile-copy p{font-size:1.125rem;line-height:1.8}
.prose ul,.prose ol{font-size:1.0625rem;line-height:1.8}
.prose li+li{margin-top:6px}
.prose .sources h2{font-size:1.25rem}
.prose .sources p{font-size:.9375rem;line-height:1.75}
.prose .sources a{font-size:1rem}
.historical h2{font-size:1.375rem;line-height:1.5}
.faq summary,.archive summary{font-size:1rem;line-height:1.7;padding:6px 18px 6px 0}
.faq summary h3{font-size:inherit;line-height:inherit;letter-spacing:0;margin:0}
.related{background:#f3f3f0;padding:36px max(var(--gutter),calc((100vw - var(--measure)) / 2 + var(--gutter)))}
.related a{font-size:1rem;line-height:1.6}
.related>div:last-child{gap:14px 28px;margin-top:18px}
.profile-layout{max-width:var(--measure);grid-template-columns:minmax(0,720px) 230px;padding:56px var(--gutter) 44px;gap:56px}
.profile-layout .profile-photo{width:220px;max-width:100%}
.profile-copy .bio-quote{font-size:1.0625rem;line-height:1.8}
.contact-methods{gap:22px}
.contact-methods>a{font-size:1.375rem!important}
.contact-methods span{font-size:.875rem}
.map-options a,.social-links a{font-size:.9375rem}
.videos-page .page-intro{max-width:calc(720px + 2 * var(--gutter));padding:28px var(--gutter) 40px}
.videos-page .page-intro h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.2}
.videos-page .prose h2{font-size:1.375rem;line-height:1.5;margin-bottom:12px;overflow-wrap:break-word}
.search-page{max-width:calc(720px + 2 * var(--gutter));padding:0 var(--gutter) 44px}
.business-card-footer{padding:0 var(--gutter) 28px;margin-top:56px}
.business-card-footer-simple{margin-top:28px}
.business-card-footer .footer-main,.business-card-footer .footer-bottom{max-width:calc(var(--measure) - 2 * var(--gutter));margin-left:auto;margin-right:auto}
.business-card-footer .footer-nav{padding:22px 0}
.business-card-footer .footer-nav-links{gap:10px 28px}
.business-card-footer .footer-nav-links a{font-size:.9375rem;line-height:1.7;padding:6px 0}
.business-card-footer .footer-bottom{font-size:.8125rem;line-height:1.7;margin-top:0;padding-top:20px;align-items:baseline}
.business-card-footer .footer-bottom a{font-size:.8125rem;line-height:1.7;padding:6px 0}
.business-card-footer .footer-bottom>div{gap:12px 24px}
.business-card-footer:not(.business-card-footer-simple) .footer-main,
.business-card-footer:not(.business-card-footer-simple) .footer-bottom{max-width:900px}
.business-card-footer:not(.business-card-footer-simple) .footer-nav{padding:12px 0 24px}
.business-card-footer:not(.business-card-footer-simple) .footer-nav-links{justify-content:center;gap:8px 32px}
.business-card-footer .footer-nav-links a{color:var(--muted)}
.business-card-footer .footer-nav-links a:hover{color:var(--ink)}
@media(max-width:1050px){.desktop-nav{gap:16px}.header-controls{gap:16px}.reading-layout{grid-template-columns:180px minmax(0,1fr);gap:36px}.profile-layout{grid-template-columns:minmax(0,1fr) 210px;gap:36px}}
@media(max-width:900px){.header-controls{gap:10px}.mobile-nav>summary{padding:10px 0;line-height:1.5}.mobile-nav nav{min-width:190px;gap:12px}.language-switch{font-size:.8125rem}.home-hero{gap:36px}}
@media(max-width:760px){
 body>header{padding:22px var(--gutter);gap:16px;flex-wrap:wrap}
 .brand{font-size:1.625rem}.brand span{font-size:.75rem;line-height:1.5}
 .header-controls{gap:12px}.language-switch{font-size:.8125rem}
 .home-hero{grid-template-columns:minmax(0,1fr);padding:38px var(--gutter) 40px;gap:34px}
 .home-hero h1{font-size:clamp(2rem,8vw,3rem);margin:22px 0 20px}
 .home-hero p{font-size:1.125rem}.home-hero .hero-bio{font-size:1rem}
 .home-hero figure{width:180px;max-width:180px}
 .home-section{grid-template-columns:minmax(0,1fr);padding:36px 0;gap:24px}
 .section-side h2,.home-section .section-side h2{font-size:1.5rem;margin-bottom:16px}
 .home-section .topic h3{font-size:1.375rem}.home-section .topic p{font-size:1rem}
 .article-row>span{font-size:1.125rem}.article-row>small{font-size:1rem}
 .page-intro{padding:24px var(--gutter) 32px}.page-intro h1,.profile-copy h1{font-size:clamp(1.875rem,6.6vw,2.5rem);line-height:1.25}
 .breadcrumb{font-size:.8125rem;margin-bottom:24px;gap:6px}.deck{font-size:1.0625rem}
 .reading-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 var(--gutter) 32px}
 .toc{position:static}.mobile-toc summary{min-height:44px;display:flex;align-items:center;font-size:.9375rem}
 .prose h2{font-size:1.5rem;margin-bottom:18px}.prose h3{font-size:1.25rem}
 .prose p,.profile-copy p{font-size:1.0625rem;line-height:1.8}
 .prose ul,.prose ol{font-size:1rem}.prose>section{padding:24px 0}
 .profile-layout{grid-template-columns:minmax(0,1fr);padding:38px var(--gutter) 32px;gap:28px}
 .profile-layout .profile-photo{width:180px}.profile-copy .bio-quote{font-size:1rem}
 .related{padding:28px var(--gutter)}.related>div:last-child{gap:12px 22px}
 .videos-page .page-intro{padding:24px var(--gutter) 32px}.videos-page .page-intro h1{font-size:clamp(1.875rem,6.6vw,2.5rem)}
 .videos-page .prose h2{font-size:1.25rem}
 .contact-methods>a{font-size:1.25rem!important}
 .business-card-footer{margin-top:40px;padding-bottom:24px}.business-card-footer-simple{margin-top:24px}
 .business-card-footer .footer-nav-links{gap:8px 22px}.business-card-footer .footer-bottom{gap:12px}
 .business-card-footer .footer-bottom>div{flex-wrap:wrap;gap:6px 20px}
}
@media(max-width:380px){.brand{font-size:1.5rem}.header-controls{gap:8px}.home-hero h1{font-size:2rem}}

/* Responsive reading, accessible controls and narrow-screen safety. */
.hero-copy,.section-side,.topic-list,.article-list,.profile-copy,.prose,.toc{min-width:0}
.prose,.deck,.profile-copy,.article-row,.breadcrumb{overflow-wrap:anywhere}
.prose h2,.prose h3,.article-row>span{hyphens:auto}
.mobile-nav nav a,.language-switch a{min-height:44px;display:inline-flex;align-items:center}
.business-card-footer .footer-nav-links a,.business-card-footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.business-card-footer .footer-nav-links{align-items:center}
.map-options a,.social-links a{display:inline-flex;align-items:center;min-height:44px}
input,button,summary,a{-webkit-tap-highlight-color:rgba(36,37,34,.12)}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:900px){
 .reading-layout{grid-template-columns:minmax(0,1fr);gap:24px;max-width:calc(720px + 2 * var(--gutter))}
 .toc{position:static}.toc>.eyebrow,.toc>.desktop-toc{display:none}
 .mobile-toc{display:block}.mobile-toc summary{min-height:44px;font-size:.9375rem;line-height:1.6;padding:10px 0;cursor:pointer}
 .mobile-toc nav{gap:8px;margin-top:12px}.mobile-toc nav a{min-height:44px;display:flex;align-items:center}
 .contact-methods>a{min-height:44px}
}
@media(max-width:430px){
 body>header{align-items:flex-start;row-gap:12px}
 .header-controls{max-width:100%;margin-left:auto}
 .language-switch{gap:5px;min-height:44px}
 .mobile-nav nav{max-width:calc(100vw - 2 * var(--gutter))}
 .business-card-footer .footer-nav-links{column-gap:22px;row-gap:0}
 .business-card-footer .footer-bottom>div{row-gap:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact is one short reading column, not a separate marketing layout. */
.contact-page .page-intro,.contact-page .reading-layout.reading-simple{max-width:calc(680px + 2 * var(--gutter));margin-left:auto;margin-right:auto}
.contact-page .page-intro{padding-top:38px;padding-bottom:26px}
.contact-page .page-intro h1{font-size:clamp(1.875rem,3.4vw,2.5rem);margin-bottom:16px}
.contact-page .contact-note{font-size:1rem;line-height:1.7}
.contact-page .reading-layout{padding-bottom:24px}
.contact-page .prose>section:first-child{border-top:0;padding-top:0}
.contact-page .contact-methods{margin-top:0;gap:8px;align-items:start}
.contact-page .contact-methods>a{width:fit-content;max-width:100%;font-size:1.125rem!important;line-height:1.6;min-height:44px;display:flex;align-items:center;padding:5px 0}
.contact-page .prose>section{padding:24px 0}
.contact-page .prose h2{font-size:1.25rem;margin-bottom:14px}
.contact-page .prose p{font-size:1.0625rem;line-height:1.8}
.contact-page .map-links{margin-top:12px}
@media(max-width:760px){.contact-page .page-intro{padding-top:30px;padding-bottom:22px}.contact-page .reading-layout{padding-bottom:16px}}

/* Shared footer alignment on every route, with or without the home card. */
.business-card-footer .footer-main,.business-card-footer .footer-bottom{max-width:900px}
.business-card-footer .footer-main .footer-nav{padding:12px 0 24px}
.business-card-footer .footer-nav-links{justify-content:center;align-items:center;gap:8px 32px}
@media(max-width:760px){.business-card-footer .footer-nav-links{column-gap:22px;row-gap:0}}

.copy-tools{margin-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.copy-tools button{font:inherit;font-size:.875rem;line-height:1.5;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);cursor:pointer;text-align:left}
.copy-tools button:hover{color:var(--ink);border-color:var(--ink)}
.copy-status{font-size:.875rem;color:var(--muted)}
