/* WordPress layouts and editor content. */
.screen-reader-text { border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important; }
.skip-link:focus { clip:auto;clip-path:none;height:auto;width:auto;top:10px;left:10px;z-index:1000;background:#fff;color:#111;padding:15px; }
.brand>a { display:flex;align-items:center;gap:10px; }
.custom-logo { display:block;width:auto;max-width:230px;max-height:55px; }
.admin-bar .site-header { top:32px; }
.menu,.footer-menu { display:flex;list-style:none;gap:20px;margin:0;padding:0; }
.menu li { position:relative; }
.menu .sub-menu { display:none;position:absolute;top:100%;left:0;min-width:190px;list-style:none;padding:15px;background:var(--dark);border:1px solid #7775; }
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu { display:block; }
.menu .sub-menu a { display:block;padding:8px; }
html[data-palette] .entry-content { color:var(--ink); }
.entry-content { font-size:18px;line-height:2;overflow-wrap:anywhere; }
.entry-content>* { margin-bottom:1.5em; }
.entry-content h2,.entry-content h3 { margin-top:2em;line-height:1.5; }
.entry-content h2 { font-size:30px; }
.entry-content h3 { font-size:24px; }
.entry-content ul,.entry-content ol { padding-left:1.7em; }
.entry-content a,.post-meta a,.post-tags a { text-decoration:underline;text-underline-offset:4px; }
.entry-content img,.entry-content video,.entry-content iframe { max-width:100%;height:auto; }
.entry-content figure { max-width:100%; }
.entry-content figcaption { font-size:14px;color:var(--mute); }
.entry-content blockquote { border-left:3px solid var(--accent);padding:15px 25px;background:var(--bg2); }
.entry-content pre { overflow:auto;background:var(--bg2);padding:20px;font-size:15px; }
.entry-content table { border-collapse:collapse;width:100%; }
.entry-content td,.entry-content th { border:1px solid var(--line);padding:10px; }
.entry-content .wp-block-table { overflow:auto; }
.entry-content .alignwide { width:100%; }
.entry-content .alignleft { float:left;margin-right:24px; }
.entry-content .alignright { float:right;margin-left:24px; }
.entry-content:after { content:'';display:block;clear:both; }
.wp-caption,.gallery-caption { max-width:100%; }
.bypostauthor { border-left:2px solid var(--accent); }
.sticky { border-top:3px solid var(--accent); }
.archive-main { padding-top:70px;padding-bottom:90px;min-height:60vh; }
.archive-heading { margin-bottom:40px; }
.archive-heading h1,.article-heading h1 { font-size:clamp(28px,4vw,48px);line-height:1.5;overflow-wrap:anywhere; }
.archive-description { margin-top:20px; }
.post-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.post-card { border-top:1px solid var(--line);padding-top:22px;min-width:0; }
.post-card img { width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:6px;display:block;margin-bottom:20px; }
.post-card h2 { font-size:23px;margin:12px 0;overflow-wrap:anywhere; }
.post-card p { color:var(--mute);font-size:16px; }
.post-meta { color:var(--mute);font-size:14px; }
.text-link { display:inline-block;font-size:15px;font-weight:700;border-bottom:1px solid currentColor;margin-top:18px; }
.listing-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px; }
.latest-section { border-bottom:1px solid var(--line); }
.article-main { max-width:940px;padding-top:65px;padding-bottom:90px;min-height:60vh; }
.article-heading { margin-bottom:40px; }
.article-heading h1 { margin-top:15px; }
.article-image { width:100%;height:auto;margin-bottom:35px;border-radius:8px; }
.navigation { margin-top:45px; }
.nav-links { display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px; }
.page-numbers { padding:8px 14px;border:1px solid var(--line); }
.page-numbers.current { background:var(--bg2); }
.search-form { display:flex;gap:10px;max-width:500px;margin:25px 0; }
.search-form label { flex:1;min-width:0; }
.search-form input,.comment-form input,.comment-form textarea { width:100%;border:1px solid var(--line);padding:12px;background:#fff;border-radius:4px;color:var(--ink); }
.search-form button,.comment-form .submit { background:var(--ink);color:white;border:0;padding:12px 20px;border-radius:4px;cursor:pointer; }
.comment-form label { display:block; }
.comment-form p { margin:15px 0; }
.comment-form input[type=checkbox] { width:auto; }
.comment-list { padding-left:20px; }
.comments-area { margin-top:60px; }
.contact-content .wpcf7-form p { margin-bottom:15px; }
.contact-content input[type=submit] { cursor:pointer;background:var(--accent);color:#111; }
.contact-content input[type=checkbox],.contact-content input[type=radio] { width:auto; }
.contact-content .wpcf7-response-output { color:inherit; }
.page-extra { padding-top:60px;padding-bottom:60px; }
@media(max-width:1100px) { .navlinks { gap:12px; }.menu { gap:12px; }.brand { font-size:16px; } }
@media(max-width:900px) {
 .navlinks { display:none; }.burger { display:block; }
 .navlinks.open { display:flex;position:absolute;top:100%;left:0;right:0;background:var(--dark);padding:24px;align-items:stretch;flex-direction:column;max-height:75vh;overflow:auto; }
 .menu { flex-direction:column; }.menu .sub-menu { display:block;position:static;background:none;border:0;padding:0 0 0 18px; }
 .post-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:782px) { .admin-bar .site-header { top:46px; } }
@media(max-width:600px) {
 .admin-bar .site-header { top:0; }.post-grid { grid-template-columns:1fr; }.entry-content { font-size:16px; }
 .footer-menu { flex-wrap:wrap; }.listing-heading { align-items:flex-start;flex-direction:column;gap:10px; }
}

/* Corporate news: date / category / title, separated by fine horizontal rules. */
.news-list { list-style:none;margin:0;padding:0;border-top:1px solid var(--line); }
.news-row { margin:0;padding:0;border-bottom:1px solid var(--line); }
.news-row-link { display:grid;grid-template-columns:110px 140px minmax(0,1fr) 24px;gap:24px;align-items:center;padding:27px 12px;transition:background .18s; }
.news-row-link:hover { background:var(--bg2); }
.news-date { color:var(--mute);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap; }
.news-category { color:var(--mute);background:var(--bg2);border:1px solid var(--line);padding:4px 10px;text-align:center;font-size:13px;line-height:1.6;overflow-wrap:anywhere; }
.news-title { font-size:17px;font-weight:600;line-height:1.9;overflow-wrap:anywhere;text-wrap:pretty; }
.news-row-link:hover .news-title { text-decoration:underline;text-underline-offset:5px; }
.news-arrow { font-size:19px;text-align:right;color:var(--mute); }
@media(max-width:760px) {
 .news-row-link { grid-template-columns:105px minmax(0,1fr) 22px;gap:10px 14px;padding:22px 0; }
 .news-category { justify-self:start;max-width:100%; }
 .news-title { grid-column:1 / 3;grid-row:2;font-size:16px; }
 .news-arrow { grid-column:3;grid-row:1 / 3; }
}

/* News listings: fill short viewports above the footer, never beneath it. */
body.news-listing-page { min-height:100vh;min-height:100svh;display:flex;flex-direction:column; }
body.news-listing-page > main { flex:1 0 auto;width:100%;min-height:0; }
body.news-listing-page > .site-header,body.news-listing-page > .site-footer { flex:0 0 auto; }
body.news-listing-page > .site-footer { margin:0;padding:24px 0; }
.news-listing-page .site-footer .fnav { row-gap:14px; }
body.news-listing-page.admin-bar { min-height:calc(100vh - 32px);min-height:calc(100svh - 32px); }
@media(max-width:782px) {
 body.news-listing-page.admin-bar { min-height:calc(100vh - 46px);min-height:calc(100svh - 46px); }
}
@media(max-width:600px) {
 body.news-listing-page > .site-footer { padding:20px 0; }
 .news-listing-page .site-footer .fnav { gap:12px; }
}
