/* ========================================================================== 
   Variables
   ========================================================================== */
:root {
	--color-navy: #062f5b;
	--color-navy-deep: #031f3d;
	--color-navy-light: #0b416f;
	--color-sand: #d5aa82;
	--color-sand-light: #ead4bf;
	--color-ivory: #f7f4ef;
	--color-white: #fff;
	--color-text: #152231;
	--color-muted: #647080;
	--color-border: rgba(6, 47, 91, 0.14);
	--font-heading: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-body: "Commissioner", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--container-wide: 90rem;
	--container-content: 75rem;
	--header-height: 6.25rem;
	--space-1: 0.5rem;
	--space-2: 0.75rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;
	--space-7: 4.5rem;
	--space-8: 7rem;
	--transition-fast: 180ms ease;
	--transition-base: 380ms cubic-bezier(0.22, 1, 0.36, 1);
	--transition-slow: 650ms cubic-bezier(0.22, 1, 0.36, 1);
	--z-menu: 900;
	--z-header: 1000;
}

/* ========================================================================== 
   Reset and base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--color-ivory);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.menu-open, body.menu-closing { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a:focus-visible, button:focus-visible { outline: 1px solid var(--color-sand); outline-offset: 0.35rem; }
.site-container { width: min(calc(100% - 5rem), var(--container-wide)); margin-inline: auto; }

/* ========================================================================== 
   Header and branding
   ========================================================================== */
.site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: var(--z-header);
	height: var(--header-height);
	color: var(--color-white);
	transition: height var(--transition-base), background-color var(--transition-base), color var(--transition-base), box-shadow var(--transition-base), backdrop-filter var(--transition-base);
}
.site-header__inner {
	position: relative;
	height: 100%;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--space-4);
	overflow: visible;
}
.site-header.is-scrolled { height: 5.25rem; background: rgba(247, 244, 239, 0.96); color: var(--color-navy); box-shadow: 0 1px 0 var(--color-border); backdrop-filter: blur(16px); }
body.menu-open .site-header, body.menu-open .site-header.is-scrolled,
body.menu-closing .site-header, body.menu-closing .site-header.is-scrolled { height: var(--header-height); background: transparent; color: var(--color-white); box-shadow: none; backdrop-filter: none; }
.site-brand { position: absolute; top: 50%; left: 50%; z-index: 2; display: block; width: clamp(13rem, 18vw, 19rem); height: auto; color: inherit; text-decoration: none; transform: translate(-50%, -50%); }
.site-brand__logo { display: block; width: 100%; height: auto; transition: opacity 280ms ease, visibility 280ms ease; }
.site-brand__logo--blue { opacity: 1; visibility: visible; }
.site-brand__logo--beige { position: absolute; inset: 0; opacity: 0; visibility: hidden; }
/* Dark hero state — Home + Single Expertise */

.home:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue,

body.single-expertise:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue,

body.post-type-archive-expertise:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue,

body.menu-open
.site-brand__logo--blue,

body.menu-closing
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}

.home:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige,

body.single-expertise:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige,

body.post-type-archive-expertise:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige,

body.menu-open
.site-brand__logo--beige,

body.menu-closing
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}

.site-header__contact { position: absolute; top: 50%; right: 0; z-index: 3; color: inherit; font-size: 0.7rem; font-weight: 500; letter-spacing: 0.18em; text-decoration: none; text-transform: uppercase; transform: translateY(-50%); }
.site-header__contact::after { content: ""; position: absolute; right: 0; bottom: -0.5rem; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--transition-base); }
.site-header__contact:hover::after, .site-header__contact:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.admin-bar .site-header, .admin-bar .site-menu-overlay { top: 32px; }

/* ========================================================================== 
   Menu
   ========================================================================== */
.site-menu-toggle { position: relative; z-index: 3; justify-self: start; display: inline-flex; align-items: center; gap: 0.9rem; margin-right: auto; padding: 0; border: 0; background: transparent; cursor: pointer; }
.site-menu-toggle__icon { position: relative; display: block; width: 2rem; height: 1.25rem; }
.site-menu-toggle__line { position: absolute; left: 0; width: 100%; height: 1px; background: currentColor; transition: top var(--transition-base), width var(--transition-base), opacity var(--transition-fast), transform var(--transition-base); }
.site-menu-toggle__line:nth-child(1) { top: 0; }
.site-menu-toggle__line:nth-child(2) { top: 0.6rem; width: 72%; }
.site-menu-toggle__line:nth-child(3) { top: 1.2rem; }
.site-menu-toggle.is-open .site-menu-toggle__line:nth-child(1), body.menu-closing .site-menu-toggle__line:nth-child(1) { top: 0.6rem; transform: rotate(45deg); }
.site-menu-toggle.is-open .site-menu-toggle__line:nth-child(2), body.menu-closing .site-menu-toggle__line:nth-child(2) { width: 100%; opacity: 0; transform: translateX(-0.5rem); }
.site-menu-toggle.is-open .site-menu-toggle__line:nth-child(3), body.menu-closing .site-menu-toggle__line:nth-child(3) { top: 0.6rem; transform: rotate(-45deg); }
.site-menu-toggle__label { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; }
.site-menu-toggle:focus { outline: none; }
.site-menu-toggle:focus:not(:focus-visible) { border-color: transparent; box-shadow: none; outline: none; }
.site-menu-toggle:focus-visible { border-color: rgba(200, 162, 130, 0.72); outline: 1px solid rgba(200, 162, 130, 0.72); outline-offset: 0.3rem; }
.site-menu-overlay { position: fixed; inset: 0; z-index: var(--z-menu); overflow-y: auto; padding-top: var(--header-height); background: radial-gradient(circle at 82% 28%, rgba(213,170,130,.09), transparent 31%), linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 60%, #073863 100%); color: var(--color-white); visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path var(--transition-slow), visibility 0s linear var(--transition-slow); }
.site-menu-overlay::before { content: ""; position: absolute; right: clamp(-8rem, -5vw, -4rem); bottom: clamp(-9rem, -6vw, -5rem); width: clamp(24rem, 35vw, 38rem); height: clamp(30rem, 44vw, 48rem); background: url("../images/brand/symbol-beige.svg") right bottom / contain no-repeat; opacity: 0; transform: translateY(1.5rem); pointer-events: none; will-change: opacity, transform; }
body.menu-open .site-menu-overlay { visibility: visible; clip-path: inset(0); transition: clip-path 680ms cubic-bezier(.22,1,.36,1), visibility 0s; }
body.menu-closing .site-menu-overlay { visibility: visible; clip-path: inset(0 0 100% 0); pointer-events: none; transition: clip-path 620ms cubic-bezier(.76,0,.24,1) 520ms, visibility 0s linear 1140ms; }
body.menu-open .site-menu-overlay::before { opacity: .052; transform: translateY(0); transition: opacity 600ms ease 500ms, transform 760ms cubic-bezier(.22,1,.36,1) 500ms; }
body.menu-closing .site-menu-overlay::before { opacity: 0; transform: translateY(-1rem); transition: opacity 240ms ease, transform 300ms ease; }
.site-menu-overlay__inner { position: relative; z-index: 2; width: min(calc(100% - 5rem), var(--container-wide)); min-height: calc(100svh - var(--header-height)); margin-inline: auto; padding-block: clamp(3.5rem, 8vh, 6.5rem); display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.65fr); gap: clamp(4rem,10vw,11rem); align-items: center; transform: translateY(-2.75rem); }
.overlay-nav__list, .overlay-nav__list ul { margin: 0; padding: 0; list-style: none; }
.overlay-nav__list { display: grid; gap: .45rem; }
.overlay-nav__list > li { opacity: 0; transform: translateY(1.5rem); transition: opacity 340ms cubic-bezier(.22,1,.36,1), transform 440ms cubic-bezier(.22,1,.36,1); will-change: opacity, transform; }
body.menu-open .overlay-nav__list > li { opacity: 1; transform: translateY(0); }
body.menu-open .overlay-nav__list > li:nth-child(1) { transition-delay: 190ms; } body.menu-open .overlay-nav__list > li:nth-child(2) { transition-delay: 245ms; } body.menu-open .overlay-nav__list > li:nth-child(3) { transition-delay: 300ms; } body.menu-open .overlay-nav__list > li:nth-child(4) { transition-delay: 355ms; } body.menu-open .overlay-nav__list > li:nth-child(5) { transition-delay: 410ms; } body.menu-open .overlay-nav__list > li:nth-child(6) { transition-delay: 465ms; } body.menu-open .overlay-nav__list > li:nth-child(7) { transition-delay: 520ms; }
body.menu-closing .overlay-nav__list > li { opacity: 0; transform: translateY(-1.15rem); transition: opacity 240ms ease, transform 300ms cubic-bezier(.55,0,1,.45); }
body.menu-closing .overlay-nav__list > li:nth-child(7) { transition-delay: 35ms; } body.menu-closing .overlay-nav__list > li:nth-child(6) { transition-delay: 75ms; } body.menu-closing .overlay-nav__list > li:nth-child(5) { transition-delay: 115ms; } body.menu-closing .overlay-nav__list > li:nth-child(4) { transition-delay: 155ms; } body.menu-closing .overlay-nav__list > li:nth-child(3) { transition-delay: 195ms; } body.menu-closing .overlay-nav__list > li:nth-child(2) { transition-delay: 235ms; } body.menu-closing .overlay-nav__list > li:nth-child(1) { transition-delay: 275ms; }
.overlay-nav__list > li > a { display: inline-block; position: relative; color: var(--color-white); font-size: clamp(1.9rem,3.15vw,3.65rem); font-weight: 300; line-height: 1.12; letter-spacing: -.045em; text-decoration: none; transition: color var(--transition-base), transform var(--transition-base); }
.overlay-nav__list > li > a::after { content: ""; position: absolute; right: 0; bottom: -.06em; left: 0; height: 1px; background: var(--color-sand); transform: scaleX(0); transform-origin: right; transition: transform var(--transition-base); }
.overlay-nav__list > li > a:hover, .overlay-nav__list > li > a:focus-visible { color: var(--color-sand-light); transform: translateX(.3rem); outline: none; }
.overlay-nav__list > li > a:hover::after, .overlay-nav__list > li > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.overlay-nav__list > .menu-item-has-children { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.overlay-nav__list > .menu-item-has-children > a { width: auto; }
.overlay-nav__list > .menu-item-has-children > .sub-menu { display: block; width: 100%; max-height: 0; margin: 0; padding: 0; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-.65rem); transition: max-height 560ms cubic-bezier(.22,1,.36,1), margin-top 560ms cubic-bezier(.22,1,.36,1), padding-bottom 560ms cubic-bezier(.22,1,.36,1), opacity 300ms ease, transform 480ms cubic-bezier(.22,1,.36,1), visibility 0s linear 560ms; }
.overlay-nav__list > .menu-item-has-children > .sub-menu > li { opacity: 0; transform: translateY(-.5rem); transition: opacity 300ms ease, transform 460ms cubic-bezier(.22,1,.36,1); }
.overlay-nav__list .sub-menu a { color: var(--color-sand-light); font-size: .76rem; font-weight: 500; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: color var(--transition-base), transform var(--transition-base); }
.overlay-nav__list .sub-menu a::before { content: "↳"; margin-right: .45rem; color: var(--color-sand); }
.overlay-nav__list .sub-menu a:hover, .overlay-nav__list .sub-menu a:focus-visible { color: var(--color-white); transform: translateX(.2rem); }
.overlay-nav__list > .menu-item-has-children.submenu-open > .sub-menu {
	max-height: 7rem;
	margin-top: .65rem;
	padding-bottom: .55rem;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		max-height 380ms cubic-bezier(.22, 1, .36, 1),
		margin-top 380ms cubic-bezier(.22, 1, .36, 1),
		padding-bottom 380ms cubic-bezier(.22, 1, .36, 1),
		opacity 220ms ease,
		transform 380ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s;
}
.overlay-nav__list > .menu-item-has-children.submenu-open > .sub-menu > li { opacity: 1; transform: translateY(0); }
.overlay-nav__list > .menu-item-has-children.submenu-open > .sub-menu > li:nth-child(1) {
	transition-delay: 35ms;
}
.overlay-nav__list > .menu-item-has-children.submenu-open > .sub-menu > li:nth-child(2) {
	transition-delay: 75ms;
}
@media (hover:hover) and (pointer:fine) {
.overlay-nav__list > .menu-item-has-children:hover > .sub-menu,
.overlay-nav__list > .menu-item-has-children:focus-within > .sub-menu {
	max-height: 7rem;
	margin-top: .65rem;
	padding-bottom: .55rem;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		max-height 380ms cubic-bezier(.22, 1, .36, 1),
		margin-top 380ms cubic-bezier(.22, 1, .36, 1),
		padding-bottom 380ms cubic-bezier(.22, 1, .36, 1),
		opacity 220ms ease,
		transform 380ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s;
}
	.overlay-nav__list > .menu-item-has-children:hover > .sub-menu > li, .overlay-nav__list > .menu-item-has-children:focus-within > .sub-menu > li { opacity: 1; transform: translateY(0); }
}
.site-menu-overlay__contact { padding-top: .6rem; opacity: 0; transform: translateY(1.3rem); transition: opacity 340ms ease, transform 440ms cubic-bezier(.22,1,.36,1); will-change: opacity, transform; }
body.menu-open .site-menu-overlay__contact { opacity: 1; transform: translateY(0); transition-delay: 610ms; }
body.menu-closing .site-menu-overlay__contact { opacity: 0; transform: translateY(-1rem); transition: opacity 210ms ease, transform 280ms cubic-bezier(.55,0,1,.45); }
.site-menu-overlay__eyebrow { margin: 0 0 var(--space-4); color: var(--color-sand); font-size: .7rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.site-menu-overlay__contact a { text-decoration: none; }
.site-menu-overlay__phone { display: block; width: fit-content; margin-bottom: var(--space-3); color: var(--color-white); font-size: clamp(1.55rem,2.4vw,2.7rem); font-weight: 300; line-height: 1.2; transition: color var(--transition-base), transform var(--transition-base); }
.site-menu-overlay__phone:hover, .site-menu-overlay__phone:focus-visible { color: var(--color-sand-light); transform: translateX(.25rem); }
.site-menu-overlay__email, .site-menu-overlay__address { display: block; width: fit-content; margin-top: .7rem; color: rgba(255,255,255,.72); font-size: .95rem; font-weight: 300; line-height: 1.7; }
.site-menu-overlay__email:hover, .site-menu-overlay__email:focus-visible { color: var(--color-sand-light); }
.site-menu-overlay__meta-links { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-top: var(--space-4); }
.site-menu-overlay__meta-link { position: relative; color: var(--color-sand-light); font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.site-menu-overlay__divider { width: 4rem; height: 1px; margin: var(--space-5) 0; background: var(--color-sand); }
.site-menu-overlay__divider + a { display: inline-block; position: relative; color: var(--color-white); font-size: .9rem; }

/* ==========================================================================
   Hero — Layered concentric wave field
   ========================================================================== */

.home-hero {
	--hero-gold-line: rgba(218, 177, 122, 0.075);
	--hero-gold-line-soft: rgba(218, 177, 122, 0.045);
	--hero-blue-line: rgba(119, 157, 194, 0.045);

	position: relative;
	min-height: 100svh;
	display: block;
	overflow: hidden;
	padding: var(--header-height) 0 0;
	background:
		radial-gradient(
			circle at 84% 42%,
			rgba(206, 176, 134, 0.11) 0%,
			rgba(62, 104, 151, 0.13) 10%,
			transparent 27%
		),
		radial-gradient(
			circle at 17% 72%,
			rgba(31, 78, 126, 0.22),
			transparent 31%
		),
		radial-gradient(
			ellipse at 50% 46%,
			rgba(14, 62, 106, 0.18),
			transparent 48%
		),
		linear-gradient(
			135deg,
			#02172d 0%,
			#052d55 48%,
			#031a32 100%
		);
	color: var(--color-white);
	isolation: isolate;
}


/*
 * Ambient illumination.
 * Creates depth behind the geometric lines.
 */

.home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(
			circle at 84% 42%,
			rgba(222, 190, 145, 0.15) 0%,
			rgba(98, 133, 169, 0.075) 8%,
			transparent 20%
		),
		radial-gradient(
			circle at 7% 81%,
			rgba(47, 96, 143, 0.15),
			transparent 23%
		),
		radial-gradient(
			ellipse at 53% 53%,
			rgba(25, 75, 120, 0.08),
			transparent 37%
		);
	pointer-events: none;
}


/*
 * Main wave-field canvas.
 *
 * These two gradients already create two independent circular systems:
 * one around the right light source and one outside the lower-left edge.
 */

.home-hero__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background-image:
		repeating-radial-gradient(
			circle at 85% 42%,
			transparent 0,
			transparent 27px,
			var(--hero-gold-line) 28px,
			var(--hero-gold-line) 29px,
			transparent 30px,
			transparent 42px
		),
		repeating-radial-gradient(
			circle at 2% 83%,
			transparent 0,
			transparent 38px,
			var(--hero-blue-line) 39px,
			var(--hero-blue-line) 40px,
			transparent 41px,
			transparent 55px
		);
}


/*
 * Upper-left circular system.
 *
 * Slight horizontal distortion makes the overlaps feel more organic,
 * while the individual lines remain mathematically precise.
 */

.home-hero__pattern::before {
	content: "";
	position: absolute;
	top: -25rem;
	left: -19rem;
	width: 66rem;
	height: 66rem;
	border-radius: 50%;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 20px,
			rgba(218, 177, 122, 0.042) 21px,
			rgba(218, 177, 122, 0.042) 22px,
			transparent 23px,
			transparent 32px
		);
	opacity: 0.82;
	transform: rotate(18deg) scaleX(1.16) scaleY(0.94);
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 48%,
			rgba(0, 0, 0, 0.72) 66%,
			transparent 88%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 48%,
			rgba(0, 0, 0, 0.72) 66%,
			transparent 88%
		);
}


/*
 * Upper central field.
 *
 * This produces the finer mesh-like intersections visible behind
 * the upper half of the hero.
 */

.home-hero__pattern::after {
	content: "";
	position: absolute;
	top: -38rem;
	left: 34%;
	width: 76rem;
	height: 76rem;
	border-radius: 50%;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 16px,
			rgba(119, 157, 194, 0.032) 17px,
			rgba(119, 157, 194, 0.032) 18px,
			transparent 19px,
			transparent 27px
		);
	opacity: 0.72;
	transform: rotate(-19deg) scaleX(1.22) scaleY(0.82);
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 44%,
			rgba(0, 0, 0, 0.7) 67%,
			transparent 89%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 44%,
			rgba(0, 0, 0, 0.7) 67%,
			transparent 89%
		);
}


/*
 * Shared circular-field element.
 *
 * The existing three HTML ring elements now become complete systems
 * of many concentric lines instead of three individual borders.
 */

.home-hero__pattern-ring {
	position: absolute;
	border: 0;
	border-radius: 50%;
	pointer-events: none;
	will-change: opacity;
	animation: hero-field-breathe 24s ease-in-out infinite;
}


/*
 * Lower-left field.
 */

.home-hero__pattern-ring--one {
	left: -35rem;
	bottom: -43rem;
	width: 78rem;
	height: 78rem;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 27px,
			rgba(218, 177, 122, 0.052) 28px,
			rgba(218, 177, 122, 0.052) 29px,
			transparent 30px,
			transparent 41px
		);
	opacity: 0.7;
	transform: rotate(-13deg) scaleX(1.08);
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 52%,
			rgba(0, 0, 0, 0.68) 71%,
			transparent 91%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 52%,
			rgba(0, 0, 0, 0.68) 71%,
			transparent 91%
		);
}


/*
 * Large central field.
 *
 * This is deliberately faint so that the central typography remains clear.
 */

.home-hero__pattern-ring--two {
	top: 54%;
	left: 47%;
	width: 70rem;
	height: 70rem;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 43px,
			rgba(119, 157, 194, 0.032) 44px,
			rgba(119, 157, 194, 0.032) 45px,
			transparent 46px,
			transparent 60px
		);
	opacity: 0.34;
	transform:
		translate(-50%, -50%)
		rotate(-11deg)
		scaleX(1.16)
		scaleY(0.93);
	animation-delay: -8s;
	-webkit-mask-image:
		radial-gradient(
			circle,
			rgba(0, 0, 0, 0.32) 0%,
			#000 36%,
			rgba(0, 0, 0, 0.65) 67%,
			transparent 91%
		);
	mask-image:
		radial-gradient(
			circle,
			rgba(0, 0, 0, 0.32) 0%,
			#000 36%,
			rgba(0, 0, 0, 0.65) 67%,
			transparent 91%
		);
}


/*
 * Main right focal field.
 *
 * More tightly spaced lines and a restrained radial glow establish
 * the principal point of depth without competing with the headline.
 */

.home-hero__pattern-ring--three {
	top: 43%;
	right: -10rem;
	width: 51rem;
	height: 51rem;
	background:
		radial-gradient(
			circle,
			rgba(222, 190, 145, 0.17) 0%,
			rgba(106, 139, 172, 0.085) 7%,
			transparent 25%
		),
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 20px,
			rgba(218, 177, 122, 0.085) 21px,
			rgba(218, 177, 122, 0.085) 22px,
			transparent 23px,
			transparent 31px
		);
	opacity: 0.82;
	transform: translateY(-50%) scaleY(1.04);
	animation-delay: -15s;
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 55%,
			rgba(0, 0, 0, 0.68) 74%,
			transparent 94%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			#000 55%,
			rgba(0, 0, 0, 0.68) 74%,
			transparent 94%
		);
}


/*
 * Readability and edge vignette.
 *
 * Keeps the central message readable while allowing the geometry
 * to remain visible around it.
 */

.home-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		radial-gradient(
			ellipse at 50% 51%,
			rgba(3, 24, 46, 0.04) 0%,
			rgba(3, 24, 46, 0.08) 28%,
			rgba(3, 24, 46, 0.21) 63%,
			rgba(2, 18, 35, 0.38) 100%
		),
		linear-gradient(
			90deg,
			rgba(2, 19, 37, 0.18) 0%,
			transparent 22%,
			transparent 76%,
			rgba(2, 19, 37, 0.13) 100%
		);
	pointer-events: none;
}


/*
 * Existing content — unchanged.
 */

.home-hero > .site-container {
	position: relative;
	z-index: 3;
	min-height: calc(100svh - var(--header-height));
	display: flex;
	align-items: center;
	padding-top: clamp(2.5rem, 5vh, 4.5rem);
	padding-bottom: clamp(5rem, 9vh, 7rem);
}

.home-hero__center-content {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: auto;
	text-align: center;
}


.home-hero__motto {
	margin-bottom: 35px;
}

.home-hero__motto-main {
	margin: 0 0 35px;
	color: #d9ae78;
	font-size: clamp(2rem, 4vw, 3.8rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.home-hero__motto-translation {
	margin: 0 0 35px;
	color: #f5f2ec;
	font-size: 1.35rem;
	font-style: italic;
}

.home-hero__divider {
	width: 70px;
	height: 1px;
	margin: 35px auto;
	background: #d9ae78;
}

.home-hero__statement p {
	margin: 0 0 12px;
	color: #f1eee8;
	font-size: 1.25rem;
	line-height: 1.8;
}

.home-hero__statement strong {
	display: block;
	color: #d9ae78;
	font-size: 1.35rem;
	font-weight: 600;
}


/*
 * Extremely restrained ambient movement.
 * Only the opacity changes, so circle positions remain precise.
 */

@keyframes hero-field-breathe {
	0%,
	100% {
		filter: opacity(0.88);
	}

	50% {
		filter: opacity(1);
	}
}


/*
 * Hero mobile adaptation.
 */

@media (max-width: 42rem) {
	.home-hero {
		--hero-gold-line: rgba(218, 177, 122, 0.06);
		--hero-blue-line: rgba(119, 157, 194, 0.035);
	}

	.home-hero__pattern {
		background-image:
			repeating-radial-gradient(
				circle at 112% 38%,
				transparent 0,
				transparent 23px,
				var(--hero-gold-line) 24px,
				var(--hero-gold-line) 25px,
				transparent 26px,
				transparent 36px
			),
			repeating-radial-gradient(
				circle at -22% 88%,
				transparent 0,
				transparent 31px,
				var(--hero-blue-line) 32px,
				var(--hero-blue-line) 33px,
				transparent 34px,
				transparent 46px
			);
	}

	.home-hero__pattern::before {
		top: -13rem;
		left: -24rem;
		width: 43rem;
		height: 43rem;
		opacity: 0.5;
	}

	.home-hero__pattern::after {
		top: -27rem;
		left: 9%;
		width: 53rem;
		height: 53rem;
		opacity: 0.42;
	}

	.home-hero__pattern-ring--one {
		left: -31rem;
		bottom: -27rem;
		width: 52rem;
		height: 52rem;
		opacity: 0.48;
	}

	.home-hero__pattern-ring--two {
		top: 58%;
		left: 49%;
		width: 43rem;
		height: 43rem;
		opacity: 0.2;
	}

	.home-hero__pattern-ring--three {
		top: 39%;
		right: -22rem;
		width: 39rem;
		height: 39rem;
		opacity: 0.67;
	}

	.home-hero__overlay {
		background:
			radial-gradient(
				ellipse at 50% 54%,
				rgba(3, 24, 46, 0.08) 0%,
				rgba(3, 24, 46, 0.18) 52%,
				rgba(2, 18, 35, 0.43) 100%
			);
	}
}

/* edw */
.home-hero__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;

	background-image:
		url("../images/brand/hero-vector.svg");

	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	opacity: 0.72;

	transform: scale(1.02);
}
.home-hero__pattern::before,
.home-hero__pattern::after,
.home-hero__pattern-ring {
	display: none;
}


/* ==========================================================================
   Homepage profile — Editorial introduction
   ========================================================================== */

.profile-section {
	--profile-line: rgba(6, 47, 91, 0.18);
	--profile-line-soft: rgba(6, 47, 91, 0.055);
	--profile-gold-soft: rgba(213, 170, 130, 0.14);

	position: relative;
	overflow: hidden;
	padding:
		clamp(5.25rem, 7vw, 7.5rem)
		0
		clamp(3.75rem, 5vw, 5rem);
	background:
		radial-gradient(
			circle at 87% 18%,
			rgba(213, 170, 130, 0.07),
			transparent 24%
		),
		radial-gradient(
			circle at 8% 88%,
			rgba(6, 47, 91, 0.03),
			transparent 28%
		),
		var(--color-ivory);
	color: var(--color-text);
	isolation: isolate;
}

/*
 * Smooth transition from the dark hero into the ivory section.
 */

.profile-section::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 0;
	height: clamp(5rem, 9vw, 8rem);
	background:
		linear-gradient(
			180deg,
			rgba(3, 23, 45, 0.28) 0%,
			rgba(3, 23, 45, 0.08) 38%,
			transparent 100%
		);
	pointer-events: none;
}


/*
 * Very subtle continuation of the hero's circular visual language.
 */

.profile-section__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background-image:
		repeating-radial-gradient(
			circle at 94% 20%,
			transparent 0,
			transparent 28px,
			rgba(6, 47, 91, 0.038) 29px,
			rgba(6, 47, 91, 0.038) 30px,
			transparent 31px,
			transparent 43px
		),
		repeating-radial-gradient(
			circle at 4% 92%,
			transparent 0,
			transparent 39px,
			rgba(213, 170, 130, 0.055) 40px,
			rgba(213, 170, 130, 0.055) 41px,
			transparent 42px,
			transparent 56px
		);
	opacity: 0.46;
}


/*
 * Additional softly cropped circular fields.
 */

.profile-section__pattern::before {
	content: "";
	position: absolute;
	top: -33rem;
	right: -26rem;
	width: 72rem;
	height: 72rem;
	border-radius: 50%;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 20px,
			rgba(6, 47, 91, 0.035) 21px,
			rgba(6, 47, 91, 0.035) 22px,
			transparent 23px,
			transparent 32px
		);
	transform: scaleX(1.12) rotate(-12deg);
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			rgba(0, 0, 0, 0.82) 58%,
			transparent 90%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			rgba(0, 0, 0, 0.82) 58%,
			transparent 90%
		);
}


.profile-section__pattern::after {
	content: "";
	position: absolute;
	bottom: -40rem;
	left: -30rem;
	width: 76rem;
	height: 76rem;
	border-radius: 50%;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 31px,
			rgba(213, 170, 130, 0.05) 32px,
			rgba(213, 170, 130, 0.05) 33px,
			transparent 34px,
			transparent 47px
		);
	transform: scaleX(1.08) rotate(16deg);
	-webkit-mask-image:
		radial-gradient(
			circle,
			#000 0%,
			rgba(0, 0, 0, 0.75) 60%,
			transparent 91%
		);
	mask-image:
		radial-gradient(
			circle,
			#000 0%,
			rgba(0, 0, 0, 0.75) 60%,
			transparent 91%
		);
}


.profile-section > .site-container {
	position: relative;
	z-index: 2;
}


/* Header */

.profile-section__header {
	display: grid;
	grid-template-columns:
		minmax(10rem, 0.34fr)
		minmax(0, 1.66fr);
	gap: clamp(2.5rem, 5vw, 6rem);
	align-items: start;
	padding-bottom: clamp(3rem, 4.5vw, 4.5rem);
	border-bottom: 1px solid var(--profile-line);
}


.profile-section__eyebrow {
	position: relative;
	margin: 0;
	padding-left: 4.5rem;
	color: var(--color-sand);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.21em;
	line-height: 1.5;
	text-transform: uppercase;
}


.profile-section__eyebrow::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 3.25rem;
	height: 1px;
	background: currentColor;
}


.profile-section__title {
	max-width: none;
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(2.65rem, 3.8vw, 4.1rem);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -0.052em;
}

.profile-section__title-line {
	display: block;
}

.profile-section__title-line + .profile-section__title-line {
	margin-top: 0.08em;
}

@media (min-width: 62.01rem) {
	.profile-section__title-line {
		white-space: nowrap;
	}
}


/* Editorial introduction */

.profile-section__intro {
	display: grid;
	grid-template-columns:
		minmax(10rem, 0.34fr)
		minmax(0, 1.66fr);
	gap: clamp(2.5rem, 5vw, 6rem);
	padding:
		clamp(3rem, 4.5vw, 4.5rem)
		0
		clamp(4rem, 5.5vw, 5.5rem);
}


.profile-section__intro::before {
	content: "ΣΧΕΤΙΚΑ ΜΕ ΕΜΑΣ";
	color: rgba(6, 47, 91, 0.46);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.5;
	text-transform: uppercase;
}


.profile-section__content {
	max-width: 66rem;
	columns: 2;
	column-gap: clamp(3rem, 6vw, 6rem);
	column-rule: 1px solid rgba(6, 47, 91, 0.15);
	color: var(--color-muted);
	font-size: clamp(0.98rem, 1.05vw, 1.08rem);
	font-weight: 300;
	line-height: 1.82;
}


.profile-section__content p {
	margin: 0 0 1.65rem;
	break-inside: avoid;
}


.profile-section__content p:first-child {
	color: var(--color-navy-deep);
	font-size: clamp(1.08rem, 1.25vw, 1.25rem);
	font-weight: 400;
	line-height: 1.7;
}


/* Pillars */

.profile-section__pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--profile-line);
	border-bottom: 1px solid var(--profile-line);
}


.profile-section__pillar {
	position: relative;
	min-width: 0;
	padding:
		clamp(2.75rem, 4vw, 4.25rem)
		clamp(2rem, 3.3vw, 3.75rem)
		clamp(3rem, 4.5vw, 4.5rem);
	overflow: hidden;
	transition:
		background-color var(--transition-base),
		transform var(--transition-base);
}


.profile-section__pillar + .profile-section__pillar {
	border-left: 1px solid var(--profile-line);
}


.profile-section__pillar::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 2px;
	background: var(--color-sand);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--transition-base);
}


.profile-section__pillar-number {
	display: block;
	margin-bottom: clamp(3.5rem, 6vw, 6rem);
	color: var(--color-sand);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}


.profile-section__pillar-title {
	max-width: 15ch;
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(1.55rem, 2.2vw, 2.4rem);
	font-weight: 350;
	line-height: 1.14;
	letter-spacing: -0.035em;
	text-wrap: balance;
}


.profile-section__pillar-text {
	max-width: 28rem;
	margin-top: 1.5rem;
	color: var(--color-muted);
	font-size: 0.94rem;
	font-weight: 300;
	line-height: 1.75;
}


.profile-section__pillar-text p {
	margin: 0;
}


