/* ==========================================================================
   Utility bar, masthead, search panel and small-screen navigation.
   Both bars are floating capsules: a navy glass plate and a white glass plate.
   Nothing touches the viewport edge.
   ========================================================================== */

html:has(dialog[open]) { overflow: hidden; }

.acur-icon { flex: none; }

/* 1 · Utility bar ----------------------------------------------------------- */
.acur-util {
	position: relative; z-index: 60;
	padding-top: var(--acur-float);
	color: rgba(255, 255, 255, .86);
	font-size: var(--acur-fs-xs);
	line-height: 1;
}
.acur-util__in {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: 40px; padding-inline: 20px 6px;
	border-radius: 999px;
	box-shadow: 0 14px 34px -18px rgba(3, 16, 43, .6);
}
.acur-util__in::before {
	background: linear-gradient(90deg, rgba(0, 42, 94, .94), rgba(0, 55, 123, .92) 55%, rgba(11, 78, 166, .9));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(255, 255, 255, .12);
}
/* On the home page the bar floats over the dark opening, so it turns to light glass */
.acur-util__in::before { background: linear-gradient(90deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .08)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 0 0 1px rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(18px) saturate(1.6); backdrop-filter: blur(18px) saturate(1.6); }
.acur-util__in.acur-glass { box-shadow: 0 14px 34px -18px rgba(0, 0, 0, .5); }
.acur-util__item--lang.acur-util__item { background: rgba(0, 0, 0, .3); }
.acur-util__office { display: flex; align-items: center; gap: 10px; min-width: 0; font-weight: 500; letter-spacing: .02em; }
.acur-util__office::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--acur-orange); box-shadow: 0 0 0 3px rgba(243, 112, 33, .25); }
.acur-util__office-text { overflow: hidden; padding-block: 4px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }

.acur-util__list { display: flex; align-items: center; gap: 2px; margin: 0 0 0 auto; }
.acur-util__item { display: flex; align-items: center; }
.acur-util__btn {
	display: inline-flex; align-items: center; gap: 8px;
	min-height: 30px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent;
	color: inherit; font-weight: 500; text-decoration: none; white-space: nowrap;
	transition: color .2s var(--acur-ease), background-color .2s var(--acur-ease);
}
.acur-util__btn:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.acur-util__btn .acur-icon { transition: transform .3s var(--acur-ease), color .2s var(--acur-ease); }
.acur-util__btn:hover .acur-icon { color: var(--acur-orange-l); }
a.acur-util__btn:hover .acur-icon { transform: translate(2px, -2px); }
.acur-util__text--short { display: none; }
.acur-util :focus-visible { box-shadow: 0 0 0 2px var(--acur-navy-d), 0 0 0 4px #fff; }

.acur-util__item--lang { gap: 2px; margin-inline: 8px; padding: 3px; border-radius: 999px; background: rgba(0, 0, 0, .25); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3), inset 0 0 0 1px rgba(255, 255, 255, .06); }
.acur-lang { display: grid; place-items: center; min-width: 32px; height: 22px; border-radius: 999px; color: rgba(255, 255, 255, .78); font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.acur-lang__abbr { text-decoration: none; cursor: inherit; }
.acur-lang--on { background: linear-gradient(180deg, #fff, #E3ECFA); color: var(--acur-navy); box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }
.acur-lang--soon { color: rgba(255, 255, 255, .4); cursor: default; }
a.acur-lang:hover { color: #fff; }

/* 2 · Masthead ---------------------------------------------------------------- */
.acur-mast {
	--mast-h: 70px;
	position: relative; z-index: 50;
	padding-block: 6px 10px;
	pointer-events: none; /* only the capsule itself catches the pointer */
}
.acur-mast--sticky { position: sticky; top: 2px; }
.admin-bar .acur-mast--sticky { top: 34px; }
.acur-mast__in {
	display: flex; align-items: center; gap: clamp(16px, 2vw, 32px);
	height: var(--mast-h); padding-inline: 24px 14px;
	border-radius: calc(var(--mast-h) / 2);
	pointer-events: auto; overflow: hidden;
	transition: height .4s var(--acur-ease), box-shadow .4s var(--acur-ease);
}
.acur-mast__in::before { background: linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .62)); }
/* Light sweeping across the plate every few seconds */
.acur-mast__in::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 24%; z-index: 0; pointer-events: none;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
	animation: acur-sweep 9s var(--acur-ease) infinite;
}
.acur-mast__in > * { position: relative; z-index: 1; }
.acur-mast.is-stuck .acur-mast__in { box-shadow: 0 1px 1px rgba(0, 43, 94, .05), 0 18px 40px -16px rgba(0, 43, 94, .4), 0 44px 80px -40px rgba(0, 43, 94, .5); }
/* Text scrolls underneath once stuck, so the glass turns nearly solid and blurs harder */
.acur-mast.is-stuck .acur-mast__in::before { background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .9)); -webkit-backdrop-filter: blur(28px) saturate(1.8); backdrop-filter: blur(28px) saturate(1.8); }

