/* Base layer: what theme.json cannot express. Tokens come from theme.json presets. */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { text-wrap: balance; }
.wp-site-blocks > * + * { margin-block-start: 0; }

.cb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--white); /* pure white so the logo's own white background is seamless; no blend or filter needed */
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .cb-header { top: var(--wp-admin--admin-bar--height, 32px); }
.cb-header__inner { min-height: var(--wp--custom--header-height); }
@media (max-width: 760px) { .cb-header__inner { min-height: 68px; } }

.cb-eyebrow {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 650;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}


.wp-block-button .wp-block-button__link { transition: background-color 180ms var(--wp--custom--ease), transform 180ms var(--wp--custom--ease); }
.wp-block-button .wp-block-button__link:focus-visible { outline: 2px solid var(--wp--preset--color--navy-700); outline-offset: 3px; }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--deep); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: var(--wp--custom--color--gold-hover); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* Phones: keep the header action (Business inquiry) visible, in a compact size, instead of hiding it. */
@media (max-width: 600px) {
	.cb-header .wp-block-button__link { padding: 0.6rem 1rem; min-height: 44px; display: inline-flex; align-items: center; font-size: 0.8125rem; }
}

/* Official logo (500x500 PNG, black on opaque white). The file is unmodified: CSS crops the empty margin. The light header is pure white so the logo's own white background is seamless. On dark surfaces an SVG filter (see functions.php) turns the white into transparency at render time. No blend or ink filter is needed there. */
.cb-logo { display: block; flex: none; height: 72px; aspect-ratio: 237 / 314; overflow: hidden; }
.cb-logo img { display: block; width: 210.97%; max-width: none; height: auto; margin-left: -55.27%; margin-top: -44.73%; }
.cb-logo--on-dark { height: 72px; }
.cb-logo--on-dark img { filter: url(#cb-logo-cream); }
@media (max-width: 760px) { .cb-logo, .cb-logo--on-dark { height: 56px; } }
.cb-logo:focus-visible { outline: 2px solid var(--wp--preset--color--navy-700); outline-offset: 4px; }
/* Home: transparent header sitting on the dark hero (the hero supplies the top padding). */
.cb-header--hero { position: absolute; inset-inline-start: 0; inset-inline-end: 0; top: 0; background: transparent; border-bottom: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.admin-bar .cb-header--hero { top: var(--wp-admin--admin-bar--height, 32px); }
.cb-header--hero .wp-block-navigation a { color: var(--wp--preset--color--on-dark); }
.cb-header--hero .wp-block-navigation a:hover { color: var(--wp--preset--color--gold-light); }
.cb-header--hero a:focus-visible, .cb-header--hero button:focus-visible { outline: 2px solid var(--wp--preset--color--gold-light); outline-offset: 3px; }
.cb-header--hero .wp-block-button__link:hover { background: var(--wp--custom--color--gold-hover) !important; }
::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--deep); }
/* Navigation collapses to the burger below 1120px (core switches at 600px, which wraps the links on tablets). */
.cb-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1120px) {
	.cb-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.cb-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.cb-header .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
	.cb-header .wp-block-navigation { margin-inline-start: auto; }
	.cb-header .wp-block-buttons { margin-inline-start: 0; }
}
/* Language switcher (header). Renders only when the page has a published translation, so English-only output is unchanged. */
.cb-lang { position: relative; flex: none; margin-inline: 0.75rem; }
.cb-lang__btn { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; min-width: 44px; padding: 0 12px; border-radius: 999px; border: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 28%, transparent); color: var(--wp--preset--color--navy-900); font-size: 0.8125rem; font-weight: 650; line-height: 1; transition: background-color 180ms var(--wp--custom--ease), border-color 180ms var(--wp--custom--ease); }
.cb-lang__btn::-webkit-details-marker { display: none; }
.cb-lang__btn::marker { content: ''; }
.cb-lang__btn:hover { background: rgba(8, 14, 26, 0.06); }
.cb-lang__btn:focus-visible { outline: 2px solid var(--wp--preset--color--navy-700); outline-offset: 3px; }
.cb-lang__chev { transition: transform 180ms var(--wp--custom--ease); }
.cb-lang__menu[open] .cb-lang__chev { transform: rotate(180deg); }
.cb-lang__list { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 60; min-width: 12rem; margin: 0; padding: 6px; list-style: none; background: var(--wp--preset--color--deep); border: 1px solid rgba(220, 197, 154, 0.3); border-radius: 14px; box-shadow: 0 18px 40px rgba(8, 14, 26, 0.35); }
.cb-lang__list a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 10px; color: var(--wp--preset--color--on-dark); font-size: 0.9375rem; font-weight: 500; text-decoration: none; }
.cb-lang__list a:hover { background: rgba(244, 241, 234, 0.08); color: var(--wp--preset--color--gold-light); }
.cb-lang__list a[aria-current] { color: var(--wp--preset--color--gold-light); font-weight: 700; }
.cb-lang__list a:focus-visible { outline: 2px solid var(--wp--preset--color--gold-light); outline-offset: -2px; }
.cb-header--hero .cb-lang__btn { color: var(--wp--preset--color--on-dark); }
.cb-header--hero .cb-lang__btn:hover { background: rgba(244, 241, 234, 0.1); }
.cb-header--hero .cb-lang__btn:focus-visible { outline-color: var(--wp--preset--color--gold-light); }
@media (max-width: 600px) { .cb-lang { margin-inline: 0.25rem; } .cb-lang__btn { padding: 0 10px; } .cb-lang__list { min-width: 11rem; } }