@media (hover: hover) and (pointer: fine) {
	.profile-section__pillar:hover {
		background: rgba(255, 255, 255, 0.46);
		transform: translateY(-0.25rem);
	}

	.profile-section__pillar:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}
}


/* Footer link */

.profile-section__footer {
	display: flex;
	justify-content: flex-end;
	padding-top: clamp(2rem, 3vw, 3rem);
}


.profile-section__link {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid var(--color-sand);
	color: var(--color-navy);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.11em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		gap var(--transition-base),
		color var(--transition-base);
}


.profile-section__link::after {
	content: "→";
	font-size: 1rem;
	transition: transform var(--transition-base);
}


.profile-section__link:hover,
.profile-section__link:focus-visible {
	gap: 1.4rem;
	color: var(--color-sand);
}


.profile-section__link:hover::after,
.profile-section__link:focus-visible::after {
	transform: translateX(0.25rem);
}


/* ==========================================================================
   Homepage profile — Responsive
   ========================================================================== */

@media (max-width: 62rem) {
	.profile-section__header,
	.profile-section__intro {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.profile-section__title {
		max-width: 15ch;
	}

	.profile-section__intro::before {
		display: none;
	}

	.profile-section__content {
		max-width: none;
	}

	.profile-section__pillars {
		grid-template-columns: 1fr;
	}

	.profile-section__pillar + .profile-section__pillar {
		border-top: 1px solid var(--profile-line);
		border-left: 0;
	}

	.profile-section__pillar {
		display: grid;
		grid-template-columns: 5rem minmax(0, 1fr);
		gap: 1.5rem;
	}

	.profile-section__pillar-number {
		margin: 0;
	}
}


@media (max-width: 42rem) {
	.profile-section {
		padding:
			5.5rem
			0
			5rem;
	}

	.profile-section::before {
		height: 5.5rem;
	}

	.profile-section__pattern {
		opacity: 0.48;
		background-image:
			repeating-radial-gradient(
				circle at 118% 15%,
				transparent 0,
				transparent 24px,
				rgba(6, 47, 91, 0.035) 25px,
				rgba(6, 47, 91, 0.035) 26px,
				transparent 27px,
				transparent 38px
			);
	}

	.profile-section__pattern::before {
		top: -20rem;
		right: -25rem;
		width: 48rem;
		height: 48rem;
	}

	.profile-section__pattern::after {
		bottom: -28rem;
		left: -26rem;
		width: 52rem;
		height: 52rem;
	}

	.profile-section__header {
		padding-bottom: 3rem;
	}

	.profile-section__eyebrow {
		padding-left: 3.5rem;
	}

	.profile-section__eyebrow::before {
		width: 2.5rem;
	}

	.profile-section__title {
	font-size: clamp(2.35rem, 10.5vw, 3.5rem);
	line-height: 1.04;
	}

	.profile-section__intro {
		padding:
			3rem
			0
			4rem;
	}

	.profile-section__content {
		columns: 1;
		column-rule: 0;
		font-size: 1rem;
		line-height: 1.8;
	}

	.profile-section__content p:first-child {
		font-size: 1.14rem;
	}

	.profile-section__pillar {
		display: block;
		padding: 2.5rem 0;
	}

	.profile-section__pillar-number {
		margin-bottom: 2.25rem;
	}

	.profile-section__pillar-title {
		max-width: 18ch;
		font-size: clamp(1.65rem, 8vw, 2.25rem);
	}

	.profile-section__pillar-text {
		font-size: 0.93rem;
	}

	.profile-section__footer {
		justify-content: flex-start;
		padding-top: 3rem;
	}
}

/* ========================================================================== 
   Split sections
   ========================================================================== */
.split-section { position: relative; overflow: hidden; }
.split-section--ivory { background: var(--color-ivory); color: var(--color-text); } .split-section--white { background: var(--color-white); color: var(--color-text); } .split-section--navy { background: var(--color-navy); color: var(--color-white); }
.split-section__inner { width: min(100%,100rem); min-height: auto; margin-inline: auto; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: stretch; background: inherit; }
.split-section--image-left .split-section__media { order: -1; padding: clamp(4rem,7vw,7rem) clamp(1.5rem,4vw,4rem) clamp(4rem,7vw,7rem) clamp(2.5rem,6vw,6rem); }
.split-section__content { display: flex; align-items: center; padding: clamp(5rem,8vw,8rem) clamp(3rem,7vw,7rem); }
.split-section__content-inner { width: min(100%,41rem); margin-inline: auto; }
.split-section__eyebrow { position: relative; margin: 0 0 1.5rem; padding-left: 4.5rem; color: var(--color-sand); font-size: .68rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.split-section__eyebrow::before { content: ""; position: absolute; top: 50%; left: 0; width: 3.25rem; height: 1px; background: currentColor; transform: translateY(-50%); }
.split-section__title { max-width: 13ch; margin: 0; font-size: clamp(2.45rem,4.1vw,4.7rem); font-weight: 300; line-height: 1.05; letter-spacing: -.055em; text-wrap: balance; }
.split-section__body { max-width: 37rem; margin-top: 2rem; color: var(--color-muted); font-size: clamp(1rem,1.15vw,1.12rem); font-weight: 300; line-height: 1.85; }
.split-section--navy .split-section__body { color: rgba(255,255,255,.7); }
.wysiwyg-content > *:first-child { margin-top: 0; } .wysiwyg-content > *:last-child { margin-bottom: 0; } .wysiwyg-content p { margin-block: 0 1.15rem; } .wysiwyg-content ul, .wysiwyg-content ol { padding-left: 1.3rem; }
.split-section__link { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.25rem; padding-bottom: .55rem; border-bottom: 1px solid var(--color-sand); color: var(--color-navy); font-size: .82rem; font-weight: 500; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: color var(--transition-base), gap var(--transition-base); }
.split-section--navy .split-section__link { color: var(--color-white); } .split-section__link:hover, .split-section__link:focus-visible { gap: 1.4rem; color: var(--color-sand); }
.split-section__link-arrow { font-size: 1.05rem; transition: transform var(--transition-base); } .split-section__link:hover .split-section__link-arrow, .split-section__link:focus-visible .split-section__link-arrow { transform: translateX(.25rem); }
.split-section__media { position: relative; display: flex; align-items: center; justify-content: center; min-height: auto; padding: clamp(4rem,7vw,7rem) clamp(2.5rem,6vw,6rem) clamp(4rem,7vw,7rem) clamp(1.5rem,4vw,4rem); overflow: visible; background: inherit; }
.split-section__media > img, .split-section__media > .split-section__placeholder { display: block; width: min(100%,34rem); aspect-ratio: 4/5; height: auto; min-height: 0; border-radius: clamp(1.5rem,2.5vw,2.25rem); box-shadow: 0 1.5rem 4rem rgba(3,31,61,.12), 0 .25rem 1rem rgba(3,31,61,.07); }
.split-section__image { object-fit: cover; object-position: center; }
.split-section__placeholder { position: relative; overflow: hidden; background: radial-gradient(circle at 28% 30%,rgba(213,170,130,.24),transparent 28%), linear-gradient(145deg,var(--color-navy-deep),var(--color-navy-light)); }
.split-section__placeholder-line { position: absolute; top: 10%; bottom: 10%; left: 52%; width: 1px; background: rgba(234,212,191,.4); }
.split-section__placeholder-arc { position: absolute; top: 19%; left: 26%; width: 58%; aspect-ratio: 1; border: 1px solid rgba(234,212,191,.34); border-left-color: transparent; border-radius: 50%; transform: rotate(-28deg); }
.split-section__highlight { position: absolute; top: auto; right: clamp(1.25rem,3vw,3rem); bottom: clamp(2.5rem,5vw,5rem); left: auto; z-index: 2; width: min(17rem,55%); padding: 1.5rem 1.65rem; background: var(--color-sand); color: var(--color-navy-deep); font-size: .82rem; font-weight: 500; line-height: 1.55; transform: none; border-radius: .35rem; box-shadow: 0 1.5rem 4rem rgba(3,31,61,.18); }
.split-section--image-left .split-section__highlight { right: auto; left: clamp(1.25rem,3vw,3rem); }


/* ==========================================================================
   Homepage team — Editorial showcase
   ========================================================================== */

.team-section {
	--team-line: rgba(6, 47, 91, 0.16);
	--team-surface: #f0ebe4;

	position: relative;
	overflow: hidden;
	padding:
		clamp(4.75rem, 6vw, 6.5rem)
		0
		clamp(4.75rem, 6vw, 6.5rem);
	background:
		radial-gradient(
			circle at 92% 15%,
			rgba(213, 170, 130, 0.08),
			transparent 24%
		),
		radial-gradient(
			circle at 8% 92%,
			rgba(6, 47, 91, 0.025),
			transparent 27%
		),
		var(--team-surface);
	color: var(--color-navy-deep);
	isolation: isolate;
}


/*
 * Thin transition line from the profile section.
 */

.team-section::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(6, 47, 91, 0.2) 50%,
			transparent
		);
	pointer-events: none;
}


/*
 * Restrained continuation of the circular identity.
 */

.team-section__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	opacity: 0.16;
	pointer-events: none;
	background:
		repeating-radial-gradient(
			circle at 97% 9%,
			transparent 0,
			transparent 34px,
			rgba(6, 47, 91, 0.045) 35px,
			rgba(6, 47, 91, 0.045) 36px,
			transparent 37px,
			transparent 50px
		);
}


.team-section__pattern::before {
	content: "";
	position: absolute;
	bottom: -35rem;
	left: -28rem;
	width: 68rem;
	height: 68rem;
	border-radius: 50%;
	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 36px,
			rgba(213, 170, 130, 0.065) 37px,
			rgba(213, 170, 130, 0.065) 38px,
			transparent 39px,
			transparent 52px
		);
}


.team-section > .site-container {
	position: relative;
	z-index: 1;
}


/* ==========================================================================
   Header
   ========================================================================== */

.team-section__header {
	display: grid;
	grid-template-columns:
		minmax(0, 1.15fr)
		minmax(18rem, 0.7fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(2.75rem, 4vw, 4rem);
	padding-bottom: clamp(2.5rem, 3.5vw, 3.5rem);
	border-bottom: 1px solid var(--team-line);
}


.team-section__heading {
	min-width: 0;
}


.team-section__eyebrow {
	position: relative;
	margin: 0 0 1.15rem;
	padding-left: 4.5rem;
	color: #a9784f;
	font-size: 0.67rem;
	font-weight: 500;
	letter-spacing: 0.21em;
	line-height: 1.5;
	text-transform: uppercase;
}


.team-section__eyebrow::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 3.25rem;
	height: 1px;
	background: currentColor;
}


.team-section__title {
	max-width: 14ch;
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(2.55rem, 3.7vw, 4.2rem);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -0.055em;
	text-wrap: balance;
}


.team-section__intro {
	max-width: 31rem;
	padding-bottom: 0.2rem;
}


.team-section__description {
	margin: 0;
	color: rgba(21, 34, 49, 0.68);
	font-size: clamp(0.96rem, 1.05vw, 1.06rem);
	font-weight: 300;
	line-height: 1.72;
}


.team-section__archive-link {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	margin-top: 1.45rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid #b48761;
	color: var(--color-navy);
	font-size: 0.73rem;
	font-weight: 500;
	letter-spacing: 0.11em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		gap var(--transition-base),
		color var(--transition-base);
}


.team-section__archive-link:hover,
.team-section__archive-link:focus-visible {
	gap: 1.25rem;
	color: #a9784f;
}


/* ==========================================================================
   Members
   ========================================================================== */

.team-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}


.team-member {
	min-width: 0;
}


.team-member__link {
	display: block;
	color: inherit;
	text-decoration: none;
}


.team-member__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background:
	radial-gradient(
		circle at 50% 32%,
		rgba(255, 255, 255, 0.4),
		transparent 28%
	),
	linear-gradient(
		145deg,
		#ddd4ca,
		#cec4b8
	);
}


.team-member__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	filter:
		saturate(0.78)
		contrast(0.97);
	transform: scale(1.015);
	transition:
		transform 850ms cubic-bezier(0.22, 1, 0.36, 1),
		filter 650ms ease;
}


.team-member__placeholder {
	width: 100%;
	height: 100%;
	background:
		radial-gradient(
			circle at 50% 34%,
			rgba(255, 255, 255, 0.42),
			transparent 25%
		),
		linear-gradient(
			145deg,
			#ddd5cb,
			#cbc1b5
		);
}


.team-member__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			transparent 42%,
			rgba(3, 31, 61, 0.56) 100%
		);
	opacity: 0.18;
	transition: opacity 500ms ease;
}


.team-member__arrow {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	display: grid;
	width: 2.7rem;
	height: 2.7rem;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 50%;
	background: rgba(3, 31, 61, 0.16);
	color: var(--color-white);
	font-size: 1rem;
	opacity: 0;
	transform: translateY(0.6rem);
	transition:
		opacity var(--transition-base),
		transform var(--transition-base),
		background-color var(--transition-base),
		border-color var(--transition-base),
		color var(--transition-base);
}


.team-member__content {
	position: relative;
	padding-top: 1.25rem;
}


.team-member__content::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			#b48761,
			rgba(6, 47, 91, 0.12) 42%,
			transparent
		);
	transform: scaleX(0.28);
	transform-origin: left;
	transition: transform var(--transition-base);
}


.team-member__name {
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(1.3rem, 1.75vw, 1.75rem);
	font-weight: 350;
	line-height: 1.15;
	letter-spacing: -0.035em;
	transition:
		color var(--transition-base),
		transform var(--transition-base);
}


.team-member__role {
	margin: 0.55rem 0 0;
	color: rgba(21, 34, 49, 0.58);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.5;
	text-transform: uppercase;
}


/* ==========================================================================
   Interaction
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {
	.team-member__link:hover .team-member__image,
	.team-member__link:focus-visible .team-member__image {
		filter:
			saturate(0.94)
			contrast(1);
		transform: scale(1.055);
	}

	.team-member__link:hover .team-member__overlay,
	.team-member__link:focus-visible .team-member__overlay {
		opacity: 0.58;
	}

	.team-member__link:hover .team-member__arrow,
	.team-member__link:focus-visible .team-member__arrow {
		opacity: 1;
		transform: translateY(0);
	}

	.team-member__link:hover .team-member__content::before,
	.team-member__link:focus-visible .team-member__content::before {
		transform: scaleX(1);
	}

	.team-member__link:hover .team-member__name,
	.team-member__link:focus-visible .team-member__name {
		color: var(--color-navy);
		transform: translateX(0.2rem);
	}
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 70rem) {
	.team-section__header {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.team-section__intro {
		max-width: 39rem;
	}

	.team-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:
			3rem
			1.5rem;
	}
}


@media (max-width: 42rem) {
	.team-section {
		padding:
			4rem
			0
			4.5rem;
	}

	.team-section__pattern {
		opacity: 0.18;
	}

	.team-section__header {
		margin-bottom: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.team-section__eyebrow {
		padding-left: 3.5rem;
	}

	.team-section__eyebrow::before {
		width: 2.5rem;
	}

	.team-section__title {
		max-width: 14ch;
		font-size: clamp(2.35rem, 10vw, 3.3rem);
	}

	.team-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:
			2.5rem
			0.9rem;
	}

	.team-member__content {
		padding-top: 1rem;
	}

	.team-member__name {
		font-size: clamp(1.05rem, 5.3vw, 1.35rem);
	}

	.team-member__role {
		margin-top: 0.4rem;
		font-size: 0.61rem;
		letter-spacing: 0.08em;
	}

	.team-member__arrow {
		right: 0.7rem;
		bottom: 0.7rem;
		width: 2.35rem;
		height: 2.35rem;
	}
}

.team-member__media {
	border: 1px solid rgba(6, 47, 91, 0.07);
	border-radius: 0.3rem;
	box-shadow:
		0 1rem 2.5rem rgba(3, 31, 61, 0.07);
}

.team-member__name {
	font-weight: 320;
}

.team-member__role {
	color: rgba(21, 34, 49, 0.5);
}

/* ==========================================================================
   Homepage expertise — Editorial split navigation
   ========================================================================== */

.expertise-section {
	--expertise-line: rgba(255, 255, 255, 0.15);
	--expertise-muted: rgba(255, 255, 255, 0.64);

	position: relative;
	overflow: hidden;
	padding:
		clamp(3.75rem, 5vw, 5rem)
		0;
	background:
		radial-gradient(
			circle at 87% 48%,
			rgba(38, 91, 143, 0.32),
			transparent 31%
		),
		linear-gradient(
			125deg,
			#031c36 0%,
			#052b51 54%,
			#07365f 100%
		);
	color: var(--color-white);
	isolation: isolate;
}


/*
 * Fine gold transition line.
 */

.expertise-section::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 3;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			transparent 0%,
			rgba(213, 170, 130, 0.55) 50%,
			transparent 100%
		);
	pointer-events: none;
}


/*
 * One restrained circular field.
 * The hero remains the main geometric statement.
 */

.expertise-section__pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 88% 48%,
			rgba(213, 170, 130, 0.1) 0%,
			transparent 10%
		),
		repeating-radial-gradient(
			circle at 88% 48%,
			transparent 0,
			transparent 38px,
			rgba(213, 170, 130, 0.032) 39px,
			rgba(213, 170, 130, 0.032) 40px,
			transparent 41px,
			transparent 56px
		);
	opacity: 0.6;
}


.expertise-section > .site-container {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns:
		minmax(18rem, 0.78fr)
		minmax(30rem, 1.22fr);
	gap: clamp(4rem, 7vw, 7.5rem);
	align-items: center;
}


/* ==========================================================================
   Intro column
   ========================================================================== */

.expertise-section__header {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
}


.expertise-section__heading {
	display: block;
}


.expertise-section__eyebrow {
	position: relative;
	margin: 0 0 1.25rem;
	padding-left: 4.5rem;
	color: var(--color-sand);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.21em;
	line-height: 1.5;
	text-transform: uppercase;
}


.expertise-section__eyebrow::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 3.25rem;
	height: 1px;
	background: currentColor;
}


.expertise-section__title {
	max-width: 12ch;
	margin: 0;
	color: var(--color-white);
	font-size: clamp(2.35rem, 3.15vw, 3.55rem);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -0.05em;
	text-wrap: balance;
}


.expertise-section__intro {
	max-width: 28rem;
	margin-top: clamp(1.75rem, 2.5vw, 2.5rem);
	padding: 0;
}


.expertise-section__description {
	margin: 0;
	color: var(--expertise-muted);
	font-size: clamp(0.93rem, 1vw, 1.02rem);
	font-weight: 300;
	line-height: 1.72;
}


.expertise-section__archive-link {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	margin-top: 1.45rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid var(--color-sand);
	color: var(--color-white);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.11em;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		gap var(--transition-base),
		color var(--transition-base);
}


.expertise-section__archive-link:hover,
.expertise-section__archive-link:focus-visible {
	gap: 1.25rem;
	color: var(--color-sand-light);
}


/* ==========================================================================
   Expertise navigation
   ========================================================================== */

.expertise-list {
	position: relative;
	display: block;
	padding-left: clamp(2.5rem, 4vw, 4.5rem);
	border-left: 1px solid rgba(255, 255, 255, 0.11);
	border-top: 1px solid var(--expertise-line);
}


.expertise-list__item {
	position: relative;
	min-width: 0;
	border-bottom: 1px solid var(--expertise-line);
}


.expertise-list__link {
	position: relative;
	display: block;
	overflow: hidden;
	color: var(--color-white);
	text-decoration: none;
	transition:
		background-color var(--transition-base),
		color var(--transition-base);
}


.expertise-list__link::before {
	content: "";
	position: absolute;
	top: 0.9rem;
	bottom: 0.9rem;
	left: 0;
	width: 1px;
	background: var(--color-sand);
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform var(--transition-base);
}


.expertise-list__content {
	min-height: clamp(4rem, 4.5vw, 4.5rem);
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		1.5rem;
	gap: 1rem;
	align-items: center;
	padding:
		0.8rem
		0.35rem
		0.8rem
		0.9rem;
}


/*
 * No repeated numbers.
 */

.expertise-list__number {
	display: none;
}


.expertise-list__body {
	min-width: 0;
}


.expertise-list__title {
	margin: 0;
	color: var(--color-white);
	font-size: clamp(1.3rem, 1.55vw, 1.65rem);
	font-weight: 350;
	line-height: 1.14;
	letter-spacing: -0.03em;
	text-wrap: balance;
	transition:
		color var(--transition-base),
		transform var(--transition-base);
}


/*
 * Descriptions stay on the internal expertise pages.
 */

.expertise-list__summary {
	display: none;
}


.expertise-list__arrow {
	justify-self: end;
	color: var(--color-sand-light);
	font-size: 1.05rem;
	line-height: 1;
	transition:
		color var(--transition-base),
		transform var(--transition-base);
}


/*
 * No imagery on the homepage.
 */

.expertise-list__media,
.expertise-list__overlay {
	display: none;
}


/* ==========================================================================
   Interaction
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {
	.expertise-list__link:hover,
	.expertise-list__link:focus-visible {
		background:
			linear-gradient(
				90deg,
				rgba(213, 170, 130, 0.07),
				transparent 72%
			);
	}

	.expertise-list__link:hover::before,
	.expertise-list__link:focus-visible::before {
		transform: scaleY(1);
		transform-origin: top;
	}

	.expertise-list__link:hover .expertise-list__title,
	.expertise-list__link:focus-visible .expertise-list__title {
		color: var(--color-sand-light);
		transform: translateX(0.3rem);
	}

	.expertise-list__link:hover .expertise-list__arrow,
	.expertise-list__link:focus-visible .expertise-list__arrow {
		color: var(--color-sand);
		transform: translateX(0.25rem);
	}
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 70rem) {
	.expertise-section > .site-container {
		grid-template-columns:
			minmax(17rem, 0.72fr)
			minmax(25rem, 1.28fr);
		gap: 3.5rem;
	}

	.expertise-list {
		padding-left: 2.5rem;
	}
}


@media (max-width: 62rem) {
	.expertise-section > .site-container {
		display: block;
	}

	.expertise-section__header {
		max-width: 39rem;
		margin-bottom: 3rem;
	}

	.expertise-list {
		padding-left: 0;
		border-left: 0;
	}
}


@media (max-width: 42rem) {
	.expertise-section {
		padding:
			3.5rem
			0
			3.75rem;
	}

	.expertise-section__pattern {
		opacity: 0.38;
	}

	.expertise-section__header {
		margin-bottom: 2.5rem;
	}

	.expertise-section__eyebrow {
		padding-left: 3.5rem;
	}

	.expertise-section__eyebrow::before {
		width: 2.5rem;
	}

	.expertise-section__title {
		max-width: 13ch;
		font-size: clamp(2.2rem, 9.5vw, 3rem);
	}

	.expertise-section__intro {
		margin-top: 1.5rem;
	}

	.expertise-list__content {
		min-height: 4rem;
		padding:
			0.85rem
			0.25rem
			0.85rem
			0.75rem;
	}

	.expertise-list__title {
		font-size: clamp(1.3rem, 6.3vw, 1.65rem);
	}
}

/* ==========================================================================
   Expertise — Premium refinements
   ========================================================================== */

.expertise-section {
	background:
		radial-gradient(
			circle at 87% 45%,
			rgba(213, 170, 130, 0.115) 0%,
			rgba(40, 91, 142, 0.16) 14%,
			transparent 34%
		),
		linear-gradient(
			125deg,
			#021a32 0%,
			#052b51 54%,
			#07375f 100%
		);
	box-shadow:
		inset 0 1px 0 rgba(213, 170, 130, 0.22);
}


/*
 * Keep the geometry restrained.
 */

.expertise-section__pattern {
	opacity: 0.46;
}


/*
 * Softer editorial surface behind the navigation.
 */

.expertise-list {
	border-top-color: rgba(213, 170, 130, 0.23);
	border-left: 0;
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.014),
			transparent 72%
		);
}


/*
 * Premium gradient vertical divider instead of a plain grey line.
 */

.expertise-list::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	background:
		linear-gradient(
			180deg,
			rgba(213, 170, 130, 0.08),
			rgba(213, 170, 130, 0.38) 28%,
			rgba(255, 255, 255, 0.12) 72%,
			transparent
		);
	pointer-events: none;
}


/*
 * More refined separators.
 */

.expertise-list__item {
	border-bottom: 0;
}

.expertise-list__item::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.09),
			rgba(255, 255, 255, 0.18) 45%,
			rgba(213, 170, 130, 0.12) 78%,
			transparent 100%
		);
	pointer-events: none;
}


/*
 * Slightly more elegant typography.
 */

.expertise-list__title {
	letter-spacing: -0.025em;
}

.expertise-list__arrow {
	opacity: 0.72;
}


/*
 * Controlled interaction — visible but not flashy.
 */

@media (hover: hover) and (pointer: fine) {
	.expertise-list__link:hover,
	.expertise-list__link:focus-visible {
		background:
			linear-gradient(
				90deg,
				rgba(213, 170, 130, 0.075),
				rgba(255, 255, 255, 0.018) 58%,
				transparent 100%
			);
	}

	.expertise-list__link:hover .expertise-list__title,
	.expertise-list__link:focus-visible .expertise-list__title {
		color: var(--color-sand-light);
		transform: translateX(0.38rem);
	}

	.expertise-list__link:hover .expertise-list__arrow,
	.expertise-list__link:focus-visible .expertise-list__arrow {
		opacity: 1;
		color: var(--color-sand);
		transform: translateX(0.3rem);
	}
}


/*
 * Remove the decorative vertical divider when the layout stacks.
 */

@media (max-width: 62rem) {
	.expertise-list::before {
		display: none;
	}
}

[data-reveal="image"] { overflow: hidden; } [data-reveal="image"] img { width: 100%; height: 100%; object-fit: cover; transform-origin: center; }
.site-footer { padding: var(--space-6) 0; background: var(--color-navy-deep); color: rgba(255,255,255,.72); }

/* ========================================================================== 
   Responsive
   ========================================================================== */
@media (max-width:70rem) {

}
@media (max-width:62rem) {
	.site-container, .site-menu-overlay__inner { width: min(calc(100% - 3rem),var(--container-wide)); }
	.site-menu-overlay__inner { grid-template-columns: 1fr; align-content: center; gap: var(--space-6); padding-block: var(--space-6); transform: none; }
	.site-menu-overlay__contact { padding-top: var(--space-5); border-top: 1px solid rgba(255,255,255,.15); }
	.site-header__contact { font-size: 0; } .site-header__contact::before { content: "Επικοινωνία"; font-size: .66rem; }
	.overlay-nav__list > li > a { font-size: clamp(1.9rem,5vw,3rem); }
	.site-menu-overlay::before { right: -7rem; bottom: -7rem; width: 27rem; height: 34rem; } body.menu-open .site-menu-overlay::before { opacity: .045; }
	.split-section__inner { grid-template-columns: 1fr; }
	.split-section--image-left .split-section__media { order: initial; }
	.split-section__content { padding: clamp(4.5rem,10vw,7rem) clamp(2rem,7vw,5rem); }
	.split-section__title { max-width: 15ch; }
	.split-section__media, .split-section--image-left .split-section__media { padding: 1rem clamp(1.5rem,7vw,4rem) 4.5rem; }
	.split-section__media > img, .split-section__media > .split-section__placeholder { width: min(100%,34rem); aspect-ratio: 4/5; }
	.split-section__highlight, .split-section--image-left .split-section__highlight { right: auto; bottom: 2.25rem; left: 50%; width: min(calc(100% - 4rem),22rem); transform: translateX(-50%); }
}
@media (max-width:42rem) {
	:root { --header-height: 5.25rem; }
	.site-container, .site-menu-overlay__inner { width: min(calc(100% - 2rem),var(--container-wide)); }
	.site-header__inner { gap: var(--space-2); } .site-menu-toggle__label { display: none; } .site-brand { width: clamp(9.5rem,42vw,12.5rem); }
	.site-header__contact, .site-header__contact::before { font-size: 0; } .site-header__contact::before { content: "→"; font-size: 1.15rem; }
	.site-menu-overlay__inner { min-height: calc(100svh - var(--header-height)); align-content: start; gap: var(--space-5); padding-block: var(--space-5); }
	.overlay-nav__list { gap: .7rem; } .overlay-nav__list > li > a { font-size: clamp(1.65rem,8vw,2.6rem); line-height: 1.15; } .overlay-nav__list .sub-menu a { font-size: .68rem; }
	.site-menu-overlay__phone { font-size: 1.6rem; } .site-menu-overlay__meta-links { display: grid; }
	.site-menu-overlay::before { right: -7.5rem; bottom: -6rem; width: 21rem; height: 27rem; } body.menu-open .site-menu-overlay::before { opacity: .038; }
	.home-hero > .site-container { min-height: calc(100svh - var(--header-height)); align-items: flex-end; padding-top: var(--space-6); padding-bottom: 5.5rem; }
	.split-section__content { padding: 4.5rem 1rem 3.5rem; } .split-section__eyebrow, .expertise-section__eyebrow { padding-left: 3.5rem; } .split-section__eyebrow::before, .expertise-section__eyebrow::before { width: 2.5rem; }
	.split-section__title { font-size: clamp(2.2rem,10vw,3.4rem); } .split-section__body { font-size: 1rem; line-height: 1.75; }
	.split-section__media, .split-section--image-left .split-section__media { padding: 0 1rem 4rem; }
	.split-section__media > img, .split-section__media > .split-section__placeholder, #home-profile .split-section__media > img, #home-profile .split-section__media > .split-section__placeholder { width: 100%; aspect-ratio: 4/5; border-radius: 1.5rem; }
	.split-section__highlight, .split-section--image-left .split-section__highlight { bottom: 1.75rem; width: calc(100% - 3rem); }
}
@media screen and (max-width:782px) { .admin-bar .site-header, .admin-bar .site-menu-overlay { top: 46px; } }

/* ========================================================================== 
   Accessibility
   ========================================================================== */
@media (prefers-reduced-motion:reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	body.menu-open .site-menu-overlay, body.menu-closing .site-menu-overlay, .overlay-nav__list > li, .site-menu-overlay__contact, .site-menu-overlay::before { transition-delay: 0ms !important; }
	.home-hero__pattern-ring { animation: none; }
	.expertise-card__image, .expertise-card__overlay, .expertise-card__bottom, .expertise-card__summary, .expertise-card__arrow { transition: none; }
}

/* ==========================================================================
   HOMEPAGE — ARTICLES SHOWCASE
   ========================================================================== */

.articles-section {
	position: relative;
	z-index: 1;
	overflow: hidden;
	isolation: isolate;
	padding: clamp(6rem, 9vw, 10rem) 0;
	background: #f1eee7;
	color: #102838;
}

.articles-section__pattern {
	position: absolute;
	z-index: -1;
	top: -28rem;
	right: -22rem;
	width: 62rem;
	aspect-ratio: 1;
	border-radius: 50%;
	opacity: 0.38;
	pointer-events: none;
	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 3.9rem,
			rgba(16, 40, 56, 0.075) 3.95rem,
			rgba(16, 40, 56, 0.075) 4rem,
			transparent 4.05rem,
			transparent 7.7rem
		);
}

.articles-section__header {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
	align-items: end;
	gap: clamp(3rem, 8vw, 9rem);
	margin-bottom: clamp(4rem, 7vw, 7rem);
}

.articles-section__heading,
.articles-section__intro {
	min-width: 0;
}

.articles-section__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin: 0 0 clamp(1.25rem, 2vw, 1.8rem);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(16, 40, 56, 0.66);
}

.articles-section__eyebrow::before {
	content: "";
	flex: 0 0 2.5rem;
	width: 2.5rem;
	height: 1px;
	background: currentColor;
}

.articles-section__title {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.8rem, 5.2vw, 5.75rem);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-wrap: balance;
	color: #102838;
}

.articles-section__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
	padding-bottom: 0.4rem;
}

.articles-section__description {
	max-width: 32rem;
	margin: 0;
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	font-weight: 400;
	line-height: 1.7;
	color: rgba(16, 40, 56, 0.7);
}

.articles-section__archive-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	min-width: min(100%, 15rem);
	padding: 0 0 0.7rem;
	border-bottom: 1px solid rgba(16, 40, 56, 0.36);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
	color: #102838;
	transition:
		border-color 280ms ease,
		color 280ms ease;
}

.articles-section__archive-link span:last-child {
	font-size: 1.05rem;
	line-height: 1;
	transition: transform 280ms ease;
}

