/*
Theme Name: ECSC Kadence
Description: European Cognitive Security Center editorial child theme.
Template: kadence
Version: 1.0.0
Text Domain: ecsc-kadence
*/

@font-face {
  font-family:"Source Sans 3";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("assets/fonts/source-sans-3-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"Source Sans 3";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("assets/fonts/source-sans-3-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Source Serif 4";
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url("assets/fonts/source-serif-4-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"Source Serif 4";
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url("assets/fonts/source-serif-4-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root { --ecsc-ink:#071426; --ecsc-blue:#064db8; --ecsc-line:#dce2e8; --ecsc-muted:#657180; --ecsc-paper:#fff; }
body { background:#fff; color:var(--ecsc-ink); font-family:Arial,Helvetica,sans-serif; }
a { text-underline-offset:.2em; }
.home .entry-hero,.home .entry-header { display:none!important; }
.home .content-container { max-width:none!important; padding:0!important; }
.home .entry.content-bg { background:transparent!important; box-shadow:none!important; }
.home .content-area,.home .site-main,.home .content-wrap,.home .entry-content-wrap { margin:0!important; padding:0!important; }
.site-header-wrap { border-bottom:0; box-shadow:none; }
.ecsc-header-top { max-width:1400px; min-height:84px; margin:0 auto; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; box-sizing:border-box; }
.ecsc-brand { display:flex; align-items:center; gap:14px; min-width:0; }
.ecsc-brand-mark { display:flex; align-items:center; flex:none; }
.ecsc-brand-mark img { display:block; width:52px; height:64px; object-fit:contain; }
.ecsc-brand-name { color:#102e61; font-size:clamp(19px,2vw,27px); font-weight:700; line-height:1.15; text-decoration:none; }
.ecsc-brand p { margin:5px 0 0; color:#526175; font-size:14px; }
.ecsc-header-tools { display:flex; align-items:center; gap:18px; }
.ecsc-header-tools>span { color:#17263b; font-weight:700; }
.ecsc-header-tools .search-form { display:flex; gap:6px; margin:0; }
.ecsc-header-tools .search-field { width:210px; min-height:38px; border:1px solid var(--ecsc-line); border-radius:4px; padding:8px 12px; }
.ecsc-header-tools .search-submit { background:#fff; border:1px solid var(--ecsc-line); border-radius:4px; color:var(--ecsc-ink); padding:8px 12px; }
.site-header-wrap .site-main-header-wrap { background:#fff; }
.site-header-wrap .site-main-header-inner-wrap { min-height:78px; }
.site-header-wrap .site-branding { gap:14px; }
.site-header-wrap .custom-logo { width:52px; height:64px; object-fit:contain; }
.site-header-wrap .site-title { color:#102e61; font-size:clamp(19px,2vw,27px); font-weight:700; line-height:1.15; }
.site-header-wrap .site-description { color:#526175; font-size:14px; margin-top:5px; }
.ecsc-header-search { display:flex; align-items:center; }
.ecsc-header-search .search-form { display:flex; gap:8px; margin:0; }
.ecsc-header-search .search-field { width:210px; min-height:38px; border:1px solid var(--ecsc-line); border-radius:4px; padding:8px 12px; }
.ecsc-header-search .search-submit { background:#fff; border:1px solid var(--ecsc-line); border-radius:4px; color:var(--ecsc-ink); padding:8px 12px; }
.ecsc-nav { background:#071426; }
.ecsc-nav>.site-container { max-width:1400px; margin:auto; padding:0 24px; display:flex; align-items:stretch; justify-content:space-between; }
.ecsc-nav-list { display:flex; align-items:stretch; gap:0; list-style:none; padding:0; margin:0; }
.ecsc-nav-list a { display:block; color:#f6f8fb; padding:15px 13px; font-size:12px; font-weight:700; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.ecsc-nav-list a:hover,.ecsc-nav-list a[aria-current="page"] { background:#0b3d83; color:#fff; }
.ecsc-language-links { display:flex; align-items:center; }
.ecsc-flag-languages { display:flex; align-items:center; gap:5px; }
.ecsc-flag-languages .ecsc-language-button { display:grid; place-items:center; width:36px; height:32px; padding:0; border:1px solid transparent; border-radius:4px; color:#fff; font-size:20px; line-height:1; text-decoration:none; }
.ecsc-flag-languages .ecsc-language-button:hover,.ecsc-flag-languages .ecsc-language-button[aria-current="true"] { border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.12); }
.ecsc-mobile-menu { display:none; }
.ecsc-nav .site-container { max-width:1400px; }
.ecsc-nav .primary-menu-container>ul { display:flex; align-items:stretch; gap:0; }
.ecsc-nav .primary-menu-container>ul>li>a { color:#f6f8fb; padding:15px 13px; font-size:12px; font-weight:700; text-transform:uppercase; }
.ecsc-nav .primary-menu-container>ul>li>a:hover,.ecsc-nav .primary-menu-container>ul>li.current-menu-item>a { background:#0b3d83; color:#fff; }
.ecsc-content { max-width:1320px; margin:0 auto; padding:24px 24px 64px; }
.ecsc-layout { display:grid; grid-template-columns:minmax(0,2.05fr) minmax(300px,.88fr); gap:20px; align-items:start; }
.ecsc-main,.ecsc-sidebar { min-width:0; }
.ecsc-hero { min-height:390px; border-radius:4px; overflow:hidden; display:flex; align-items:center; color:#fff; background-color:#071426; background-size:cover; background-position:center; }
.ecsc-hero>div { max-width:650px; padding:clamp(24px,4vw,48px); }
.ecsc-hero .ecsc-label { display:inline-block; background:#064a91; padding:6px 10px; font-size:12px; font-weight:700; letter-spacing:.04em; }
.ecsc-hero h1 { max-width:650px; margin:16px 0; color:#fff; font-size:clamp(30px,3.1vw,44px); line-height:1.12; }
.ecsc-hero p { max-width:510px; color:#fff; font-size:16px; line-height:1.6; }
.ecsc-hero-button { display:inline-block; margin-top:6px; border:1px solid rgba(255,255,255,.75); border-radius:3px; padding:11px 15px; color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.ecsc-section,.ecsc-sidebox { margin-top:16px; border:1px solid var(--ecsc-line); border-radius:4px; background:#fff; padding:16px; }
.ecsc-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--ecsc-line); padding-bottom:10px; margin:0 0 14px!important; font-size:16px!important; line-height:1.25; text-transform:uppercase; }
.ecsc-section-title { position:relative; }
.ecsc-section-title:after { content:""; height:2px; width:48px; background:#1762d2; position:absolute; left:0; bottom:-1px; }
.ecsc-section-title a,.ecsc-more { color:#064db8; font-size:12px; font-weight:500; text-decoration:none; }
.ecsc-cards .wp-block-post-template { gap:12px; }
.ecsc-cards .wp-block-post { min-width:0; border-right:1px solid var(--ecsc-line); padding:0 10px 2px 0; }
.ecsc-cards .wp-block-post-date { color:var(--ecsc-muted); font-size:11px; }
.ecsc-cards .wp-block-post-title { font-size:16px; line-height:1.35; margin:7px 0; }
.ecsc-cards .wp-block-post-title a { color:var(--ecsc-ink); text-decoration:none; }
.ecsc-cards .wp-block-post-excerpt { font-size:12px; line-height:1.55; }
.ecsc-cards .wp-block-post-excerpt__more-link { display:block; color:#064db8; margin-top:8px; text-decoration:none; }
.ecsc-post-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ecsc-post-card { min-width:0; border-right:1px solid var(--ecsc-line); padding:0 10px 2px 0; }
.ecsc-post-image { display:block; width:100%; height:116px; overflow:hidden; border-radius:4px; background:#0c2441; }
.ecsc-post-image img { display:block; width:100%; height:100%; object-fit:cover; }
.ecsc-post-placeholder { display:grid; place-items:center; color:#78b7fa; background:linear-gradient(rgba(7,20,38,.16),rgba(7,20,38,.3)),radial-gradient(circle at 68% 35%,#145994,#061426 70%); font-weight:700; letter-spacing:.2em; text-decoration:none; position:relative; }
.ecsc-post-placeholder:before { content:""; position:absolute; width:42px; height:50px; border:2px solid #58a8f4; border-radius:50% 50% 46% 46%; opacity:.75; transform:scale(.88); }
.ecsc-post-placeholder span { position:relative; z-index:1; }
.ecsc-post-meta { margin-top:9px; color:var(--ecsc-muted); font-size:11px; }
.ecsc-post-card h3 { margin:7px 0; font-size:16px; line-height:1.35; }
.ecsc-post-card h3 a { color:var(--ecsc-ink); text-decoration:none; }
.ecsc-post-card p { margin:7px 0; font-size:12px; line-height:1.55; }
.ecsc-sidebox { padding:17px 18px; }
.ecsc-sidebox h2 { margin:0 0 13px; border-bottom:1px solid var(--ecsc-line); padding-bottom:11px; font-size:16px; text-transform:uppercase; }
.ecsc-sidebox h3 { margin:8px 0; font-size:17px; }
.ecsc-sidebox p { margin:8px 0; font-size:13px; line-height:1.55; }
.ecsc-sidebox a { color:#064db8; text-decoration:none; }
.ecsc-focus-areas { counter-reset:ecsc-focus-item; margin-top:16px; padding:19px; border:1px solid #dfe7f0; border-radius:9px; background:linear-gradient(145deg,#f7f9fc 0%,#eef4fa 100%); }
.ecsc-focus-areas>h2 { position:relative; margin:0 0 8px; border-bottom:1px solid #dce5ef; padding:0 0 12px; color:#173653; font-size:16px; line-height:1.3; letter-spacing:.015em; text-transform:uppercase; }
.ecsc-focus-areas>h2:after { position:absolute; bottom:-1px; left:0; width:44px; height:2px; background:#2764ad; content:""; }
.ecsc-focus-areas>.ecsc-focus-intro { margin:10px 0 14px; color:#536174; font-size:13px; line-height:1.55; }
.ecsc-focus-areas .ecsc-focus-item { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:10px; margin-block-start:9px; padding:12px; border:1px solid #e1e7ee; border-radius:7px; background:#fff; box-shadow:0 2px 8px rgba(24,47,73,.035); counter-increment:ecsc-focus-item; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.ecsc-focus-areas .ecsc-focus-item:hover { transform:translateY(-1px); border-color:#c4d4e7; box-shadow:0 5px 13px rgba(24,47,73,.07); }
.ecsc-focus-areas .ecsc-focus-item:before { display:grid; width:32px; height:32px; place-items:center; border:1px solid #d9e6f4; border-radius:50%; background:#edf4fb; color:#24588f; content:counter(ecsc-focus-item,decimal-leading-zero); font-size:10px; font-weight:700; letter-spacing:.04em; }
.ecsc-focus-areas .ecsc-focus-item h3 { margin:1px 0 4px; font-size:15px; line-height:1.35; }
.ecsc-focus-areas .ecsc-focus-item h3 a { color:#173653; text-decoration:none; }
.ecsc-focus-areas .ecsc-focus-item h3 a:hover { color:#1458a4; text-decoration:underline; text-underline-offset:3px; }
.ecsc-focus-areas .ecsc-focus-item p { margin:0; color:#5a6878; font-size:12px; line-height:1.5; }
@media(prefers-reduced-motion:reduce){.ecsc-focus-areas .ecsc-focus-item{transition:none}.ecsc-focus-areas .ecsc-focus-item:hover{transform:none}}
.ecsc-sidebox .ecsc-term-illustration { float:right; width:76px; height:82px; margin:0 0 8px 12px; object-fit:contain; }
.ecsc-newsletter { background:#071426; color:#fff; }
.ecsc-newsletter h2 { color:#fff; border-color:rgba(255,255,255,.25); }
.ecsc-newsletter input[type=email] { min-width:0; width:100%; border:1px solid #ccd4de; border-radius:4px; padding:12px; }
.ecsc-newsletter button { background:#064db8; color:#fff; border:0; border-radius:4px; padding:12px 15px; font-weight:700; }
.ecsc-topic-list { list-style:none; padding:0; margin:0; }
.ecsc-topic-list li { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #edf0f3; font-size:13px; }
.ecsc-topic-list li:last-child { border:0; }
.ecsc-count { min-width:26px; text-align:center; border-radius:20px; background:#f0f2f5; padding:3px 7px; font-size:11px; }
.site-footer-wrap { border-top:1px solid var(--ecsc-line); }
.ecsc-site-footer { max-width:1320px; margin:auto; padding:20px 24px; color:var(--ecsc-muted); font-size:13px; }
.page-id-21 .entry-hero,.page-id-22 .entry-hero,.page-id-21 .entry-header,.page-id-22 .entry-header { display:none!important; }
.page-id-21 .ecsc-archive,.page-id-22 .ecsc-archive { margin-top:-30px!important; }
.ecsc-archive { max-width:1240px; margin:-30px auto 0; padding:12px 24px 72px; }
.ecsc-archive-intro { position:relative; overflow:hidden; margin:0 0 20px; padding:18px clamp(20px,2.5vw,30px); border:1px solid #dce6f0; border-radius:8px; background:linear-gradient(115deg,#f2f6fb 0%,#f9fbfd 66%,#edf4fb 100%); }
.ecsc-archive-kicker { margin:0 0 3px!important; color:#2764ad; font-size:10px!important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ecsc-archive-intro h1 { max-width:760px; margin:0 0 5px!important; color:#102e50; font-size:clamp(28px,2.8vw,36px); line-height:1.1; letter-spacing:-.025em; }
.ecsc-archive-intro>p:last-child { max-width:740px; margin:0!important; color:#526175; font-size:14px; line-height:1.5; }
.ecsc-archive-intro:after { content:""; position:absolute; right:-38px; bottom:-100px; width:290px; height:290px; border:1px solid rgba(39,100,173,.13); border-radius:50%; box-shadow:0 0 0 28px rgba(39,100,173,.035),0 0 0 58px rgba(39,100,173,.03); pointer-events:none; }
.ecsc-archive-section-title { margin:0 0 20px!important; color:#10243b; font-size:22px!important; line-height:1.3; }
.ecsc-archive-grid { gap:22px!important; }
.ecsc-archive-grid>.wp-block-post { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #e0e6ed; border-radius:9px; background:#fff; box-shadow:0 3px 14px rgba(18,39,63,.045); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.ecsc-archive-grid>.wp-block-post:hover { transform:translateY(-3px); border-color:#cbd8e7; box-shadow:0 10px 24px rgba(18,39,63,.09); }
.ecsc-archive-grid .ecsc-archive-card-media { position:relative; display:block; min-height:180px; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#eaf1f8,#dce8f4 55%,#eef3f8); }
.ecsc-archive-grid .ecsc-archive-card-media:before { content:"ECSC"; position:absolute; inset:0; display:grid; place-items:center; color:rgba(26,76,132,.55); font-size:25px; font-weight:700; letter-spacing:.22em; }
.ecsc-archive-grid .ecsc-archive-card-media:after { content:""; position:absolute; width:96px; height:96px; top:50%; left:50%; border:1px solid rgba(26,76,132,.2); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 18px rgba(26,76,132,.04),0 0 0 38px rgba(26,76,132,.035); }
.ecsc-archive-grid .ecsc-archive-card-image { position:absolute; z-index:1; inset:0; width:100%; height:100%; margin:0; }
.ecsc-archive-grid .ecsc-archive-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ecsc-archive-grid>.wp-block-post:hover .ecsc-archive-card-image img { transform:scale(1.035); }
.ecsc-archive-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:22px 23px 24px; }
.ecsc-archive-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:0 0 12px!important; color:#68788b; font-size:12px!important; }
.ecsc-archive-card-meta .wp-block-post-terms a { color:#2764ad; font-weight:600; text-decoration:none; }
.ecsc-archive-card-meta .ecsc-archive-type { margin:0!important; padding:4px 8px; border-radius:4px; background:#edf3f9; color:#2a5f99; font-size:10px; font-weight:700; letter-spacing:.07em; }
.ecsc-archive-card-title { margin:0 0 10px!important; font-size:21px!important; line-height:1.32; letter-spacing:-.01em; }
.ecsc-archive-card-title a { color:#142b46; text-decoration:none; }
.ecsc-archive-card-title a:hover { color:#1558a5; }
.ecsc-archive-card-excerpt { margin:0!important; color:#536174; font-size:14px; line-height:1.65; }
.ecsc-archive-card-excerpt .wp-block-post-excerpt__more-link { display:inline-block; margin-top:15px; color:#145bb0; font-size:13px; font-weight:700; text-decoration:none; }
.ecsc-archive-card-excerpt .wp-block-post-excerpt__more-link:after { content:" →"; }
.ecsc-archive-pagination { margin-top:34px!important; gap:8px; color:#234367; }
.ecsc-archive-pagination a,.ecsc-archive-pagination .page-numbers { display:inline-grid; min-width:38px; min-height:38px; place-items:center; border:1px solid #dce3eb; border-radius:6px; background:#fff; color:#21456f; text-decoration:none; }
.ecsc-archive-pagination a:hover { border-color:#9cb5d1; background:#f2f6fb; }
.ecsc-archive-pagination .current { border-color:#245d9e; background:#245d9e; color:#fff; }
.ecsc-archive-no-results { padding:28px; border:1px dashed #cbd6e3; border-radius:8px; color:#5d6d80; text-align:center; }
.page-id-35 .entry-hero,.page-id-36 .entry-hero,.page-id-51 .entry-hero,.page-id-52 .entry-hero,.page-id-35 .entry-header,.page-id-36 .entry-header,.page-id-51 .entry-header,.page-id-52 .entry-header { display:none!important; }
.ecsc-static-page { max-width:1240px; margin:-30px auto 0; padding:12px 24px 72px; }
.ecsc-static-page .ecsc-archive-intro { margin-bottom:24px; }
.ecsc-info-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; }
.ecsc-info-card { min-width:0; padding:27px 30px; border:1px solid #e0e6ed; border-top:3px solid #326ca9; border-radius:8px; background:#fff; box-shadow:0 3px 14px rgba(18,39,63,.045); }
.ecsc-info-kicker { margin:0 0 8px!important; color:#2764ad; font-size:10px!important; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.ecsc-info-card h2 { margin:0 0 12px!important; color:#142d49; font-size:22px!important; line-height:1.3; }
.ecsc-info-card p { margin:0!important; color:#536174; font-size:15px; line-height:1.7; }
.ecsc-contact-intro { margin-bottom:22px!important; }
.ecsc-contact-form-wrap { max-width:900px; margin:0 auto; padding:28px clamp(20px,4vw,38px) 32px; border:1px solid #e0e6ed; border-radius:9px; background:#fff; box-shadow:0 4px 20px rgba(18,39,63,.055); }
.ecsc-contact-form-wrap h2 { margin:0 0 7px!important; color:#142d49; font-size:21px!important; }
.ecsc-contact-form-wrap>p { margin:0 0 20px!important; color:#657487; font-size:14px; line-height:1.6; }
.ecsc-contact-form-wrap .ecsc-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.ecsc-contact-form-wrap .ecsc-form>label:not(.ecsc-consent) { display:block; margin:0 0 7px; color:#31435a; font-size:13px; font-weight:600; }
.ecsc-contact-form-wrap .ecsc-form>label[for$="name"] { grid-column:1; grid-row:1; }
.ecsc-contact-form-wrap .ecsc-form>input[name="sender_name"] { grid-column:1; grid-row:2; }
.ecsc-contact-form-wrap .ecsc-form>label[for$="email"] { grid-column:2; grid-row:1; }
.ecsc-contact-form-wrap .ecsc-form>input[name="email"] { grid-column:2; grid-row:2; }
.ecsc-contact-form-wrap .ecsc-form>label[for$="message"] { grid-column:1/-1; grid-row:3; margin-top:18px; }
.ecsc-contact-form-wrap .ecsc-form>textarea { grid-column:1/-1; grid-row:4; min-height:170px; resize:vertical; }
.ecsc-contact-form-wrap .ecsc-form input[name="sender_name"],.ecsc-contact-form-wrap .ecsc-form input[name="email"],.ecsc-contact-form-wrap .ecsc-form textarea { width:100%; min-width:0; border:1px solid #cfd8e3; border-radius:5px; background:#fff; padding:11px 13px; color:#14243a; font:inherit; }
.ecsc-contact-form-wrap .ecsc-form input:focus,.ecsc-contact-form-wrap .ecsc-form textarea:focus { border-color:#3676b7; outline:3px solid rgba(54,118,183,.15); }
.ecsc-contact-form-wrap .ecsc-form .ecsc-consent { grid-column:1/-1; margin:17px 0 10px; color:#536174; font-size:13px; }
.ecsc-contact-form-wrap .ecsc-form .ecsc-privacy-link { grid-column:1/-1; margin:0 0 18px; color:#175ca5; font-size:13px; }
.ecsc-contact-form-wrap .ecsc-form button { grid-column:1/-1; justify-self:start; min-height:44px; padding:11px 20px; border:0; border-radius:5px; background:#174f91; color:#fff; font-size:14px; font-weight:700; }
.ecsc-contact-form-wrap .ecsc-form button:hover { background:#0f3f77; }
.page-id-35 .ecsc-static-page,.page-id-36 .ecsc-static-page,.page-id-51 .ecsc-static-page,.page-id-52 .ecsc-static-page { margin-top:-30px!important; }
@media(max-width:1050px){.ecsc-nav-list a{padding:14px 8px;font-size:11px}.ecsc-header-tools .search-field{width:160px}}
@media(max-width:900px){.ecsc-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.ecsc-content{padding:18px 16px 48px}.ecsc-brand-name{font-size:21px}.ecsc-header-tools{gap:10px}}
@media(max-width:700px){.ecsc-layout{grid-template-columns:1fr}.ecsc-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.ecsc-newsletter{grid-column:1/-1}.ecsc-hero{min-height:370px!important}.ecsc-nav>.site-container{padding:0 12px;display:block}.ecsc-mobile-menu{display:block;width:100%;padding:12px;text-align:left;background:#071426;color:#fff;border:0;font-weight:700}.ecsc-mobile-menu:after{content:"☰";float:right}.ecsc-nav-list{display:none;flex-direction:column}.ecsc-nav-list.is-open{display:flex}.ecsc-nav-list a{font-size:13px}.ecsc-language-links{position:absolute;right:20px;top:0;height:43px}.ecsc-header-tools{display:none}.ecsc-header-top{min-height:72px;padding:8px 16px}.ecsc-brand-mark img{width:42px;height:54px}.ecsc-cards .wp-block-post{border:0}.ecsc-sidebar .ecsc-sidebox{margin-top:12px}.ecsc-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecsc-post-card{border:0}}
@media(max-width:480px){.ecsc-sidebar{grid-template-columns:1fr}.ecsc-newsletter{grid-column:auto}.ecsc-hero{min-height:410px!important}.ecsc-brand-name{font-size:17px}.ecsc-brand p{font-size:12px}.ecsc-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page-id-21 .ecsc-archive,.page-id-22 .ecsc-archive{margin-top:-24px!important}.ecsc-archive{padding:8px 16px 48px}.ecsc-archive-intro{margin-bottom:18px;padding:16px 20px;border-radius:8px}.ecsc-archive-intro h1{font-size:30px}.ecsc-archive-intro>p:last-child{font-size:14px}.ecsc-archive-intro:after{right:-135px;bottom:-145px}.ecsc-archive-grid{grid-template-columns:1fr!important;gap:16px!important}.ecsc-archive-grid .ecsc-archive-card-media{min-height:160px}.ecsc-archive-card-body{padding:19px 19px 21px}.ecsc-archive-card-title{font-size:19px!important}}

/* Calmer, research-led visual tone: lighter navigation and less cinematic contrast. */
:root { --ecsc-paper:#fbfcfe; --ecsc-line:#e2e7ed; --ecsc-muted:#667487; }
body { background:var(--ecsc-paper); }
.ecsc-nav { background:#edf2f7; border-top:1px solid #e5eaf0; border-bottom:1px solid #dce3eb; }
.ecsc-nav-list a,
.ecsc-nav .primary-menu-container>ul>li>a { color:#24364b; }
.ecsc-nav-list a:hover,
.ecsc-nav-list a[aria-current="page"],
.ecsc-nav .primary-menu-container>ul>li>a:hover,
.ecsc-nav .primary-menu-container>ul>li.current-menu-item>a {
  color:#123c75; background:#dce8f5; box-shadow:inset 0 -3px 0 #2764ad;
}
.ecsc-flag-languages .ecsc-language-button { color:#24364b; }
.ecsc-flag-languages .ecsc-language-button:hover,
.ecsc-flag-languages .ecsc-language-button[aria-current="true"] { border-color:#c8d6e6; background:#fff; }
.ecsc-mobile-menu { background:#edf2f7!important; color:#24364b!important; border-bottom:1px solid #dce3eb!important; }
.ecsc-hero { background-color:#26384c; }
.ecsc-post-image img { filter:brightness(1.08) saturate(.82); transition:filter .2s ease,transform .25s ease; }
.ecsc-post-image:hover img { filter:brightness(1.12) saturate(.9); transform:scale(1.025); }
.ecsc-post-placeholder { color:#174c8a; background:linear-gradient(145deg,#f4f7fb,#dce8f5); }
.ecsc-post-placeholder:before { border-color:#5e8bbc; }
.ecsc-newsletter { background:#edf3f9; color:var(--ecsc-ink); }
.ecsc-newsletter h2 { color:var(--ecsc-ink); border-color:#d4deea; }
.ecsc-newsletter button { background:#174f91; }
.ecsc-weekly-term { margin-top:12px; padding:16px 18px; border-color:#e0e6ed; border-radius:6px; background:#fff; }
.ecsc-weekly-term .ecsc-weekly-kicker { margin:0 0 9px!important; color:#2764ad; font-size:10px!important; font-weight:700; letter-spacing:.1em; }
.ecsc-weekly-term h2 { margin:0 0 9px!important; padding:0 0 9px; border-bottom:1px solid var(--ecsc-line); color:var(--ecsc-ink); font-size:16px!important; line-height:1.35; text-transform:none; }
.ecsc-weekly-term h2 a { color:var(--ecsc-ink); }
.ecsc-weekly-term>p:not(.ecsc-weekly-kicker) { margin:0 0 8px!important; color:#536174; font-size:13px; line-height:1.55; }
.ecsc-weekly-term .ecsc-weekly-link { display:inline-block; margin-top:2px; color:#174f91; font-size:12px; font-weight:700; }
@media(max-width:700px){.ecsc-weekly-term{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.ecsc-post-image img{transition:none}.ecsc-post-image:hover img{transform:none}}
@media(max-width:700px){.ecsc-sidebar{grid-template-columns:minmax(0,1fr)}.ecsc-newsletter{grid-column:auto}.ecsc-focus-areas,.ecsc-weekly-term{grid-column:1/-1}}
.ecsc-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ecsc-consent { display:flex; align-items:flex-start; gap:8px; margin:12px 0; font-size:13px; line-height:1.5; }
.ecsc-consent input[type="checkbox"] { flex:none; margin:3px 0 0; }
.ecsc-privacy-link { display:inline-block; margin:0 0 12px; font-size:13px; }
@media(min-width:701px){
  .ecsc-nav>.site-container { position:relative; justify-content:center; }
  .ecsc-nav-list { margin-right:auto; margin-left:auto; }
  .ecsc-language-links { position:absolute; top:50%; right:24px; transform:translateY(-50%); }
}
.ecsc-newsletter { padding:14px 16px; background:#f5f7fa; border-color:#e6eaf0; }
.ecsc-newsletter h2 { margin-bottom:8px; padding-bottom:8px; font-size:15px; }
.ecsc-newsletter>p { margin:6px 0 10px; color:#4e5b6a; font-size:13px; line-height:1.45; }
.ecsc-newsletter .ecsc-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; align-items:center; }
.ecsc-newsletter .ecsc-form>label:first-of-type { grid-column:1/-1; margin:0 0 -3px; font-size:12px; color:#566273; }
.ecsc-newsletter .ecsc-form input[type="email"] { grid-column:1; grid-row:2; width:100%; min-height:40px; padding:9px 11px; }
.ecsc-newsletter .ecsc-form .ecsc-consent { grid-column:1/-1; grid-row:3; margin:0; gap:7px; font-size:11px; line-height:1.4; }
.ecsc-newsletter .ecsc-form .ecsc-privacy-link { grid-column:1/-1; grid-row:4; margin:0; font-size:11px; }
.ecsc-newsletter .ecsc-form button { grid-column:2; grid-row:2; align-self:stretch; min-height:40px; margin:0; padding:8px 13px; font-size:12px; line-height:1.2; }
.ecsc-hero h1,
.single-post .entry-title,
.single-post .entry-content h2,
.single-post .entry-content h3,
.ecsc-post-card h3,
.ecsc-archive-intro h1,
.ecsc-archive-card-title,
.ecsc-info-card h2 { font-family:"Source Serif 4",Georgia,serif; font-weight:600; }
body { font-family:"Source Sans 3","Segoe UI",Arial,sans-serif; }
@media(max-width:700px){
  .page-id-35 .ecsc-static-page,.page-id-36 .ecsc-static-page,.page-id-51 .ecsc-static-page,.page-id-52 .ecsc-static-page { margin-top:-24px!important; }
  .ecsc-static-page { padding:8px 16px 48px; }
  .ecsc-static-page .ecsc-archive-intro { margin-bottom:18px; padding:16px 20px; }
  .ecsc-static-page .ecsc-archive-intro h1 { font-size:30px; }
  .ecsc-static-page .ecsc-archive-intro>p:last-child { font-size:14px; }
  .ecsc-info-grid { grid-template-columns:1fr; gap:14px; margin-top:16px; }
  .ecsc-info-card { padding:22px; }
  .ecsc-info-card h2 { font-size:20px!important; }
  .ecsc-contact-form-wrap { padding:22px 20px 24px; }
  .ecsc-contact-form-wrap .ecsc-form { grid-template-columns:minmax(0,1fr); gap:0; }
  .ecsc-contact-form-wrap .ecsc-form>label[for$="name"],.ecsc-contact-form-wrap .ecsc-form>label[for$="email"],.ecsc-contact-form-wrap .ecsc-form>label[for$="message"],.ecsc-contact-form-wrap .ecsc-form>input[name="sender_name"],.ecsc-contact-form-wrap .ecsc-form>input[name="email"],.ecsc-contact-form-wrap .ecsc-form>textarea { grid-column:1; grid-row:auto; }
  .ecsc-contact-form-wrap .ecsc-form>label[for$="email"] { margin-top:16px; }
  .ecsc-contact-form-wrap .ecsc-form>label[for$="message"] { margin-top:16px; }
}

/* Keep the homepage mission and focus sections aligned at narrower widths. */
@media(min-width:701px){
  body.ecsc-home .ecsc-main > .ecsc-mission { margin:0; padding:19px; }
  body.ecsc-home .ecsc-focus-areas { margin-top:0; }
}
body.ecsc-home .ecsc-main > .ecsc-mission > h2,
body.ecsc-home .ecsc-focus-areas > h2 {
  margin:0 0 8px!important;
  border-bottom:1px solid #dce5ef;
  padding:0 0 12px;
  color:#173653;
  font-size:16px!important;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.015em;
  text-transform:uppercase;
}
body.ecsc-home .ecsc-main > .ecsc-mission > h2 { position:relative; }
body.ecsc-home .ecsc-main > .ecsc-mission > h2:after {
  position:absolute;
  bottom:-1px;
  left:0;
  width:44px;
  height:2px;
  background:#2764ad;
  content:"";
}

/* Match the focus card inset at every viewport, including stacked mobile columns. */
body.ecsc-home .ecsc-main > .ecsc-mission { margin:0; padding:19px; }

/* Give the homepage mission panel the same card treatment as the focus areas. */
body.ecsc-home .ecsc-main > .ecsc-mission {
  counter-reset:ecsc-mission-commitment;
  border:1px solid #dfe7f0;
  border-radius:9px;
  background:linear-gradient(145deg,#f7f9fc 0%,#eef4fa 100%);
}
body.ecsc-home .ecsc-main > .ecsc-mission > h3:first-of-type {
  margin:14px 0 12px;
  color:#536174;
  font-size:18px;
  font-weight:600;
  line-height:1.45;
}
body.ecsc-home .ecsc-main > .ecsc-mission > h3:nth-of-type(n+2) {
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 8px;
  border:1px solid #e1e7ee;
  border-radius:7px;
  padding:10px 12px;
  background:#fff;
  color:#173653;
  font-size:15px;
  line-height:1.35;
  counter-increment:ecsc-mission-commitment;
}
body.ecsc-home .ecsc-main > .ecsc-mission > h3:nth-of-type(n+2)::before {
  display:grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid #d9e6f4;
  border-radius:50%;
  background:#edf4fb;
  color:#24588f;
  content:counter(ecsc-mission-commitment,decimal-leading-zero);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}
body.ecsc-home .ecsc-main > .ecsc-mission > p {
  color:#536174;
  font-size:14px;
  line-height:1.65;
}
body.ecsc-home .ecsc-main > .ecsc-mission > p strong { color:#173653; }
@media(max-width:480px){
  body.ecsc-home .ecsc-main > .ecsc-mission { padding:16px; }
}

/* Match Research Priorities page title spacing to the About page. */
.page-id-175 .entry-hero,
.page-id-175 .entry-header { display:none!important; }
.page-id-175 .ecsc-static-page { margin-top:-30px!important; }
@media(max-width:700px){ .page-id-175 .ecsc-static-page { margin-top:-24px!important; } }

/* Make the Articles coming-soon page match the About page title treatment. */
.page-id-22 .entry-hero,
.page-id-22 .entry-header { display:none!important; }
.page-id-22 .ecsc-static-page { margin-top:-30px!important; }
.page-id-22 .ecsc-static-page .ecsc-archive-intro { margin-bottom:24px; }
.page-id-22 .ecsc-static-page .ecsc-archive-intro h1 { font-size:clamp(28px,2.8vw,36px); }
@media(max-width:700px){
  .page-id-22 .ecsc-static-page { margin-top:-24px!important; padding:8px 16px 48px; }
  .page-id-22 .ecsc-static-page .ecsc-archive-intro { margin-bottom:18px; padding:16px 20px; }
  .page-id-22 .ecsc-static-page .ecsc-archive-intro h1 { font-size:30px; }
}

/* Remove decorative numbering from the homepage focus area cards. */
body.ecsc-home .ecsc-focus-areas { counter-reset:none; }
body.ecsc-home .ecsc-focus-areas .ecsc-focus-item { counter-increment:none; }
body.ecsc-home .ecsc-focus-areas .ecsc-focus-item::before { display:none; content:none; }

/* Restore focus card layout; hide only the decorative numbers. */
body.ecsc-home .ecsc-focus-areas { counter-reset:ecsc-focus-item; }
body.ecsc-home .ecsc-focus-areas .ecsc-focus-item { counter-increment:ecsc-focus-item; }
body.ecsc-home .ecsc-focus-areas .ecsc-focus-item::before {
  display:grid;
  visibility:hidden;
  content:counter(ecsc-focus-item,decimal-leading-zero);
}
