/*
Theme Name: CGS
Theme URI: https://cgs-bd.com/
Template: hello-elementor
Author: Centre for Governance Studies
Description: Child theme of Hello Elementor for the Centre for Governance Studies: research, analysis, events and projects. Works with the Classic Editor and Elementor Pro. Requires the CGS Core plugin.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.2.0
License: GPL-2.0-or-later
Text Domain: cgs
*/

/* Metric-matched fallbacks (O48): text keeps its size while the Noto files load, so nothing jumps. */
@font-face { font-family: "Noto Sans Fallback"; font-weight: 400; font-style: normal; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 105.77%; ascent-override: 101.07%; descent-override: 27.70%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Sans Fallback"; font-weight: 700; font-style: normal; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"); size-adjust: 103.97%; ascent-override: 102.82%; descent-override: 28.18%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Sans Fallback"; font-weight: 400; font-style: italic; src: local("Arial Italic"), local("Arial-ItalicMT"), local("Helvetica Oblique"); size-adjust: 99.79%; ascent-override: 107.13%; descent-override: 29.36%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Serif Fallback"; font-weight: 400; font-style: normal; src: local("Georgia"), local("Times New Roman"); size-adjust: 108.44%; ascent-override: 98.58%; descent-override: 27.02%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Serif Fallback"; font-weight: 700; font-style: normal; src: local("Georgia Bold"), local("Georgia-Bold"), local("Times New Roman Bold"); size-adjust: 98.67%; ascent-override: 108.34%; descent-override: 29.70%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Serif Fallback"; font-weight: 400; font-style: italic; src: local("Georgia Italic"), local("Georgia-Italic"), local("Times New Roman Italic"); size-adjust: 106.08%; ascent-override: 100.78%; descent-override: 27.62%; line-gap-override: 0.00%; }
@font-face { font-family: "Noto Serif Fallback"; font-weight: 700; font-style: italic; src: local("Georgia Bold Italic"), local("Georgia-BoldItalic"), local("Times New Roman Bold Italic"); size-adjust: 98.02%; ascent-override: 109.06%; descent-override: 29.89%; line-gap-override: 0.00%; }
/* ---------- Base ---------- */
:root {
	--cgs-max: 1240px;
	--cgs-narrow: 760px;
	--cgs-gutter: clamp(1rem, 4vw, 2rem);
	--cgs-green: var(--wp--preset--color--primary, #006238);
	--cgs-green-dark: var(--wp--preset--color--primary-dark, #00472a);
	--cgs-ink: var(--wp--preset--color--ink, #1f2328);
	--cgs-muted: var(--wp--preset--color--muted, #565a5e);
	--cgs-border: var(--wp--preset--color--border, #d9dcd8);
	--cgs-surface: var(--wp--preset--color--surface, #f4f6f3);
	/* Exact logo colours */
	--cgs-logo-green: #006238;
	--cgs-logo-red: #df0024;
	--cgs-logo-grey: #636363;
}
body {
	margin: 0;
	background: #fff;
	color: var(--cgs-ink);
	font-family: var(--wp--preset--font-family--body, "Noto Sans", "Noto Sans Bengali", "Noto Sans Fallback", system-ui, sans-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
}
h1, h2, h3, h4 { font-family: var(--wp--preset--font-family--heading, "Noto Serif", "Noto Serif Bengali", "Noto Serif Fallback", Georgia, serif); line-height: 1.25; color: var(--cgs-ink); margin: 0 0 .6em; }
h1 { font-size: clamp(2rem, 4vw, 2.875rem); }
h2 { font-size: clamp(1.5rem, 2.6vw, 2.125rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
a { color: var(--cgs-green-dark); }
a:hover { color: var(--cgs-green); }
img { max-width: 100%; height: auto; }
[lang="bn"] { line-height: 1.8; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid #005a9c; outline-offset: 2px; border-radius: 2px; }
.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; left: 1rem; top: 1rem; z-index: 1000; background: #fff; padding: .75rem 1rem; color: var(--cgs-green-dark); }

.cgs-container { max-width: var(--cgs-max); margin-inline: auto; padding-inline: var(--cgs-gutter); box-sizing: border-box; }
.cgs-narrow { max-width: calc(var(--cgs-narrow) + 2 * var(--cgs-gutter)); margin-inline: auto; padding-inline: var(--cgs-gutter); box-sizing: border-box; }
.cgs-page { padding-block: clamp(1.5rem, 4vw, 2.5rem); }
.cgs-page__header { margin-bottom: 2rem; }
.cgs-main { min-height: 50vh; }

/* ---------- Header ---------- */
.cgs-topbar { background: var(--cgs-logo-green); color: #fff; font-size: .85rem; }
.cgs-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 2.2rem; flex-wrap: wrap; }
.cgs-topbar p { margin: 0; }
.cgs-topbar a { color: #fff; text-decoration: none; }
.cgs-topbar a:hover, .cgs-topbar a:focus { text-decoration: underline; }
.cgs-menu { list-style: none; margin: 0; padding: 0; }
.cgs-menu--inline { display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.cgs-header { border-bottom: 3px solid var(--cgs-logo-green); background: #fff; }
.cgs-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; flex-wrap: wrap; }
.cgs-brand img { max-height: 52px; width: auto; display: block; }
.cgs-brand__name { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-weight: 700; font-size: 1.35rem; text-decoration: none; color: var(--cgs-ink); }
.cgs-header__nav { display: flex; align-items: center; gap: 1.25rem; }
.cgs-menu--primary { display: flex; gap: .25rem 1.4rem; flex-wrap: wrap; }
.cgs-menu--primary a { font-weight: 600; color: var(--cgs-ink); text-decoration: none; padding-block: .3rem; display: inline-block; }
.cgs-menu--primary a:hover, .cgs-menu--primary a:focus, .cgs-menu--primary .current-menu-item > a, .cgs-menu--primary .current-menu-ancestor > a { color: var(--cgs-green); text-decoration: underline; text-underline-offset: .35em; }
.cgs-menu--primary .sub-menu { list-style: none; padding: .5rem 0 0 1rem; margin: 0; }
.cgs-search { display: flex; gap: .4rem; }
.cgs-search input[type="search"] { min-height: 2.5rem; padding: .35rem .6rem; border: 1px solid #8a8f94; border-radius: 3px; font: inherit; min-width: 10rem; }
.cgs-nav-toggle { display: none; }
@media (max-width: 960px) {
	.cgs-header__inner { flex-wrap: wrap; gap: .75rem; }
	.cgs-brand { flex: 1 1 0; min-width: 0; }
	.cgs-brand img { max-width: 100%; max-height: 44px; }
	.cgs-js .cgs-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--cgs-border); border-radius: 4px; background: #fff; cursor: pointer; }
	.cgs-nav-toggle__bar, .cgs-nav-toggle__bar::before, .cgs-nav-toggle__bar::after { display: block; width: 1.3rem; height: 2px; background: var(--cgs-ink); position: relative; content: ""; }
	.cgs-nav-toggle__bar::before { position: absolute; top: -6px; } .cgs-nav-toggle__bar::after { position: absolute; top: 6px; }
	.cgs-js .cgs-header__nav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-bottom: 1rem; }
	.cgs-js .cgs-header__nav.is-open { display: flex; }
	.cgs-menu--primary { flex-direction: column; gap: 0; }
	.cgs-menu--primary a { padding-block: .6rem; border-bottom: 1px solid var(--cgs-border); display: block; }
	.cgs-search input[type="search"] { flex: 1; }
	.cgs-topbar__links { display: none; }
}

/* ---------- Content ---------- */
.cgs-kicker { font-size: .8rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin: 0 0 .5rem; }
.cgs-kicker a { color: var(--cgs-green); text-decoration: none; }
.cgs-subtitle { font-size: 1.2rem; color: var(--wp--preset--color--ink-soft, #3b3f43); margin-top: -.25rem; }
.cgs-content > *:first-child { margin-top: 0; }
.cgs-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.cgs-content td, .cgs-content th { border: 1px solid var(--cgs-border); padding: .4rem .6rem; }
.cgs-content iframe { max-width: 100%; }
.cgs-content blockquote { border-left: 4px solid var(--cgs-green); margin-left: 0; padding-left: 1.25rem; }
.cgs-featured-image { margin: 0 0 1.5rem; }
.cgs-featured-image img { width: 100%; border-radius: 4px; }
.cgs-featured-image--wide { margin-block: 1rem 2rem; }
.cgs-terms { font-size: .9rem; color: var(--cgs-muted); }
.cgs-clipping-note { font-size: .85rem; color: var(--cgs-muted); border-left: 3px solid var(--cgs-border); padding-left: .75rem; }
.cgs-org-logo img { max-height: 120px; width: auto; object-fit: contain; }
.cgs-child-pages { padding-left: 1.2rem; }
.cgs-inline-links { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }

.cgs-two-col { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; margin-bottom: 2rem; }
.cgs-two-col--single { grid-template-columns: minmax(0, 1fr); max-width: var(--cgs-narrow); }
.cgs-two-col--person { grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); }
.cgs-person-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; }
@media (max-width: 860px) { .cgs-two-col, .cgs-two-col--person { grid-template-columns: 1fr; gap: 1.5rem; } }

.navigation.pagination { margin-top: 2.5rem; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.navigation.pagination .page-numbers { padding: .3rem .75rem; border: 1px solid var(--cgs-border); border-radius: 3px; text-decoration: none; }
.navigation.pagination .current { background: var(--cgs-green); color: #fff; border-color: transparent; }

/* ---------- Homepage ---------- */
.cgs-home-lead { padding-top: clamp(1.5rem, 4vw, 2.5rem); }
.cgs-home-analysis { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 2.5rem; margin-top: 2.5rem; }
@media (max-width: 860px) { .cgs-home-analysis { grid-template-columns: 1fr; } }
.cgs-main .cgs-collection { margin-top: 2.5rem; }
.cgs-home-mission { position: relative; overflow: hidden; background: linear-gradient(135deg, #00472a 0%, #006238 60%, #0b7a49 100%); color: #fff; padding-block: clamp(3rem, 7vw, 5rem); margin-top: clamp(2.5rem, 6vw, 4.5rem); }
.cgs-home-mission::before { content: "\201C"; position: absolute; top: -.18em; left: max(1rem, calc(50% - 40rem)); font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: clamp(9rem, 20vw, 16rem); line-height: 1; color: rgba(255, 255, 255, .08); pointer-events: none; }
.cgs-home-mission::after { content: ""; position: absolute; right: -6rem; bottom: -8rem; width: 22rem; height: 22rem; border-radius: 50%; background: rgba(223, 0, 36, .18); pointer-events: none; }
.cgs-home-mission__inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; }
.cgs-home-mission__text { flex: 1 1 32rem; font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: clamp(1.35rem, 2.6vw, 2.05rem); line-height: 1.4; max-width: 48rem; margin: 0; color: #fff; }
.cgs-home-mission__links { flex: none; display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }
.cgs-home-mission + * { margin-top: 0; }

/* ---------- Footer ---------- */
.cgs-footer { background: #121517; color: #c9cfcc; border-top: 4px solid var(--cgs-logo-green); margin-top: clamp(2.5rem, 6vw, 4.5rem); padding-top: clamp(2.75rem, 6vw, 4rem); font-size: .92rem; line-height: 1.6; }
.cgs-home-mission ~ .cgs-footer, .cgs-main:has(> .cgs-home-mission:last-child) + .cgs-footer, .cgs-main:has(.cgs-homepage) + .cgs-footer, .cgs-main:has(.cgs-people-cta) + .cgs-footer { margin-top: 0; border-top-width: 0; }
.cgs-footer a { color: #fff; text-decoration: none; }
.cgs-footer a:hover, .cgs-footer a:focus { color: #8fd1ab; text-decoration: underline; text-underline-offset: .2em; }
.cgs-footer h2 { font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8fd1ab; margin: 0 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.cgs-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.2fr); gap: clamp(1.75rem, 3vw, 3rem); padding-bottom: clamp(2rem, 5vw, 3rem); }
.cgs-footer__logo { display: inline-block; margin-bottom: 1rem; }
.cgs-footer__logo img { display: block; width: 200px; height: auto; filter: brightness(0) invert(1); opacity: .95; }
.cgs-footer__about { margin: 0 0 1.25rem; max-width: 24rem; color: #aeb5b1; }
.cgs-footer__social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .55rem; }
.cgs-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; transition: background .15s, transform .15s; }
.cgs-footer__social a:hover, .cgs-footer__social a:focus { background: var(--cgs-logo-green); color: #fff; transform: translateY(-2px); text-decoration: none; }
.cgs-footer__social .cgs-icon { width: 17px; height: 17px; }
.cgs-footer .cgs-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.cgs-footer .cgs-menu a { color: #d7dcd9; }
.cgs-footer .cgs-menu a:hover, .cgs-footer .cgs-menu a:focus { color: #8fd1ab; }
.cgs-footer address { font-style: normal; display: grid; gap: .75rem; margin: 0 0 1.25rem; }
.cgs-footer__line { display: flex; gap: .65rem; align-items: flex-start; }
.cgs-footer__line .cgs-icon { flex: none; width: 16px; height: 16px; margin-top: .25rem; color: #8fd1ab; }
.cgs-footer__cta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.cgs-footer__btn { display: inline-block; padding: .5rem .95rem; border: 1px solid var(--cgs-logo-green); border-radius: 4px; background: var(--cgs-logo-green); color: #fff !important; font-size: .85rem; font-weight: 700; }
.cgs-footer__btn:hover, .cgs-footer__btn:focus { background: #0b7a49; border-color: #0b7a49; text-decoration: none !important; }
.cgs-footer__btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .3); }
.cgs-footer__btn--ghost:hover, .cgs-footer__btn--ghost:focus { background: rgba(255, 255, 255, .08); border-color: #fff; }
.cgs-footer__legal { background: #0c0e0f; color: #8e9692; font-size: .8rem; }
.cgs-footer__legal-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1rem; }
.cgs-footer__legal p { margin: 0; }
.cgs-footer__top { color: #c9cfcc !important; font-weight: 700; white-space: nowrap; }
.cgs-footer__end { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.cgs-footer__credit { color: #8e9692; }
.cgs-footer .cgs-footer__credit a { color: #c9cfcc; font-weight: 700; }
.cgs-footer .cgs-footer__credit a:hover, .cgs-footer .cgs-footer__credit a:focus { color: #8fd1ab; }
@media (max-width: 1024px) { .cgs-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.cgs-footer__grid { grid-template-columns: 1fr; }
	.cgs-footer__legal-inner { flex-direction: column; align-items: flex-start; }
}

/* ---------- Top bar search ---------- */
.cgs-topbar__right { display: flex; align-items: center; gap: 1.25rem; }
.cgs-topbar .cgs-search { gap: 0; }
.cgs-topbar .cgs-search input[type="search"] { min-height: 1.85rem; min-width: 0; width: 13rem; padding: .15rem .6rem; border: 0; border-radius: 3px 0 0 3px; font-size: .82rem; background: #fff; color: var(--cgs-ink); }
.cgs-topbar .cgs-search .cgs-button { min-height: 1.85rem; padding: 0 .75rem; border-radius: 0 3px 3px 0; background: var(--cgs-green-dark); color: #fff; font-size: .78rem; border: 1px solid rgba(255, 255, 255, .35); border-left: 0; }
.cgs-topbar .cgs-search .cgs-button:hover, .cgs-topbar .cgs-search .cgs-button:focus-visible { background: #fff; color: var(--cgs-logo-green); }

/* ---------- Primary menu ---------- */
.cgs-menu-heading__label { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cgs-logo-green); padding-bottom: .45rem; margin-bottom: .45rem; border-bottom: 2px solid #e3efe8; }
.cgs-menu--primary .cgs-external > a::after { content: "\2197" / ""; font-size: .8em; margin-left: .3em; opacity: .55; }
.cgs-menu--primary .cgs-flag > a { display: inline-flex; align-items: center; gap: .5rem; }
.cgs-menu--primary .cgs-flag > a::before { content: ""; flex: none; width: 18px; height: 13.5px; border-radius: 2px; background-position: center; background-size: cover; background-repeat: no-repeat; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.cgs-flag--bd > a::before { background-image: url("assets/flags/bd.svg"); }
.cgs-flag--mm > a::before { background-image: url("assets/flags/mm.svg"); }
.cgs-flag--lk > a::before { background-image: url("assets/flags/lk.svg"); }
.cgs-flag--np > a::before { background-image: url("assets/flags/np.svg"); background-size: contain; box-shadow: none; }
.cgs-flag--us > a::before { background-image: url("assets/flags/us.svg"); }
.cgs-flag--globe > a::before { box-shadow: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Cg fill='none' stroke='%23006238' stroke-width='1.5'%3E%3Ccircle cx='12' cy='9' r='7.5'/%3E%3Cpath d='M4.5 9h15M12 1.5c2.5 2.2 3.6 4.8 3.6 7.5S14.5 14.3 12 16.5M12 1.5C9.5 3.7 8.4 6.3 8.4 9s1.1 5.3 3.6 7.5'/%3E%3C/g%3E%3C/svg%3E"); }

@media (min-width: 961px) {
	.cgs-header { position: relative; z-index: 50; }
	.cgs-header__inner { position: relative; }
	.cgs-menu--primary > li { position: relative; }
	.cgs-menu--primary > li.cgs-mega { position: static; }
	.cgs-menu--primary > li.menu-item-has-children > a::after { content: ""; display: inline-block; margin-left: .4em; border: 4px solid transparent; border-top-color: currentColor; transform: translateY(2px); opacity: .7; }
	/* Panels */
	.cgs-menu--primary > li > .sub-menu { position: absolute; top: 100%; z-index: 60; margin: 0; list-style: none; background: #fff; border: 1px solid var(--cgs-border); border-top: 3px solid var(--cgs-logo-green); box-shadow: 0 18px 40px rgba(16, 24, 20, .14); visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s; }
	.cgs-menu--primary > li:hover > .sub-menu, .cgs-menu--primary > li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
	/* Simple dropdown */
	.cgs-menu--primary > li:not(.cgs-mega) > .sub-menu { left: -1rem; min-width: 14rem; padding: .75rem 1.1rem; }
	/* Mega panel: full container width, one column per heading, separators */
	.cgs-menu--primary > li.cgs-mega > .sub-menu { left: var(--cgs-gutter); right: var(--cgs-gutter); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); padding: 1.4rem 0; }
	.cgs-menu--primary > li.cgs-mega > .sub-menu > li { padding: 0 1.6rem; }
	.cgs-menu--primary > li.cgs-mega > .sub-menu > li + li { border-left: 1px solid var(--cgs-border); }
	.cgs-menu--primary .sub-menu .sub-menu { position: static; display: block; list-style: none; padding: 0; margin: 0; }
	.cgs-menu--primary .sub-menu a { font-weight: 500; font-size: .93rem; padding: .28rem 0; display: block; text-decoration: none; color: var(--cgs-ink); }
	.cgs-menu--primary .sub-menu .cgs-flag > a { display: flex; }
	.cgs-menu--primary > li > .sub-menu > li:first-child > .sub-menu > li:first-child > a, .cgs-menu--primary > li:not(.cgs-mega) > .sub-menu > li:first-child > a { font-weight: 700; }
	.cgs-menu--primary .sub-menu a:hover, .cgs-menu--primary .sub-menu a:focus { color: var(--cgs-logo-green); text-decoration: underline; text-underline-offset: .2em; }
}
.cgs-sub-toggle { display: none; }
@media (max-width: 960px) {
	/* Accordion */
	.cgs-js .cgs-menu--primary > li { position: relative; }
	.cgs-js .cgs-menu--primary > li.menu-item-has-children > a { padding-right: 3rem; }
	.cgs-js .cgs-sub-toggle { display: block; position: absolute; top: .1rem; right: 0; width: 2.75rem; height: 2.6rem; border: 0; background: transparent; cursor: pointer; }
	.cgs-js .cgs-sub-toggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: .55rem; height: .55rem; border-right: 2px solid var(--cgs-ink); border-bottom: 2px solid var(--cgs-ink); transform: translate(-50%, -70%) rotate(45deg); transition: transform .15s; }
	.cgs-js .cgs-sub-toggle[aria-expanded="true"]::before { transform: translate(-50%, -30%) rotate(-135deg); }
	.cgs-js .cgs-menu--primary > li > .sub-menu { display: none; }
	.cgs-js .cgs-menu--primary > li.is-open > .sub-menu { display: block; }
	.cgs-menu--primary .sub-menu { list-style: none; padding: 0 0 .5rem 1rem; margin: 0; }
	.cgs-menu--primary .sub-menu a { font-weight: 400; border-bottom: 0; padding-block: .35rem; }
	.cgs-menu-heading__label { margin-top: .75rem; }
}

/* Top bar: tagline + social icons on the left; links, search on the right. On phones: icons + a search button
   that opens the search box below (focus moves into it). */
.cgs-topbar__left { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.cgs-topbar__social { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .15rem; }
.cgs-topbar__social a { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; color: #fff; opacity: .85; transition: background .15s, opacity .15s; }
.cgs-topbar__social a:hover, .cgs-topbar__social a:focus { background: rgba(255, 255, 255, .15); opacity: 1; text-decoration: none; }
.cgs-topbar__social .cgs-icon { width: 14px; height: 14px; }
.cgs-search-toggle { display: none; }
@media (max-width: 960px) {
	.cgs-topbar__inner { padding-block: .3rem; flex-wrap: wrap; gap: .25rem 1rem; }
	.cgs-topbar__tagline { display: none; }
	.cgs-topbar__social { gap: .35rem; margin-left: -.35rem; }
	.cgs-topbar__social a { width: 2rem; height: 2rem; opacity: 1; }
	.cgs-topbar__social .cgs-icon { width: 16px; height: 16px; }
	.cgs-topbar__right { gap: .5rem; }
	.cgs-search-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
	.cgs-search-toggle .cgs-icon { width: 17px; height: 17px; }
	.cgs-search-toggle[aria-expanded="true"] { background: #fff; color: var(--cgs-logo-green); }
	.cgs-topbar__search { display: none; flex-basis: 100%; order: 3; padding-bottom: .35rem; }
	.cgs-topbar.is-search-open .cgs-topbar__search { display: block; }
	.cgs-topbar__right { display: contents; } /* icons and search button share one row; the box opens below */
	.cgs-search-toggle { margin-left: auto; }
	.cgs-topbar__left { flex: 1; }
	.cgs-topbar .cgs-search { width: 100%; }
	.cgs-topbar .cgs-search input[type="search"] { flex: 1; width: auto; min-height: 2.2rem; font-size: .95rem; }
	.cgs-topbar .cgs-search .cgs-button { min-height: 2.2rem; }
}