.articles-section__archive-link:hover,
.articles-section__archive-link:focus-visible {
	border-color: #102838;
	color: #102838;
}

.articles-section__archive-link:hover span:last-child,
.articles-section__archive-link:focus-visible span:last-child {
	transform: translateX(0.35rem);
}


/* Main editorial layout
   ========================================================================== */

.articles-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 0.85fr);
	align-items: start;
	gap: clamp(3rem, 6vw, 7rem);
}

.articles-featured,
.articles-secondary,
.articles-secondary__item {
	min-width: 0;
}

.articles-featured__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.articles-featured__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #d8d4ca;
	border-radius: 1.15rem;
}

.articles-featured__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.001);
	transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.articles-featured__placeholder {
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			145deg,
			rgba(16, 40, 56, 0.92),
			rgba(16, 40, 56, 0.68)
		),
		repeating-radial-gradient(
			circle at 80% 20%,
			transparent 0,
			transparent 2.4rem,
			rgba(255, 255, 255, 0.08) 2.45rem,
			rgba(255, 255, 255, 0.08) 2.5rem,
			transparent 2.55rem,
			transparent 5rem
		);
}

.articles-featured__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			rgba(5, 18, 27, 0.02) 35%,
			rgba(5, 18, 27, 0.28) 100%
		);
	pointer-events: none;
	transition: opacity 500ms ease;
}

.articles-featured__arrow {
	position: absolute;
	right: clamp(1rem, 2vw, 1.6rem);
	bottom: clamp(1rem, 2vw, 1.6rem);
	display: grid;
	width: 3.25rem;
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	background: rgba(9, 29, 42, 0.24);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	font-size: 1.15rem;
	line-height: 1;
	color: #fff;
	transition:
		transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
		background-color 350ms ease,
		color 350ms ease;
}

.articles-featured__content {
	padding-top: clamp(1.5rem, 2.5vw, 2.15rem);
}

.articles-featured__meta,
.articles-secondary__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 1rem;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: rgba(16, 40, 56, 0.57);
}

.articles-featured__source,
.articles-secondary__source {
	color: #102838;
}

.articles-featured__title {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(1.85rem, 3vw, 3.2rem);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
	color: #102838;
	transition: color 280ms ease;
}

.articles-featured__excerpt {
	max-width: 48rem;
	margin: 1.25rem 0 0;
	font-size: clamp(0.95rem, 1.15vw, 1.05rem);
	font-weight: 400;
	line-height: 1.7;
	color: rgba(16, 40, 56, 0.68);
}

.articles-featured__link:hover .articles-featured__image,
.articles-featured__link:focus-visible .articles-featured__image {
	transform: scale(1.045);
}

.articles-featured__link:hover .articles-featured__arrow,
.articles-featured__link:focus-visible .articles-featured__arrow {
	transform: translate(0.2rem, -0.2rem);
	background: #f1eee7;
	color: #102838;
}


/* Secondary editorial list
   ========================================================================== */

.articles-secondary {
	border-top: 1px solid rgba(16, 40, 56, 0.22);
}

.articles-secondary__item {
	border-bottom: 1px solid rgba(16, 40, 56, 0.22);
}

.articles-secondary__link {
	display: block;
	padding: clamp(1.6rem, 2.6vw, 2.35rem) 0;
	color: inherit;
	text-decoration: none;
}

.articles-secondary__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 1.5rem;
}

.articles-secondary__title {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	font-size: clamp(1.2rem, 1.65vw, 1.55rem);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -0.022em;
	color: #102838;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	transition:
		color 280ms ease,
		transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.articles-secondary__arrow {
	display: grid;
	width: 2.55rem;
	aspect-ratio: 1;
	place-items: center;
	margin-top: 0.1rem;
	border: 1px solid rgba(16, 40, 56, 0.28);
	border-radius: 50%;
	font-size: 0.95rem;
	line-height: 1;
	color: #102838;
	transition:
		transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
		background-color 300ms ease,
		border-color 300ms ease,
		color 300ms ease;
}

.articles-secondary__link:hover .articles-secondary__title,
.articles-secondary__link:focus-visible .articles-secondary__title {
	transform: translateX(0.25rem);
}

.articles-secondary__link:hover .articles-secondary__arrow,
.articles-secondary__link:focus-visible .articles-secondary__arrow {
	transform: translate(0.2rem, -0.2rem);
	border-color: #102838;
	background: #102838;
	color: #f1eee7;
}


/* Keyboard focus
   ========================================================================== */

.articles-featured__link:focus-visible,
.articles-secondary__link:focus-visible,
.articles-section__archive-link:focus-visible {
	outline: 2px solid #102838;
	outline-offset: 5px;
}


/* Tablet
   ========================================================================== */

@media (max-width: 62rem) {
	.articles-section__pattern {
		top: -24rem;
		right: -28rem;
	}

	.articles-section__header {
		grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr);
		gap: 3.5rem;
	}

	.articles-showcase {
		grid-template-columns: 1fr;
		gap: 4.5rem;
	}

	.articles-featured__title {
		max-width: 26ch;
	}

	.articles-secondary {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		border-top: 1px solid rgba(16, 40, 56, 0.22);
	}

	.articles-secondary__item {
		border-right: 1px solid rgba(16, 40, 56, 0.22);
		border-bottom: 1px solid rgba(16, 40, 56, 0.22);
	}

	.articles-secondary__item:last-child {
		border-right: 0;
	}

	.articles-secondary__link {
		height: 100%;
		padding: 1.75rem;
	}

	.articles-secondary__body {
		grid-template-columns: 1fr;
		height: calc(100% - 2.5rem);
	}

	.articles-secondary__arrow {
		align-self: end;
		margin-top: auto;
	}
}


/* Mobile
   ========================================================================== */

@media (max-width: 47.9375rem) {
	.articles-section {
		padding: 5.5rem 0;
	}

	.articles-section__pattern {
		top: -17rem;
		right: -25rem;
		width: 48rem;
		opacity: 0.3;
	}

	.articles-section__header {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 2.2rem;
		margin-bottom: 3.5rem;
	}

	.articles-section__title {
		max-width: 14ch;
		font-size: clamp(2.65rem, 11vw, 4.1rem);
	}

	.articles-section__intro {
		gap: 1.7rem;
		padding: 0;
	}

	.articles-section__description {
		max-width: 27rem;
	}

	.articles-showcase {
		gap: 3.5rem;
	}

	.articles-featured__media {
		aspect-ratio: 4 / 3;
		border-radius: 0.9rem;
	}

	.articles-featured__arrow {
		width: 2.9rem;
	}

	.articles-featured__title {
		max-width: none;
		font-size: clamp(1.75rem, 7vw, 2.4rem);
	}

	.articles-featured__excerpt {
		margin-top: 1rem;
	}

	.articles-secondary {
		display: block;
	}

	.articles-secondary__item {
		border-right: 0;
	}

	.articles-secondary__link {
		padding: 1.65rem 0;
	}

	.articles-secondary__body {
		grid-template-columns: minmax(0, 1fr) auto;
		height: auto;
		gap: 1.1rem;
	}

	.articles-secondary__title {
		font-size: 1.22rem;
		-webkit-line-clamp: 3;
	}

	.articles-secondary__arrow {
		align-self: start;
		width: 2.4rem;
		margin: 0;
	}
}


/* Small mobile
   ========================================================================== */

@media (max-width: 30rem) {
	.articles-section {
		padding: 4.75rem 0;
	}

	.articles-section__eyebrow {
		font-size: 0.67rem;
	}

	.articles-section__eyebrow::before {
		flex-basis: 1.8rem;
		width: 1.8rem;
	}

	.articles-section__archive-link {
		width: 100%;
	}

	.articles-featured__media {
		aspect-ratio: 1 / 1;
	}

	.articles-featured__meta,
	.articles-secondary__meta {
		font-size: 0.63rem;
		letter-spacing: 0.105em;
	}

	.articles-featured__excerpt {
		font-size: 0.94rem;
	}

	.articles-secondary__title {
		font-size: 1.12rem;
	}
}


/* Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.articles-featured__image,
	.articles-featured__arrow,
	.articles-secondary__title,
	.articles-secondary__arrow,
	.articles-section__archive-link span:last-child {
		transition: none;
	}

	.articles-featured__link:hover .articles-featured__image,
	.articles-featured__link:focus-visible .articles-featured__image {
		transform: none;
	}
}

/* ==========================================================================
   HOMEPAGE ARTICLES — COMPACT DESKTOP SCALE
   ========================================================================== */

@media (min-width: 62.0625rem) {
	.articles-section {
		padding: clamp(4rem, 5.3vw, 5.75rem) 0;
	}

	.articles-section__header {
		grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
		gap: clamp(3rem, 6vw, 7rem);
		margin-bottom: clamp(2.75rem, 4vw, 4.25rem);
	}

	.articles-section__eyebrow {
		margin-bottom: 1.1rem;
	}

	.articles-section__title {
		max-width: 13ch;
		font-size: clamp(3rem, 4vw, 4.35rem);
		line-height: 0.98;
	}

	.articles-section__intro {
		gap: 1.35rem;
		padding-bottom: 0;
	}

	.articles-section__description {
		max-width: 29rem;
		font-size: 1rem;
		line-height: 1.6;
	}

	.articles-showcase {
		grid-template-columns: minmax(0, 1.5fr) minmax(20rem, 0.82fr);
		gap: clamp(3rem, 5vw, 5.5rem);
	}

	.articles-featured__media {
		aspect-ratio: 16 / 8.4;
		max-height: 27rem;
	}

	.articles-featured__content {
		padding-top: 1.35rem;
	}

	.articles-featured__meta,
	.articles-secondary__meta {
		margin-bottom: 0.7rem;
	}

	.articles-featured__title {
		display: -webkit-box;
		overflow: hidden;
		max-width: 25ch;
		font-size: clamp(1.9rem, 2.45vw, 2.75rem);
		line-height: 1.08;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.articles-featured__excerpt {
		display: -webkit-box;
		overflow: hidden;
		max-width: 44rem;
		margin-top: 0.85rem;
		font-size: 0.95rem;
		line-height: 1.55;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.articles-secondary__link {
		padding: clamp(1.15rem, 1.65vw, 1.55rem) 0;
	}

	.articles-secondary__body {
		gap: 1.15rem;
	}

	.articles-secondary__title {
		font-size: clamp(1.08rem, 1.3vw, 1.3rem);
		line-height: 1.22;
		-webkit-line-clamp: 3;
	}

	.articles-secondary__arrow {
		width: 2.35rem;
	}

	.articles-featured__arrow {
		width: 3rem;
	}
}
/* ==========================================================================
   HOMEPAGE ARTICLES — COMPACT ONE-LINE HEADING
   ========================================================================== */

@media (min-width: 62.0625rem) {
	.articles-section__header {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 1.65rem;
		margin-bottom: clamp(2.5rem, 3.5vw, 3.5rem);
	}

	.articles-section__heading {
		width: 100%;
	}

	.articles-section__title {
		max-width: none;
		font-size: clamp(2.8rem, 3.8vw, 4.15rem);
		line-height: 1;
		letter-spacing: -0.04em;
	}

	.articles-section__intro {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(14rem, 16.5rem);
		align-items: end;
		gap: 3rem;
		width: 100%;
		padding: 0;
	}

	.articles-section__description {
		max-width: 42rem;
	}

	.articles-section__archive-link {
		justify-self: end;
		width: 100%;
		min-width: 0;
	}
}

/*
 * On wide desktop screens the complete title stays on one line.
 */
@media (min-width: 90rem) {
	.articles-section__title {
		white-space: nowrap;
		font-size: clamp(3rem, 3.35vw, 4rem);
	}
}
/* Featured article title — maximum two lines on desktop */
@media (min-width: 62.0625rem) {
	.articles-featured__title {
		max-width: 29ch;
		font-size: clamp(1.75rem, 2.15vw, 2.4rem);
		-webkit-line-clamp: 2;
	}
}

/* ==========================================================================
   SITE FOOTER
   ========================================================================== */

.site-footer {
	--footer-bg: #062845;
	--footer-text: #f4f0e7;
	--footer-accent: #c8ad7f;

	position: relative;
	z-index: 1;

	overflow: hidden;
	isolation: isolate;

	background: var(--footer-bg);
	color: var(--footer-text);
}


.site-footer a {
	color: inherit;
	text-decoration: none;
}


/* ==========================================================================
   FOOTER CTA
   ========================================================================== */

.site-footer__cta {
	position: relative;

	overflow: hidden;

	padding:
		clamp(3.75rem, 5vw, 5.25rem)
		0;

	border-bottom:
		1px solid rgba(244, 240, 231, 0.16);
}


.site-footer__background-pattern {
	position: absolute;

	z-index: -1;

	top: -25rem;
	left: -21rem;

	width: 60rem;

	aspect-ratio: 1;

	border-radius: 50%;

	opacity: 0.22;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 3.9rem,
			rgba(244, 240, 231, 0.12) 3.95rem,
			rgba(244, 240, 231, 0.12) 4rem,
			transparent 4.05rem,
			transparent 7.8rem
		);
}


.site-footer__cta-grid {
	display: grid;

	grid-template-columns:
		minmax(0, 0.82fr)
		minmax(26rem, 1.18fr);

	align-items: stretch;

	gap:
		clamp(3rem, 5vw, 5.5rem);
}


.site-footer__cta-content {
	display: flex;

	flex-direction: column;

	align-items: flex-start;
	justify-content: center;

	min-width: 0;
}


/* ==========================================================================
   CTA TYPOGRAPHY
   ========================================================================== */

.site-footer__eyebrow {
	display: flex;

	align-items: center;

	gap: 0.95rem;

	margin:
		0
		0
		1.5rem;

	color:
		var(--footer-accent);

	font-size: 0.7rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.2em;

	text-transform: uppercase;
}


.site-footer__eyebrow::before {
	content: "";

	flex: 0 0 2.6rem;

	width: 2.6rem;
	height: 1px;

	background:
		var(--footer-accent);
}


.site-footer__cta-title {
	max-width: 12ch;

	margin: 0;

	color:
		var(--footer-text);

	font-size:
		clamp(3.15rem, 4.25vw, 4.75rem);

	font-weight: 400;

	line-height: 0.98;

	letter-spacing: -0.045em;

	text-wrap: initial;
}


/* ==========================================================================
   CTA LINK
   ========================================================================== */

.site-footer__cta-link {
	display: inline-flex;

	align-items: center;
	justify-content: space-between;

	gap: 2rem;

	width:
		min(100%, 18rem);

	margin-top:
		clamp(2rem, 3vw, 2.8rem);

	padding-bottom: 0.85rem;

	border-bottom:
		1px solid rgba(244, 240, 231, 0.4);

	color:
		var(--footer-text);

	font-size: 0.7rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.16em;

	text-transform: uppercase;

	transition:
		border-color 280ms ease,
		color 280ms ease;
}


.site-footer__cta-link span:last-child {
	color:
		var(--footer-accent);

	font-size: 1.1rem;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__cta-link:hover,
.site-footer__cta-link:focus-visible {
	border-color:
		var(--footer-text);
}


.site-footer__cta-link:hover span:last-child,
.site-footer__cta-link:focus-visible span:last-child {
	transform:
		translateX(0.4rem);
}


/* ==========================================================================
   FOOTER MAP
   ========================================================================== */

.site-footer__map {
	position: relative;

	overflow: hidden;

	min-height:
		clamp(20rem, 26vw, 25rem);

	border:
		1px solid rgba(244, 240, 231, 0.18);

	border-radius: 1.25rem;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.05),
			rgba(255, 255, 255, 0.01)
		);
}


.site-footer__map-frame {
	position: absolute;

	inset: -8%;

	width: 116%;
	height: 116%;

	border: 0;

	pointer-events: none;

	filter:
		grayscale(1)
		contrast(1.1)
		brightness(0.72)
		sepia(0.15)
		hue-rotate(160deg)
		saturate(0.65);

	opacity: 0.52;

	transform: scale(1.001);
	transform-origin: center;

	transition:
		transform
		900ms
		cubic-bezier(0.22, 1, 0.36, 1),
		filter 800ms ease,
		opacity 800ms ease;
}


.site-footer__map-overlay {
	position: absolute;

	inset: 0;

	opacity: 1;

	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			rgba(6, 40, 69, 0.88) 0%,
			rgba(6, 40, 69, 0.38) 46%,
			rgba(6, 40, 69, 0.26) 100%
		),
		linear-gradient(
			180deg,
			rgba(6, 40, 69, 0.2) 0%,
			rgba(6, 40, 69, 0.56) 100%
		);

	transition:
		opacity 750ms ease,
		background 750ms ease;
}


/* ==========================================================================
   MAP MARKER
   ========================================================================== */

.site-footer__map-marker {
	position: absolute;

	z-index: 2;

	top: 46%;
	left: 60%;

	display: grid;

	width: 1.25rem;

	aspect-ratio: 1;

	place-items: center;

	border-radius: 50%;

	background:
		var(--footer-accent);

	box-shadow:
		0 0 0 0 rgba(200, 173, 127, 0.34),
		0 0 0 0.55rem rgba(6, 40, 69, 0.65);

	transform:
		translate(-50%, -50%);

	transition:
		background-color 400ms ease;
}


.site-footer__map-marker::before,
.site-footer__map-marker::after {
	content: "";

	position: absolute;

	inset:
		50%
		auto
		auto
		50%;

	width: 3.8rem;

	aspect-ratio: 1;

	border:
		1px solid rgba(200, 173, 127, 0.52);

	border-radius: 50%;

	transform:
		translate(-50%, -50%);

	animation:
		footer-map-pulse
		3.8s
		ease-out
		infinite;
}


.site-footer__map-marker::after {
	animation-delay: 1.9s;
}


.site-footer__map-marker span {
	display: block;

	width: 0.34rem;

	aspect-ratio: 1;

	border-radius: 50%;

	background:
		var(--footer-bg);
}


@keyframes footer-map-pulse {

	0% {
		opacity: 0.8;

		transform:
			translate(-50%, -50%)
			scale(0.3);
	}

	100% {
		opacity: 0;

		transform:
			translate(-50%, -50%)
			scale(1.45);
	}

}


/* ==========================================================================
   MAP CONTENT
   ========================================================================== */