/* Brand */
.acur-brand { display: inline-flex; align-items: center; gap: 14px; flex: none; text-decoration: none; border-radius: 8px; }
.acur-brand__logo { width: auto; height: 38px; transition: height .4s var(--acur-ease); }
.acur-brand__rule { width: 1px; height: 26px; background: linear-gradient(180deg, transparent, var(--acur-navy) 50%, transparent); opacity: .35; }
.acur-brand__label {
	font-family: var(--acur-font-heading); font-size: 1.375rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.15;
	color: var(--acur-navy);
	transition: font-size .4s var(--acur-ease);
}

/* Navigation */
.acur-nav { margin-left: auto; }
.acur-nav__list { position: relative; display: flex; align-items: center; gap: 2px; margin: 0; }
.acur-nav__item { position: relative; z-index: 1; display: flex; align-items: center; }
.acur-nav__link {
	position: relative; display: inline-flex; align-items: center;
	height: 40px; padding-inline: 14px; border-radius: 999px;
	color: var(--acur-ink); font-size: var(--acur-fs-sm); font-weight: 500; text-decoration: none; white-space: nowrap;
	transition: color .25s var(--acur-ease);
}
.acur-nav__item--sub .acur-nav__link { padding-right: 4px; }
.acur-nav__link:hover, .acur-nav__item.is-open .acur-nav__link, .acur-nav__link[aria-current] { color: var(--acur-navy); }
.acur-nav__link[aria-current] { font-weight: 600; }
.acur-nav__link[aria-current]::after {
	content: ""; position: absolute; left: 50%; bottom: 5px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%;
	background: var(--acur-orange);
}

/* The liquid drop that slides under the pointer */
.acur-nav__glow {
	position: absolute; top: 50%; left: 0; z-index: 0; width: 0; height: 40px; margin-top: -20px; border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(226, 236, 250, .75));
	box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(0, 55, 123, .08), 0 0 0 1px rgba(0, 55, 123, .07), 0 8px 18px -8px rgba(0, 55, 123, .45);
	opacity: 0; pointer-events: none;
	transition: transform .5s var(--acur-ease), width .5s var(--acur-ease), opacity .3s var(--acur-ease);
}
.acur-nav__glow.is-on { opacity: 1; }
.acur-nav__list:not(.is-ready) .acur-nav__item:hover { background: rgba(255, 255, 255, .8); border-radius: 999px; }

.acur-nav__toggle {
	display: grid; place-items: center; width: 24px; height: 40px; margin-right: 8px; padding: 0;
	border: 0; border-radius: 999px; background: none; color: var(--acur-ink-3);
	transition: color .2s var(--acur-ease);
}
.acur-nav__toggle .acur-icon { transition: transform .4s var(--acur-ease); }
.acur-nav__item.is-open .acur-nav__toggle { color: var(--acur-orange-d); }
.acur-nav__item.is-open .acur-nav__toggle .acur-icon { transform: rotate(180deg); }

.acur-nav__panel {
	position: absolute; top: 100%; left: -10px; z-index: 5;
	min-width: 300px; padding-top: 22px;
	opacity: 0; visibility: hidden; transform: translateY(10px) scale(.98); transform-origin: 20% 0;
	transition: opacity .25s var(--acur-ease), transform .4s var(--acur-ease), visibility 0s linear .4s;
}
.acur-nav__panel--wide { min-width: 580px; }
.acur-nav__item.is-open .acur-nav__panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.acur-nav__sub { display: grid; gap: 2px; margin: 0; padding: 10px; border-radius: 18px; }
.acur-nav__sub::before { background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .84)); }
.acur-nav__panel--wide .acur-nav__sub { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acur-nav__sublink {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 48px; padding: 8px 16px; border-radius: 14px;
	color: var(--acur-ink); font-size: var(--acur-fs-sm); font-weight: 500; line-height: 1.3; text-decoration: none;
	transition: background-color .25s var(--acur-ease), color .2s var(--acur-ease), box-shadow .25s var(--acur-ease);
}
.acur-nav__subarrow { color: var(--acur-orange); opacity: 0; transform: translateX(-8px); transition: opacity .2s var(--acur-ease), transform .35s var(--acur-ease); }
.acur-nav__sublink:hover, .acur-nav__sublink:focus-visible { background: rgba(255, 255, 255, .9); color: var(--acur-navy); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .07), 0 8px 18px -10px rgba(0, 55, 123, .4); }
.acur-nav__sublink:hover .acur-nav__subarrow, .acur-nav__sublink:focus-visible .acur-nav__subarrow { opacity: 1; transform: none; }

