/* Shared responsive and touch improvements. */
header>*,nav,.hero>*,.archive-entry,.support-box,.readerbar>*,.form-section{min-width:0}
img,video,iframe{max-width:100%}
button,input,select,textarea{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
a{overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ae8b53;outline-offset:3px}
.sectiontop{flex-wrap:wrap;gap:8px}
.reader-language-controls{flex-wrap:wrap}
.readercontent h2,.archive-entry h3,.video-card h3{overflow-wrap:anywhere}
.newsletter-trap{left:auto;inset-inline-start:0;clip-path:inset(50%);overflow:hidden;pointer-events:none}
@media(pointer:coarse){button,.btn,summary{min-height:44px}input,select,textarea{font-size:16px}header nav>a{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:750px){
 header{padding:20px 6%;gap:14px}
 header nav{width:100%;gap:8px 16px}
 header nav>a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
 .language-panel{width:100%;margin:0;padding:12px}
 .language-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .language-buttons button{min-width:0;min-height:44px;padding:9px 7px;font-size:14px;white-space:normal}
 .hero{padding:30px 6%;gap:20px}
 .hero img{justify-self:center}
 .hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.15}
 .hero p{font-size:17px;line-height:1.75}
 main{padding:30px 6%}
 .sectiontop h2{font-size:28px;margin:12px 0}
 .sectiontop .eyebrow{font-size:11px;letter-spacing:1.5px}
 .support-box,.archive-entry,.cv-details,.feature{padding:20px}
 .archive-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .archive-controls input,.archive-controls select{min-width:0;width:100%;font-size:16px}
 .video-controls label{min-width:0;flex-basis:100%}
 .video-controls input,.video-controls select,input,select,textarea,#newsletterEmail{font-size:16px}
 .video-card button,.archive-entry button,.archive-pages button,.btn,form button,summary{min-height:44px}
 .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1.5;text-align:center}
 .actions .btn{flex:1 1 170px}
 .newsletter-consent{padding:5px 0;min-height:44px}
 .newsletter-consent input{width:24px;height:24px;margin-top:2px;flex:0 0 24px}
 .reader{width:100%;max-width:100%;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;border-radius:0;overscroll-behavior:contain}
 .readerbar{padding:10px 14px;gap:8px;align-items:stretch}
 .reader-language-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
 .readerbar button,.reader-language-controls button{min-height:44px;min-width:0;font-size:14px;padding:8px;white-space:normal}
 .readerbar>div:last-child{margin-inline-start:auto}
 .readercontent{padding:22px 6%}
 .readercontent h2{font-size:25px;line-height:1.5}
 .original-article,.original-article[dir=ltr]{font-size:18px;line-height:1.85}
 .source-footer{font-size:14px}
 .archive-pages{gap:10px;flex-wrap:wrap}
 .form-section{padding:20px}
 header select{min-height:44px}
 footer{padding:24px 6%;line-height:1.8}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{scroll-behavior:auto!important;transition:none!important}}