.site-footer__map-content {
	position: absolute;

	z-index: 3;

	right:
		clamp(1.5rem, 3vw, 2.8rem);

	bottom:
		clamp(1.5rem, 3vw, 2.8rem);

	left:
		clamp(1.5rem, 3vw, 2.8rem);

	display: flex;

	align-items: flex-end;
	justify-content: space-between;

	gap: 2rem;

	transition:
		transform
		600ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__map-city {
	margin: 0;

	color:
		var(--footer-text);

	font-size:
		clamp(1.5rem, 2.2vw, 2.3rem);

	font-weight: 400;

	line-height: 1;

	letter-spacing: -0.025em;
}


.site-footer__map-link {
	display: inline-flex;

	align-items: center;

	gap: 1rem;

	padding-bottom: 0.55rem;

	border-bottom:
		1px solid rgba(244, 240, 231, 0.5);

	color:
		var(--footer-text);

	font-size: 0.66rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.14em;

	text-transform: uppercase;

	transition:
		border-color 280ms ease;
}


.site-footer__map-link span:last-child {
	color:
		var(--footer-accent);

	font-size: 1rem;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__map-link:hover,
.site-footer__map-link:focus-visible {
	border-color:
		var(--footer-text);
}


.site-footer__map-link:hover span:last-child,
.site-footer__map-link:focus-visible span:last-child {
	transform:
		translate(0.2rem, -0.2rem);
}


/* ==========================================================================
   MAP INTERACTION
   ========================================================================== */

.site-footer__map:hover
.site-footer__map-frame,

.site-footer__map:focus-within
.site-footer__map-frame {
	transform:
		scale(1.075);

	filter:
		grayscale(0)
		contrast(1)
		brightness(0.92)
		sepia(0)
		hue-rotate(0deg)
		saturate(1);

	opacity: 1;
}


.site-footer__map:hover
.site-footer__map-overlay,

.site-footer__map:focus-within
.site-footer__map-overlay {
	opacity: 0.12;
}


.site-footer__map:hover
.site-footer__map-marker,

.site-footer__map:focus-within
.site-footer__map-marker {
	background:
		var(--footer-text);
}


.site-footer__map:hover
.site-footer__map-content,

.site-footer__map:focus-within
.site-footer__map-content {
	transform:
		translateY(-0.25rem);
}


/* ==========================================================================
   FOOTER MAIN
   ========================================================================== */

.site-footer__main {
	padding:
		clamp(3.25rem, 4.2vw, 4.5rem)
		0;
}


.site-footer__grid {
	display: grid;

	grid-template-columns:
		minmax(13rem, 1.2fr)
		minmax(9rem, 0.72fr)
		minmax(11rem, 0.9fr)
		minmax(15rem, 1fr);

	gap:
		clamp(2.5rem, 4vw, 4.5rem);
}


.site-footer__brand,
.site-footer__column {
	min-width: 0;
}


/* ==========================================================================
   FOOTER BRAND
   ========================================================================== */

.site-footer__logo {
	display: block;

	width: 100%;
	max-width: 18rem;

	margin:
		0
		0
		1.35rem;
}


.site-footer__brand-link {
	display: inline-block;

	width: 100%;
}


.site-footer__brand-logo {
	display: block;

	width: 100%;
	max-width: 18rem;
	height: auto;

	opacity: 1;
	visibility: visible;
}


.site-footer__description {
	max-width: 28rem;

	margin: 0;

	color:
		rgba(244, 240, 231, 0.62);

	font-size: 0.96rem;
	font-weight: 400;

	line-height: 1.7;
}


.site-footer__description p {
	margin: 0;
}


.site-footer__description p + p {
	margin-top: 0.8rem;
}


/* ==========================================================================
   SOCIALS
   ========================================================================== */

.site-footer__socials {
	display: flex;

	flex-wrap: wrap;

	gap:
		0.8rem
		1.5rem;

	margin-top: 2rem;
}


.site-footer__socials a {
	position: relative;

	padding-bottom: 0.25rem;

	color:
		rgba(244, 240, 231, 0.72);

	font-size: 0.68rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.13em;

	text-transform: uppercase;

	transition:
		color 250ms ease;
}


.site-footer__socials a::after {
	content: "";

	position: absolute;

	right: 0;
	bottom: 0;
	left: 0;

	height: 1px;

	background:
		currentColor;

	transform:
		scaleX(0);

	transform-origin: right;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__socials a:hover,
.site-footer__socials a:focus-visible {
	color:
		var(--footer-accent);
}


.site-footer__socials a:hover::after,
.site-footer__socials a:focus-visible::after {
	transform:
		scaleX(1);

	transform-origin: left;
}


/* ==========================================================================
   FOOTER COLUMNS
   ========================================================================== */

.site-footer__column-title {
	margin:
		0
		0
		1.6rem;

	color:
		var(--footer-accent);

	font-size: 0.68rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.site-footer__links {
	display: flex;

	flex-direction: column;

	gap: 0.8rem;

	margin: 0;
	padding: 0;

	list-style: none;
}


.site-footer__links li {
	margin: 0;
	padding: 0;
}


.site-footer__links a {
	display: inline-flex;

	align-items: center;

	color:
		rgba(244, 240, 231, 0.78);

	font-size: 0.96rem;
	font-weight: 400;

	line-height: 1.45;

	transition:
		color 250ms ease,
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__links a:hover,
.site-footer__links a:focus-visible {
	color:
		var(--footer-accent);

	transform:
		translateX(0.35rem);
}


/* ==========================================================================
   FOOTER CONTACT
   ========================================================================== */

.site-footer__contact-groups {
	display: flex;

	flex-direction: column;

	gap: 1.55rem;
}


.site-footer__contact-group {
	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 0.35rem;
}


.site-footer__contact-label {
	margin:
		0
		0
		0.2rem;

	color:
		var(--footer-accent);

	font-size: 0.62rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.15em;

	text-transform: uppercase;
}


.site-footer__contact-group a,
.site-footer__address {
	margin: 0;

	color:
		rgba(244, 240, 231, 0.78);

	font-size: 0.92rem;
	font-weight: 400;

	line-height: 1.55;

	transition:
		color 250ms ease,
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.site-footer__contact-group a:hover,
.site-footer__contact-group a:focus-visible {
	color:
		var(--footer-accent);

	transform:
		translateX(0.25rem);
}


.site-footer__address {
	display: flex;

	flex-direction: column;
}


/* ==========================================================================
   OFFICE HOURS
   ========================================================================== */

.site-footer__hours {
	gap: 0.6rem;
}


.site-footer__hours-row {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto;

	gap:
		0.35rem
		1rem;

	width: 100%;

	padding-bottom: 0.5rem;

	border-bottom:
		1px solid rgba(244, 240, 231, 0.1);

	color:
		rgba(244, 240, 231, 0.74);

	font-size: 0.86rem;

	line-height: 1.45;
}


.site-footer__hours-row:last-child {
	padding-bottom: 0;

	border-bottom: 0;
}


.site-footer__hours-row small {
	grid-column:
		1 / -1;

	color:
		rgba(244, 240, 231, 0.42);

	font-size: 0.72rem;

	line-height: 1.45;
}


/* ==========================================================================
   FOOTER BOTTOM
   ========================================================================== */

.site-footer__bottom {
	border-top:
		1px solid rgba(244, 240, 231, 0.14);
}


.site-footer__bottom-inner {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 2rem;

	min-height: 4.25rem;

	padding:
		1.1rem
		0;
}


.site-footer__copyright {
	margin: 0;

	color:
		rgba(244, 240, 231, 0.48);

	font-size: 0.72rem;
	font-weight: 400;

	line-height: 1.4;

	letter-spacing: 0.05em;
}


/* ==========================================================================
   FOOTER LEGAL LINKS
   ========================================================================== */

.site-footer__legal {
	display: flex;

	align-items: center;
	justify-content: flex-end;

	flex-wrap: wrap;

	gap: 0.65rem;

	color:
		rgba(244, 240, 231, 0.52);
}


.site-footer__legal a {
	position: relative;

	color: inherit;

	font-size: 0.63rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.1em;

	text-transform: uppercase;

	transition:
		color 250ms ease;
}


.site-footer__legal a + a {
	margin-left: 0.75rem;
}


.site-footer__legal a + a::before {
	content: "·";

	position: absolute;

	top: 50%;
	left: -0.8rem;

	color:
		rgba(200, 173, 127, 0.55);

	transform:
		translateY(-50%);

	pointer-events: none;
}


.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color:
		var(--footer-accent);
}


/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */

.site-footer a:focus-visible {
	outline:
		2px solid var(--footer-text);

	outline-offset: 5px;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.site-footer__cta-grid {
		grid-template-columns:
			minmax(0, 0.85fr)
			minmax(24rem, 1.15fr);

		gap: 3.5rem;
	}


	.site-footer__cta-title {
		font-size:
			clamp(3rem, 5.2vw, 4.5rem);
	}


	.site-footer__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap:
			4rem
			5rem;
	}


	.site-footer__brand {
		grid-column:
			1 / -1;

		max-width: 35rem;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 56rem) {

	.site-footer__cta {
		padding:
			5rem
			0;
	}


	.site-footer__cta-grid {
		grid-template-columns: 1fr;

		gap: 3.5rem;
	}


	.site-footer__cta-title {
		max-width: 12ch;
	}


	.site-footer__map {
		min-height: 27rem;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.site-footer__cta {
		padding:
			4rem
			0;
	}


	.site-footer__background-pattern {
		top: -18rem;
		left: -25rem;

		width: 48rem;
	}


	.site-footer__eyebrow {
		font-size: 0.66rem;
	}


	.site-footer__eyebrow::before {
		flex-basis: 2rem;

		width: 2rem;
	}


	.site-footer__cta-title {
		max-width: 11ch;

		font-size:
			clamp(2.75rem, 11vw, 4rem);
	}


	.site-footer__cta-link {
		width: 100%;

		margin-top: 2.5rem;
	}


	/* Map */

	.site-footer__map {
		min-height: 19rem;

		border-radius: 0.95rem;
	}


	.site-footer__map-marker {
		left: 60%;
	}


	.site-footer__map-content {
		flex-direction: column;

		align-items: flex-start;

		gap: 1.2rem;
	}


	.site-footer__map-link {
		width: 100%;

		justify-content: space-between;
	}


	/* Main */

	.site-footer__main {
		padding:
			3.75rem
			0;
	}


	.site-footer__grid {
		grid-template-columns: 1fr;

		gap: 0;
	}


	.site-footer__brand {
		grid-column: auto;

		max-width: none;

		padding-bottom: 3rem;

		border-bottom:
			1px solid rgba(244, 240, 231, 0.14);
	}


	.site-footer__column {
		padding:
			2.5rem
			0;

		border-bottom:
			1px solid rgba(244, 240, 231, 0.14);
	}


	.site-footer__column:last-child {
		padding-bottom: 0;

		border-bottom: 0;
	}


	.site-footer__logo,
	.site-footer__brand-logo {
		max-width: 15rem;
	}


	/* Bottom */

	.site-footer__bottom-inner {
		flex-direction: column;

		align-items: flex-start;
		justify-content: center;

		gap: 1.2rem;

		min-height: auto;

		padding:
			2rem
			0;
	}


	.site-footer__legal {
		justify-content: flex-start;
	}

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 30rem) {

	.site-footer__cta {
		padding:
			4.25rem
			0;
	}


	.site-footer__cta-title {
		font-size:
			clamp(2.45rem, 12vw, 3.35rem);
	}


	.site-footer__map {
		min-height: 20rem;
	}


	.site-footer__map-city {
		font-size: 1.45rem;
	}


	.site-footer__main {
		padding:
			4rem
			0;
	}


	.site-footer__legal {
		flex-direction: column;

		align-items: flex-start;

		gap: 0.85rem;
	}


	.site-footer__legal a + a {
		margin-left: 0;
	}


	.site-footer__legal a + a::before {
		display: none;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.site-footer__map-marker::before,
	.site-footer__map-marker::after {
		animation: none;
	}


	.site-footer__cta-link span:last-child,
	.site-footer__map-link span:last-child,
	.site-footer__links a,
	.site-footer__contact-group a,
	.site-footer__map-frame,
	.site-footer__map-overlay,
	.site-footer__map-content {
		transition: none;
	}


	.site-footer__map:hover
	.site-footer__map-frame,

	.site-footer__map:focus-within
	.site-footer__map-frame {
		transform: none;
	}

}













/*
 * Mobile logged-in WordPress admin bar fix.
 *
 * Below 600px the WP admin bar is no longer fixed,
 * so the sticky header must return to the top of the viewport.
 */
@media screen and (max-width: 600px) {
	body.admin-bar .site-header {
		top: 0;
	}
}



/* ==========================================================================
   SINGLE EXPERTISE — FINAL
   ========================================================================== */

.expertise-single {
	--expertise-ivory: #f4f1e9;
	--expertise-stone: #ebe6dd;
	--expertise-navy: #082d4a;
	--expertise-navy-deep: #041f37;
	--expertise-blue: #365a73;
	--expertise-blue-soft: #5c7486;
	--expertise-gold: #c18f56;
	--expertise-line: rgba(9, 42, 69, 0.14);

	background: var(--expertise-ivory);
	color: #12344e;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.expertise-single__hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;

	min-height: clamp(36rem, 39vw, 42rem);

	padding:
		calc(var(--header-height) + 3.25rem)
		0
		0;

	background:
		radial-gradient(
			circle at 84% 31%,
			rgba(211, 175, 126, 0.11) 0%,
			rgba(87, 126, 164, 0.07) 14%,
			transparent 31%
		),
		radial-gradient(
			circle at 12% 115%,
			rgba(38, 89, 133, 0.24) 0%,
			transparent 37%
		),
		linear-gradient(
			135deg,
			#04233f 0%,
			#073858 48%,
			#031e36 100%
		);

	color: #f5f1e9;

	border-bottom:
		1px solid rgba(193, 143, 86, 0.18);
}


/*
 * Concentric geometry.
 */

.expertise-single__hero-pattern {
	position: absolute;
	inset: 0;
	z-index: 0;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at 85% 19%,
			transparent 0,
			transparent 40px,
			rgba(218, 177, 122, 0.08) 41px,
			rgba(218, 177, 122, 0.08) 42px,
			transparent 43px,
			transparent 59px
		),
		repeating-radial-gradient(
			circle at -7% 119%,
			transparent 0,
			transparent 53px,
			rgba(119, 157, 194, 0.045) 54px,
			rgba(119, 157, 194, 0.045) 55px,
			transparent 56px,
			transparent 74px
		);

	opacity: 0.88;
}


/*
 * Lower atmospheric depth.
 */

.expertise-single__hero::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 0;

	pointer-events: none;

	background:
		linear-gradient(
			180deg,
			transparent 0%,
			transparent 54%,
			rgba(2, 22, 40, 0.06) 69%,
			rgba(2, 19, 35, 0.27) 100%
		);
}


/* ==========================================================================
   HERO LAYOUT
   ========================================================================== */

.expertise-single__hero-layout {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 1.14fr)
		minmax(27rem, 0.86fr);

	gap: clamp(4rem, 7vw, 8rem);

	align-items: start;
}


/* ==========================================================================
   HERO — LEFT
   ========================================================================== */

.expertise-single__hero-copy {
	min-width: 0;
}


.expertise-single__title {
	max-width: 11.5ch;

	margin: 0;

	color: #f6f1e8;

	font-size: clamp(
		4.6rem,
		6vw,
		6.8rem
	);

	font-weight: 400;
	line-height: 0.94;

	letter-spacing: -0.055em;

	text-wrap: balance;

	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}


.expertise-single__summary {
	max-width: 55rem;

	margin: 1.65rem 0 0;

	color: rgba(245, 241, 233, 0.67);

	font-size: clamp(
		1rem,
		1.18vw,
		1.12rem
	);

	line-height: 1.65;
}


/* ==========================================================================
   HERO — ARCHIVE LINK
   ========================================================================== */

.expertise-single__archive-link {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: min(100%, 12rem);

	margin-top: 2.2rem;
	padding-bottom: 0.7rem;

	border-bottom:
		1px solid rgba(245, 241, 233, 0.30);

	color: #f5f1e9;

	font-size: 0.61rem;
	font-weight: 600;

	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
}


.expertise-single__archive-link span:last-child {
	color: var(--expertise-gold);

	transition:
		transform 240ms ease;
}


.expertise-single__archive-link:hover span:last-child {
	transform:
		translate(0.2rem, -0.2rem);
}


/* ==========================================================================
   HERO — APPROACH
   ========================================================================== */

.expertise-single__hero-approach {
	position: relative;

	padding-left:
		clamp(2.75rem, 4vw, 4.5rem);
}


.expertise-single__hero-approach::before {
	content: "";

	position: absolute;

	top: 0;
	bottom: -0.5rem;
	left: 0;

	width: 1px;

	background:
		linear-gradient(
			180deg,
			rgba(193, 143, 86, 0.56) 0%,
			rgba(245, 241, 233, 0.16) 45%,
			rgba(245, 241, 233, 0.025) 100%
		);
}


.expertise-single__hero-approach-content {
	max-width: 39rem;

	color: rgba(245, 241, 233, 0.77);

	font-size: clamp(
		1rem,
		1.13vw,
		1.13rem
	);

	line-height: 1.72;
}


.expertise-single__hero-approach-content p {
	margin: 0 0 1.05em;
}


.expertise-single__hero-approach-content p:last-child {
	margin-bottom: 0;
}


/*
 * Old standalone approach is no longer used.
 */

.expertise-single__intro {
	display: none;
}


/* ==========================================================================
   SERVICES
   ========================================================================== */

.expertise-services-split {
	padding:
		clamp(4rem, 5vw, 5.5rem)
		0
		clamp(4.5rem, 6vw, 6rem);

	background:
		var(--expertise-ivory);
}


/* ==========================================================================
   SERVICES — HEADING
   ========================================================================== */

.expertise-services-split__header {
	display: block;

	margin-bottom:
		clamp(2.5rem, 4vw, 3.5rem);
}


.expertise-services-split__heading {
	max-width: none;

	margin: 0;

	color: var(--expertise-blue);

	font-size: clamp(
		3rem,
		4vw,
		4.35rem
	);

	font-weight: 400;
	line-height: 0.98;

	letter-spacing: -0.045em;

	text-wrap: balance;
}


/* ==========================================================================
   SERVICES — SPLIT PANEL
   ========================================================================== */

.expertise-services-split__layout {
	display: grid;

	grid-template-columns:
		minmax(22rem, 0.82fr)
		minmax(0, 1.18fr);

	min-height: 27rem;

	border-top:
		1px solid var(--expertise-line);

	border-bottom:
		1px solid var(--expertise-line);
}


/* ==========================================================================
   SERVICES — LEFT INDEX
   ========================================================================== */

.expertise-services-split__index {
	border-right:
		1px solid var(--expertise-line);
}


.expertise-services-split__button {
	appearance: none;

	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		1.75rem;

	align-items: center;

	gap: 1.5rem;

	width: 100%;
	min-height: 5.1rem;

	margin: 0;

	padding:
		1rem
		1.5rem;

	border: 0;

	border-bottom:
		1px solid rgba(9, 42, 69, 0.11);

	background:
		transparent;

	color:
		#244760;

	text-align: left;

	cursor: pointer;

	transition:
		background 260ms ease,
		color 260ms ease,
		padding-left 260ms ease;
}


.expertise-services-split__button:last-child {
	border-bottom: 0;
}


.expertise-services-split__button:hover {
	padding-left: 1.9rem;

	background:
		rgba(9, 42, 69, 0.025);
}


.expertise-services-split__button.is-active {
	padding-left: 1.9rem;

	background:
		#214b68;

	color:
		#f5f1e9;
}


.expertise-services-split__button-title {
	max-width: 31rem;

	font-size: clamp(
		1.05rem,
		1.25vw,
		1.2rem
	);

	font-weight: 400;
	line-height: 1.3;
}


.expertise-services-split__button-arrow {
	justify-self: end;

	color:
		#d8ad77;

	font-size:
		1rem;

	opacity: 0;

	transform:
		translateX(-0.35rem);

	transition:
		opacity 220ms ease,
		transform 220ms ease;
}


.expertise-services-split__button.is-active
.expertise-services-split__button-arrow {
	opacity: 1;

	transform:
		translateX(0);
}


/* ==========================================================================
   SERVICES — RIGHT PANEL
   ========================================================================== */

.expertise-services-split__panels {
	position: relative;

	min-width: 0;

	padding:
		clamp(3rem, 4.5vw, 4.75rem)
		clamp(3.25rem, 5vw, 5.25rem);

	background:
		var(--expertise-stone);
}


.expertise-services-split__panel {
	max-width: 52rem;

	animation:
		expertise-panel-enter
		380ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.expertise-services-split__panel[hidden] {
	display: none;
}


.expertise-services-split__panel-title {
	max-width: 19ch;

	margin:
		0
		0
		2rem;

	color:
		#294f68;

	font-size: clamp(
		2.7rem,
		3.7vw,
		3.95rem
	);

	font-weight: 400;
	line-height: 1.02;

	letter-spacing: -0.045em;

	text-wrap: balance;
}


.expertise-services-split__panel-content {
	max-width: 49rem;

	color:
		#5c7080;

	font-size:
		0.97rem;

	line-height:
		1.72;
}


.expertise-services-split__panel-content p {
	margin:
		0
		0
		0.9rem;
}


.expertise-services-split__panel-content p:last-child {
	margin-bottom: 0;
}


/*
 * Obsolete metadata / numbering.
 */

.expertise-services-split__button-number,
.expertise-services-split__panel-meta,
.expertise-services-split__eyebrow {
	display: none;
}


@keyframes expertise-panel-enter {

	from {
		opacity: 0;

		transform:
			translateY(0.45rem);
	}

	to {
		opacity: 1;

		transform:
			translateY(0);
	}

}


/* ==========================================================================
   ADDITIONAL CONTENT SECTIONS
   ========================================================================== */

.expertise-single__additional {
	padding:
		clamp(3.5rem, 5vw, 5rem)
		0;

	background:
		var(--expertise-stone);
}


.expertise-single__additional-item {
	display: grid;

	grid-template-columns:
		minmax(15rem, 0.7fr)
		minmax(0, 1.3fr);

	gap:
		clamp(2.5rem, 6vw, 6rem);

	padding:
		clamp(2.25rem, 3vw, 3rem)
		0;

	border-top:
		1px solid rgba(9, 42, 69, 0.13);
}


.expertise-single__additional-item:last-child {
	border-bottom:
		1px solid rgba(9, 42, 69, 0.13);
}


.expertise-single__additional-item h2 {
	margin: 0;

	color:
		#294f68;

	font-size: clamp(
		1.75rem,
		2.4vw,
		2.6rem
	);

	font-weight: 400;
	line-height: 1.1;

	letter-spacing: -0.025em;
}


.expertise-single__additional-item
.wysiwyg-content {
	color:
		#5c7080;

	font-size:
		0.97rem;

	line-height:
		1.72;
}


/* ==========================================================================
   PREVIOUS / NEXT — MINIMAL EDITORIAL
   ========================================================================== */

.expertise-single__navigation {
	padding:
		2.4rem
		0
		2.8rem;

	background:
		var(--expertise-ivory);

	border-top:
		1px solid rgba(9, 42, 69, 0.13);

	border-bottom:
		0;
}


.expertise-single__navigation-inner {
	display: flex;

	align-items: flex-start;
	justify-content: space-between;

	gap: 4rem;

	min-height: 0;
}


.expertise-single__nav-link {
	display: flex;
	align-items: center;

	gap:
		1rem;

	width:
		auto;

	margin:
		0;

	padding:
		0;

	border:
		0;

	background:
		transparent;

	color:
		#294f68;

	text-decoration:
		none;
}


.expertise-single__nav-link--next {
	margin-left:
		auto;

	text-align:
		right;
}


.expertise-single__nav-link small {
	display: block;

	margin-bottom:
		0.42rem;

	color:
		var(--expertise-gold);

	font-size:
		0.57rem;

	font-weight:
		600;

	letter-spacing:
		0.14em;

	text-transform:
		uppercase;
}


.expertise-single__nav-link strong {
	display: block;

	max-width:
		25rem;

	color:
		#294f68;

	font-size: clamp(
		1.05rem,
		1.4vw,
		1.3rem
	);

	font-weight:
		400;

	line-height:
		1.2;

	transition:
		color 220ms ease;
}


.expertise-single__nav-arrow {
	display: block;

	flex:
		none;

	width:
		auto;

	height:
		auto;

	border:
		0;

	border-radius:
		0;

	color:
		var(--expertise-gold);

	font-size:
		1.05rem;

	transition:
		transform 220ms ease;
}


.expertise-single__nav-link--prev:hover
.expertise-single__nav-arrow {
	transform:
		translateX(-0.25rem);
}


.expertise-single__nav-link--next:hover
.expertise-single__nav-arrow {
	transform:
		translateX(0.25rem);
}


.expertise-single__nav-link:hover strong {
	color:
		#173b56;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.expertise-single__hero {
		min-height:
			34rem;
	}


	.expertise-single__hero-layout {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(20rem, 0.8fr);

		gap:
			3.5rem;
	}


	.expertise-single__title {
		max-width:
			12ch;

		font-size:
			clamp(
				3.7rem,
				6vw,
				5.4rem
			);
	}


	.expertise-single__hero-approach {
		padding-left:
			2.25rem;
	}


	.expertise-services-split__layout {
		grid-template-columns:
			minmax(17rem, 0.85fr)
			minmax(0, 1.15fr);
	}


	.expertise-services-split__panels {
		padding:
			2.75rem;
	}


	.expertise-services-split__panel-title {
		font-size:
			clamp(
				2.45rem,
				4vw,
				3.35rem
			);
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	/* Hero */

	.expertise-single__hero {
		min-height:
			0;

		padding:
			calc(var(--header-height) + 2.5rem)
			0
			3.75rem;
	}


	.expertise-single__hero-layout {
		grid-template-columns:
			1fr;

		gap:
			2.6rem;
	}


	.expertise-single__title {
		max-width:
			11ch;

		font-size:
			clamp(
				3rem,
				13vw,
				4.25rem
			);

		line-height:
			0.96;
	}


	.expertise-single__summary {
		margin-top:
			1.15rem;

		font-size:
			0.96rem;
	}


	.expertise-single__archive-link {
		width:
			100%;

		margin-top:
			1.8rem;
	}


	.expertise-single__hero-approach {
		padding:
			2rem
			0
			0;
	}


	.expertise-single__hero-approach::before {
		top:
			0;

		right:
			0;

		bottom:
			auto;

		left:
			0;

		width:
			100%;

		height:
			1px;

		background:
			linear-gradient(
				90deg,
				rgba(193, 143, 86, 0.56) 0%,
				rgba(245, 241, 233, 0.13) 45%,
				transparent 100%
			);
	}


	.expertise-single__hero-approach-content {
		font-size:
			0.98rem;

		line-height:
			1.68;
	}


	/* Services */

	.expertise-services-split {
		padding:
			3.5rem
			0;
	}


	.expertise-services-split__header {
		margin-bottom:
			2rem;
	}


	.expertise-services-split__heading {
		font-size:
			clamp(
				2.4rem,
				10vw,
				3.2rem
			);
	}


	.expertise-services-split__layout {
		display:
			block;

		min-height:
			0;
	}


	.expertise-services-split__index {
		border-right:
			0;

		border-bottom:
			1px solid var(--expertise-line);
	}


	.expertise-services-split__button {
		grid-template-columns:
			minmax(0, 1fr)
			1.5rem;

		min-height:
			4.5rem;

		padding:
			0.9rem
			0.25rem;
	}


	.expertise-services-split__button:hover {
		padding-left:
			0.75rem;
	}


	.expertise-services-split__button.is-active {
		padding-left:
			1rem;

		padding-right:
			0.75rem;
	}


	.expertise-services-split__button-title {
		font-size:
			1rem;
	}


	.expertise-services-split__panels {
		padding:
			2.6rem
			0
			0;

		background:
			transparent;
	}


	.expertise-services-split__panel-title {
		max-width:
			15ch;

		font-size:
			clamp(
				2.35rem,
				10vw,
				3.15rem
			);
	}


	.expertise-services-split__panel-content {
		font-size:
			0.93rem;
	}


	/* Additional sections */

	.expertise-single__additional-item {
		grid-template-columns:
			1fr;

		gap:
			1.4rem;
	}


	/* Previous / next */

	.expertise-single__navigation {
		padding:
			2rem
			0
			2.5rem;
	}


	.expertise-single__navigation-inner {
		display:
			grid;

		grid-template-columns:
			1fr;

		gap:
			1.8rem;
	}


	.expertise-single__nav-link--next {
		margin-left:
			0;

		justify-content:
			flex-end;
	}


	.expertise-single__nav-link strong {
		font-size:
			1.05rem;
	}

}


/* ==========================================================================
   EXPERTISE ARCHIVE — FINAL CONTROLLED GRID
   ========================================================================== */

.expertise-archive {
	--archive-ivory: #f4f1e9;
	--archive-stone: #ebe6dd;
	--archive-navy: #082d4a;
	--archive-navy-deep: #041f37;
	--archive-blue: #365a73;
	--archive-gold: #c18f56;
	--archive-line: rgba(8, 45, 74, 0.14);

	background: var(--archive-ivory);
	color: var(--archive-navy);
}


/* ==========================================================================
   HEADER — LIGHT ARCHIVE STATE
   ========================================================================== */

body.post-type-archive-expertise:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--color-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}



/* ==========================================================================
   COMPACT EDITORIAL HERO
   ========================================================================== */

.expertise-archive__hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;

	padding:
		calc(var(--header-height) + 1.35rem)
		0
		1.9rem;

	background:
		radial-gradient(
			circle at 91% 5%,
			rgba(193, 143, 86, 0.065),
			transparent 19%
		),
		var(--archive-ivory);

	border-bottom:
		1px solid rgba(8, 45, 74, 0.1);
}


/*
 * One restrained architectural field.
 */

.expertise-archive__hero-pattern {
	position: absolute;

	top: -20rem;
	right: -20rem;

	z-index: 0;

	width: 43rem;
	height: 43rem;

	border-radius: 50%;

	background:
		repeating-radial-gradient(
			circle,
			transparent 0,
			transparent 30px,
			rgba(8, 45, 74, 0.03) 31px,
			rgba(8, 45, 74, 0.03) 32px,
			transparent 33px,
			transparent 45px
		);

	opacity: 0.62;

	transform:
		scaleX(1.12)
		rotate(-12deg);

	pointer-events: none;
}


.expertise-archive__hero .site-container {
	position: relative;
	z-index: 2;
}


.expertise-archive__hero-inner {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(20rem, 0.65fr);

	grid-template-areas:
		"eyebrow eyebrow"
		"title intro";

	align-items: end;

	gap:
		0.9rem
		clamp(4rem, 8vw, 9rem);
}


/* ==========================================================================
   HERO EYEBROW
   ========================================================================== */

.expertise-archive__eyebrow {
	grid-area: eyebrow;

	position: relative;

	margin: 0;

	padding-left: 4.25rem;

	color: #a87549;

	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.4;

	letter-spacing: 0.2em;
	text-transform: uppercase;
}


.expertise-archive__eyebrow::before {
	content: "";

	position: absolute;

	top: 0.7em;
	left: 0;

	width: 3.1rem;
	height: 1px;

	background: currentColor;
}


/* ==========================================================================
   HERO TITLE
   ========================================================================== */

.expertise-archive__title {
	grid-area: title;

	margin: 0;

	color: var(--archive-navy-deep);

	font-size:
		clamp(
			3.4rem,
			5vw,
			5.1rem
		);

	font-weight: 300;

	line-height: 0.92;

	letter-spacing: -0.055em;
}


/* ==========================================================================
   HERO INTRO
   ========================================================================== */

.expertise-archive__hero-bottom {
	grid-area: intro;

	display: block;

	margin: 0;
	padding: 0;
}


.expertise-archive__hero-line {
	display: block;

	width: 3.4rem;
	height: 1px;

	margin-bottom: 1.25rem;

	background: var(--archive-gold);
}


.expertise-archive__intro {
	max-width: 29rem;

	margin: 0;

	color: rgba(8, 45, 74, 0.62);

	font-size: 0.98rem;
	font-weight: 400;
	line-height: 1.65;
}


/* ==========================================================================
   GRID SECTION
   ========================================================================== */

.expertise-archive__grid-section {
	padding:
		clamp(3rem, 4.5vw, 4rem)
		0
		clamp(5rem, 7vw, 7rem);

	background: var(--archive-ivory);
}


/* ==========================================================================
   GRID — 8 CELLS / 7 EXPERTISE
   ========================================================================== */

/*
 * The first expertise occupies two cells.
 *
 * Row 1:
 * [       1       ][  2  ][  3  ]
 *
 * Row 2:
 * [  4  ][  5  ][  6  ][  7  ]
 */

.expertise-archive__grid {
	display: grid;

	grid-template-columns:
		repeat(4, minmax(0, 1fr));

	grid-auto-rows:
		clamp(18rem, 22vw, 22rem);

	gap:
		clamp(0.8rem, 1.15vw, 1.2rem);
}


.expertise-archive-card:nth-child(1) {
	grid-column: span 2;
}


/* ==========================================================================
   CARD
   ========================================================================== */

.expertise-archive-card {
	position: relative;

	min-width: 0;

	overflow: hidden;

	background: var(--archive-navy-deep);

	border-radius: 0.15rem;
}


.expertise-archive-card__link {
	position: relative;

	display: block;

	width: 100%;
	height: 100%;

	overflow: hidden;

	color: #f6f1e8;

	text-decoration: none;
}


/*
 * Very fine gold reveal.
 */

.expertise-archive-card__link::before {
	content: "";

	position: absolute;

	top: 0;
	right: 0;
	left: 0;

	z-index: 5;

	height: 2px;

	background: var(--archive-gold);

	transform: scaleX(0);
	transform-origin: right;

	transition:
		transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ==========================================================================
   MEDIA
   ========================================================================== */

.expertise-archive-card__media,
.expertise-archive-card__image,
.expertise-archive-card__placeholder {
	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;
}


.expertise-archive-card__media {
	overflow: hidden;
}


.expertise-archive-card__image {
	object-fit: cover;
	object-position: center;

	filter:
		saturate(0.74)
		contrast(0.96)
		brightness(0.9);

	transform: scale(1.01);

	transition:
		transform 900ms cubic-bezier(0.22, 1, 0.36, 1),
		filter 600ms ease;
}


/* ==========================================================================
   PLACEHOLDER
   ========================================================================== */

.expertise-archive-card__placeholder {
	background:
		radial-gradient(
			circle at 78% 28%,
			rgba(204, 164, 112, 0.14),
			transparent 20%
		),
		linear-gradient(
			145deg,
			#031e36 0%,
			#084266 100%
		);
}


.expertise-archive-card__placeholder-pattern {
	position: absolute;

	inset: 0;

	background:
		repeating-radial-gradient(
			circle at 82% 24%,
			transparent 0,
			transparent 31px,
			rgba(218, 177, 122, 0.06) 32px,
			rgba(218, 177, 122, 0.06) 33px,
			transparent 34px,
			transparent 47px
		);

	opacity: 0.72;
}


/* ==========================================================================
   OVERLAY
   ========================================================================== */

.expertise-archive-card__overlay {
	position: absolute;

	inset: 0;

	z-index: 2;

	background:
		linear-gradient(
			180deg,
			rgba(2, 20, 36, 0.01) 20%,
			rgba(2, 20, 36, 0.08) 46%,
			rgba(2, 20, 36, 0.8) 100%
		);

	transition:
		background 500ms ease;
}


/* ==========================================================================
   CARD CONTENT
   ========================================================================== */

.expertise-archive-card__content {
	position: absolute;

	right: clamp(1.4rem, 2vw, 2rem);
	bottom: clamp(1.35rem, 2vw, 1.9rem);
	left: clamp(1.4rem, 2vw, 2rem);

	z-index: 4;
}


.expertise-archive-card__title {
	max-width: 16ch;

	margin: 0;

	padding-right: 2rem;

	color: #f6f1e8;

	font-size:
		clamp(
			1.45rem,
			1.8vw,
			2rem
		);

	font-weight: 350;

	line-height: 1.05;

	letter-spacing: -0.035em;

	text-wrap: balance;

	transition:
		transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}


/*
 * Lead card.
 */

.expertise-archive-card:nth-child(1)
.expertise-archive-card__title {
	max-width: 18ch;

	font-size:
		clamp(
			1.9rem,
			2.5vw,
			2.75rem
		);
}


/* ==========================================================================
   SUMMARY — HIDDEN BY DEFAULT
   ========================================================================== */

.expertise-archive-card__summary {
	max-width: 31rem;

	max-height: 0;

	overflow: hidden;

	margin: 0;
	padding-top: 0;

	color: rgba(246, 241, 232, 0.76);

	font-size: 0.84rem;

	line-height: 1.55;

	opacity: 0;

	transform: translateY(0.6rem);

	transition:
		max-height 480ms cubic-bezier(0.22, 1, 0.36, 1),
		padding-top 380ms ease,
		opacity 300ms ease,
		transform 480ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ==========================================================================
   ARROW — NO CIRCLE
   ========================================================================== */

.expertise-archive-card__arrow {
	position: absolute;

	right: 0;
	bottom: 0.08rem;

	color: #d9ad77;

	font-size: 1.05rem;
	line-height: 1;

	transition:
		transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
		color 300ms ease;
}


/* ==========================================================================
   HOVER
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {

	.expertise-archive-card__link:hover::before,
	.expertise-archive-card__link:focus-visible::before {
		transform: scaleX(1);
		transform-origin: left;
	}


	.expertise-archive-card__link:hover
	.expertise-archive-card__image,

	.expertise-archive-card__link:focus-visible
	.expertise-archive-card__image {
		transform: scale(1.045);

		filter:
			saturate(0.62)
			contrast(0.98)
			brightness(0.7);
	}


	.expertise-archive-card__link:hover
	.expertise-archive-card__overlay,

	.expertise-archive-card__link:focus-visible
	.expertise-archive-card__overlay {
		background:
			linear-gradient(
				180deg,
				rgba(2, 20, 36, 0.1) 0%,
				rgba(2, 20, 36, 0.3) 46%,
				rgba(2, 20, 36, 0.9) 100%
			);
	}


	.expertise-archive-card__link:hover
	.expertise-archive-card__title,

	.expertise-archive-card__link:focus-visible
	.expertise-archive-card__title {
		transform: translateY(-0.15rem);
	}


	.expertise-archive-card__link:hover
	.expertise-archive-card__summary,

	.expertise-archive-card__link:focus-visible
	.expertise-archive-card__summary {
		max-height: 7rem;

		padding-top: 0.85rem;

		opacity: 1;

		transform: translateY(0);
	}


	.expertise-archive-card__link:hover
	.expertise-archive-card__arrow,

	.expertise-archive-card__link:focus-visible
	.expertise-archive-card__arrow {
		color: #f6f1e8;

		transform:
			translate(0.2rem, -0.2rem);
	}

}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.expertise-archive__hero-inner {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(18rem, 24rem);

		gap:
			1.25rem
			3.5rem;
	}


	.expertise-archive__title {
		font-size:
			clamp(
				3.8rem,
				8vw,
				5.5rem
			);
	}


	.expertise-archive__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		grid-auto-rows:
			clamp(17rem, 34vw, 21rem);
	}


	.expertise-archive-card:nth-child(1) {
		grid-column:
			1 / -1;
	}

}


/* ==========================================================================
   TOUCH
   ========================================================================== */

@media (hover: none) {

	.expertise-archive-card__summary {
		max-height: 6rem;

		padding-top: 0.7rem;

		opacity: 1;

		transform: none;
	}


	.expertise-archive-card__overlay {
		background:
			linear-gradient(
				180deg,
				rgba(2, 20, 36, 0.02) 20%,
				rgba(2, 20, 36, 0.2) 48%,
				rgba(2, 20, 36, 0.9) 100%
			);
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.expertise-archive__hero {
		padding:
			calc(var(--header-height) + 2rem)
			0
			2.75rem;
	}


	.expertise-archive__hero-pattern {
		top: -14rem;
		right: -23rem;

		width: 38rem;
		height: 38rem;

		opacity: 0.48;
	}


	.expertise-archive__hero-inner {
		display: block;
	}


	.expertise-archive__eyebrow {
		margin-bottom: 1.3rem;

		padding-left: 3.3rem;
	}


	.expertise-archive__eyebrow::before {
		width: 2.4rem;
	}


	.expertise-archive__title {
		font-size:
			clamp(
				3.4rem,
				15vw,
				4.7rem
			);

		line-height: 0.92;
	}


	.expertise-archive__hero-bottom {
		margin-top: 2rem;
	}


	.expertise-archive__hero-line {
		width: 2.75rem;

		margin-bottom: 1rem;
	}


	.expertise-archive__intro {
		max-width: 29rem;

		font-size: 0.94rem;
	}


	.expertise-archive__grid-section {
		padding:
			2rem
			0
			4rem;
	}


	.expertise-archive__grid {
		grid-template-columns: 1fr;

		grid-auto-rows: auto;

		gap: 0.8rem;
	}


	.expertise-archive-card:nth-child(1),
	.expertise-archive-card:nth-child(n) {
		grid-column: auto;

		aspect-ratio: 4 / 3;
	}


	.expertise-archive-card__content {
		right: 1.3rem;
		bottom: 1.3rem;
		left: 1.3rem;
	}


	.expertise-archive-card__title,
	.expertise-archive-card:nth-child(1)
	.expertise-archive-card__title {
		max-width: 16ch;

		font-size:
			clamp(
				1.5rem,
				7vw,
				2rem
			);
	}


	.expertise-archive-card__summary {
		max-width:
			calc(100% - 2rem);

		font-size: 0.8rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.expertise-archive-card__image,
	.expertise-archive-card__overlay,
	.expertise-archive-card__title,
	.expertise-archive-card__summary,
	.expertise-archive-card__arrow,
	.expertise-archive-card__link::before {
		transition: none;
	}

}

/* ==========================================================================
   TEAM ARCHIVE — CHOOSE YOUR COUNSEL V2
   ========================================================================== */

.team-archive {
	--team-archive-ivory: #f3efe7;
	--team-archive-stone: #e8e1d7;
	--team-archive-navy: #062f5b;
	--team-archive-navy-deep: #031f3d;
	--team-archive-gold: #c49a6c;
	--team-archive-line: rgba(6, 47, 91, 0.14);

	background: var(--team-archive-ivory);
	color: var(--team-archive-navy-deep);
}


/* ==========================================================================
   HEADER — LIGHT PAGE
   ========================================================================== */

body.post-type-archive-team_member:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--color-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* Team archive top state — beige logo */

body.post-type-archive-team_member:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}

body.post-type-archive-team_member:not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   EXPERIENCE
   ========================================================================== */

.team-archive__experience {
	position: relative;
	overflow: hidden;
	isolation: isolate;

	padding:
		calc(var(--header-height) + 1rem)
		0
		clamp(5rem, 7vw, 7rem);

	background:
		radial-gradient(
			circle at 38% 46%,
			rgba(196, 154, 108, 0.075),
			transparent 22%
		),
		radial-gradient(
			circle at 94% 2%,
			rgba(6, 47, 91, 0.035),
			transparent 25%
		),
		var(--team-archive-ivory);
}


.team-archive__ambient {
	position: absolute;
	inset: 0;
	z-index: 0;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at 103% -5%,
			transparent 0,
			transparent 45px,
			rgba(6, 47, 91, 0.021) 46px,
			rgba(6, 47, 91, 0.021) 47px,
			transparent 48px,
			transparent 66px
		);

	opacity: 0.65;
}


.team-archive__experience > .site-container {
	position: relative;
	z-index: 2;
}


/* ==========================================================================
   COMPACT INTRO
   ========================================================================== */

.team-archive__intro {
	display: grid;

	grid-template-columns:
		minmax(0, 1.55fr)
		minmax(19rem, 0.45fr);

	align-items: end;

	gap:
		clamp(3rem, 6vw, 7rem);

	margin-bottom:
		1.25rem;

	padding-bottom:
		1.6rem;

	border-bottom:
		1px solid var(--team-archive-line);
}


.team-archive__eyebrow {
	position: relative;

	margin:
		0
		0
		0.7rem;

	padding-left:
		4rem;

	color:
		#a87549;

	font-size:
		0.64rem;

	font-weight:
		600;

	line-height:
		1.4;

	letter-spacing:
		0.2em;

	text-transform:
		uppercase;
}


.team-archive__eyebrow::before {
	content: "";

	position: absolute;

	top:
		0.7em;

	left:
		0;

	width:
		3rem;

	height:
		1px;

	background:
		currentColor;
}


/*
 * One-line desktop headline.
 * Intentionally smaller so the portraits become the protagonists.
 */

.team-archive__title {
	margin:
		0;

	color:
		var(--team-archive-navy-deep);

	font-size:
		clamp(
			2.45rem,
			3.15vw,
			3.5rem
		);

	font-weight:
		300;

	line-height:
		0.98;

	letter-spacing:
		-0.05em;

	white-space:
		nowrap;
}


.team-archive__intro-meta {
	max-width:
		27rem;

	padding-bottom:
		0.1rem;
}


.team-archive__intro-line {
	display:
		block;

	width:
		2.75rem;

	height:
		1px;

	margin-bottom:
		0.85rem;

	background:
		var(--team-archive-gold);
}


.team-archive__intro-meta p {
	margin:
		0;

	color:
		rgba(3, 31, 61, 0.57);

	font-size:
		0.88rem;

	line-height:
		1.58;
}


.team-archive__instruction {
	display:
		inline-flex;

	align-items:
		center;

	gap:
		0.65rem;

	margin-top:
		0.85rem;

	color:
		rgba(3, 31, 61, 0.4);

	font-size:
		0.58rem;

	font-weight:
		600;

	letter-spacing:
		0.14em;

	text-transform:
		uppercase;
}


.team-archive__instruction span {
	color:
		var(--team-archive-gold);
}


/* ==========================================================================
   SELECTOR
   ========================================================================== */

.team-selector {
	position: relative;
}


/* ==========================================================================
   CHARACTER STAGE
   ========================================================================== */

.team-selector__stage {
	position: relative;

	display: grid;

	grid-template-columns:
		repeat(4, minmax(0, 1fr));

	align-items:
		end;

	gap:
		clamp(0.55rem, 1vw, 1rem);

	min-height:
		clamp(31rem, 36vw, 36rem);

	padding:
		2.4rem
		0.3rem
		0;

	isolation:
		isolate;
}


/* ==========================================================================
   SPOTLIGHT
   ========================================================================== */

.team-selector__spotlight {
	position: absolute;

	z-index: 0;

	bottom:
		-5rem;

	left:
		37.5%;

	width:
		clamp(23rem, 31vw, 32rem);

	height:
		clamp(23rem, 31vw, 32rem);

	border-radius:
		50%;

	background:
		radial-gradient(
			circle,
			rgba(196, 154, 108, 0.2) 0%,
			rgba(196, 154, 108, 0.085) 32%,
			transparent 69%
		);

	filter:
		blur(9px);

	transform:
		translateX(-50%);

	transition:
		left
		680ms
		cubic-bezier(0.22, 1, 0.36, 1);

	pointer-events:
		none;
}


/* ==========================================================================
   CHARACTER
   ========================================================================== */

.team-selector__member {
	position: relative;

	z-index: 1;

	min-width: 0;

	opacity:
		0.78;

	transform:
		scale(0.955)
		translateY(0.8rem);

	transform-origin:
		center bottom;

	transition:
		transform
		650ms
		cubic-bezier(0.22, 1, 0.36, 1),
		opacity
		420ms ease;

	will-change:
		transform,
		opacity;
}


.team-selector__member.is-selected {
	z-index: 4;

	opacity:
		1;

	transform:
		scale(1.075)
		translateY(-0.75rem);
}


/* ==========================================================================
   PORTRAIT BUTTON
   ========================================================================== */

.team-selector__portrait-button {
	appearance: none;

	display: block;

	width: 100%;

	margin: 0;
	padding: 0;

	border: 0;

	background: transparent;

	color: inherit;

	cursor: pointer;

	text-align: left;
}


.team-selector__portrait-button:focus-visible {
	outline:
		1px solid var(--team-archive-gold);

	outline-offset:
		0.45rem;
}


/* ==========================================================================
   PORTRAIT FRAME
   ========================================================================== */

.team-selector__portrait-frame {
	position: relative;

	display: block;

	width: 100%;

	aspect-ratio:
		4 / 5;

	overflow: hidden;

	background:
		#d8d0c6;

	border:
		1px solid rgba(6, 47, 91, 0.08);

	border-radius:
		0.18rem;

	box-shadow:
		0 1.4rem 3.5rem rgba(3, 31, 61, 0.07);

	transition:
		box-shadow 500ms ease,
		border-color 500ms ease;
}


.team-selector__member.is-selected
.team-selector__portrait-frame {
	border-color:
		rgba(196, 154, 108, 0.52);

	box-shadow:
		0 2.2rem 5.2rem rgba(3, 31, 61, 0.16),
		0 0 0 1px rgba(196, 154, 108, 0.08);
}


/*
 * Selected gold underline.
 */

.team-selector__portrait-frame::after {
	content: "";

	position: absolute;

	right: 0;
	bottom: 0;
	left: 0;

	z-index: 5;

	height:
		2px;

	background:
		var(--team-archive-gold);

	transform:
		scaleX(0);

	transform-origin:
		center;

	transition:
		transform
		500ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.team-selector__member.is-selected
.team-selector__portrait-frame::after {
	transform:
		scaleX(1);
}


/* ==========================================================================
   PHOTO
   ========================================================================== */

.team-selector__portrait-image {
	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;

	filter:
		saturate(0.76)
		brightness(0.94)
		contrast(0.98);

	transform:
		scale(1.01);

	transition:
		transform
		900ms
		cubic-bezier(0.22, 1, 0.36, 1),
		filter
		550ms ease;
}


/*
 * Selected person = genuinely full colour.
 */

.team-selector__member.is-selected
.team-selector__portrait-image {
	filter:
		saturate(1)
		brightness(1)
		contrast(1.01);

	transform:
		scale(1.035);
}


/* ==========================================================================
   PLACEHOLDER
   ========================================================================== */

.team-selector__portrait-placeholder {
	position: absolute;

	inset: 0;

	display: grid;

	place-items: center;

	background:
		radial-gradient(
			circle at 50% 28%,
			rgba(255, 255, 255, 0.54),
			transparent 24%
		),
		linear-gradient(
			145deg,
			#dfd7cd,
			#cfc5b9
		);
}


.team-selector__placeholder-pattern {
	position: absolute;

	inset: 0;

	background:
		repeating-radial-gradient(
			circle at 82% 16%,
			transparent 0,
			transparent 30px,
			rgba(6, 47, 91, 0.035) 31px,
			rgba(6, 47, 91, 0.035) 32px,
			transparent 33px,
			transparent 46px
		);

	opacity: 0.7;
}


.team-selector__initials {
	position: relative;

	z-index: 2;

	color:
		rgba(6, 47, 91, 0.42);

	font-size:
		clamp(
			3.6rem,
			5vw,
			5.6rem
		);

	font-weight:
		300;

	letter-spacing:
		-0.06em;
}


.team-selector__placeholder-note {
	position: absolute;

	right: 1rem;
	bottom: 1rem;
	left: 1rem;

	z-index: 2;

	color:
		rgba(6, 47, 91, 0.36);

	font-size:
		0.55rem;

	font-weight:
		600;

	letter-spacing:
		0.12em;

	text-align:
		center;

	text-transform:
		uppercase;
}


/* ==========================================================================
   PHOTO OVERLAY
   ========================================================================== */

.team-selector__portrait-overlay {
	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			180deg,
			transparent 50%,
			rgba(3, 31, 61, 0.18) 100%
		);

	opacity:
		0.12;

	transition:
		opacity 450ms ease;
}


.team-selector__member.is-selected
.team-selector__portrait-overlay {
	opacity:
		0.025;
}


/* ==========================================================================
   NUMBER
   ========================================================================== */

.team-selector__portrait-number {
	position: absolute;

	top:
		1rem;

	left:
		1rem;

	z-index:
		6;

	color:
		rgba(255, 255, 255, 0.86);

	font-size:
		0.58rem;

	font-weight:
		600;

	letter-spacing:
		0.14em;

	opacity:
		0;

	transform:
		translateY(-0.35rem);

	transition:
		opacity 300ms ease,
		transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}


.team-selector__member.is-selected
.team-selector__portrait-number {
	opacity:
		1;

	transform:
		translateY(0);
}


/* ==========================================================================
   HOVER — PREVIEW ONLY
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {

	.team-selector__member:not(.is-selected):hover {
		z-index:
			2;

		opacity:
			0.93;

		transform:
			scale(0.985)
			translateY(0.15rem);
	}


	.team-selector__member:not(.is-selected):hover
	.team-selector__portrait-image {
		filter:
			saturate(0.91)
			brightness(0.98)
			contrast(1);

		transform:
			scale(1.025);
	}

}


/* ==========================================================================
   PROFILE AREA
   ========================================================================== */

.team-selector__profiles {
	position: relative;

	margin-top:
		clamp(2rem, 3vw, 3rem);

	border-top:
		1px solid var(--team-archive-line);
}


/* ==========================================================================
   PROFILE PANEL
   ========================================================================== */

.team-profile {
	position: absolute;

	inset:
		0;

	width:
		100%;

	opacity:
		0;

	visibility:
		hidden;

	pointer-events:
		none;

	transform:
		translateY(1rem);

	transition:
		opacity 260ms ease,
		transform 450ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 450ms;
}


.team-profile.is-selected {
	position: relative;

	inset: auto;

	opacity: 1;

	visibility: visible;

	pointer-events: auto;

	transform:
		translateY(0);

	transition:
		opacity 380ms ease 70ms,
		transform 520ms cubic-bezier(0.22, 1, 0.36, 1) 70ms,
		visibility 0s;
}


/* ==========================================================================
   PROFILE HEADER
   ========================================================================== */

.team-profile__header {
	display: grid;

	grid-template-columns:
		5.5rem
		minmax(0, 1.15fr)
		minmax(20rem, 0.65fr);

	align-items: start;

	gap:
		clamp(2rem, 4.5vw, 5rem);

	padding:
		clamp(2rem, 3vw, 3rem)
		0
		clamp(2.75rem, 4vw, 4rem);

	border-bottom:
		1px solid var(--team-archive-line);
}


/* Counter */

.team-profile__counter {
	display: flex;

	align-items:
		center;

	gap:
		0.6rem;

	padding-top:
		0.55rem;

	color:
		rgba(3, 31, 61, 0.4);

	font-size:
		0.61rem;

	font-weight:
		600;

	letter-spacing:
		0.13em;
}


.team-profile__counter-current {
	color:
		var(--team-archive-gold);
}


.team-profile__counter-line {
	display: block;

	width:
		1.45rem;

	height:
		1px;

	background:
		rgba(3, 31, 61, 0.19);
}


/* Identity */

.team-profile__role {
	margin:
		0
		0
		0.6rem;

	color:
		rgba(3, 31, 61, 0.48);

	font-size:
		0.65rem;

	font-weight:
		600;

	line-height:
		1.45;

	letter-spacing:
		0.13em;

	text-transform:
		uppercase;
}


.team-profile__name {
	margin:
		0;

	color:
		var(--team-archive-navy-deep);

	font-size:
		clamp(
			2.4rem,
			3.7vw,
			4rem
		);

	font-weight:
		320;

	line-height:
		0.98;

	letter-spacing:
		-0.05em;
}


.team-profile__expertise {
	display: flex;

	flex-wrap:
		wrap;

	gap:
		0.35rem 0.8rem;

	margin:
		1.05rem
		0
		0;

	padding:
		0;

	list-style:
		none;
}


.team-profile__expertise li {
	color:
		#49657b;

	font-size:
		0.77rem;

	font-weight:
		500;
}


.team-profile__expertise li:not(:last-child)::after {
	content:
		"·";

	margin-left:
		0.8rem;

	color:
		var(--team-archive-gold);
}


/* Summary */

.team-profile__summary {
	max-width:
		32rem;

	margin:
		0;

	padding-top:
		0.35rem;

	color:
		rgba(3, 31, 61, 0.59);

	font-size:
		0.93rem;

	line-height:
		1.7;
}


/* ==========================================================================
   FULL PROFILE DETAILS
   ========================================================================== */

.team-profile__details {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(22rem, 0.65fr);

	gap:
		clamp(4rem, 8vw, 9rem);

	padding:
		clamp(3.5rem, 5vw, 5.5rem)
		0
		0;
}


/* ==========================================================================
   SECTION LABEL
   ========================================================================== */

.team-profile__section-label {
	position: relative;

	margin:
		0
		0
		1.75rem;

	padding-left:
		3.7rem;

	color:
		#a87549;

	font-size:
		0.62rem;

	font-weight:
		600;

	letter-spacing:
		0.17em;

	text-transform:
		uppercase;
}


.team-profile__section-label::before {
	content: "";

	position: absolute;

	top:
		0.7em;

	left:
		0;

	width:
		2.7rem;

	height:
		1px;

	background:
		currentColor;
}


/* ==========================================================================
   BIOGRAPHY
   ========================================================================== */

.team-profile__biography-content {
	max-width:
		55rem;

	color:
		#536b7c;

	font-size:
		clamp(
			0.98rem,
			1.05vw,
			1.06rem
		);

	font-weight:
		350;

	line-height:
		1.82;
}


.team-profile__biography-content p {
	margin:
		0
		0
		1.35rem;
}


.team-profile__biography-content p:first-child {
	color:
		#294b63;

	font-size:
		clamp(
			1.06rem,
			1.2vw,
			1.18rem
		);

	line-height:
		1.72;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.team-profile__sidebar {
	border-top:
		1px solid var(--team-archive-line);
}


.team-profile__sidebar-section {
	padding:
		2rem
		0;

	border-bottom:
		1px solid var(--team-archive-line);
}


.team-profile__sidebar-section
.team-profile__section-label {
	margin-bottom:
		1.35rem;

	padding-left:
		0;
}


.team-profile__sidebar-section
.team-profile__section-label::before {
	display:
		none;
}


/* Education */

.team-profile__education {
	display: grid;

	gap:
		1.3rem;
}


.team-profile__education-item {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto;

	gap:
		1.5rem;

	align-items:
		start;
}


.team-profile__education-item div {
	display: grid;

	gap:
		0.2rem;
}


.team-profile__education-item strong {
	color:
		#294b63;

	font-size:
		0.91rem;

	font-weight:
		500;

	line-height:
		1.4;
}


.team-profile__education-item span {
	color:
		rgba(3, 31, 61, 0.5);

	font-size:
		0.8rem;

	line-height:
		1.45;
}


.team-profile__education-item time {
	color:
		var(--team-archive-gold);

	font-size:
		0.69rem;

	font-weight:
		600;

	letter-spacing:
		0.08em;
}


/* Languages */

.team-profile__languages {
	display:
		grid;
}


.team-profile__language {
	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		2rem;

	padding:
		0.7rem
		0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.08);
}


.team-profile__language:last-child {
	border-bottom:
		0;
}


.team-profile__language strong {
	color:
		#294b63;

	font-size:
		0.87rem;

	font-weight:
		500;
}


.team-profile__language span {
	color:
		rgba(3, 31, 61, 0.48);

	font-size:
		0.78rem;
}


/* Contact */

.team-profile__contact {
	display:
		grid;
}


.team-profile__contact a {
	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		1.5rem;

	padding:
		0.8rem
		0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.1);

	color:
		#294b63;

	font-size:
		0.84rem;

	font-weight:
		500;

	text-decoration:
		none;
}


.team-profile__contact a:last-child {
	border-bottom:
		0;
}


.team-profile__contact a span:last-child {
	color:
		var(--team-archive-gold);

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.team-profile__contact a:hover span:last-child,
.team-profile__contact a:focus-visible span:last-child {
	transform:
		translate(0.2rem, -0.2rem);
}


/* ==========================================================================
   INTRO ENTRY ANIMATION
   ========================================================================== */

[data-team-selector]
.team-selector__member {
	opacity:
		0;

	transform:
		translateY(2.5rem)
		scale(0.955);
}


[data-team-selector].is-ready
.team-selector__member {
	opacity:
		0.78;

	transform:
		translateY(0.8rem)
		scale(0.955);

	transition-delay:
		var(--member-delay);
}


[data-team-selector].is-ready
.team-selector__member.is-selected {
	opacity:
		1;

	transform:
		translateY(-0.75rem)
		scale(1.075);
}


/* ==========================================================================
   MOBILE HINT
   ========================================================================== */

.team-selector__mobile-hint {
	display:
		none;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 75rem) {

	.team-archive__title {
		font-size:
			clamp(
				2.25rem,
				3.1vw,
				3rem
			);
	}


	.team-selector__stage {
		min-height:
			28rem;
	}


	.team-profile__header {
		grid-template-columns:
			4rem
			minmax(0, 1fr)
			minmax(18rem, 0.7fr);

		gap:
			2.5rem;
	}


	.team-profile__details {
		grid-template-columns:
			minmax(0, 1.2fr)
			minmax(19rem, 0.8fr);

		gap:
			4rem;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 62rem) {

	.team-archive__intro {
		grid-template-columns:
			1fr;

		gap:
			1.5rem;
	}


	.team-archive__title {
		white-space:
			normal;
	}


	.team-archive__intro-meta {
		max-width:
			35rem;
	}


	.team-profile__header {
		grid-template-columns:
			4rem
			minmax(0, 1fr);

		gap:
			1rem 2rem;
	}


	.team-profile__summary {
		grid-column:
			2;

		max-width:
			38rem;
	}


	.team-profile__details {
		grid-template-columns:
			1fr;

		gap:
			3.5rem;
	}


	.team-profile__sidebar {
		display: grid;

		grid-template-columns:
			repeat(3, minmax(0, 1fr));

		border-top:
			1px solid var(--team-archive-line);
	}


	.team-profile__sidebar-section {
		padding:
			2rem;

		border-right:
			1px solid var(--team-archive-line);
	}


	.team-profile__sidebar-section:last-child {
		border-right:
			0;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.team-archive__experience {
		padding:
			calc(var(--header-height) + 1.25rem)
			0
			4rem;
	}


	.team-archive__intro {
		margin-bottom:
			1rem;

		padding-bottom:
			1.4rem;
	}


	.team-archive__eyebrow {
		padding-left:
			3.2rem;
	}


	.team-archive__eyebrow::before {
		width:
			2.3rem;
	}


	.team-archive__title {
		font-size:
			clamp(
				2.35rem,
				10vw,
				3.2rem
			);

		line-height:
			1;

		white-space:
			normal;
	}


	.team-archive__instruction {
		display:
			none;
	}


	/*
	 * Swipeable character stage.
	 */

	.team-selector__stage {
		display:
			flex;

		align-items:
			flex-end;

		gap:
			0.75rem;

		width:
			calc(100% + 2rem);

		min-height:
			0;

		margin-left:
			-1rem;

		padding:
			2rem
			calc(50% - 39vw)
			1rem;

		overflow-x:
			auto;

		overflow-y:
			visible;

		scroll-snap-type:
			x mandatory;

		scrollbar-width:
			none;

		-webkit-overflow-scrolling:
			touch;
	}


	.team-selector__stage::-webkit-scrollbar {
		display:
			none;
	}


	.team-selector__spotlight {
		display:
			none;
	}


	.team-selector__member {
		flex:
			0 0 78vw;

		scroll-snap-align:
			center;

		opacity:
			0.68;

		transform:
			scale(0.94);
	}


	.team-selector__member.is-selected,
	[data-team-selector].is-ready
	.team-selector__member.is-selected {
		opacity:
			1;

		transform:
			scale(1);
	}


	.team-selector__portrait-frame {
		aspect-ratio:
			4 / 5;
	}


	.team-selector__profiles {
		margin-top:
			1.5rem;
	}


	.team-profile__header {
		grid-template-columns:
			1fr;

		gap:
			1.25rem;

		padding:
			2rem
			0
			2.5rem;
	}


	.team-profile__summary {
		grid-column:
			auto;

		padding-top:
			0;
	}


	.team-profile__name {
		font-size:
			clamp(
				2.3rem,
				11vw,
				3.2rem
			);
	}


	.team-profile__details {
		padding-top:
			3rem;
	}


	.team-profile__sidebar {
		display:
			block;
	}


	.team-profile__sidebar-section {
		padding:
			1.75rem
			0;

		border-right:
			0;
	}


	.team-selector__mobile-hint {
		display:
			flex;

		align-items:
			center;

		justify-content:
			center;

		gap:
			1rem;

		margin-top:
			1.5rem;

		color:
			rgba(3, 31, 61, 0.38);

		font-size:
			0.58rem;

		font-weight:
			600;

		letter-spacing:
			0.12em;

		text-transform:
			uppercase;
	}


	.team-selector__mobile-hint span:first-child,
	.team-selector__mobile-hint span:last-child {
		color:
			var(--team-archive-gold);

		font-size:
			0.9rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.team-selector__member,
	.team-selector__portrait-image,
	.team-selector__portrait-frame,
	.team-selector__portrait-frame::after,
	.team-selector__portrait-overlay,
	.team-selector__spotlight,
	.team-profile,
	.team-profile__contact a span:last-child {
		transition:
			none !important;
	}


	[data-team-selector]
	.team-selector__member,

	[data-team-selector].is-ready
	.team-selector__member {
		opacity:
			0.78;

		transform:
			scale(0.955);
	}


	[data-team-selector]
	.team-selector__member.is-selected,

	[data-team-selector].is-ready
	.team-selector__member.is-selected {
		opacity:
			1;

		transform:
			scale(1.075);
	}

}


/* ==========================================================================
   PROFILE PAGE — CONTINUOUS EDITORIAL DOCUMENT V2
   ========================================================================== */

.profile-page {
	--profile-bg: #f7f4ef;
	--profile-navy: #062f5b;
	--profile-navy-deep: #031f3d;
	--profile-gold: #c49a6c;
	--profile-muted: #5e7180;
	--profile-line: rgba(6, 47, 91, 0.12);

	position: relative;
	overflow: hidden;
	isolation: isolate;

	background: var(--profile-bg);
	color: var(--profile-navy-deep);
}


/* ==========================================================================
   BRAND VECTOR BACKGROUND
   Same visual language as homepage
   ========================================================================== */

.profile-page::before {
	content: "";

	position: absolute;
	inset: 0;

	z-index: 0;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at 92% 9%,
			transparent 0,
			transparent 4.8rem,
			rgba(6, 47, 91, 0.014) 4.85rem,
			rgba(6, 47, 91, 0.014) 4.92rem,
			transparent 4.97rem,
			transparent 8.3rem
		);

	opacity: 1;
}


/*
 * All real content stays above the pattern.
 */

.profile-intro,
.profile-document {
	position: relative;
	z-index: 1;
}


/* ==========================================================================
   HEADER / LOGO
   ========================================================================== */

/*
 * Top:
 * beige logo + navy menu/contact
 *
 * On scroll:
 * global header rules restore
 * ivory header + blue logo.
 */

body:has(.profile-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--profile-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.profile-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.profile-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   INTRO
   ========================================================================== */

.profile-intro {
	padding:
		calc(var(--header-height) + 1.55rem)
		0
		clamp(3rem, 4vw, 4rem);
}


.profile-intro__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.55fr)
		minmax(18rem, 0.45fr);

	align-items: end;

	gap:
		clamp(3rem, 7vw, 8rem);
}


/* ==========================================================================
   INTRO LABEL
   ========================================================================== */

.profile-label {
	position: relative;

	margin:
		0
		0
		0.8rem;

	padding-left: 3.45rem;

	color: #a87549;

	font-size: 0.6rem;
	font-weight: 600;

	line-height: 1.4;

	letter-spacing: 0.19em;

	text-transform: uppercase;
}


.profile-label::before {
	content: "";

	position: absolute;

	top: 0.7em;
	left: 0;

	width: 2.5rem;
	height: 1px;

	background: currentColor;
}


/* ==========================================================================
   INTRO TITLE
   ========================================================================== */

.profile-intro__title {
	margin: 0;

	color: var(--profile-navy-deep);

	font-size:
		clamp(2.65rem, 3.75vw, 4.15rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.05em;

	white-space: nowrap;
}


/* ==========================================================================
   INTRO SIDE
   ========================================================================== */

.profile-intro__side {
	max-width: 27rem;

	padding-bottom: 0.2rem;
}


.profile-intro__line {
	display: block;

	width: 2.65rem;
	height: 1px;

	margin-bottom: 0.9rem;

	background: var(--profile-gold);
}


.profile-intro__side p {
	margin: 0;

	color:
		rgba(3, 31, 61, 0.57);

	font-size: 0.87rem;

	line-height: 1.66;
}


/* ==========================================================================
   DOCUMENT
   ========================================================================== */

.profile-document {
	position: relative;
}


.profile-document > .site-container {
	border-top:
		1px solid var(--profile-line);
}


/* ==========================================================================
   DOCUMENT ROW
   ========================================================================== */

.profile-row {
	display: grid;

	grid-template-columns:
		minmax(11rem, 0.28fr)
		minmax(0, 1.72fr);

	gap:
		clamp(3rem, 7vw, 8rem);

	padding:
		clamp(4.5rem, 6.5vw, 6.5rem)
		0;

	border-bottom:
		1px solid var(--profile-line);
}


/* ==========================================================================
   LEFT EDITORIAL RAIL
   ========================================================================== */

.profile-row__rail {
	position: relative;

	align-self: start;

	padding-top: 0.15rem;
}


.profile-row__number {
	margin:
		0
		0
		0.8rem;

	color: var(--profile-gold);

	font-size: 0.53rem;

	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.16em;
}


.profile-row__label {
	max-width: 9rem;

	margin: 0;

	color:
		rgba(3, 31, 61, 0.55);

	font-size: 0.61rem;

	font-weight: 600;

	line-height: 1.55;

	letter-spacing: 0.17em;

	text-transform: uppercase;
}


.profile-row__rail::after {
	content: "";

	display: block;

	width: 2rem;
	height: 1px;

	margin-top: 1.25rem;

	background: var(--profile-gold);

	opacity: 0.72;
}


/* ==========================================================================
   ROW CONTENT
   ========================================================================== */

.profile-row__content {
	max-width: 62rem;
}


/* ==========================================================================
   ROW TITLES
   ========================================================================== */

.profile-row__title {
	max-width: 44rem;

	margin:
		0
		0
		clamp(2rem, 3vw, 2.75rem);

	color: var(--profile-navy-deep);

	font-size:
		clamp(1.85rem, 2.65vw, 2.85rem);

	font-weight: 310;

	line-height: 1.07;

	letter-spacing: -0.043em;
}


/* ==========================================================================
   EDITORIAL COPY
   ========================================================================== */

.profile-copy {
	max-width: 48rem;
}


.profile-copy p {
	margin:
		0
		0
		1.25rem;

	color:
		rgba(45, 72, 91, 0.72);

	font-size: 0.94rem;

	font-weight: 350;

	line-height: 1.82;
}


.profile-copy p:last-child {
	margin-bottom: 0;
}


/*
 * Stronger opening paragraph without becoming another heading.
 */

.profile-copy
.profile-copy__lead {
	max-width: 46rem;

	margin-bottom: 1.7rem;

	color: #284b64;

	font-size:
		clamp(1.09rem, 1.22vw, 1.26rem);

	font-weight: 360;

	line-height: 1.62;

	letter-spacing: -0.014em;
}


/* ==========================================================================
   LOCATION META
   ========================================================================== */

.profile-location-line {
	display: flex;

	align-items: flex-start;

	gap:
		clamp(3rem, 6vw, 6rem);

	max-width: 48rem;

	margin-top:
		clamp(2.5rem, 4vw, 3.5rem);

	padding-top: 1.25rem;

	border-top:
		1px solid rgba(6, 47, 91, 0.1);
}


.profile-location-line > div {
	display: grid;

	gap: 0.3rem;
}


.profile-location-line span {
	color:
		rgba(3, 31, 61, 0.4);

	font-size: 0.57rem;

	font-weight: 600;

	line-height: 1.4;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.profile-location-line strong {
	color: var(--profile-navy);

	font-size: 0.92rem;

	font-weight: 500;

	line-height: 1.4;
}


/* ==========================================================================
   EXPERTISE INTRO
   ========================================================================== */

.profile-expertise__intro {
	display: grid;

	grid-template-columns:
		minmax(0, 1.15fr)
		minmax(16rem, 0.65fr);

	align-items: end;

	gap:
		clamp(2rem, 5vw, 5rem);

	margin-bottom:
		clamp(2.5rem, 4vw, 3.5rem);
}


.profile-expertise__intro
.profile-row__title {
	margin-bottom: 0;
}


.profile-expertise__intro > p {
	max-width: 26rem;

	margin: 0;

	color:
		rgba(45, 72, 91, 0.68);

	font-size: 0.88rem;

	line-height: 1.7;
}


/* ==========================================================================
   EXPERTISE LIST
   ========================================================================== */

.profile-expertise__list {
	border-top:
		1px solid rgba(6, 47, 91, 0.12);
}


.profile-expertise__link {
	position: relative;

	display: grid;

	grid-template-columns:
		3.2rem
		minmax(0, 1fr)
		auto;

	align-items: center;

	gap: 1rem;

	padding:
		1.15rem
		0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.1);

	color: var(--profile-navy-deep);

	text-decoration: none;

	transition:
		color 280ms ease;
}


/*
 * Small gold line reveal instead of moving
 * the entire link to the right.
 */

.profile-expertise__link::before {
	content: "";

	position: absolute;

	top: -1px;
	left: 0;

	width: 0;
	height: 1px;

	background: var(--profile-gold);

	transition:
		width
		420ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.profile-expertise__link:hover::before,
.profile-expertise__link:focus-visible::before {
	width: 3.25rem;
}


.profile-expertise__link:hover,
.profile-expertise__link:focus-visible {
	color: var(--profile-navy);
}


.profile-expertise__index {
	color:
		rgba(3, 31, 61, 0.35);

	font-size: 0.55rem;

	font-weight: 600;

	letter-spacing: 0.12em;
}


.profile-expertise__name {
	font-size:
		clamp(1.08rem, 1.45vw, 1.4rem);

	font-weight: 360;

	line-height: 1.3;

	letter-spacing: -0.018em;
}


.profile-expertise__arrow {
	color: var(--profile-gold);

	font-size: 1rem;

	transition:
		transform
		320ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.profile-expertise__link:hover
.profile-expertise__arrow,
.profile-expertise__link:focus-visible
.profile-expertise__arrow {
	transform:
		translate(0.22rem, -0.22rem);
}


/* ==========================================================================
   TEAM ENDING
   ========================================================================== */

.profile-row--final {
	border-bottom: 0;

	padding-top:
		clamp(4.75rem, 6.5vw, 6.5rem);

	padding-bottom:
		clamp(7rem, 9vw, 9rem);
}


.profile-team {
	display: grid;

	grid-template-columns:
		minmax(0, 1.2fr)
		auto;

	align-items: end;

	gap:
		clamp(3rem, 6vw, 6rem);
}


.profile-team
.profile-row__title {
	margin-bottom: 1rem;
}


.profile-team p {
	max-width: 34rem;

	margin: 0;

	color:
		rgba(45, 72, 91, 0.68);

	font-size: 0.9rem;

	line-height: 1.72;
}


/* ==========================================================================
   TEAM LINK
   ========================================================================== */

.profile-team__link {
	display: inline-flex;

	align-items: center;

	justify-content: space-between;

	gap: 3rem;

	min-width: 13rem;

	padding:
		0
		0
		0.7rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.25);

	color: var(--profile-navy);

	font-size: 0.61rem;

	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.13em;

	text-decoration: none;

	text-transform: uppercase;

	transition:
		border-color 280ms ease;
}


.profile-team__link span:last-child {
	color: var(--profile-gold);

	font-size: 1rem;

	transition:
		transform
		320ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.profile-team__link:hover,
.profile-team__link:focus-visible {
	border-color: var(--profile-navy);
}


.profile-team__link:hover span:last-child,
.profile-team__link:focus-visible span:last-child {
	transform:
		translate(0.22rem, -0.22rem);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 72rem) {

	.profile-intro__title {
		font-size:
			clamp(2.5rem, 4vw, 3.6rem);

		white-space: normal;
	}


	.profile-row {
		grid-template-columns:
			8rem
			minmax(0, 1fr);

		gap: 3rem;
	}


	.profile-expertise__intro {
		grid-template-columns: 1fr;

		gap: 1.25rem;
	}


	.profile-expertise__intro > p {
		max-width: 38rem;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 62rem) {

	.profile-intro__grid {
		grid-template-columns: 1fr;

		gap: 2.25rem;
	}


	.profile-intro__side {
		max-width: 40rem;
	}


	.profile-row {
		grid-template-columns: 1fr;

		gap: 2rem;
	}


	.profile-row__rail {
		display: flex;

		align-items: center;

		gap: 1rem;

		padding-top: 0;
	}


	.profile-row__number,
	.profile-row__label {
		margin: 0;
	}


	.profile-row__rail::after {
		width: 3rem;

		margin: 0;
	}


	.profile-team {
		grid-template-columns: 1fr;

		align-items: start;
	}


	.profile-team__link {
		margin-top: 0.5rem;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	/*
	 * Slightly smaller vector on mobile.
	 */



	/* ----------------------------------------------------------------------
	   Intro
	   ---------------------------------------------------------------------- */

	.profile-intro {
		padding:
			calc(var(--header-height) + 1.25rem)
			0
			2.8rem;
	}


	.profile-intro__grid {
		gap: 1.8rem;
	}


	.profile-intro__title {
		font-size:
			clamp(2.45rem, 10.7vw, 3.25rem);

		line-height: 1;
	}


	.profile-label {
		padding-left: 3rem;
	}


	.profile-label::before {
		width: 2.15rem;
	}


	/* ----------------------------------------------------------------------
	   Document
	   ---------------------------------------------------------------------- */

	.profile-row {
		gap: 1.65rem;

		padding:
			3.5rem
			0;
	}


	.profile-row__title {
		margin-bottom: 1.6rem;

		font-size:
			clamp(1.8rem, 8vw, 2.45rem);
	}


	.profile-copy p {
		font-size: 0.92rem;

		line-height: 1.76;
	}


	.profile-copy
	.profile-copy__lead {
		font-size: 1.04rem;

		line-height: 1.62;
	}


	/* ----------------------------------------------------------------------
	   Location
	   ---------------------------------------------------------------------- */

	.profile-location-line {
		display: grid;

		grid-template-columns: 1fr;

		gap: 1.3rem;

		margin-top: 2.25rem;
	}


	/* ----------------------------------------------------------------------
	   Expertise
	   ---------------------------------------------------------------------- */

	.profile-expertise__intro {
		margin-bottom: 2rem;
	}


	.profile-expertise__link {
		grid-template-columns:
			2.4rem
			minmax(0, 1fr)
			auto;

		padding:
			1rem
			0;
	}


	.profile-expertise__name {
		font-size: 1.05rem;
	}


	.profile-expertise__link:hover::before,
	.profile-expertise__link:focus-visible::before {
		width: 2.4rem;
	}


	/* ----------------------------------------------------------------------
	   Team
	   ---------------------------------------------------------------------- */

	.profile-row--final {
		padding-top: 3.75rem;

		padding-bottom: 5.5rem;
	}


	.profile-team__link {
		width: 100%;

		min-width: 0;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.profile-expertise__link,
	.profile-expertise__link::before,
	.profile-expertise__arrow,
	.profile-team__link,
	.profile-team__link span:last-child {
		transition: none;
	}

}



/* ==========================================================================
   VALIDATION / TRANSLATION PAGE
   ========================================================================== */

.translation-page {
	--translation-bg: #f7f4ef;
	--translation-navy: #062f5b;
	--translation-navy-deep: #031f3d;
	--translation-gold: #c49a6c;
	--translation-muted: #607382;
	--translation-line: rgba(6, 47, 91, 0.12);

	overflow: hidden;

	background: var(--translation-bg);
	color: var(--translation-navy-deep);
}


/* ==========================================================================
   HEADER / LOGO
   ========================================================================== */

body:has(.translation-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--translation-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.translation-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.translation-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.translation-hero {
	position: relative;

	padding:
		calc(var(--header-height) + 1.5rem)
		0
		clamp(3rem, 4vw, 4rem);

	overflow: hidden;
	isolation: isolate;
}


.translation-hero__pattern {
	position: absolute;

	top: -18rem;
	right: -16rem;

	z-index: 0;

	width: 40rem;
	height: 40rem;

	border:
		1px solid rgba(6, 47, 91, 0.025);

	border-radius: 50%;

	pointer-events: none;
}


.translation-hero__pattern::before,
.translation-hero__pattern::after {
	content: "";

	position: absolute;

	border:
		1px solid rgba(6, 47, 91, 0.02);

	border-radius: 50%;
}


.translation-hero__pattern::before {
	inset: 5rem;
}


.translation-hero__pattern::after {
	inset: 10rem;
}


.translation-hero .site-container {
	position: relative;
	z-index: 2;
}


.translation-hero__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.45fr)
		minmax(18rem, 0.55fr);

	align-items: end;

	gap:
		clamp(3rem, 7vw, 8rem);
}


/* ==========================================================================
   HERO TYPOGRAPHY
   ========================================================================== */

.translation-eyebrow {
	position: relative;

	margin:
		0
		0
		0.8rem;

	padding-left: 3.5rem;

	color: #a87549;

	font-size: 0.6rem;
	font-weight: 600;

	line-height: 1.4;

	letter-spacing: 0.19em;
	text-transform: uppercase;
}


.translation-eyebrow::before {
	content: "";

	position: absolute;

	top: 0.7em;
	left: 0;

	width: 2.55rem;
	height: 1px;

	background: currentColor;
}


.translation-hero__title {
	max-width: 53rem;

	margin: 0;

	color: var(--translation-navy-deep);

	font-size:
		clamp(2.7rem, 4.2vw, 4.6rem);

	font-weight: 300;

	line-height: 0.97;

	letter-spacing: -0.052em;
}


.translation-hero__intro {
	max-width: 27rem;

	padding-bottom: 0.2rem;
}


.translation-hero__line {
	display: block;

	width: 2.7rem;
	height: 1px;

	margin-bottom: 0.9rem;

	background: var(--translation-gold);
}


.translation-hero__intro p {
	margin: 0;

	color:
		rgba(3, 31, 61, 0.58);

	font-size: 0.88rem;

	line-height: 1.67;
}


/* ==========================================================================
   MAIN
   ========================================================================== */

.translation-main
.site-container {
	border-top:
		1px solid var(--translation-line);
}


.translation-main__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.2fr)
		minmax(23rem, 0.6fr);

	gap:
		clamp(4rem, 7vw, 8rem);

	align-items: start;
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.translation-content {
	min-width: 0;
}


/* ==========================================================================
   CONTENT SECTION
   ========================================================================== */

.translation-section {
	display: grid;

	grid-template-columns:
		8rem
		minmax(0, 1fr);

	gap:
		clamp(2.5rem, 5vw, 5rem);

	padding:
		clamp(4rem, 5.5vw, 5.5rem)
		0;

	border-bottom:
		1px solid var(--translation-line);
}


.translation-section:last-child {
	border-bottom: 0;
}


/* ==========================================================================
   SECTION RAIL
   ========================================================================== */

.translation-section__rail {
	padding-top: 0.15rem;
}


.translation-section__rail > span {
	display: block;

	margin-bottom: 0.75rem;

	color: var(--translation-gold);

	font-size: 0.53rem;
	font-weight: 600;

	letter-spacing: 0.15em;
}


.translation-section__rail p {
	max-width: 7rem;

	margin: 0;

	color:
		rgba(3, 31, 61, 0.48);

	font-size: 0.59rem;

	font-weight: 600;

	line-height: 1.5;

	letter-spacing: 0.15em;

	text-transform: uppercase;
}


/* ==========================================================================
   SECTION BODY
   ========================================================================== */

.translation-section__body {
	max-width: 46rem;
}


.translation-section__body h2 {
	max-width: 39rem;

	margin:
		0
		0
		1.6rem;

	color: var(--translation-navy-deep);

	font-size:
		clamp(1.7rem, 2.25vw, 2.35rem);

	font-weight: 320;

	line-height: 1.08;

	letter-spacing: -0.038em;
}


.translation-section__body > p {
	max-width: 43rem;

	margin:
		0
		0
		1.2rem;

	color: var(--translation-muted);

	font-size: 0.93rem;

	line-height: 1.77;
}


.translation-section__body
.translation-section__lead {
	color: #294b63;

	font-size:
		clamp(1.03rem, 1.15vw, 1.18rem);

	line-height: 1.65;
}


/* ==========================================================================
   DOCUMENT LIST
   ========================================================================== */

.translation-document-list {
	margin: 0;
	padding: 0;

	list-style: none;

	border-top:
		1px solid var(--translation-line);
}


.translation-document-list li {
	display: grid;

	grid-template-columns:
		3rem
		1fr;

	align-items: center;

	gap: 1rem;

	padding:
		1rem
		0;

	border-bottom:
		1px solid var(--translation-line);

	color: #294b63;

	font-size: 0.92rem;
}


.translation-document-list li span {
	color:
		rgba(3, 31, 61, 0.35);

	font-size: 0.53rem;

	font-weight: 600;

	letter-spacing: 0.12em;
}


/* ==========================================================================
   STEPS
   ========================================================================== */

.translation-steps {
	margin: 0;
	padding: 0;

	list-style: none;

	border-top:
		1px solid var(--translation-line);
}


.translation-steps li {
	display: grid;

	grid-template-columns:
		3rem
		minmax(0, 1fr);

	gap: 1.2rem;

	padding:
		1.25rem
		0;

	border-bottom:
		1px solid var(--translation-line);
}


.translation-steps__number {
	padding-top: 0.15rem;

	color: var(--translation-gold);

	font-size: 0.53rem;

	font-weight: 600;

	letter-spacing: 0.13em;
}


.translation-steps strong {
	display: block;

	margin-bottom: 0.35rem;

	color: #294b63;

	font-size: 0.9rem;

	font-weight: 520;
}


.translation-steps p {
	max-width: 36rem;

	margin: 0;

	color: var(--translation-muted);

	font-size: 0.84rem;

	line-height: 1.65;
}


/* ==========================================================================
   NOTES
   ========================================================================== */

.translation-notes {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap:
		clamp(1.5rem, 3vw, 2.5rem);
}


.translation-notes p {
	margin: 0;

	color: var(--translation-muted);

	font-size: 0.82rem;

	line-height: 1.65;
}


.translation-notes strong {
	display: block;

	margin-bottom: 0.45rem;

	color: #294b63;

	font-size: 0.82rem;

	font-weight: 550;
}


/* ==========================================================================
   REQUEST SIDEBAR
   ========================================================================== */

.translation-request {
	position: relative;

	min-width: 0;

	padding:
		clamp(4rem, 5.5vw, 5.5rem)
		0
		5rem;
}


.translation-request__sticky {
	position: sticky;

	top:
		calc(5.25rem + 2rem);

	padding-left:
		clamp(2rem, 3vw, 3rem);

	border-left:
		1px solid var(--translation-line);
}


/* ==========================================================================
   REQUEST HEADER
   ========================================================================== */

.translation-request__header {
	margin-bottom: 2rem;
}


.translation-request__eyebrow {
	margin:
		0
		0
		0.6rem;

	color: var(--translation-gold);

	font-size: 0.57rem;

	font-weight: 600;

	letter-spacing: 0.16em;

	text-transform: uppercase;
}


.translation-request__header h2 {
	margin:
		0
		0
		0.7rem;

	color: var(--translation-navy-deep);

	font-size:
		clamp(1.75rem, 2.3vw, 2.45rem);

	font-weight: 320;

	line-height: 1.05;

	letter-spacing: -0.04em;
}


.translation-request__header p {
	max-width: 24rem;

	margin: 0;

	color: var(--translation-muted);

	font-size: 0.84rem;

	line-height: 1.65;
}


/* ==========================================================================
   CONTACT FORM 7
   ========================================================================== */

.translation-request
.wpcf7 {
	margin: 0;
}


/*
 * Remove CF7's default paragraph spacing.
 */

.translation-request
.wpcf7 p {
	margin: 0;
}


/* ==========================================================================
   FORM LAYOUT
   ========================================================================== */

.translation-form {
	display: grid;

	gap: 1.45rem;
}


.translation-form__row--two {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 1.4rem;
}


.translation-form__field {
	position: relative;
}


.translation-form__field > label,
.translation-form__upload-heading > label {
	display: block;

	margin-bottom: 0.42rem;

	color:
		rgba(3, 31, 61, 0.52);

	font-size: 0.57rem;

	font-weight: 600;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.translation-form__field > label span {
	color: var(--translation-gold);
}


/* ==========================================================================
   INPUTS
   ========================================================================== */

.translation-form
input[type="text"],

.translation-form
input[type="email"],

.translation-form
input[type="tel"],

.translation-form
select,

.translation-form
textarea {
	display: block;

	width: 100%;

	margin: 0;

	padding:
		0.6rem
		0
		0.72rem;

	border: 0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.22);

	border-radius: 0;

	outline: 0;

	background: transparent;

	color: var(--translation-navy-deep);

	font-family: inherit;

	font-size: 0.9rem;

	line-height: 1.4;

	box-shadow: none;

	transition:
		border-color 280ms ease;
}


.translation-form
textarea {
	min-height: 7rem;

	resize: vertical;
}


.translation-form
select {
	appearance: none;
	-webkit-appearance: none;

	padding-right: 2rem;

	cursor: pointer;

	background-image:
		linear-gradient(
			45deg,
			transparent 50%,
			var(--translation-gold) 50%
		),
		linear-gradient(
			135deg,
			var(--translation-gold) 50%,
			transparent 50%
		);

	background-position:
		calc(100% - 0.8rem) 50%,
		calc(100% - 0.5rem) 50%;

	background-size:
		0.32rem 0.32rem,
		0.32rem 0.32rem;

	background-repeat: no-repeat;
}


.translation-form
input:focus,

.translation-form
select:focus,

.translation-form
textarea:focus {
	border-bottom-color:
		var(--translation-gold);
}


/* ==========================================================================
   CF7 VALIDATION
   ========================================================================== */

.translation-form
.wpcf7-not-valid {
	border-bottom-color:
		#9a4d4d !important;
}


.translation-form
.wpcf7-not-valid-tip {
	margin-top: 0.4rem;

	color: #8b4b4b;

	font-size: 0.7rem;

	line-height: 1.4;
}


/* ==========================================================================
   FILE UPLOAD
   ========================================================================== */

.translation-form__field--upload {
	padding-top: 0.25rem;
}


.translation-form__upload-heading {
	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 1rem;

	margin-bottom: 0.8rem;
}


.translation-form__upload-heading > label {
	margin: 0;
}


.translation-form__upload-heading > span {
	color:
		rgba(3, 31, 61, 0.38);

	font-size: 0.58rem;

	line-height: 1.4;
}


.translation-form
input[type="file"] {
	display: block;

	width: 100%;

	color:
		rgba(3, 31, 61, 0.55);

	font-family: inherit;

	font-size: 0.75rem;
}


.translation-form
input[type="file"]::file-selector-button {
	margin-right: 1rem;

	padding:
		0.7rem
		1rem;

	border:
		1px solid rgba(6, 47, 91, 0.2);

	border-radius: 0;

	background: transparent;

	color: var(--translation-navy);

	font-family: inherit;

	font-size: 0.58rem;

	font-weight: 600;

	letter-spacing: 0.1em;

	text-transform: uppercase;

	cursor: pointer;

	transition:
		border-color 280ms ease,
		background-color 280ms ease;
}


.translation-form
input[type="file"]::file-selector-button:hover {
	border-color:
		var(--translation-gold);

	background:
		rgba(196, 154, 108, 0.06);
}


/* ==========================================================================
   PRIVACY
   ========================================================================== */

.translation-form__privacy {
	padding-top: 0.25rem;

	color:
		rgba(3, 31, 61, 0.55);

	font-size: 0.72rem;

	line-height: 1.55;
}


.translation-form__privacy
.wpcf7-list-item {
	margin: 0;
}


.translation-form__privacy label {
	display: flex;

	align-items: flex-start;

	gap: 0.65rem;
}


.translation-form__privacy
input[type="checkbox"] {
	flex: 0 0 auto;

	width: 0.9rem;
	height: 0.9rem;

	margin-top: 0.16rem;

	accent-color:
		var(--translation-navy);
}


.translation-form__privacy a {
	color: var(--translation-navy);

	text-decoration:
		underline;

	text-decoration-color:
		rgba(6, 47, 91, 0.3);

	text-underline-offset:
		0.2rem;
}


/* ==========================================================================
   SUBMIT
   ========================================================================== */

.translation-form__submit {
	position: relative;

	margin-top: 0.35rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.26);
}


.translation-form__submit
input[type="submit"] {
	display: block;

	width: 100%;

	padding:
		0.9rem
		2.5rem
		0.9rem
		0;

	border: 0;

	background: transparent;

	color: var(--translation-navy);

	font-family: inherit;

	font-size: 0.62rem;

	font-weight: 650;

	letter-spacing: 0.14em;

	text-align: left;

	text-transform: uppercase;

	cursor: pointer;
}


.translation-form__submit-arrow {
	position: absolute;

	top: 50%;
	right: 0;

	color: var(--translation-gold);

	font-size: 1rem;

	pointer-events: none;

	transform:
		translateY(-50%);

	transition:
		transform
		320ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.translation-form__submit:hover
.translation-form__submit-arrow {
	transform:
		translate(0.2rem, calc(-50% - 0.2rem));
}


/* ==========================================================================
   CF7 SPINNER
   ========================================================================== */

.translation-form__submit
.wpcf7-spinner {
	position: absolute;

	top: 50%;
	right: 2rem;

	margin: 0;

	transform:
		translateY(-50%);
}


/* ==========================================================================
   CF7 RESPONSE
   ========================================================================== */

.translation-request
.wpcf7-response-output {
	margin:
		1.5rem
		0
		0 !important;

	padding:
		0.85rem
		1rem !important;

	border:
		1px solid rgba(6, 47, 91, 0.16) !important;

	color:
		var(--translation-muted);

	font-size: 0.75rem;

	line-height: 1.55;
}


.translation-request
.wpcf7 form.sent
.wpcf7-response-output {
	border-color:
		rgba(196, 154, 108, 0.55) !important;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.translation-main__grid {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(20rem, 0.55fr);

		gap: 3.5rem;
	}


	.translation-section {
		grid-template-columns:
			6rem
			minmax(0, 1fr);

		gap: 2rem;
	}


	.translation-notes {
		grid-template-columns: 1fr;

		gap: 1.25rem;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 58rem) {

	.translation-hero__grid {
		grid-template-columns: 1fr;

		gap: 2.25rem;
	}


	.translation-hero__intro {
		max-width: 40rem;
	}


	.translation-main__grid {
		grid-template-columns: 1fr;

		gap: 0;
	}


	.translation-request {
		order: -1;

		padding:
			3.5rem
			0;

		border-bottom:
			1px solid var(--translation-line);
	}


	.translation-request__sticky {
		position: static;

		padding-left: 0;

		border-left: 0;
	}


	.translation-request__form {
		max-width: 42rem;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.translation-hero {
		padding:
			calc(var(--header-height) + 1.25rem)
			0
			2.8rem;
	}


	.translation-hero__pattern {
		top: -15rem;
		right: -17rem;

		width: 30rem;
		height: 30rem;
	}


	.translation-hero__title {
		font-size:
			clamp(2.5rem, 11vw, 3.4rem);
	}


	.translation-eyebrow {
		padding-left: 3rem;
	}


	.translation-eyebrow::before {
		width: 2.15rem;
	}


	.translation-request {
		padding:
			3rem
			0;
	}


	.translation-form__row--two {
		grid-template-columns: 1fr;
	}


	.translation-section {
		grid-template-columns: 1fr;

		gap: 1.5rem;

		padding:
			3.5rem
			0;
	}


	.translation-section__rail {
		display: flex;

		align-items: center;

		gap: 0.8rem;
	}


	.translation-section__rail > span,
	.translation-section__rail p {
		margin: 0;
	}


	.translation-section__body h2 {
		font-size:
			clamp(1.7rem, 8vw, 2.3rem);
	}


	.translation-notes {
		grid-template-columns: 1fr;
	}


	.translation-form__upload-heading {
		display: grid;

		gap: 0.35rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.translation-form
	input,

	.translation-form
	select,

	.translation-form
	textarea,

	.translation-form__submit-arrow,

	.translation-form
	input[type="file"]::file-selector-button {
		transition: none;
	}

}


/* ==========================================================================
   TRANSLATION FORM — CUSTOM SERVICE DROPDOWN
   ========================================================================== */

.translation-form__field--service {
	position: relative;
}


/*
 * Hide native select visually.
 * It remains in the DOM so CF7 validation/submission still works normally.
 */

.translation-form__field--service > .wpcf7-form-control-wrap > select {
	position: absolute !important;

	width: 1px !important;
	height: 1px !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	clip: rect(0 0 0 0);
	clip-path: inset(50%);

	white-space: nowrap;

	border: 0 !important;

	opacity: 0;

	pointer-events: none;
}


/* ==========================================================================
   CUSTOM SELECT
   ========================================================================== */

.translation-service-select {
	position: relative;

	width: 100%;
}


.translation-service-select__trigger {
	appearance: none;

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 1.5rem;

	width: 100%;

	margin: 0;

	padding:
		0.72rem
		0
		0.8rem;

	border: 0;
	border-bottom:
		1px solid rgba(6, 47, 91, 0.22);

	border-radius: 0;

	background: transparent;

	color: var(--translation-navy-deep);

	font-family: inherit;

	font-size: 0.9rem;
	font-weight: 400;

	line-height: 1.4;

	text-align: left;

	cursor: pointer;

	transition:
		border-color 280ms ease,
		color 280ms ease;
}


.translation-service-select__trigger:hover,
.translation-service-select__trigger:focus-visible,
.translation-service-select.is-open
.translation-service-select__trigger {
	border-bottom-color:
		var(--translation-gold);

	outline: none;
}


/* ==========================================================================
   ARROW
   ========================================================================== */

.translation-service-select__arrow {
	position: relative;

	flex: 0 0 auto;

	width: 0.65rem;
	height: 0.65rem;

	margin-right: 0.15rem;

	border-right:
		1px solid var(--translation-gold);

	border-bottom:
		1px solid var(--translation-gold);

	transform:
		rotate(45deg)
		translateY(-0.15rem);

	transition:
		transform
		380ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.translation-service-select.is-open
.translation-service-select__arrow {
	transform:
		rotate(225deg)
		translate(-0.1rem, -0.1rem);
}


/* ==========================================================================
   DROPDOWN
   The menu stays in normal document flow.
   Opening it PUSHES the rest of the form down.
   Closing it PULLS everything back up.
   ========================================================================== */

.translation-service-select__menu {
	display: grid;

	grid-template-rows:
		0fr;

	opacity: 0;

	visibility: hidden;

	transition:
		grid-template-rows
		520ms
		cubic-bezier(0.22, 1, 0.36, 1),
		opacity
		260ms ease,
		visibility
		0s linear 520ms;
}


.translation-service-select.is-open
.translation-service-select__menu {
	grid-template-rows:
		1fr;

	opacity: 1;

	visibility: visible;

	transition:
		grid-template-rows
		520ms
		cubic-bezier(0.22, 1, 0.36, 1),
		opacity
		300ms ease 70ms,
		visibility 0s;
}


.translation-service-select__menu-inner {
	min-height: 0;

	overflow: hidden;
}


.translation-service-select__options {
	margin-top: 0;

	padding:
		0.3rem
		0
		0.55rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.12);
}


/* ==========================================================================
   DROPDOWN OPTION
   ========================================================================== */

.translation-service-select__option {
	appearance: none;

	position: relative;

	display: flex;

	align-items: center;
	justify-content: space-between;

	width: 100%;

	margin: 0;

	padding:
		0.72rem
		0.15rem;

	border: 0;

	background: transparent;

	color:
		rgba(3, 31, 61, 0.62);

	font-family: inherit;

	font-size: 0.83rem;
	font-weight: 400;

	line-height: 1.4;

	text-align: left;

	cursor: pointer;

	transition:
		color 240ms ease,
		padding-left
		350ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.translation-service-select__option::after {
	content: "";

	width: 0;
	height: 1px;

	background:
		var(--translation-gold);

	transition:
		width
		350ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.translation-service-select__option:hover,
.translation-service-select__option:focus-visible {
	padding-left: 0.4rem;

	color:
		var(--translation-navy);

	outline: none;
}


.translation-service-select__option:hover::after,
.translation-service-select__option:focus-visible::after {
	width: 1.8rem;
}


.translation-service-select__option.is-selected {
	color:
		var(--translation-navy);

	font-weight: 520;
}


.translation-service-select__option.is-selected::after {
	width: 1.8rem;
}


/* ==========================================================================
   INVALID SERVICE
   ========================================================================== */

.translation-form__field--service.has-error
.translation-service-select__trigger {
	border-bottom-color:
		#9a4d4d;
}


/* ==========================================================================
   SUBMIT BUTTON — FINAL
   ========================================================================== */

.translation-form__submit {
	position: relative;

	display: flex;

	align-items: stretch;

	width: 100%;

	margin-top: 0.6rem;

	border: 0;

	overflow: hidden;

	background:
		var(--translation-gold);

	transition:
		background-color 320ms ease,
		transform
		180ms
		cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 320ms ease;
}


/*
 * The actual CF7 submit input.
 */

.translation-form__submit
input[type="submit"] {
	appearance: none;

	position: relative;

	z-index: 2;

	display: flex;

	align-items: center;

	width: 100%;

	min-height: 3.65rem;

	margin: 0;

	padding:
		1rem
		3.8rem
		1rem
		1.35rem;

	border: 0;

	border-radius: 0;

	background: transparent;

	color:
		var(--translation-navy-deep);

	font-family: inherit;

	font-size: 0.62rem;
	font-weight: 650;

	line-height: 1;

	letter-spacing: 0.14em;

	text-align: left;

	text-transform: uppercase;

	cursor: pointer;

	transition:
		color 320ms ease;
}


/* ==========================================================================
   SUBMIT ARROW
   ========================================================================== */

.translation-form__submit-arrow {
	position: absolute;

	z-index: 3;

	top: 50%;
	right: 1.35rem;

	display: flex;

	align-items: center;
	justify-content: center;

	color:
		var(--translation-navy-deep);

	font-size: 1rem;

	line-height: 1;

	pointer-events: none;

	transform:
		translateY(-50%);

	transition:
		color 320ms ease,
		transform
		350ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


/* ==========================================================================
   BUTTON HOVER
   Beige → Navy
   ========================================================================== */

.translation-form__submit:hover,
.translation-form__submit:focus-within {
	background:
		var(--translation-navy);
}


.translation-form__submit:hover
input[type="submit"],
.translation-form__submit:focus-within
input[type="submit"] {
	color: #fff;
}


.translation-form__submit:hover
.translation-form__submit-arrow,
.translation-form__submit:focus-within
.translation-form__submit-arrow {
	color: var(--translation-gold);

	transform:
		translate(0.22rem, calc(-50% - 0.22rem));
}


/* ==========================================================================
   BUTTON PRESS
   ========================================================================== */

.translation-form__submit:active {
	background:
		var(--translation-navy-deep);

	transform:
		scale(0.985);
}


/* ==========================================================================
   CF7 LOADING STATE
   ========================================================================== */

.translation-form__submit
.wpcf7-spinner {
	position: absolute;

	z-index: 4;

	top: 50%;
	right: 3.1rem;

	margin: 0;

	transform:
		translateY(-50%);
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.translation-service-select__trigger {
		font-size: 0.88rem;
	}


	.translation-service-select__option {
		padding:
			0.8rem
			0.1rem;
	}


	.translation-form__submit
	input[type="submit"] {
		min-height: 3.8rem;

		padding-left: 1.2rem;
		padding-right: 3.6rem;
	}


	.translation-form__submit-arrow {
		right: 1.2rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.translation-service-select__menu,
	.translation-service-select__arrow,
	.translation-service-select__option,
	.translation-service-select__option::after,
	.translation-form__submit,
	.translation-form__submit input[type="submit"],
	.translation-form__submit-arrow {
		transition: none !important;
	}

}


/* ==========================================================================
   TRANSLATION FORM — FINAL SERVICE + SUBMIT REFINEMENT
   ========================================================================== */


/* --------------------------------------------------------------------------
   Hide the original CF7 service select.
   The custom animated selector remains visible.
   -------------------------------------------------------------------------- */

.translation-form__field--service
#translation-service {
	display: none !important;
}


/* --------------------------------------------------------------------------
   Remove any old submit arrow
   -------------------------------------------------------------------------- */

.translation-form__submit-arrow {
	display: none !important;
}


/* --------------------------------------------------------------------------
   Smaller, quieter submit button
   -------------------------------------------------------------------------- */

.translation-form__submit {
	position: relative;

	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: auto;

	min-width: 12.5rem;

	margin-top: 0.85rem;

	justify-self: center;

	overflow: hidden;

	border: 0;

	background:
		rgba(196, 154, 108, 0.24);

	transition:
		background-color 300ms ease,
		transform 160ms ease;
}


.translation-form__submit
input[type="submit"] {
	appearance: none;

	display: block;

	width: auto;

	min-height: 3rem;

	margin: 0;

	padding:
		0.85rem
		1.35rem;

	border: 0;

	background: transparent;

	color:
		var(--translation-navy-deep);

	font-family: inherit;

	font-size: 0.58rem;

	font-weight: 650;

	line-height: 1;

	letter-spacing: 0.13em;

	text-align: center;

	text-transform: uppercase;

	cursor: pointer;

	transition:
		color 300ms ease;
}


/* Hover */

.translation-form__submit:hover,
.translation-form__submit:focus-within {
	background:
		var(--translation-navy);
}


.translation-form__submit:hover
input[type="submit"],
.translation-form__submit:focus-within
input[type="submit"] {
	color: #fff;
}


/* Press */

.translation-form__submit:active {
	background:
		var(--translation-navy-deep);

	transform:
		scale(0.975);
}


/* CF7 spinner */

.translation-form__submit
.wpcf7-spinner {
	position: absolute;

	top: 50%;
	right: -2rem;

	margin: 0;

	transform:
		translateY(-50%);
}


/* Mobile */

@media (max-width: 47.9375rem) {

	.translation-form__submit {
		min-width: 11.5rem;
	}


	.translation-form__submit
	input[type="submit"] {
		min-height: 2.9rem;

		padding:
			0.82rem
			1.2rem;
	}

}


/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.contact-page {
	--contact-bg: #f7f4ef;
	--contact-panel: rgba(213, 170, 130, 0.12);
	--contact-navy: #062f5b;
	--contact-navy-deep: #031f3d;
	--contact-gold: #b88d62;
	--contact-muted: rgba(3, 31, 61, 0.58);
	--contact-line: rgba(6, 47, 91, 0.13);

	position: relative;

	min-height: 100vh;

	padding:
		calc(var(--header-height) + 3rem)
		0
		clamp(6rem, 9vw, 9rem);

	background:
		var(--contact-bg);

	color:
		var(--contact-navy-deep);
}


/* ==========================================================================
   HEADER STATE
   ========================================================================== */

body:has(.contact-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--contact-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.contact-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.contact-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   CONTACT CARD
   ========================================================================== */

.contact-card {
	position: relative;

	width: min(100%, 42rem);

	margin-inline: auto;

	padding:
		clamp(3.5rem, 6vw, 5.5rem)
		clamp(2rem, 5vw, 4.5rem)
		clamp(3.5rem, 6vw, 5rem);

	background:
		var(--contact-panel);

	border:
		1px solid rgba(184, 141, 98, 0.16);
}


/* subtle internal frame */

.contact-card::before {
	content: "";

	position: absolute;

	inset: 0.75rem;

	pointer-events: none;

	border:
		1px solid rgba(184, 141, 98, 0.08);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.contact-card__header {
	position: relative;

	z-index: 1;

	text-align: center;
}


.contact-card__eyebrow {
	position: relative;

	display: inline-flex;

	align-items: center;

	gap: 0.9rem;

	margin:
		0
		0
		1.1rem;

	color:
		var(--contact-gold);

	font-size: 0.57rem;

	font-weight: 600;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.contact-card__eyebrow::before,
.contact-card__eyebrow::after {
	content: "";

	width: 1.5rem;
	height: 1px;

	background:
		rgba(184, 141, 98, 0.55);
}


.contact-card__title {
	max-width: 31rem;

	margin:
		0
		auto;

	color:
		var(--contact-navy-deep);

	font-size:
		clamp(2.7rem, 5vw, 4.2rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.052em;
}


.contact-card__location {
	margin:
		1.4rem
		0
		0;

	color:
		var(--contact-muted);

	font-size: 0.72rem;

	font-weight: 500;

	letter-spacing: 0.12em;

	text-transform: uppercase;
}


/* ==========================================================================
   DIVIDER
   ========================================================================== */

.contact-card__divider {
	position: relative;

	z-index: 1;

	width: 2.75rem;
	height: 1px;

	margin:
		2.5rem
		auto;

	background:
		var(--contact-gold);
}


/* ==========================================================================
   DETAILS
   ========================================================================== */

.contact-card__details {
	position: relative;

	z-index: 1;

	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap:
		2rem;

	margin-bottom:
		clamp(3rem, 5vw, 4.5rem);

	text-align: center;
}


.contact-card__detail {
	display: grid;

	gap: 0.35rem;
}


.contact-card__label {
	color:
		rgba(3, 31, 61, 0.38);

	font-size: 0.54rem;

	font-weight: 600;

	letter-spacing: 0.14em;

	text-transform: uppercase;
}


.contact-card__detail a,
.contact-card__detail > span:not(.contact-card__label) {
	color:
		var(--contact-navy);

	font-size: 0.86rem;

	line-height: 1.5;

	text-decoration: none;
}


.contact-card__detail a {
	transition:
		color 220ms ease;
}


.contact-card__detail a:hover {
	color:
		var(--contact-gold);
}


/* ==========================================================================
   FORM HEADING
   ========================================================================== */

.contact-card__form-heading {
	position: relative;

	z-index: 1;

	margin-bottom: 2rem;

	padding-top: 2rem;

	border-top:
		1px solid var(--contact-line);

	text-align: center;
}


.contact-card__form-heading p {
	margin:
		0
		0
		0.45rem;

	color:
		var(--contact-navy-deep);

	font-size: 1.25rem;

	font-weight: 400;

	letter-spacing: -0.02em;
}


.contact-card__form-heading span {
	display: block;

	max-width: 26rem;

	margin-inline: auto;

	color:
		var(--contact-muted);

	font-size: 0.77rem;

	line-height: 1.6;
}


/* ==========================================================================
   FORM
   ========================================================================== */

.contact-card__form {
	position: relative;

	z-index: 1;
}


.contact-form {
	display: grid;

	gap: 1.55rem;
}


.contact-form__row--two {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 1.5rem;
}


/* ==========================================================================
   LABELS
   ========================================================================== */

.contact-form__field > label {
	display: block;

	margin-bottom: 0.4rem;

	color:
		rgba(3, 31, 61, 0.48);

	font-size: 0.55rem;

	font-weight: 600;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.contact-form__field > label span {
	color:
		var(--contact-gold);
}


/* ==========================================================================
   INPUTS
   ========================================================================== */

.contact-form
input[type="text"],

.contact-form
input[type="email"],

.contact-form
input[type="tel"],

.contact-form
textarea {
	display: block;

	width: 100%;

	margin: 0;

	padding:
		0.62rem
		0
		0.75rem;

	border: 0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.2);

	border-radius: 0;

	outline: 0;

	background: transparent;

	color:
		var(--contact-navy-deep);

	font-family: inherit;

	font-size: 0.9rem;

	line-height: 1.45;

	box-shadow: none;

	transition:
		border-color 260ms ease;
}


.contact-form textarea {
	min-height: 7.5rem;

	resize: vertical;
}


.contact-form
input:focus,

.contact-form
textarea:focus {
	border-bottom-color:
		var(--contact-gold);
}


/* ==========================================================================
   PRIVACY
   ========================================================================== */

.contact-form__privacy {
	padding-top: 0.2rem;

	color:
		rgba(3, 31, 61, 0.52);

	font-size: 0.7rem;

	line-height: 1.55;
}


.contact-form__privacy
.wpcf7-list-item {
	margin: 0;
}


.contact-form__privacy label {
	display: flex;

	align-items: flex-start;

	gap: 0.65rem;
}


.contact-form__privacy
input[type="checkbox"] {
	flex: 0 0 auto;

	width: 0.9rem;
	height: 0.9rem;

	margin-top: 0.16rem;

	accent-color:
		var(--contact-navy);
}


.contact-form__privacy a {
	color:
		var(--contact-navy);

	text-decoration: underline;

	text-decoration-color:
		rgba(6, 47, 91, 0.25);

	text-underline-offset: 0.2rem;
}


/* ==========================================================================
   SUBMIT
   ========================================================================== */

.contact-form__submit {
	display: inline-flex;

	justify-self: center;

	margin-top: 0.75rem;

	background:
		rgba(184, 141, 98, 0.22);

	transition:
		background-color 280ms ease,
		transform 160ms ease;
}


.contact-form__submit
input[type="submit"] {
	appearance: none;

	min-width: 12rem;
	min-height: 3rem;

	margin: 0;

	padding:
		0.85rem
		1.4rem;

	border: 0;

	background: transparent;

	color:
		var(--contact-navy-deep);

	font-family: inherit;

	font-size: 0.57rem;

	font-weight: 650;

	letter-spacing: 0.13em;

	text-align: center;

	text-transform: uppercase;

	cursor: pointer;

	transition:
		color 280ms ease;
}


.contact-form__submit:hover,
.contact-form__submit:focus-within {
	background:
		var(--contact-navy);
}


.contact-form__submit:hover
input[type="submit"],

.contact-form__submit:focus-within
input[type="submit"] {
	color: #fff;
}


.contact-form__submit:active {
	background:
		var(--contact-navy-deep);

	transform:
		scale(0.975);
}


/* ==========================================================================
   CF7
   ========================================================================== */

.contact-card
.wpcf7 p {
	margin: 0;
}


.contact-form
.wpcf7-not-valid {
	border-bottom-color:
		#9a4d4d !important;
}


.contact-form
.wpcf7-not-valid-tip {
	margin-top: 0.4rem;

	color: #8b4b4b;

	font-size: 0.68rem;

	line-height: 1.4;
}


.contact-card
.wpcf7-response-output {
	margin:
		1.5rem
		0
		0 !important;

	padding:
		0.8rem
		1rem !important;

	border:
		1px solid rgba(6, 47, 91, 0.15) !important;

	color:
		var(--contact-muted);

	font-size: 0.72rem;

	line-height: 1.5;

	text-align: center;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.contact-page {
		padding:
			calc(var(--header-height) + 1.5rem)
			0
			4rem;
	}


	.contact-card {
		width: 100%;

		padding:
			3rem
			1.5rem
			3.25rem;
	}


	.contact-card::before {
		inset: 0.5rem;
	}


	.contact-card__title {
		font-size:
			clamp(2.5rem, 12vw, 3.4rem);
	}


	.contact-card__details {
		grid-template-columns: 1fr;

		gap: 1.25rem;
	}


	.contact-form__row--two {
		grid-template-columns: 1fr;

		gap: 1.55rem;
	}

}



/* ==========================================================================
   PRIVACY POLICY
   ========================================================================== */

.privacy-page {
	background: var(--color-ivory);
	color: var(--color-navy-deep);

	padding:
		calc(var(--header-height) + 3rem)
		0
		clamp(6rem, 9vw, 9rem);
}


body:has(.privacy-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--color-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.privacy-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.privacy-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


.privacy-hero {
	width: min(100%, 48rem);

	margin:
		0
		auto
		clamp(4rem, 7vw, 6rem);

	text-align: center;
}


.privacy-hero__eyebrow {
	margin:
		0
		0
		1rem;

	color: var(--color-sand);

	font-size: 0.58rem;
	font-weight: 600;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.privacy-hero h1 {
	margin:
		0
		0
		1.5rem;

	color: var(--color-navy-deep);

	font-size:
		clamp(2.8rem, 5vw, 4.7rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.05em;
}


.privacy-hero > p:last-child {
	width: min(100%, 36rem);

	margin-inline: auto;

	color:
		rgba(3, 31, 61, 0.58);

	font-size: 0.9rem;

	line-height: 1.75;
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.privacy-content {
	width: min(100%, 47rem);

	margin-inline: auto;

	border-top:
		1px solid rgba(6, 47, 91, 0.12);
}


.privacy-content section {
	padding:
		clamp(2.5rem, 4vw, 3.5rem)
		0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.1);
}


.privacy-content h2 {
	margin:
		0
		0
		1.25rem;

	color: var(--color-navy-deep);

	font-size:
		clamp(1.25rem, 2vw, 1.65rem);

	font-weight: 420;

	line-height: 1.25;

	letter-spacing: -0.025em;
}


.privacy-content p,
.privacy-content li {
	color:
		rgba(3, 31, 61, 0.65);

	font-size: 0.88rem;

	line-height: 1.8;
}


.privacy-content p {
	margin:
		0
		0
		1rem;
}


.privacy-content p:last-child {
	margin-bottom: 0;
}


.privacy-content ul {
	margin:
		1.1rem
		0
		1.2rem;

	padding-left: 1.2rem;
}


.privacy-content li {
	margin-bottom: 0.4rem;
}


.privacy-content a {
	color: var(--color-navy);

	text-decoration: underline;

	text-decoration-color:
		rgba(6, 47, 91, 0.25);

	text-underline-offset: 0.2rem;

	transition:
		color 220ms ease,
		text-decoration-color 220ms ease;
}


.privacy-content a:hover {
	color: var(--color-sand);

	text-decoration-color:
		var(--color-sand);
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.privacy-page {
		padding:
			calc(var(--header-height) + 1.75rem)
			0
			4.5rem;
	}


	.privacy-hero {
		margin-bottom: 3.5rem;
	}


	.privacy-content section {
		padding:
			2.4rem
			0;
	}

}

/* ==========================================================================
   COOKIES POLICY
   ========================================================================== */

.cookies-page {
	background: var(--color-ivory);
	color: var(--color-navy-deep);

	padding:
		calc(var(--header-height) + 3rem)
		0
		clamp(6rem, 9vw, 9rem);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

body:has(.cookies-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--color-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.cookies-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.cookies-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.cookies-hero {
	width: min(100%, 48rem);

	margin:
		0
		auto
		clamp(4rem, 7vw, 6rem);

	text-align: center;
}


.cookies-hero__eyebrow {
	margin:
		0
		0
		1rem;

	color: var(--color-sand);

	font-size: 0.58rem;
	font-weight: 600;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.cookies-hero h1 {
	margin:
		0
		0
		1.5rem;

	color: var(--color-navy-deep);

	font-size:
		clamp(2.8rem, 5vw, 4.7rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.05em;
}


.cookies-hero > p:last-child {
	width: min(100%, 38rem);

	margin-inline: auto;

	color:
		rgba(3, 31, 61, 0.58);

	font-size: 0.9rem;

	line-height: 1.75;
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.cookies-content {
	width: min(100%, 47rem);

	margin-inline: auto;

	border-top:
		1px solid rgba(6, 47, 91, 0.12);
}


.cookies-content section {
	padding:
		clamp(2.5rem, 4vw, 3.5rem)
		0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.1);
}


.cookies-content h2 {
	margin:
		0
		0
		1.25rem;

	color: var(--color-navy-deep);

	font-size:
		clamp(1.25rem, 2vw, 1.65rem);

	font-weight: 420;

	line-height: 1.25;

	letter-spacing: -0.025em;
}


.cookies-content h3 {
	margin:
		0
		0
		0.55rem;

	color: var(--color-navy);

	font-size: 0.9rem;

	font-weight: 560;

	line-height: 1.4;
}


.cookies-content p,
.cookies-content li {
	color:
		rgba(3, 31, 61, 0.65);

	font-size: 0.88rem;

	line-height: 1.8;
}


.cookies-content p {
	margin:
		0
		0
		1rem;
}


.cookies-content p:last-child {
	margin-bottom: 0;
}


.cookies-content a {
	color: var(--color-navy);

	text-decoration: underline;

	text-decoration-color:
		rgba(6, 47, 91, 0.25);

	text-underline-offset: 0.2rem;

	transition:
		color 220ms ease,
		text-decoration-color 220ms ease;
}


.cookies-content a:hover {
	color: var(--color-sand);

	text-decoration-color:
		var(--color-sand);
}


/* ==========================================================================
   COOKIE TYPES
   ========================================================================== */

.cookies-types {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap:
		2rem
		3rem;
}


.cookies-type {
	padding-top:
		1rem;

	border-top:
		1px solid rgba(6, 47, 91, 0.11);
}


.cookies-type p {
	font-size: 0.82rem;

	line-height: 1.7;
}


/* ==========================================================================
   TABLE
   ========================================================================== */

.cookies-table-wrap {
	width: 100%;

	margin-top: 2rem;

	overflow-x: auto;
}


.cookies-table {
	width: 100%;

	border-collapse: collapse;

	text-align: left;
}


.cookies-table th,
.cookies-table td {
	padding:
		0.9rem
		0.8rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.1);

	vertical-align: top;
}


.cookies-table th {
	color:
		rgba(3, 31, 61, 0.48);

	font-size: 0.53rem;

	font-weight: 650;

	letter-spacing: 0.12em;

	text-transform: uppercase;
}


.cookies-table td {
	color:
		rgba(3, 31, 61, 0.62);

	font-size: 0.78rem;

	line-height: 1.6;
}


.cookies-table tbody tr:first-child td {
	background:
		rgba(213, 170, 130, 0.08);

	color:
		rgba(3, 31, 61, 0.48);

	font-style: italic;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.cookies-page {
		padding:
			calc(var(--header-height) + 1.75rem)
			0
			4.5rem;
	}


	.cookies-hero {
		margin-bottom:
			3.5rem;
	}


	.cookies-content section {
		padding:
			2.4rem
			0;
	}


	.cookies-types {
		grid-template-columns: 1fr;

		gap: 1.5rem;
	}


	.cookies-table {
		min-width: 36rem;
	}

}


/* ==========================================================================
   CURRENT AFFAIRS / ΕΠΙΚΑΙΡΟΤΗΤΑ
   ========================================================================== */

.updates-page {
	--updates-bg: #f7f4ef;
	--updates-navy: #062f5b;
	--updates-deep: #031f3d;
	--updates-gold: #b88d62;
	--updates-muted: rgba(3, 31, 61, 0.58);
	--updates-line: rgba(6, 47, 91, 0.12);

	position: relative;

	overflow: hidden;

	background:
		var(--updates-bg);

	color:
		var(--updates-deep);
}


/* ==========================================================================
   HEADER STATE
   ========================================================================== */

body:has(.updates-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--updates-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.updates-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.updates-page):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.updates-hero {
	position: relative;

	padding:
		calc(var(--header-height) + 2rem)
		0
		clamp(4rem, 6vw, 6rem);

	overflow: hidden;
}


.updates-hero__pattern {
	position: absolute;

	top: -23rem;
	right: -23rem;

	width: 52rem;
	height: 52rem;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 4.7rem,
			rgba(6, 47, 91, 0.018) 4.75rem,
			rgba(6, 47, 91, 0.018) 4.82rem,
			transparent 4.87rem,
			transparent 8.2rem
		);
}


.updates-hero .site-container {
	position: relative;

	z-index: 1;
}


.updates-hero__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(18rem, 0.65fr);

	align-items: end;

	gap:
		clamp(4rem, 8vw, 9rem);
}


.updates-eyebrow {
	position: relative;

	margin:
		0
		0
		1rem;

	padding-left: 3.5rem;

	color:
		var(--updates-gold);

	font-size: 0.59rem;
	font-weight: 650;

	line-height: 1;

	letter-spacing: 0.2em;

	text-transform: uppercase;
}


.updates-eyebrow::before {
	content: "";

	position: absolute;

	top: 50%;
	left: 0;

	width: 2.6rem;
	height: 1px;

	background:
		currentColor;
}


.updates-hero h1 {
	max-width: 57rem;

	margin: 0;

	color:
		var(--updates-deep);

	font-size:
		clamp(3rem, 5.4vw, 5.7rem);

	font-weight: 300;

	line-height: 0.95;

	letter-spacing: -0.055em;
}


/* ==========================================================================
   HERO NAV
   ========================================================================== */

.updates-hero__nav {
	display: flex;

	flex-direction: column;

	border-top:
		1px solid var(--updates-line);
}


.updates-hero__nav a {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 2rem;

	padding:
		1.15rem
		0;

	border-bottom:
		1px solid var(--updates-line);

	color:
		var(--updates-navy);

	font-size: 0.75rem;
	font-weight: 550;

	letter-spacing: 0.04em;

	text-decoration: none;

	transition:
		color 250ms ease,
		padding-left
		350ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-hero__nav a span:last-child {
	color:
		var(--updates-gold);

	font-size: 1rem;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-hero__nav a:hover,
.updates-hero__nav a:focus-visible {
	padding-left: 0.45rem;

	color:
		var(--updates-gold);
}


.updates-hero__nav a:hover span:last-child,
.updates-hero__nav a:focus-visible span:last-child {
	transform:
		translate(0.2rem, -0.2rem);
}


/* ==========================================================================
   FEATURED ARTICLE
   ========================================================================== */

.updates-featured {
	padding:
		clamp(4rem, 6vw, 6.5rem)
		0;

	border-top:
		1px solid var(--updates-line);

	border-bottom:
		1px solid var(--updates-line);
}


.updates-featured__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.15fr)
		minmax(21rem, 0.85fr);

	align-items: center;

	gap:
		clamp(3.5rem, 7vw, 8rem);
}


/* ==========================================================================
   FEATURED IMAGE
   ========================================================================== */

.updates-featured__media {
	position: relative;

	display: block;

	overflow: hidden;

	min-height:
		clamp(25rem, 42vw, 39rem);

	background:
		rgba(6, 47, 91, 0.06);
}


.updates-featured__media img {
	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transform:
		scale(1.001);

	transition:
		transform
		900ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-featured__media:hover img,
.updates-featured__media:focus-visible img {
	transform:
		scale(1.035);
}


.updates-featured__placeholder {
	position: absolute;

	inset: 0;

	background:
		repeating-radial-gradient(
			circle at 75% 35%,
			transparent 0,
			transparent 4rem,
			rgba(6, 47, 91, 0.05) 4.05rem,
			rgba(6, 47, 91, 0.05) 4.12rem,
			transparent 4.17rem,
			transparent 7rem
		),
		rgba(213, 170, 130, 0.1);
}


/* ==========================================================================
   FEATURED CONTENT
   ========================================================================== */

.updates-featured__content {
	max-width: 35rem;
}


.updates-featured__eyebrow {
	margin:
		0
		0
		1rem;

	color:
		var(--updates-gold);

	font-size: 0.57rem;
	font-weight: 650;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.updates-featured__meta,
.updates-article-row__meta {
	display: flex;

	align-items: center;

	flex-wrap: wrap;

	gap: 0.6rem;

	margin:
		0
		0
		1rem;

	color:
		rgba(3, 31, 61, 0.45);

	font-size: 0.58rem;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.12em;

	text-transform: uppercase;
}


.updates-featured__meta span + span::before,
.updates-article-row__meta span + span::before {
	content: "·";

	margin-right: 0.6rem;

	color:
		var(--updates-gold);
}


.updates-featured__content h2 {
	margin:
		0
		0
		1.35rem;

	font-size:
		clamp(2.2rem, 3.4vw, 3.75rem);

	font-weight: 320;

	line-height: 1.02;

	letter-spacing: -0.045em;
}


.updates-featured__content h2 a {
	color:
		var(--updates-deep);

	text-decoration: none;

	transition:
		color 250ms ease;
}


.updates-featured__content h2 a:hover,
.updates-featured__content h2 a:focus-visible {
	color:
		var(--updates-gold);
}


.updates-featured__excerpt {
	max-width: 32rem;

	margin:
		0
		0
		2rem;

	color:
		var(--updates-muted);

	font-size: 0.91rem;

	line-height: 1.75;
}


.updates-featured__link {
	display: inline-flex;

	align-items: center;
	justify-content: space-between;

	gap: 3rem;

	min-width: 16rem;

	padding-bottom: 0.7rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.22);

	color:
		var(--updates-navy);

	font-size: 0.59rem;
	font-weight: 650;

	letter-spacing: 0.14em;

	text-transform: uppercase;

	text-decoration: none;

	transition:
		border-color 250ms ease;
}


.updates-featured__link span:last-child {
	color:
		var(--updates-gold);

	font-size: 0.95rem;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-featured__link:hover {
	border-color:
		var(--updates-gold);
}


.updates-featured__link:hover span:last-child {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   SECTION SHARED
   ========================================================================== */

.updates-articles,
.updates-decisions {
	padding:
		clamp(5rem, 7vw, 7.5rem)
		0;
}


.updates-decisions {
	background:
		rgba(213, 170, 130, 0.07);

	border-top:
		1px solid var(--updates-line);
}


.updates-section-heading {
	display: flex;

	align-items: flex-end;
	justify-content: space-between;

	gap: 3rem;

	margin-bottom:
		clamp(2.5rem, 4vw, 4rem);
}


.updates-section-heading__eyebrow {
	margin:
		0
		0
		0.55rem;

	color:
		var(--updates-gold);

	font-size: 0.56rem;
	font-weight: 650;

	letter-spacing: 0.17em;

	text-transform: uppercase;
}


.updates-section-heading h2 {
	margin: 0;

	color:
		var(--updates-deep);

	font-size:
		clamp(2.1rem, 3.4vw, 3.5rem);

	font-weight: 320;

	line-height: 1;

	letter-spacing: -0.045em;
}


.updates-section-heading > a {
	display: inline-flex;

	align-items: center;

	gap: 1.4rem;

	padding-bottom: 0.55rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.2);

	color:
		var(--updates-navy);

	font-size: 0.58rem;
	font-weight: 650;

	line-height: 1;

	letter-spacing: 0.13em;

	text-transform: uppercase;

	text-decoration: none;
}


.updates-section-heading > a span:last-child {
	color:
		var(--updates-gold);

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-section-heading > a:hover span:last-child {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   ARTICLE LIST
   ========================================================================== */

.updates-article-list {
	border-top:
		1px solid var(--updates-line);
}


.updates-article-row {
	display: grid;

	grid-template-columns:
		4.5rem
		minmax(0, 1fr)
		2rem;

	align-items: center;

	gap:
		clamp(1.5rem, 3vw, 3rem);

	min-height: 9rem;

	padding:
		1.7rem
		0;

	border-bottom:
		1px solid var(--updates-line);
}


.updates-article-row__index {
	align-self: start;

	padding-top: 0.2rem;

	color:
		var(--updates-gold);

	font-size: 0.54rem;
	font-weight: 650;

	letter-spacing: 0.13em;
}


.updates-article-row__meta {
	margin-bottom: 0.7rem;
}


.updates-article-row h3 {
	max-width: 58rem;

	margin: 0;

	font-size:
		clamp(1.35rem, 2.2vw, 2.15rem);

	font-weight: 350;

	line-height: 1.15;

	letter-spacing: -0.03em;
}


.updates-article-row h3 a {
	color:
		var(--updates-deep);

	text-decoration: none;

	transition:
		color 250ms ease;
}


.updates-article-row:hover h3 a {
	color:
		var(--updates-gold);
}


.updates-article-row__arrow {
	display: flex;

	align-items: center;
	justify-content: center;

	color:
		var(--updates-gold);

	font-size: 1.1rem;

	text-decoration: none;

	transition:
		transform
		320ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-article-row:hover
.updates-article-row__arrow {
	transform:
		translateX(0.35rem);
}


/* ==========================================================================
   DECISION INDEX
   ========================================================================== */

.updates-decisions__table {
	border-top:
		1px solid var(--updates-line);
}


.updates-decision-row {
	display: grid;

	grid-template-columns:
		minmax(9rem, 0.85fr)
		minmax(7rem, 0.55fr)
		minmax(7rem, 0.55fr)
		minmax(18rem, 2fr)
		2rem;

	align-items: center;

	gap:
		clamp(1rem, 2vw, 2rem);

	padding:
		1.35rem
		0;

	border-bottom:
		1px solid var(--updates-line);
}


.updates-decision-row--head {
	min-height: 3.2rem;

	padding:
		0.9rem
		0;

	color:
		rgba(3, 31, 61, 0.4);

	font-size: 0.51rem;
	font-weight: 650;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.updates-decision-row:not(.updates-decision-row--head) {
	min-height: 6rem;
}


.updates-decision-row.is-featured {
	position: relative;
}


.updates-decision-row.is-featured::before {
	content: "";

	position: absolute;

	top: 0;
	bottom: 0;
	left: -1.2rem;

	width: 2px;

	background:
		var(--updates-gold);
}


.updates-decision-row__cell {
	color:
		rgba(3, 31, 61, 0.62);

	font-size: 0.78rem;

	line-height: 1.5;
}


.updates-decision-row h3 {
	margin: 0;

	font-size:
		clamp(1rem, 1.45vw, 1.28rem);

	font-weight: 420;

	line-height: 1.35;
}


.updates-decision-row h3 a {
	color:
		var(--updates-deep);

	text-decoration: none;

	transition:
		color 240ms ease;
}


.updates-decision-row:hover h3 a {
	color:
		var(--updates-gold);
}


.updates-decision-row__arrow {
	color:
		var(--updates-gold);

	font-size: 1rem;

	text-decoration: none;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.updates-decision-row:hover
.updates-decision-row__arrow {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   EMPTY STATES
   ========================================================================== */

.updates-empty {
	margin: 0;

	padding:
		2rem
		0;

	border-top:
		1px solid var(--updates-line);

	color:
		var(--updates-muted);

	font-size: 0.87rem;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.updates-featured__grid {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(20rem, 0.8fr);

		gap: 4rem;
	}


	.updates-decision-row {
		grid-template-columns:
			minmax(8rem, 0.8fr)
			minmax(6rem, 0.5fr)
			minmax(6.5rem, 0.5fr)
			minmax(14rem, 1.7fr)
			1.5rem;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 58rem) {

	.updates-hero__grid,
	.updates-featured__grid {
		grid-template-columns: 1fr;
	}


	.updates-hero__grid {
		gap: 3rem;
	}


	.updates-hero__nav {
		max-width: 34rem;
	}


	.updates-featured__media {
		min-height:
			clamp(22rem, 65vw, 35rem);
	}


	.updates-featured__content {
		max-width: 42rem;
	}


	.updates-decision-row--head {
		display: none;
	}


	.updates-decision-row {
		grid-template-columns:
			repeat(3, minmax(0, 1fr))
			2rem;

		gap:
			1rem
			1.5rem;

		padding:
			1.8rem
			0;
	}


	.updates-decision-row h3 {
		grid-column:
			1 / 4;

		grid-row: 1;

		font-size: 1.2rem;
	}


	.updates-decision-row__arrow {
		grid-column: 4;
		grid-row: 1;

		align-self: center;
	}


	.updates-decision-row__cell {
		grid-row: 2;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.updates-hero {
		padding:
			calc(var(--header-height) + 1.4rem)
			0
			3.5rem;
	}


	.updates-hero__pattern {
		top: -18rem;
		right: -24rem;

		width: 42rem;
		height: 42rem;
	}


	.updates-hero h1 {
		font-size:
			clamp(2.8rem, 12vw, 4.2rem);
	}


	.updates-featured,
	.updates-articles,
	.updates-decisions {
		padding:
			4rem
			0;
	}


	.updates-featured__media {
		min-height:
			68vw;
	}


	.updates-featured__content h2 {
		font-size:
			clamp(2rem, 9vw, 2.8rem);
	}


	.updates-featured__link {
		width: 100%;
	}


	.updates-section-heading {
		align-items: flex-start;

		flex-direction: column;

		gap: 1.5rem;

		margin-bottom: 2.5rem;
	}


	.updates-article-row {
		grid-template-columns:
			2.5rem
			minmax(0, 1fr)
			1.5rem;

		gap: 1rem;

		min-height: 0;

		padding:
			1.5rem
			0;
	}


	.updates-article-row h3 {
		font-size:
			clamp(1.25rem, 6vw, 1.65rem);
	}


	.updates-decision-row {
		display: grid;

		grid-template-columns:
			minmax(0, 1fr)
			1.5rem;

		gap:
			1.2rem;

		padding:
			1.7rem
			0;
	}


	.updates-decision-row h3 {
		grid-column: 1;
		grid-row: auto;
	}


	.updates-decision-row__arrow {
		grid-column: 2;
		grid-row: 1;

		align-self: start;
	}


	.updates-decision-row__cell {
		position: relative;

		grid-column: 1 / -1;
		grid-row: auto;

		display: grid;

		grid-template-columns:
			7.2rem
			1fr;

		gap: 1rem;

		font-size: 0.75rem;
	}


	.updates-decision-row__cell::before {
		content:
			attr(data-label);

		color:
			rgba(3, 31, 61, 0.38);

		font-size: 0.5rem;
		font-weight: 650;

		letter-spacing: 0.11em;

		text-transform: uppercase;
	}


	.updates-decision-row.is-featured::before {
		left: -0.7rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.updates-featured__media img,
	.updates-hero__nav a,
	.updates-hero__nav a span:last-child,
	.updates-featured__link span:last-child,
	.updates-section-heading > a span:last-child,
	.updates-article-row__arrow,
	.updates-decision-row__arrow {
		transition: none;
	}

}


/* ==========================================================================
   LEGAL ARTICLES ARCHIVE
   ========================================================================== */

.articles-archive {
	--articles-bg: #f7f4ef;
	--articles-navy: #062f5b;
	--articles-deep: #031f3d;
	--articles-gold: #b88d62;
	--articles-muted: rgba(3, 31, 61, 0.58);
	--articles-line: rgba(6, 47, 91, 0.12);

	overflow: hidden;

	background:
		var(--articles-bg);

	color:
		var(--articles-deep);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

body:has(.articles-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--articles-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.articles-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.articles-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.articles-archive__hero {
	position: relative;

	padding:
		calc(var(--header-height) + 1.2rem)
		0
		clamp(2.8rem, 4vw, 4rem);

	overflow: hidden;
}


.articles-archive__pattern {
	position: absolute;

	top: -21rem;
	right: -20rem;

	width: 47rem;
	height: 47rem;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 4.8rem,
			rgba(6, 47, 91, 0.016) 4.85rem,
			rgba(6, 47, 91, 0.016) 4.92rem,
			transparent 4.97rem,
			transparent 8.2rem
		);
}


.articles-archive__hero .site-container {
	position: relative;
	z-index: 1;
}


.articles-archive__hero-grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(18rem, 0.65fr);

	align-items: end;

	gap:
		clamp(4rem, 8vw, 9rem);
}


.articles-archive__eyebrow {
	position: relative;

	margin:
		0
		0
		0.85rem;

	padding-left: 3.4rem;

	color:
		var(--articles-gold);

	font-size: 0.58rem;
	font-weight: 650;

	letter-spacing: 0.19em;

	text-transform: uppercase;
}


.articles-archive__eyebrow::before {
	content: "";

	position: absolute;

	top: 50%;
	left: 0;

	width: 2.5rem;
	height: 1px;

	background:
		currentColor;
}


.articles-archive__hero h1 {
	margin: 0;

	color:
		var(--articles-deep);

	font-size:
		clamp(2.8rem, 4.6vw, 4.8rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.05em;
}


.articles-archive__hero-side {
	max-width: 29rem;
}


.articles-archive__hero-side p {
	margin:
		0
		0
		1.35rem;

	color:
		var(--articles-muted);

	font-size: 0.88rem;

	line-height: 1.72;
}


.articles-archive__hero-side a {
	display: inline-flex;

	padding-bottom: 0.4rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.18);

	color:
		var(--articles-navy);

	font-size: 0.57rem;
	font-weight: 650;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	text-decoration: none;

	transition:
		color 240ms ease,
		border-color 240ms ease;
}


.articles-archive__hero-side a:hover {
	color:
		var(--articles-gold);

	border-color:
		var(--articles-gold);
}


/* ==========================================================================
   FEATURED
   ========================================================================== */

.articles-archive__featured {
	padding:
		clamp(4rem, 6vw, 6rem)
		0;

	border-top:
		1px solid var(--articles-line);

	border-bottom:
		1px solid var(--articles-line);
}


.articles-archive__featured-grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.12fr)
		minmax(21rem, 0.88fr);

	align-items: center;

	gap:
		clamp(3.5rem, 7vw, 7.5rem);
}


.articles-archive__featured-media {
	position: relative;

	display: block;

	overflow: hidden;

	min-height:
		clamp(24rem, 39vw, 36rem);

	background:
		rgba(6, 47, 91, 0.05);
}


.articles-archive__featured-media img {
	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transform:
		scale(1.001);

	transition:
		transform
		850ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.articles-archive__featured-media:hover img {
	transform:
		scale(1.035);
}


.articles-archive__featured-placeholder,
.articles-archive-card__placeholder {
	position: absolute;

	inset: 0;

	background:
		repeating-radial-gradient(
			circle at 70% 30%,
			transparent 0,
			transparent 4rem,
			rgba(6, 47, 91, 0.045) 4.05rem,
			rgba(6, 47, 91, 0.045) 4.12rem,
			transparent 4.17rem,
			transparent 7rem
		),
		rgba(213, 170, 130, 0.08);
}


.articles-archive__featured-content {
	max-width: 35rem;
}


.articles-archive__featured-eyebrow {
	margin:
		0
		0
		0.9rem;

	color:
		var(--articles-gold);

	font-size: 0.56rem;
	font-weight: 650;

	letter-spacing: 0.17em;

	text-transform: uppercase;
}


.articles-archive__meta {
	display: flex;

	align-items: center;

	flex-wrap: wrap;

	gap: 0.55rem;

	margin-bottom: 0.9rem;

	color:
		rgba(3, 31, 61, 0.43);

	font-size: 0.54rem;
	font-weight: 650;

	letter-spacing: 0.11em;

	text-transform: uppercase;
}


.articles-archive__meta span + span::before {
	content: "·";

	margin-right: 0.55rem;

	color:
		var(--articles-gold);
}


.articles-archive__featured-content h2 {
	margin:
		0
		0
		1.3rem;

	font-size:
		clamp(2.1rem, 3.3vw, 3.6rem);

	font-weight: 320;

	line-height: 1.03;

	letter-spacing: -0.045em;
}


.articles-archive__featured-content h2 a {
	color:
		var(--articles-deep);

	text-decoration: none;

	transition:
		color 240ms ease;
}


.articles-archive__featured-content h2 a:hover {
	color:
		var(--articles-gold);
}


.articles-archive__featured-excerpt {
	margin:
		0
		0
		2rem;

	color:
		var(--articles-muted);

	font-size: 0.9rem;

	line-height: 1.75;
}


.articles-archive__featured-link {
	display: inline-flex;

	align-items: center;
	justify-content: space-between;

	gap: 3rem;

	min-width: 15rem;

	padding-bottom: 0.65rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.22);

	color:
		var(--articles-navy);

	font-size: 0.58rem;
	font-weight: 650;

	letter-spacing: 0.13em;

	text-transform: uppercase;

	text-decoration: none;
}


.articles-archive__featured-link span:last-child {
	color:
		var(--articles-gold);

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.articles-archive__featured-link:hover span:last-child {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   ALL ARTICLES
   ========================================================================== */

.articles-archive__all {
	padding:
		clamp(5rem, 7vw, 7.5rem)
		0;
}


.articles-archive__section-header {
	margin-bottom:
		clamp(2.8rem, 4vw, 4rem);
}


.articles-archive__section-header p {
	margin:
		0
		0
		0.55rem;

	color:
		var(--articles-gold);

	font-size: 0.55rem;
	font-weight: 650;

	letter-spacing: 0.17em;

	text-transform: uppercase;
}


.articles-archive__section-header h2 {
	margin: 0;

	font-size:
		clamp(2.2rem, 3.6vw, 3.7rem);

	font-weight: 320;

	line-height: 1;

	letter-spacing: -0.045em;
}


/* ==========================================================================
   ARTICLE GRID
   ========================================================================== */

.articles-archive__grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap:
		clamp(3rem, 5vw, 5rem)
		clamp(1.5rem, 2.5vw, 2.5rem);
}


.articles-archive-card {
	min-width: 0;
}


.articles-archive-card__media {
	position: relative;

	display: block;

	overflow: hidden;

	aspect-ratio: 4 / 3;

	margin-bottom: 1.35rem;

	background:
		rgba(6, 47, 91, 0.05);
}


.articles-archive-card__media img {
	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transform:
		scale(1.001);

	transition:
		transform
		700ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.articles-archive-card:hover
.articles-archive-card__media img {
	transform:
		scale(1.045);
}


.articles-archive-card__body h3 {
	margin:
		0
		0
		0.85rem;

	font-size:
		clamp(1.35rem, 1.8vw, 1.8rem);

	font-weight: 350;

	line-height: 1.15;

	letter-spacing: -0.03em;
}


.articles-archive-card__body h3 a {
	color:
		var(--articles-deep);

	text-decoration: none;

	transition:
		color 240ms ease;
}


.articles-archive-card:hover
.articles-archive-card__body h3 a {
	color:
		var(--articles-gold);
}


.articles-archive-card__body > p {
	margin:
		0
		0
		1.25rem;

	color:
		var(--articles-muted);

	font-size: 0.82rem;

	line-height: 1.68;
}


.articles-archive-card__link {
	display: inline-flex;

	align-items: center;

	gap: 1rem;

	padding-bottom: 0.35rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.16);

	color:
		var(--articles-navy);

	font-size: 0.54rem;
	font-weight: 650;

	letter-spacing: 0.11em;

	text-transform: uppercase;

	text-decoration: none;
}


.articles-archive-card__link span:last-child {
	color:
		var(--articles-gold);

	transition:
		transform
		280ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.articles-archive-card__link:hover span:last-child {
	transform:
		translateX(0.25rem);
}


/* ==========================================================================
   EMPTY
   ========================================================================== */

.articles-archive__empty {
	margin: 0;

	padding:
		2rem
		0;

	border-top:
		1px solid var(--articles-line);

	color:
		var(--articles-muted);

	font-size: 0.88rem;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.articles-archive__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 58rem) {

	.articles-archive__hero-grid,
	.articles-archive__featured-grid {
		grid-template-columns: 1fr;
	}


	.articles-archive__hero-grid {
		gap: 2.5rem;
	}


	.articles-archive__featured-grid {
		gap: 3rem;
	}


	.articles-archive__featured-media {
		min-height:
			60vw;
	}


	.articles-archive__featured-content {
		max-width: 42rem;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.articles-archive__hero {
		padding:
			calc(var(--header-height) + 1.4rem)
			0
			3.5rem;
	}


	.articles-archive__hero h1 {
		font-size:
			clamp(2.6rem, 11vw, 3.7rem);
	}


	.articles-archive__featured {
		padding:
			4rem
			0;
	}


	.articles-archive__featured-media {
		min-height:
			68vw;
	}


	.articles-archive__all {
		padding:
			4rem
			0;
	}


	.articles-archive__grid {
		grid-template-columns: 1fr;

		gap: 3.5rem;
	}


	.articles-archive-card__media {
		aspect-ratio: 16 / 11;
	}


	.articles-archive__featured-link {
		width: 100%;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.articles-archive__featured-media img,
	.articles-archive-card__media img,
	.articles-archive__featured-link span:last-child,
	.articles-archive-card__link span:last-child {
		transition: none;
	}

}


<?php
/**
 * Single Legal Article.
 *
 * @package Kouka
 */

defined( 'ABSPATH' ) || exit;


/* ==========================================================================
   ARTICLE
   ========================================================================== */

while ( have_posts() ) :
	the_post();

	$article_id = get_the_ID();


	/* ======================================================================
	   ACF HELPERS
	   ====================================================================== */

	$get_acf = static function (
		string $field_name,
		int $post_id
	) {
		if ( ! function_exists( 'get_field' ) ) {
			return null;
		}

		return get_field(
			$field_name,
			$post_id
		);
	};


	/* ======================================================================
	   EXTERNAL ARTICLE REDIRECT
	   ====================================================================== */

	$is_external = (bool) $get_acf(
		'is_external_article',
		$article_id
	);

	$external_url = esc_url_raw(
		(string) $get_acf(
			'article_external_url',
			$article_id
		)
	);

	if (
		$is_external &&
		'' !== $external_url
	) {
		wp_redirect(
			$external_url,
			302
		);

		exit;
	}


	/* ======================================================================
	   ARTICLE DATA
	   ====================================================================== */

	$eyebrow = trim(
		(string) $get_acf(
			'article_eyebrow',
			$article_id
		)
	);

	if ( '' === $eyebrow ) {
		$eyebrow = 'Αρθρογραφία';
	}


	$article_authors = $get_acf(
		'article_authors',
		$article_id
	);

	if ( ! is_array( $article_authors ) ) {
		$article_authors = array();
	}


	$related_expertise = $get_acf(
		'related_expertise',
		$article_id
	);

	if ( ! is_array( $related_expertise ) ) {
		$related_expertise = array();
	}


	$article_excerpt = trim(
		wp_strip_all_tags(
			get_the_excerpt()
		)
	);


	$featured_image = get_the_post_thumbnail_url(
		$article_id,
		'full'
	);


	$articles_archive_url =
		get_post_type_archive_link(
			'legal_article'
		);

	if ( ! $articles_archive_url ) {
		$articles_archive_url =
			home_url( '/arthrografia/' );
	}


	$updates_url =
		home_url( '/epikairotita/' );


	$team_archive_url =
		get_post_type_archive_link(
			'team_member'
		);


	/* ======================================================================
	   NORMALIZE AUTHORS
	   ====================================================================== */

	$normalized_authors = array();

	foreach ( $article_authors as $author_item ) {

		$author_id = 0;

		if ( $author_item instanceof WP_Post ) {

			$author_id = $author_item->ID;

		} elseif ( is_numeric( $author_item ) ) {

			$author_id = (int) $author_item;
		}

		if ( ! $author_id ) {
			continue;
		}

		$author_title = trim(
			(string) get_the_title(
				$author_id
			)
		);

		if ( '' === $author_title ) {
			continue;
		}

		$professional_title = '';

		if ( function_exists( 'get_field' ) ) {
			$professional_title = trim(
				(string) get_field(
					'professional_title',
					$author_id
				)
			);
		}

		$normalized_authors[] = array(
			'id'                 => $author_id,
			'name'               => $author_title,
			'professional_title' => $professional_title,
		);
	}


	/* ======================================================================
	   NORMALIZE EXPERTISE
	   ====================================================================== */

	$normalized_expertise = array();

	foreach ( $related_expertise as $expertise_item ) {

		$expertise_id = 0;

		if ( $expertise_item instanceof WP_Post ) {

			$expertise_id =
				$expertise_item->ID;

		} elseif ( is_numeric( $expertise_item ) ) {

			$expertise_id =
				(int) $expertise_item;
		}

		if ( ! $expertise_id ) {
			continue;
		}

		$normalized_expertise[] = array(
			'title' => get_the_title(
				$expertise_id
			),
			'url'   => get_permalink(
				$expertise_id
			),
		);
	}

	get_header();
	?>

	<main
		id="primary"
		class="article-single"
	>

		<!-- ================================================================
		     HERO
		     ================================================================ -->

		<header class="article-single__hero">

			<div
				class="article-single__pattern"
				aria-hidden="true"
			></div>

			<div class="site-container">

				<div class="article-single__hero-inner">

					<nav
						class="article-single__back"
						aria-label="Επιστροφή"
					>

						<a
							href="<?php echo esc_url( $articles_archive_url ); ?>"
						>
							<span aria-hidden="true">←</span>
							<span>Αρθρογραφία</span>
						</a>

					</nav>


					<p class="article-single__eyebrow">
						<?php echo esc_html( $eyebrow ); ?>
					</p>


					<div class="article-single__meta">

						<time
							datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"
						>
							<?php echo esc_html( get_the_date( 'd.m.Y' ) ); ?>
						</time>


						<?php if ( ! empty( $normalized_authors ) ) : ?>

							<span aria-hidden="true">
								·
							</span>

							<span>

								<?php
								echo esc_html(
									implode(
										', ',
										wp_list_pluck(
											$normalized_authors,
											'name'
										)
									)
								);
								?>

							</span>

						<?php endif; ?>

					</div>


					<h1>
						<?php the_title(); ?>
					</h1>


					<?php if ( '' !== $article_excerpt ) : ?>

						<p class="article-single__intro">
							<?php echo esc_html( $article_excerpt ); ?>
						</p>

					<?php endif; ?>

				</div>

			</div>

		</header>


		<!-- ================================================================
		     FEATURED IMAGE
		     ================================================================ -->

		<?php if ( $featured_image ) : ?>

			<section class="article-single__media">

				<div class="site-container">

					<figure>

						<img
							src="<?php echo esc_url( $featured_image ); ?>"
							alt="<?php echo esc_attr( get_the_title() ); ?>"
							loading="eager"
							decoding="async"
						>

					</figure>

				</div>

			</section>

		<?php endif; ?>


		<!-- ================================================================
		     ARTICLE BODY
		     ================================================================ -->

		<section class="article-single__main">

			<div class="site-container">

				<div class="article-single__layout">


					<!-- ====================================================
					     SIDEBAR
					     ==================================================== -->

					<aside class="article-single__sidebar">

						<div class="article-single__sidebar-inner">


							<?php if ( ! empty( $normalized_authors ) ) : ?>

								<section class="article-single__side-section">

									<p class="article-single__side-label">
										Συντάκτης
									</p>

									<div class="article-single__authors">

										<?php foreach ( $normalized_authors as $author ) : ?>

											<div class="article-single__author">

												<strong>
													<?php
													echo esc_html(
														$author['name']
													);
													?>
												</strong>

												<?php
												if (
													'' !==
													$author['professional_title']
												) :
													?>

													<span>
														<?php
														echo esc_html(
															$author['professional_title']
														);
														?>
													</span>

												<?php endif; ?>

											</div>

										<?php endforeach; ?>

									</div>


									<?php if ( $team_archive_url ) : ?>

										<a
											class="article-single__side-link"
											href="<?php echo esc_url( $team_archive_url ); ?>"
										>
											Η ομάδα μας
											<span aria-hidden="true">→</span>
										</a>

									<?php endif; ?>

								</section>

							<?php endif; ?>


							<?php if ( ! empty( $normalized_expertise ) ) : ?>

								<section class="article-single__side-section">

									<p class="article-single__side-label">
										Σχετικοί τομείς
									</p>

									<div class="article-single__expertise">

										<?php foreach ( $normalized_expertise as $expertise ) : ?>

											<a
												href="<?php echo esc_url( $expertise['url'] ); ?>"
											>
												<span>
													<?php
													echo esc_html(
														$expertise['title']
													);
													?>
												</span>

												<span aria-hidden="true">
													↗
												</span>
											</a>

										<?php endforeach; ?>

									</div>

								</section>

							<?php endif; ?>


							<section class="article-single__side-section">

								<p class="article-single__side-label">
									Δημοσίευση
								</p>

								<p class="article-single__published">
									<?php echo esc_html( get_the_date( 'd.m.Y' ) ); ?>
								</p>

							</section>

						</div>

					</aside>


					<!-- ====================================================
					     CONTENT
					     ==================================================== -->

					<article class="article-single__content">

						<?php
						the_content();
						?>

					</article>

				</div>

			</div>

		</section>


		<!-- ================================================================
		     FOOTER NAVIGATION
		     ================================================================ -->

		<section class="article-single__footer">

			<div class="site-container">

				<div class="article-single__footer-inner">

					<div>

						<p>
							Αρθρογραφία
						</p>

						<h2>
							Περισσότερες νομικές αναλύσεις
							και δημοσιεύσεις.
						</h2>

					</div>


					<div class="article-single__footer-links">

						<a
							href="<?php echo esc_url( $articles_archive_url ); ?>"
						>
							<span>
								Όλη η αρθρογραφία
							</span>

							<span aria-hidden="true">
								→
							</span>
						</a>


						<a
							href="<?php echo esc_url( $updates_url ); ?>"
						>
							<span>
								Επικαιρότητα
							</span>

							<span aria-hidden="true">
								→
							</span>
						</a>

					</div>

				</div>

			</div>

		</section>

	</main>

	<?php
	get_footer();

endwhile;


/* ==========================================================================
   JUDICIAL DECISIONS ARCHIVE
   ========================================================================== */

.decisions-archive {
	--decisions-bg: #f7f4ef;
	--decisions-deep: #031f3d;
	--decisions-navy: #062f5b;
	--decisions-gold: #b88d62;
	--decisions-muted: rgba(3, 31, 61, 0.58);
	--decisions-line: rgba(6, 47, 91, 0.12);

	position: relative;

	overflow: hidden;

	background:
		var(--decisions-bg);

	color:
		var(--decisions-deep);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

body:has(.decisions-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--decisions-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.decisions-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.decisions-archive):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.decisions-archive__hero {
	position: relative;

	padding:
		calc(var(--header-height) + 1.2rem)
		0
		clamp(3rem, 4.5vw, 4.5rem);

	overflow: hidden;

	border-bottom:
		1px solid var(--decisions-line);
}


.decisions-archive__pattern {
	position: absolute;

	top: -22rem;
	right: -20rem;

	width: 48rem;
	height: 48rem;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 4.8rem,
			rgba(6, 47, 91, 0.016) 4.85rem,
			rgba(6, 47, 91, 0.016) 4.92rem,
			transparent 4.97rem,
			transparent 8.2rem
		);
}


.decisions-archive__hero .site-container {
	position: relative;
	z-index: 1;
}


.decisions-archive__hero-grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(18rem, 0.65fr);

	align-items: end;

	gap:
		clamp(4rem, 8vw, 9rem);
}


.decisions-archive__eyebrow {
	position: relative;

	margin:
		0
		0
		0.9rem;

	padding-left: 3.4rem;

	color:
		var(--decisions-gold);

	font-size: 0.57rem;
	font-weight: 650;

	letter-spacing: 0.19em;

	text-transform: uppercase;
}


.decisions-archive__eyebrow::before {
	content: "";

	position: absolute;

	top: 50%;
	left: 0;

	width: 2.5rem;
	height: 1px;

	background:
		currentColor;
}


.decisions-archive__hero h1 {
	margin: 0;

	color:
		var(--decisions-deep);

	font-size:
		clamp(2.8rem, 4.35vw, 4.6rem);

	font-weight: 300;

	line-height: 0.97;

	letter-spacing: -0.05em;

	white-space: nowrap;
}


.decisions-archive__intro {
	max-width: 29rem;
}


.decisions-archive__intro p {
	margin:
		0
		0
		1.4rem;

	color:
		var(--decisions-muted);

	font-size: 0.88rem;

	line-height: 1.72;
}


.decisions-archive__intro a {
	display: inline-flex;

	padding-bottom: 0.4rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.18);

	color:
		var(--decisions-navy);

	font-size: 0.56rem;
	font-weight: 650;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	text-decoration: none;

	transition:
		color 240ms ease,
		border-color 240ms ease;
}


.decisions-archive__intro a:hover {
	color:
		var(--decisions-gold);

	border-color:
		var(--decisions-gold);
}


/* ==========================================================================
   MAIN
   ========================================================================== */

.decisions-archive__main {
	padding:
		clamp(5rem, 7vw, 7rem)
		0
		clamp(6rem, 8vw, 9rem);
}


.decisions-archive__heading {
	margin-bottom:
		clamp(2.5rem, 4vw, 3.8rem);
}


.decisions-archive__heading p {
	margin:
		0
		0
		0.55rem;

	color:
		var(--decisions-gold);

	font-size: 0.54rem;
	font-weight: 650;

	letter-spacing: 0.17em;

	text-transform: uppercase;
}


.decisions-archive__heading h2 {
	margin: 0;

	color:
		var(--decisions-deep);

	font-size:
		clamp(2rem, 3.3vw, 3.4rem);

	font-weight: 320;

	line-height: 1;

	letter-spacing: -0.043em;
}


/* ==========================================================================
   INDEX
   ========================================================================== */

.decisions-index {
	border-top:
		1px solid var(--decisions-line);
}


.decisions-index__row {
	position: relative;

	display: grid;

	grid-template-columns:
		minmax(8rem, 0.75fr)
		minmax(6.5rem, 0.55fr)
		minmax(6.5rem, 0.55fr)
		minmax(7rem, 0.6fr)
		minmax(18rem, 2fr)
		2rem;

	align-items: center;

	gap:
		clamp(1rem, 2vw, 2rem);

	padding:
		1.45rem
		0;

	border-bottom:
		1px solid var(--decisions-line);
}


.decisions-index__row--header {
	min-height: 3.4rem;

	padding:
		0.95rem
		0;

	color:
		rgba(3, 31, 61, 0.4);

	font-size: 0.5rem;
	font-weight: 650;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.decisions-index__row:not(.decisions-index__row--header) {
	min-height: 7.2rem;
}


.decisions-index__row.is-featured::before {
	content: "";

	position: absolute;

	top: 0;
	bottom: 0;
	left: -1.15rem;

	width: 2px;

	background:
		var(--decisions-gold);
}


/* ==========================================================================
   CELLS
   ========================================================================== */

.decisions-index__cell {
	color:
		rgba(3, 31, 61, 0.62);

	font-size: 0.76rem;

	line-height: 1.5;
}


/* ==========================================================================
   TITLE
   ========================================================================== */

.decisions-index__title > p {
	margin:
		0
		0
		0.4rem;

	color:
		var(--decisions-gold);

	font-size: 0.49rem;
	font-weight: 650;

	letter-spacing: 0.13em;

	text-transform: uppercase;
}


.decisions-index__title h2 {
	margin: 0;

	font-size:
		clamp(1.05rem, 1.45vw, 1.35rem);

	font-weight: 420;

	line-height: 1.32;

	letter-spacing: -0.018em;
}


.decisions-index__title h2 a {
	color:
		var(--decisions-deep);

	text-decoration: none;

	transition:
		color 240ms ease;
}


.decisions-index__row:hover
.decisions-index__title h2 a {
	color:
		var(--decisions-gold);
}


/* ==========================================================================
   EXPERTISE TAGS
   ========================================================================== */

.decisions-index__expertise {
	display: flex;

	flex-wrap: wrap;

	gap:
		0.3rem
		0.8rem;

	margin-top: 0.55rem;
}


.decisions-index__expertise span {
	color:
		rgba(3, 31, 61, 0.4);

	font-size: 0.51rem;
	font-weight: 550;

	letter-spacing: 0.08em;

	text-transform: uppercase;
}


.decisions-index__expertise span + span::before {
	content: "·";

	margin-right: 0.8rem;

	color:
		var(--decisions-gold);
}


/* ==========================================================================
   ARROW
   ========================================================================== */

.decisions-index__arrow {
	display: flex;

	align-items: center;
	justify-content: center;

	color:
		var(--decisions-gold);

	font-size: 1rem;

	text-decoration: none;

	transition:
		transform
		300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.decisions-index__row:hover
.decisions-index__arrow {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   EMPTY
   ========================================================================== */

.decisions-archive__empty {
	margin: 0;

	padding:
		2rem
		0;

	border-top:
		1px solid var(--decisions-line);

	color:
		var(--decisions-muted);

	font-size: 0.86rem;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 68rem) {

	.decisions-index__row {
		grid-template-columns:
			minmax(7rem, 0.7fr)
			minmax(5.5rem, 0.5fr)
			minmax(6rem, 0.5fr)
			minmax(14rem, 1.8fr)
			1.5rem;
	}


	.decisions-index__row--header span:nth-child(4),
	.decisions-index__row:not(.decisions-index__row--header)
	.decisions-index__cell:nth-child(4) {
		display: none;
	}

}


/* ==========================================================================
   SMALL TABLET
   ========================================================================== */

@media (max-width: 58rem) {

	.decisions-archive__hero-grid {
		grid-template-columns: 1fr;

		gap: 2.5rem;
	}


	.decisions-index__row--header {
		display: none;
	}


	.decisions-index__row {
		grid-template-columns:
			repeat(3, minmax(0, 1fr))
			2rem;

		gap:
			1rem
			1.5rem;

		padding:
			1.8rem
			0;
	}


	.decisions-index__title {
		grid-column:
			1 / 4;

		grid-row: 1;
	}


	.decisions-index__arrow {
		grid-column: 4;
		grid-row: 1;

		align-self: center;
	}


	.decisions-index__cell {
		grid-row: 2;
	}


	.decisions-index__cell:nth-child(4) {
		display: none;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.decisions-archive__hero {
		padding:
			calc(var(--header-height) + 1.3rem)
			0
			3.5rem;
	}


	.decisions-archive__hero h1 {
		font-size:
			clamp(2.25rem, 9vw, 3.1rem);

		white-space: normal;
	}


	.decisions-archive__main {
		padding:
			4rem
			0
			5rem;
	}


	.decisions-index__row {
		grid-template-columns:
			minmax(0, 1fr)
			1.5rem;

		gap: 1.1rem;

		min-height: 0;

		padding:
			1.7rem
			0;
	}


	.decisions-index__title {
		grid-column: 1;
		grid-row: 1;
	}


	.decisions-index__arrow {
		grid-column: 2;
		grid-row: 1;

		align-self: start;
	}


	.decisions-index__cell {
		grid-column:
			1 / -1;

		grid-row: auto;

		display: grid;

		grid-template-columns:
			7.4rem
			minmax(0, 1fr);

		gap: 1rem;

		font-size: 0.74rem;
	}


	.decisions-index__cell::before {
		content:
			attr(data-label);

		color:
			rgba(3, 31, 61, 0.36);

		font-size: 0.49rem;
		font-weight: 650;

		letter-spacing: 0.11em;

		text-transform: uppercase;
	}


	.decisions-index__cell:nth-child(4) {
		display: grid;
	}


	.decisions-index__row.is-featured::before {
		left: -0.7rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.decisions-index__title h2 a,
	.decisions-index__arrow {
		transition: none;
	}

}


/* ==========================================================================
   SINGLE COURT DECISION
   ========================================================================== */

.decision-single {
	--decision-bg: #f7f4ef;
	--decision-deep: #031f3d;
	--decision-navy: #062f5b;
	--decision-gold: #b88d62;
	--decision-muted: rgba(3, 31, 61, 0.6);
	--decision-line: rgba(6, 47, 91, 0.12);

	position: relative;
	overflow: hidden;

	background: var(--decision-bg);
	color: var(--decision-deep);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

body:has(.decision-single):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled) {
	background: transparent;
	color: var(--decision-navy);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


body:has(.decision-single):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--blue {
	opacity: 0;
	visibility: hidden;
}


body:has(.decision-single):not(.menu-open):not(.menu-closing)
.site-header:not(.is-scrolled)
.site-brand__logo--beige {
	opacity: 1;
	visibility: visible;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.decision-single__hero {
	position: relative;

	padding:
		calc(var(--header-height) + 1.6rem)
		0
		clamp(4rem, 6vw, 6rem);

	overflow: hidden;

	border-bottom:
		1px solid var(--decision-line);
}


.decision-single__pattern {
	position: absolute;

	top: -24rem;
	right: -20rem;

	width: 50rem;
	height: 50rem;

	pointer-events: none;

	background:
		repeating-radial-gradient(
			circle at center,
			transparent 0,
			transparent 4.8rem,
			rgba(6, 47, 91, 0.016) 4.85rem,
			rgba(6, 47, 91, 0.016) 4.92rem,
			transparent 4.97rem,
			transparent 8.2rem
		);
}


.decision-single__hero .site-container {
	position: relative;
	z-index: 1;
}


.decision-single__hero-inner {
	width: min(100%, 68rem);
	margin-inline: auto;
}


.decision-single__back {
	display: inline-flex;

	align-items: center;

	gap: 0.7rem;

	margin-bottom:
		clamp(2.7rem, 4vw, 4rem);

	padding-bottom: 0.35rem;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.17);

	color: var(--decision-navy);

	font-size: 0.54rem;
	font-weight: 650;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	text-decoration: none;
}


.decision-single__eyebrow {
	margin: 0 0 0.8rem;

	color: var(--decision-gold);

	font-size: 0.56rem;
	font-weight: 650;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}


.decision-single__meta {
	display: flex;

	align-items: center;
	flex-wrap: wrap;

	gap: 0.65rem;

	margin: 0 0 1.35rem;

	color: rgba(3, 31, 61, 0.45);

	font-size: 0.56rem;
	font-weight: 600;

	letter-spacing: 0.11em;

	text-transform: uppercase;
}


.decision-single__meta span + span::before {
	content: "·";

	margin-right: 0.65rem;

	color: var(--decision-gold);
}


.decision-single__hero h1 {
	max-width: 62rem;

	margin: 0;

	color: var(--decision-deep);

	font-size:
		clamp(2.7rem, 5vw, 5.1rem);

	font-weight: 300;

	line-height: 1;

	letter-spacing: -0.052em;

	text-wrap: balance;
}


/* ==========================================================================
   MAIN
   ========================================================================== */

.decision-single__main {
	padding:
		clamp(4rem, 6vw, 6rem)
		0
		clamp(6rem, 8vw, 8.5rem);
}


.decision-single__layout {
	display: grid;

	grid-template-columns:
		minmax(11rem, 0.33fr)
		minmax(0, 0.67fr);

	align-items: start;

	gap:
		clamp(4rem, 8vw, 9rem);

	width: min(100%, 74rem);

	margin-inline: auto;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.decision-single__sidebar-inner {
	position: sticky;

	top:
		calc(var(--header-height) + 2rem);
}


.decision-single__side-section {
	margin-bottom: 1.7rem;

	padding-bottom: 1.7rem;

	border-bottom:
		1px solid var(--decision-line);
}


.decision-single__side-label {
	margin: 0 0 0.75rem;

	color: var(--decision-gold);

	font-size: 0.51rem;
	font-weight: 650;

	letter-spacing: 0.14em;

	text-transform: uppercase;
}


.decision-single__side-section > p:not(.decision-single__side-label) {
	margin: 0;

	color: var(--decision-muted);

	font-size: 0.78rem;

	line-height: 1.55;
}


/* ==========================================================================
   LAWYERS
   ========================================================================== */

.decision-single__lawyers {
	display: grid;

	gap: 1rem;
}


.decision-single__lawyers > div {
	display: grid;

	gap: 0.2rem;
}


.decision-single__lawyers strong {
	color: var(--decision-deep);

	font-size: 0.83rem;

	font-weight: 520;

	line-height: 1.4;
}


.decision-single__lawyers span {
	color: var(--decision-muted);

	font-size: 0.7rem;

	line-height: 1.45;
}


/* ==========================================================================
   EXPERTISE / DOCUMENTS
   ========================================================================== */

.decision-single__expertise,
.decision-single__documents {
	display: flex;

	flex-direction: column;
}


.decision-single__expertise a,
.decision-single__documents a {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 1rem;

	padding: 0.7rem 0;

	border-bottom:
		1px solid rgba(6, 47, 91, 0.08);

	color: var(--decision-navy);

	font-size: 0.74rem;

	line-height: 1.4;

	text-decoration: none;

	transition:
		color 230ms ease,
		padding-left 300ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.decision-single__expertise a:last-child,
.decision-single__documents a:last-child {
	border-bottom: 0;
}


.decision-single__expertise a span:last-child,
.decision-single__documents a span:last-child {
	color: var(--decision-gold);
}


.decision-single__expertise a:hover,
.decision-single__documents a:hover {
	padding-left: 0.3rem;

	color: var(--decision-gold);
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.decision-single__content {
	width: 100%;
	max-width: 48rem;
}


.decision-single__content > *:first-child {
	margin-top: 0;
}


.decision-single__content p,
.decision-single__content li {
	color:
		rgba(3, 31, 61, 0.72);

	font-size:
		clamp(0.98rem, 1.06vw, 1.06rem);

	line-height: 1.9;
}


.decision-single__content p {
	margin: 0 0 1.55rem;
}


.decision-single__content h2 {
	margin:
		3.3rem
		0
		1.2rem;

	color: var(--decision-deep);

	font-size:
		clamp(1.7rem, 2.4vw, 2.45rem);

	font-weight: 350;

	line-height: 1.12;

	letter-spacing: -0.035em;
}


.decision-single__content h3 {
	margin:
		2.5rem
		0
		1rem;

	color: var(--decision-deep);

	font-size:
		clamp(1.3rem, 1.8vw, 1.7rem);

	font-weight: 420;

	line-height: 1.2;
}


.decision-single__content ul,
.decision-single__content ol {
	margin:
		1.5rem
		0
		2rem;

	padding-left: 1.4rem;
}


.decision-single__content li {
	margin-bottom: 0.55rem;
}


.decision-single__content blockquote {
	margin: 3rem 0;

	padding:
		0.2rem
		0
		0.2rem
		2rem;

	border-left:
		2px solid var(--decision-gold);
}


.decision-single__content blockquote p {
	margin: 0;

	color: var(--decision-navy);

	font-size:
		clamp(1.2rem, 1.9vw, 1.65rem);

	font-weight: 350;

	line-height: 1.5;
}


.decision-single__content a {
	color: var(--decision-navy);

	text-decoration: underline;

	text-decoration-color:
		rgba(6, 47, 91, 0.25);

	text-underline-offset: 0.2rem;
}


/* ==========================================================================
   FOOTER
   ========================================================================== */

.decision-single__footer {
	padding:
		clamp(4.5rem, 6vw, 6rem)
		0;

	border-top:
		1px solid var(--decision-line);

	background:
		rgba(213, 170, 130, 0.07);
}


.decision-single__footer-inner {
	display: grid;

	grid-template-columns:
		minmax(0, 1.3fr)
		minmax(16rem, 0.7fr);

	align-items: end;

	gap:
		clamp(3rem, 6vw, 7rem);
}


.decision-single__footer p {
	margin: 0 0 0.6rem;

	color: var(--decision-gold);

	font-size: 0.53rem;
	font-weight: 650;

	letter-spacing: 0.15em;

	text-transform: uppercase;
}


.decision-single__footer h2 {
	max-width: 34rem;

	margin: 0;

	color: var(--decision-deep);

	font-size:
		clamp(2rem, 3vw, 3.15rem);

	font-weight: 320;

	line-height: 1.05;

	letter-spacing: -0.04em;
}


.decision-single__footer-links {
	display: flex;

	flex-direction: column;

	border-top:
		1px solid var(--decision-line);
}


.decision-single__footer-links a {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 2rem;

	padding: 1rem 0;

	border-bottom:
		1px solid var(--decision-line);

	color: var(--decision-navy);

	font-size: 0.59rem;
	font-weight: 650;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	text-decoration: none;
}


.decision-single__footer-links a span:last-child {
	color: var(--decision-gold);

	transition:
		transform 280ms
		cubic-bezier(0.22, 1, 0.36, 1);
}


.decision-single__footer-links a:hover
span:last-child {
	transform:
		translateX(0.3rem);
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 47.9375rem) {

	.decision-single__hero {
		padding:
			calc(var(--header-height) + 1.3rem)
			0
			3.5rem;
	}


	.decision-single__hero h1 {
		font-size:
			clamp(2.5rem, 11vw, 3.7rem);
	}


	.decision-single__main {
		padding:
			3.5rem
			0
			5rem;
	}


	.decision-single__layout {
		grid-template-columns: 1fr;

		gap: 3rem;
	}


	.decision-single__sidebar-inner {
		position: static;
	}


	.decision-single__sidebar {
		order: 2;

		padding-top: 2.5rem;

		border-top:
			1px solid var(--decision-line);
	}


	.decision-single__content {
		order: 1;
	}


	.decision-single__footer {
		padding:
			4rem
			0;
	}


	.decision-single__footer-inner {
		grid-template-columns: 1fr;

		gap: 2.5rem;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.decision-single__expertise a,
	.decision-single__documents a,
	.decision-single__footer-links a span:last-child {
		transition: none;
	}

}



