/* Menu, site-wide search and a single daily story. */
.site-tools{display:flex;align-items:center;gap:18px;max-width:1220px;margin:0 auto;padding:10px 0;border-top:1px solid var(--line)}
.site-tools summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font:600 .875rem/1.2 var(--sans);white-space:nowrap;color:var(--ink)}
.site-tools summary::-webkit-details-marker{display:none}
.site-tools svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-menu>summary{padding:8px 16px 8px 0}
.site-tools summary:hover,.site-tools details[open]>summary{color:var(--purple)}
.site-tools summary:focus-visible,.site-tools button:focus-visible,.site-menu-links a:focus-visible,.site-daily-panel a:focus-visible{outline:3px solid #b02caa;outline-offset:4px}
.site-search-disclosure{position:relative;flex:0 0 44px}
.site-search-disclosure>summary{width:44px;height:44px;justify-content:center;border:1px solid #e4dfe7;border-radius:50%;background:#faf9fb;color:#645b6a;padding:0}
.site-search-disclosure>summary:hover{background:#f3edf6;border-color:#cbbcd5}
.site-search-disclosure>summary svg{width:19px;height:19px}
.site-search-disclosure .site-search-close,.site-search-disclosure[open] .site-search-icon{display:none}
.site-search-disclosure[open] .site-search-close{display:block}
.site-search-panel{position:absolute;left:54px;top:0;z-index:1;width:clamp(240px,calc(100vw - 410px),360px)}
.site-search{display:flex;flex-direction:row;gap:0;align-items:center;width:360px;max-width:100%;height:44px;margin:0;border:1px solid #d5cddd;border-radius:99px;background:#f8f6fa;overflow:hidden}
.site-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-search:focus-within{border-color:#7b329a;box-shadow:0 0 0 2px #eee2f4;background:#fff}
.site-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:11px 0 11px 19px;color:var(--ink);font:400 .8125rem/1.4 var(--sans)}
.site-search input::placeholder{color:#62576a;opacity:1}
.site-search button{display:grid;place-items:center;flex:0 0 46px;align-self:stretch;border:0;background:transparent;color:#6e248f;cursor:pointer}
.site-search button:hover{background:#eee5f4}
.site-search button:focus-visible{outline-offset:-5px;border-radius:50%}
.site-daily-news{margin-left:auto}
.site-daily-news>summary{padding:8px 12px;border:1px solid #e3d8e9;border-radius:5px;background:#fff}
.site-daily-news>summary svg{width:17px;height:17px}
.site-news-dot{height:7px;width:7px;border-radius:50%;background:#cf158a;flex:none}
.site-menu-panel,.site-daily-panel{position:absolute;top:100%;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:3px solid #9528ab;box-shadow:0 16px 32px #21112d26;max-height:calc(100dvh - 210px);overflow:auto;overscroll-behavior:contain}
.site-menu-panel{left:max(24px,calc((100% - 1220px)/2));right:max(24px,calc((100% - 1220px)/2));padding:24px 30px 30px}
.site-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.site-panel-heading p,.site-panel-heading h2{font:600 1.25rem/1.25 var(--serif);margin:0}
.site-panel-heading button{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:50%;font:400 1.6rem/1 var(--sans);cursor:pointer;color:#5a4268}
.site-panel-heading button:hover{background:#f5eef8}
.site-menu-toolbar{position:absolute;top:14px;right:18px;margin:0}
.site-header nav.site-menu-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:30px;border:0;max-width:none;padding:0;margin:0}
.site-menu-links>div+div{border-left:1px solid var(--line);padding-left:30px}
.site-menu-links h2{font:600 .6875rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:#7c328e;margin:0 34px 12px 0}
.site-header nav.site-menu-links a{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 0;letter-spacing:0;font:400 .875rem/1.45 var(--sans)}
.site-header nav.site-menu-links a:after{display:none}
.site-header nav.site-menu-links a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--purple)}
.site-daily-panel{right:max(24px,calc((100% - 1220px)/2));width:420px;padding:24px}
.site-daily-panel .site-panel-heading{margin-bottom:8px}
.site-daily-intro{font:.8125rem/1.6 var(--sans);color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin:0 0 20px}
.site-daily-date{display:block;color:#7c328e;font:600 .75rem/1.5 var(--sans);margin-bottom:12px}
.site-daily-panel h3{font:600 1.5rem/1.23 var(--serif);margin:0 0 14px;letter-spacing:-.02em}
.site-daily-panel h3 a:hover{color:var(--purple)}
.site-daily-summary,.site-daily-empty{font:.9375rem/1.65 var(--sans);color:var(--muted);margin:0 0 20px}
.site-daily-read{display:inline-flex;align-items:center;min-height:44px;font:600 .875rem/1.4 var(--sans);color:#7b268d;text-decoration:underline;text-underline-offset:5px}
@media(min-width:701px){html{scroll-padding-top:215px}.site-header #main-nav{gap:clamp(18px,3vw,44px)}}
@media(min-width:701px){
 .site-header .masthead{padding-right:170px}
 .site-header>.site-tools{position:absolute;top:14px;right:max(30px,calc((100% - 1280px)/2 + 30px));z-index:2;width:auto;max-width:none;margin:0;padding:0;border:0;gap:8px}
 .site-header>.site-tools .site-menu>summary{padding:0 8px;gap:7px}
 .site-header>.site-tools .site-search-panel{left:auto;right:0;top:calc(100% + 8px)}
 .site-header>.site-tools .site-menu-panel{position:fixed;top:74px}
}
@media(max-width:850px) and (min-width:701px){
 .site-header .brand-identity,.site-header .contact-shortcut{display:none}
}
@media(max-width:1280px){.site-tools{margin:0 30px}}
@media(max-width:1100px) and (min-width:701px){.site-header #main-nav{justify-content:safe center;gap:20px;overflow-x:auto;white-space:nowrap}.site-header #main-nav a{flex:none;font-size:.76rem}}
@media(max-width:700px){
 .site-tools{margin:0 20px;padding:5px 0;border-top:1px solid var(--line);justify-content:flex-end}
 .site-menu,.site-search-disclosure{display:none}
 .site-daily-news>summary{min-height:36px;border:0;padding:5px 0;font-size:.8rem}
 .site-daily-panel{left:12px;right:12px;width:auto;padding:20px;max-height:calc(100dvh - 240px)}
 .site-daily-panel h3{font-size:1.35rem}
 html{scroll-padding-top:185px}
}

/* Compact masthead and controls; news gets priority without losing navigation. */
.site-tools{padding-top:4px;padding-bottom:4px}
.masthead{padding-top:12px;padding-bottom:10px}
.site-header #main-nav a{padding-top:9px;padding-bottom:9px;min-height:44px}
@media(max-width:700px){
 .site-tools{justify-content:flex-start;padding:3px 0;gap:12px}
 .site-menu,.site-search-disclosure{display:block}
 .site-header .menu-toggle{display:none}
 .site-menu-panel{left:12px;right:12px;padding:20px;max-height:calc(100dvh - 155px)}
 .site-header nav.site-menu-links{grid-template-columns:1fr;gap:16px}
 .site-menu-links>div+div{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
 .site-header nav.site-menu-links a{min-height:44px}
 .site-search-disclosure{position:static}
 .site-search-panel{left:12px;right:12px;top:100%;width:auto;padding:6px;background:white;border-radius:25px;box-shadow:0 6px 18px #21112d26}
}

/* Mobile: logo on the left, Menu and the search circle on the same top row. */
@media(max-width:700px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:10px 12px 6px}
 .site-header .masthead{display:contents}
 .site-header .brand{grid-column:1;grid-row:1;justify-self:start}
 .site-header .site-tools{grid-column:2;grid-row:1;justify-self:end;margin:0;padding:0;border:0;gap:8px}
 .site-menu>summary{padding:0;gap:7px;font-size:.8125rem;min-height:44px}
 .site-menu>summary svg{width:18px;height:18px}
 .site-header .brand-identity{grid-column:1;grid-row:2;order:initial;width:auto;max-width:none;min-width:0;margin:0;padding:0;border:0;font-size:.72rem;line-height:1.4}
 .site-header nav.language-switch,.site-header.menu-open nav.language-switch{grid-column:2;grid-row:2;order:initial;justify-self:end;justify-content:flex-end;gap:0;width:auto;margin:0;padding:0}
 .site-header nav.language-switch a{min-height:32px;padding:4px 5px;font-size:.7rem}
 .site-header .contact-shortcut,.site-header #main-nav{display:none}
 .publication-page .site-header nav.publication-nav{grid-column:1 / -1;grid-row:3;min-width:0;max-width:100%;padding:4px 0;margin:2px 0 0}
 .site-search-panel .site-search{width:100%}
 html{scroll-padding-top:110px}
 html:has(.publication-page){scroll-padding-top:165px}
}
