/* Keep image boxes and editorial rows in the normal document flow. */
.wrap,.hero-copy,.hero-visual,.section-head>div,.footer-main>div,.article-body{min-width:0}
.wrap{width:100%}
.brand-mark{flex-shrink:0}
.brand-name{display:block;line-height:1.12}
.brand-name small{line-height:1.35}
.hero-visual{align-self:center}
.hero-art{height:auto}
.cards{align-items:start;grid-auto-rows:auto}
.card{display:flex;flex-direction:column;min-width:0;position:relative}
.card-image{display:block;flex:none;width:100%;height:auto;aspect-ratio:16/9;position:relative;line-height:0}
.card-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.card-meta{flex-wrap:wrap;line-height:1.6;row-gap:3px}
.card h3{line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.card .excerpt{line-height:1.75}
.byline{display:block;line-height:1.7}
.section-title{align-items:flex-start}
.section-number{flex-shrink:0;line-height:1}
.section-head h2{line-height:1.2;overflow-wrap:anywhere}
.all-link{line-height:1.7;align-items:flex-start}
.all-link .arrow{flex-shrink:0}
.footer-main{align-items:flex-start}
.footer-links{flex-wrap:wrap;line-height:1.7;row-gap:12px}
.footer-bottom{flex-wrap:wrap;line-height:1.7;gap:12px 24px}
.footer-bottom>span{min-width:0}
.article-end{flex-wrap:wrap;gap:12px 24px;line-height:1.7}
.article-end>*{min-width:0}
.article-body,.source-box,.article-dek,.plain-page{overflow-wrap:anywhere}
.article-cover{aspect-ratio:16/9}
.article-cover img{width:100%;height:100%;object-fit:cover}
.protected-media,.protected-media img,img[draggable="false"]{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.protected-media{isolation:isolate;position:relative}
.protected-media::after{content:'';position:absolute;inset:0;z-index:1}
@media(max-width:800px){
 .footer-main{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:24px}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;max-width:none;padding:0}
 .footer-links a{display:block;min-width:0;overflow-wrap:anywhere;padding:3px 0}
 .footer-copy{max-width:440px;margin-bottom:0}
 .home-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .home-bottom p{margin:0;line-height:1.4}
 .home-bottom .pill{justify-self:start;max-width:100%;white-space:normal;line-height:1.6}
 .section-head{gap:20px}
 .section-head>div{flex:1}
}
@media(max-width:590px){
 .header-inner{flex-wrap:nowrap;gap:10px}
 .header-search{flex:0 0 38px;width:38px}
 .header-search button{padding:9px}
 .header-search:focus-within{width:auto}
 .mobile-menu{flex:0 0 26px}
 .mobile-menu summary{width:26px}
 .hero h1{font-size:clamp(36px,9.6vw,47px);line-height:1.08;overflow-wrap:anywhere}
 .hero-bottom{position:static;display:block;text-align:right;padding:0 17px 17px;line-height:1.6}
 .hero-visual{width:100%;min-width:0}
 .hero-art{max-width:430px;margin:-4px auto 0}
 .section-title{align-items:flex-start}
 .section-number{margin-top:4px}
 .section-head h2{font-size:clamp(25px,6.5vw,28px);line-height:1.22}
 .all-link{max-width:100%;white-space:normal;line-height:1.7}
 .cards{gap:34px;grid-template-columns:minmax(0,1fr)}
 .card h3{margin-top:0;margin-bottom:12px}
 .card-image{margin-bottom:16px}
 .article-header h1{line-height:1.16;overflow-wrap:anywhere}
 .article-meta{line-height:1.8;row-gap:7px}
 .article-end{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .article-end a{display:block;line-height:1.7}
 .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
 .footer-links{grid-template-columns:minmax(0,1fr);gap:9px}
 .footer-links a{padding:5px 0}
 .footer-links{font-size:12px}
 .footer-bottom{font-size:11px}
 .byline{font-size:12px}
 .site-footer{padding-top:32px}
 .article-cover{aspect-ratio:16/9}
}
@media(max-width:390px){
 .wrap{padding-left:16px;padding-right:16px}
 .brand-name{font-size:17px;letter-spacing:-.5px}
 .brand-name small{font-size:6.5px;letter-spacing:1.7px}
 .brand{gap:7px}
 .header-search:focus-within{left:16px;right:58px}
 .hero-copy{padding-left:20px;padding-right:20px}
 .hero .eyebrow{font-size:7.5px;letter-spacing:1px}
}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.has-suggestions{position:relative}
.search-suggestions[hidden]{display:none!important}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;z-index:70;width:100%;max-height:min(520px,70vh);overflow-y:auto;background:#fff;border:1px solid #d6dfd3;border-radius:10px;box-shadow:0 18px 45px #183c3524;padding:6px;text-align:left;line-height:1.5}
.header-search .search-suggestions{left:auto;right:0;width:min(500px,calc(100vw - 40px))}
.search-suggestion{display:grid;grid-template-columns:48px minmax(0,1fr) 14px;gap:12px;align-items:center;padding:11px 9px;border-radius:6px;color:var(--ink)}
.search-suggestion:hover,.search-suggestion[aria-selected="true"],.suggestion-all:hover,.suggestion-all[aria-selected="true"]{background:#edf2e9}
.suggestion-thumbnail{display:block;width:48px;height:36px;overflow:hidden;border-radius:4px;background:#e6eee5;line-height:0}
.suggestion-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.suggestion-title{display:block;font:500 14px/1.4 var(--sans);overflow-wrap:anywhere}
.suggestion-topic{display:block;font:400 10px/1.5 var(--sans);color:var(--muted);margin-top:4px}
.suggestion-arrow{font-size:14px;color:#607c6a}
.suggestion-all{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 10px;margin-top:5px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink);border-radius:0 0 5px 5px}
.suggestion-message{padding:16px 12px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:590px){
 .header-search .search-suggestions{position:fixed;top:76px;left:16px;right:16px;width:auto;max-height:min(460px,65dvh)}
 .search-form .search-suggestions{max-height:60dvh}
 .search-suggestion{padding:12px 8px;gap:10px}
 .suggestion-title{font-size:13px}
}

/* Author profiles and linked bylines */
.author-link{text-decoration:underline;text-decoration-color:#a8b9ac;text-underline-offset:3px}
.author-link:hover{color:var(--accent);text-decoration-color:currentColor}
.author-avatar{display:block;border-radius:50%;object-fit:cover;aspect-ratio:1;background:#e6eee5}
.author-avatar-link{display:block;flex:0 0 40px;width:40px;height:40px}
.author-avatar-link .author-avatar{width:40px;height:40px}
.authors-intro{max-width:760px;padding:35px 0 40px}
.authors-intro h1,.author-profile-header h1{font:500 54px/1.12 var(--serif);margin:12px 0 20px}
.authors-intro>p{font-size:17px;line-height:1.8;margin:0}
.authors-directory{display:grid;gap:0;margin-bottom:70px}
.author-profile-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;padding:42px 0;border-top:1px solid var(--line)}
.author-profile-card .author-avatar{width:220px;height:220px}
.author-profile-copy{max-width:760px}
.author-profile-copy h2{font:500 36px var(--serif);margin:0 0 10px}
.author-focus{font-size:13px;font-weight:600;line-height:1.65;color:var(--ink);margin-bottom:20px}
.author-profile-copy>p:not(.author-focus),.author-profile-header p:not(.author-focus){font-size:15px;line-height:1.85}
.author-profile-header{display:grid;grid-template-columns:260px minmax(0,760px);gap:55px;align-items:center;padding:40px 0 48px;border-bottom:1px solid var(--line);margin-bottom:40px}
.author-profile-header>.author-avatar{width:260px;height:260px}
.author-articles .section-head{gap:20px;flex-wrap:wrap}
.author-articles h2{font:500 32px var(--serif)}
@media(max-width:800px){.author-profile-header{grid-template-columns:170px minmax(0,1fr);gap:28px;align-items:start}.author-profile-header>.author-avatar{width:170px;height:170px}.author-profile-card{grid-template-columns:160px minmax(0,1fr);gap:28px}.author-profile-card .author-avatar{width:160px;height:160px}.authors-intro h1,.author-profile-header h1{font-size:43px}}
@media(max-width:590px){.authors-intro{padding:24px 0 30px}.authors-intro>p{font-size:15px}.author-profile-card,.author-profile-header{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 0}.author-profile-card .author-avatar,.author-profile-header>.author-avatar{width:144px;height:144px}.author-profile-copy h2{font-size:32px}.author-profile-header h1{margin-top:8px}.author-articles h2{font-size:28px}.author-articles .topic-count{font-size:12px}}

/* Make each homepage topic an unmistakable chapter in the article feed. */
.topic-section .section-title{align-items:flex-start;gap:14px}
.topic-section .section-head h2{flex:1;min-width:0;font-size:38px;font-weight:700;line-height:1.14;letter-spacing:-.8px;overflow-wrap:normal;hyphens:none}
.topic-section .section-number{width:46px;height:46px;margin-top:0;background:var(--ink);border-color:var(--ink);color:var(--paper);font:800 19px/1 var(--sans);font-variant-numeric:tabular-nums}
.topic-section .section-description{margin-left:60px}
@media(max-width:800px){
 .topic-section .section-head h2{font-size:34px}
 .topic-section .section-number{width:42px;height:42px;font-size:18px}
 .topic-section .section-description{margin-left:56px}
}
@media(max-width:590px){
 .topic-section .section-title{gap:12px}
 .topic-section .section-head{margin-bottom:26px}
 .topic-section .section-head h2{font-size:clamp(32px,8.6vw,36px);line-height:1.16;letter-spacing:-.7px}
 .topic-section .section-number{margin-top:1px}
 .topic-section .section-description{margin:14px 0 16px}
}

/* Fit the additional Instrumente navigation link on small tablets. */
@media(min-width:591px) and (max-width:800px){.header-inner{gap:12px}.desktop-nav{gap:14px}.header-search{flex:1;min-width:80px;width:140px}}

/* Newsletter in the shared publication footer. */
.footer-newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;padding:4px 0 34px;margin-bottom:32px;border-bottom:1px solid var(--line);align-items:start}
.newsletter-copy h2{font:600 clamp(27px,3vw,34px)/1.2 var(--serif);letter-spacing:-.6px;margin:12px 0 14px;max-width:440px}
.newsletter-copy p{font-size:14px;color:var(--muted);max-width:420px;margin:0;line-height:1.7}
.newsletter-form{min-width:0;position:relative}
.newsletter-form>label{display:block;font-size:12px;font-weight:600;margin:0 0 8px}
.newsletter-input-row{display:flex;gap:9px;min-width:0}
.newsletter-input-row input{flex:1;min-width:0;width:100%;padding:12px 14px;border:1px solid #bdcbbb;border-radius:6px;background:white;color:var(--ink);font:16px/1.4 var(--sans)}
.newsletter-input-row button{flex:none;padding:12px 20px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:white;font:600 14px/1.4 var(--sans);min-height:47px}
.newsletter-input-row button:disabled{opacity:.65;cursor:wait}
.newsletter-form .newsletter-consent{display:flex;align-items:start;gap:9px;font-size:11px;font-weight:400;line-height:1.7;color:var(--muted);margin:14px 0 0}
.newsletter-consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}
.newsletter-consent a,.newsletter-status a{text-decoration:underline;text-underline-offset:3px}
.newsletter-status{font-size:12px;line-height:1.6;color:var(--ink);margin:10px 0 0;min-height:20px;overflow-wrap:anywhere}
.newsletter-status.is-error{color:#9b3424}
.newsletter-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:800px){.footer-newsletter{grid-template-columns:minmax(0,1fr);gap:24px}.newsletter-copy h2{max-width:none}.newsletter-copy p{max-width:580px}}
@media(max-width:420px){.newsletter-input-row{flex-direction:column}.newsletter-input-row button{width:100%}}

/* Editorial contact page. */
.contact-page{max-width:850px;margin:0 auto;padding-bottom:64px}
.contact-intro{max-width:740px;padding:20px 0 32px}
.contact-intro h1{font:600 clamp(38px,5vw,56px)/1.12 var(--serif);letter-spacing:-1.2px;margin:16px 0 20px}
.contact-intro p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:690px}
.contact-form{position:relative;padding:32px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field label{font-size:13px;font-weight:600;color:var(--ink)}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;border:1px solid #bdcbbb;border-radius:6px;padding:12px 14px;background:#fafbf8;color:var(--ink);font:16px/1.5 var(--sans)}
.contact-field textarea{min-height:190px;resize:vertical}
.contact-field small{font-size:11px;color:var(--muted);line-height:1.7}
.contact-wide{grid-column:1/-1}
.contact-consent{display:flex;align-items:start;gap:10px;margin-top:24px;font-size:12px;line-height:1.8;color:var(--muted)}
.contact-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:var(--ink)}
.contact-consent a{text-decoration:underline;text-underline-offset:3px}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px 22px;margin-top:24px}
.contact-actions button{padding:13px 24px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:6px;min-height:48px;font:600 14px/1.5 var(--sans)}
.contact-actions button:disabled{opacity:.65;cursor:wait}
.contact-actions>span{font-size:11px;line-height:1.7;color:var(--muted)}
.contact-status{min-height:24px;margin:18px 0 0;font-size:13px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.contact-status.is-error{color:#9b3424}
.contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:590px){.contact-page{padding-bottom:40px}.contact-intro{padding:10px 0 25px}.contact-intro h1{font-size:42px}.contact-intro p{font-size:15px}.contact-form{padding:24px 20px}.contact-fields{grid-template-columns:minmax(0,1fr);gap:22px}.contact-wide{grid-column:auto}.contact-actions{display:block}.contact-actions button{width:100%;margin-bottom:12px}.contact-actions>span{display:block}}