/* Clear contrast on filled buttons, including within support cards. */
.support-box a.btn:not(.outline){background:#172b3b;color:#fff;border-color:#172b3b}
.support-box a.btn:not(.outline):hover{background:#29485e;color:#fff}
.bio-toggle{display:none}
@media(max-width:750px){
 header{padding:16px 5%;gap:12px}
 header>strong{font:700 21px/1.35 Georgia,serif;color:#fff}
 header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 header nav>a{justify-content:center;text-align:center;font:600 14px/1.3 Arial,sans-serif;padding:8px 3px;border:1px solid #718491;border-radius:7px;color:#fff;overflow-wrap:normal}
 header nav>a.section-selected{background:#e6c995;color:#172b3b;border-color:#e6c995}
 header .language-panel{grid-column:1/-1;background:#0e202e;border:1px solid #718491;padding:9px;margin:0}
 .language-label{color:#f2d9ac;font-size:13px;margin-bottom:7px}
 .language-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
 .language-buttons button{flex:1 1 65px;font-size:14px;min-height:44px;padding:7px 5px}
 .hero{position:relative;padding:24px 5%;display:block;min-height:0}
 .hero>div{min-width:0}
 .hero img{position:absolute;top:22px;inset-inline-end:5%;width:76px;height:76px;border:3px solid #fff;box-shadow:0 5px 15px #172b3b22}
 .hero .eyebrow{font-size:10px;line-height:1.6;letter-spacing:1px;padding-inline-end:92px;color:#705327}
 .hero h1{font-size:30px;line-height:1.15;padding-inline-end:87px;margin:10px 0 16px}
 .hero p{font-size:16px;line-height:1.65;margin:8px 0;color:#37444d;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .hero p.bio-expanded{display:block;overflow:visible}
 .bio-toggle{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;background:none;border:0;font:600 14px Arial,sans-serif;color:#173a5a;text-decoration:underline;text-underline-offset:3px}
 .hero .actions{margin-top:10px;gap:8px}
 .hero .actions .btn{flex:1 1 120px;font-size:13px;padding:10px}
 .mobile-sections #articles,.mobile-section-hidden{display:none!important}
 main{padding:20px 5%}
 main>section{margin-bottom:24px;scroll-margin-top:16px}
 .sectiontop{margin-bottom:16px}
 .sectiontop h2{font-size:27px}
 .archive-entry{padding:16px}
 .archive-entry h3{font-size:20px;line-height:1.4;margin:10px 0}
 .archive-entry p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0}
 .archive-entry small{font-size:12px;line-height:1.5;color:#52616a}
 .video-card{padding:16px}
 .video-card h3{font-size:21px;line-height:1.4;margin:0 0 10px}
 .video-pages{display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}
 .video-pages button{min-height:44px;padding:10px 16px;border:1px solid #172b3b;border-radius:6px;background:#172b3b;color:#fff}
 .video-pages button:disabled{opacity:.45}
 #readerSupportLink{width:100%;font-weight:700;font-size:16px}
 #readerSupportNote{color:#46545e}
}
.video-pages{display:flex;gap:12px;align-items:center;justify-content:center;margin:20px 0;font:14px Arial,sans-serif}
@media(max-width:750px){
 header nav>a{min-height:44px}
 .language-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
 .language-buttons button{grid-column:span 2}
 .language-buttons button:nth-child(n+4){grid-column:span 3}
 .hero .eyebrow{display:none}
 .hero h1{margin-top:0;min-height:64px;display:flex;align-items:center;font-size:28px}
}
.home-profile{margin:20px 0;padding:16px 20px;border:1px solid #d9d1c3;border-radius:9px;background:#fff}
.home-profile>summary{font:600 15px/1.5 Arial,sans-serif;color:#173a5a;cursor:pointer}
.home-profile .cv-details{padding:12px 0;border:0}
.video-screen{overflow:hidden;border-radius:7px;background:#172b3b}
@media(max-width:750px){
 .mobile-sections #articles:not(.mobile-section-hidden){display:block!important}
 .mobile-sections:not([data-mobile-view="articles"]) .hero{display:none}
 .mobile-sections .hero .actions{display:none}
 .mobile-sections .hero{padding-bottom:12px}
 .mobile-sections #articles .sectiontop .eyebrow{display:none}
 .mobile-sections #articles .feature h3{font-size:23px;line-height:1.35;margin:12px 0}
 .mobile-sections #articles .feature p{font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .mobile-sections #articles .sectiontop h2{font-size:24px;margin:6px 0}
 .mobile-sections #articles .feature{padding:18px}
 .home-profile{padding:14px 16px;margin-bottom:0}
 .home-profile>summary{display:flex;align-items:center;min-height:44px}
}
.monthly-support{padding:14px 0 18px;margin-bottom:18px;border-bottom:1px solid #d9d1c3}
.monthly-support strong{font:700 23px/1.4 Georgia,serif;color:#172b3b}
.monthly-support .btn{background:#e5e8e9;color:#3c4b55;border-color:#bdc6cb;cursor:default;font-size:14px;min-height:44px}
.monthly-support p:last-child a{font-size:13px;line-height:1.6}