/* Actions */
.acur-mast__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.acur-mast__subscribe { min-height: 44px; padding-inline: 22px; }
.acur-mast__subscribe .acur-icon { color: var(--acur-orange-l); }

.acur-burger, .acur-close {
	place-items: center; flex: none; width: 46px; height: 46px; padding: 0;
	border: 0; border-radius: 50%; color: var(--acur-navy);
	background: linear-gradient(180deg, #fff, rgba(226, 236, 250, .8));
	box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .08), 0 8px 18px -8px rgba(0, 55, 123, .45);
	transition: transform .35s var(--acur-ease), box-shadow .3s var(--acur-ease);
}
.acur-burger { display: none; }
.acur-close { display: grid; }
.acur-burger:hover { transform: translateY(-2px); }
.acur-close:hover { transform: rotate(90deg); }

/* Search panel ------------------------------------------------------------------- */
.acur-search, .acur-drawer { padding: 0; border: 0; color: var(--acur-ink); background: transparent; overflow: visible; }
.acur-search::backdrop, .acur-drawer::backdrop { background: rgba(4, 27, 61, .42); -webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4); animation: acur-fade .35s var(--acur-ease); }
.acur-search {
	width: calc(100% - 2 * var(--acur-pad-x)); max-width: 900px; max-height: calc(100dvh - 2 * var(--acur-float));
	margin: calc(var(--acur-float) + 8px) auto auto;
}
.acur-search[open] { animation: acur-drop .5s var(--acur-ease); }
.acur-search__in {
	padding: clamp(22px, 3vw, 40px) clamp(20px, 3vw, 44px) clamp(24px, 3vw, 44px);
	border-radius: var(--acur-r-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .84));
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	box-shadow: var(--acur-glass-inset), 0 40px 90px -30px rgba(0, 28, 64, .7);
}
.acur-search__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.acur-search__title { font-size: var(--acur-fs-h3); }
.acur-search__form {
	display: flex; align-items: center; gap: 14px; margin-top: clamp(16px, 2.2vw, 26px); padding: 7px 7px 7px 22px;
	border-radius: 999px; background: rgba(255, 255, 255, .9);
	box-shadow: inset 0 2px 6px rgba(0, 43, 94, .1), inset 0 0 0 1px rgba(0, 55, 123, .1), 0 1px 0 #fff;
	transition: box-shadow .3s var(--acur-ease);
}
.acur-search__form:focus-within { box-shadow: inset 0 2px 6px rgba(0, 43, 94, .08), inset 0 0 0 2px var(--acur-blue), 0 0 0 6px rgba(31, 111, 214, .14); }
.acur-search__icon { color: var(--acur-orange); }
.acur-search__input {
	flex: 1; min-width: 0; height: 52px; padding: 0; border: 0; outline: 0; background: none; box-shadow: none;
	font-size: clamp(1rem, .9rem + .4vw, 1.125rem); font-weight: 500; color: var(--acur-navy);
}
.acur-search__input:focus-visible { box-shadow: none; }
.acur-search__input::placeholder { color: var(--acur-ink-3); font-weight: 400; opacity: 1; }
.acur-search__input::-webkit-search-cancel-button { display: none; }
.acur-search__submit { min-height: 52px; }
.acur-search__suggest { margin-top: clamp(20px, 2.6vw, 32px); }
.acur-search__hint { font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--acur-ink-2); }
.acur-search__chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; }
.acur-search__chipitem { display: flex; }
.acur-search__chip {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 8px 14px;
	border-radius: 14px; background: rgba(255, 255, 255, .7);
	box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .09), 0 10px 20px -14px rgba(0, 55, 123, .5);
	color: var(--acur-navy); font-size: var(--acur-fs-sm); font-weight: 500; line-height: 1.3; text-align: center; text-decoration: none; white-space: nowrap;
	transition: transform .3s var(--acur-ease), background-color .2s var(--acur-ease), color .2s var(--acur-ease), box-shadow .3s var(--acur-ease);
}
.acur-search__chip:hover { transform: translateY(-3px); background: var(--acur-navy); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 16px 28px -12px rgba(0, 55, 123, .8); }

/* Small-screen navigation -------------------------------------------------------- */
.acur-drawer {
	width: min(440px, calc(100vw - 2 * var(--acur-float))); max-width: none;
	height: calc(100dvh - 2 * var(--acur-float)); max-height: none;
	margin: var(--acur-float) var(--acur-float) var(--acur-float) auto;
	border-radius: var(--acur-r-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .86));
	-webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
	box-shadow: var(--acur-glass-inset), 0 40px 90px -30px rgba(0, 28, 64, .7);
	overflow: hidden;
}
.acur-drawer[open] { display: flex; flex-direction: column; animation: acur-slide .5s var(--acur-ease); }
.acur-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--acur-line); }
.acur-drawer__logo { width: auto; height: 38px; }
.acur-drawer__nav { flex: 1; overflow-y: auto; padding: 8px 20px 24px; }
.acur-drawer__list { margin: 0; }
.acur-drawer__item { border-bottom: 1px solid var(--acur-line); }
.acur-drawer__link {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px;
	font-family: var(--acur-font-heading); font-size: 1.25rem; font-weight: 700; color: var(--acur-navy); text-decoration: none;
	cursor: pointer; list-style: none;
}
.acur-drawer__link::-webkit-details-marker { display: none; }
.acur-drawer__link[aria-current] .acur-drawer__label { box-shadow: inset 0 -3px 0 var(--acur-orange); }
.acur-drawer__chev { color: var(--acur-orange); transition: transform .3s var(--acur-ease); }
.acur-drawer__group[open] .acur-drawer__chev { transform: rotate(180deg); }
.acur-drawer__sub { margin: 0 0 16px; }
.acur-drawer__sublink { display: flex; align-items: center; min-height: 42px; color: var(--acur-ink); font-size: var(--acur-fs-base); text-decoration: none; }
.acur-drawer__sublink--all { color: var(--acur-navy); font-weight: 600; }
.acur-drawer__foot { display: grid; gap: 12px; padding: 18px 20px 22px; border-top: 1px solid var(--acur-line); background: rgba(238, 242, 248, .7); }
.acur-drawer__subscribe { width: 100%; min-height: 50px; }
.acur-drawer__main { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; color: var(--acur-navy); font-size: var(--acur-fs-sm); font-weight: 500; text-decoration: none; }

@keyframes acur-fade { from { opacity: 0; } }
@keyframes acur-drop { from { opacity: 0; transform: translateY(-28px) scale(.98); } }
@keyframes acur-slide { from { opacity: 0; transform: translateX(48px) scale(.98); } }

/* Responsive ---------------------------------------------------------------------- */
@media (max-width: 1439px) {
	.acur-mast__in { gap: 14px; padding-inline: 20px 12px; }
	.acur-nav__list { gap: 0; }
	.acur-nav__link { padding-inline: 11px; }
	.acur-nav__toggle { width: 20px; margin-right: 5px; }
	.acur-brand { gap: 12px; }
	.acur-brand__logo { height: 38px; }
	.acur-brand__label { font-size: 1.25rem; }
	.acur-mast__subscribe { padding-inline: 20px; }
	.acur-mast__subscribe .acur-icon { display: none; }
}
@media (max-width: 1279px) {
	.acur-nav { display: none; }
	.acur-mast__actions { margin-left: auto; }
	.acur-burger { display: grid; }
	.acur-mast { --mast-h: 70px; }
		.acur-mast__in { padding-inline: 20px 11px; }
	.acur-mast__subscribe .acur-icon { display: block; }
	.acur-mast__subscribe { min-height: 46px; }
	.acur-mast.is-stuck .acur-burger { width: 42px; height: 42px; }
	}
@media (max-width: 782px) {
	.admin-bar .acur-mast--sticky { top: 48px; }
	.acur-util__office { display: none; }
	.acur-util__in { padding-inline: 8px; gap: 8px; }
	.acur-util__list { width: 100%; margin: 0; }
	.acur-util__item:last-child { margin-left: auto; min-width: 0; }
	.acur-util__item:last-child .acur-util__btn { min-width: 0; }
	.acur-util__text--keep { overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 600px) {
	:root { --acur-header-h: 136px; }
	.admin-bar .acur-mast--sticky { top: 2px; }
	.acur-brand { gap: 10px; }
	.acur-brand__logo { height: 32px; }
	.acur-brand__rule { height: 22px; }
	.acur-brand__label { font-size: 1.0625rem; }
	.acur-mast { --mast-h: 64px; padding-block: 6px 8px; }
	.acur-mast__in { gap: 10px; padding-inline: 16px 8px; }
	.acur-mast__subscribe { width: 46px; min-height: 46px; padding: 0; }
	.acur-burger { width: 46px; height: 46px; }
	.acur-mast__subscribe-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.acur-search__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.acur-search__form { gap: 10px; padding: 6px 6px 6px 18px; }
	.acur-search__submit { width: 48px; min-height: 48px; padding: 0; }
	.acur-search__input { height: 48px; }
	.acur-search__submit-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.acur-search__icon { display: none; }
}
@media (max-width: 480px) {
	.acur-search__chips { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.acur-search__chip { min-height: 48px; }
	.acur-util__text--long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.acur-util__text--short { display: inline; }
	.acur-util__btn { gap: 6px; padding-inline: 10px; }
	.acur-util__item--lang { margin-inline: 2px; }
	.acur-util__text:not(.acur-util__text--keep) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 374px) {
	.acur-brand__rule, .acur-brand__label { display: none; }
}
