/* Business Leaders 2026 V2 — authoritative responsive layer. */
.mobile-menu,
.benefits__controls { display: none; }

.contact-form__consent a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 901px) {
	/* Header: one stable 1440px composition, without wrapped navigation. */
	.site-header__top { position: relative; display: block; height: 78px; padding-top: 20px; }
	.site-header__top > .brand { position: absolute; top: 20px; left: 0; }
	.site-header__top > .page-search { position: absolute; top: 20px; left: 339px; width: 366px; }
	.site-header__top > .site-header__actions { position: absolute; top: 20px; right: 0; display: block; width: 190px; }
	.site-header__actions .button--light { width: 190px; min-width: 190px; height: 44px; min-height: 44px; }
	.site-header__navrow { position: relative; display: block; padding-top: 0; }
	.main-nav { display: flex; width: 710px; flex-wrap: nowrap; gap: 0; justify-content: space-between; white-space: nowrap; }
	.site-header__contacts { position: absolute; top: 0; right: 0; display: grid; width: 510px; grid-template-columns: 320px 190px; gap: 0; align-items: center; }
	.site-header__contacts a:first-child { justify-self: center; }
	.site-header__contacts a:last-child { justify-self: center; white-space: nowrap; }

	/* The red title must fill the whole viewport, including Full HD. */
	.quotes__marquee { top: 377px; right: 0; left: 0; width: 100%; font-size: clamp(82px, 6.75vw, 140px); line-height: .92; text-align: center; white-space: nowrap; transform: none; }
	.partners { height: auto; min-height: 500px; padding-bottom: 90px; }

	/* Partnership consent is a single unobtrusive line below the form. */
	.contact-form__consent { grid-column: 1 / -1; display: block; width: 100%; margin: 18px 0 0; font-size: 14px; line-height: 18px; text-align: center; white-space: nowrap; }

	/* Footer: search and contact button are stacked, exactly as in the layout. */
	.site-footer { min-height: 500px; padding-top: 85px; }
	.site-footer__grid { grid-template-columns: 280px 150px 210px 270px; gap: 35px; }
	.site-footer__actions { display: grid; width: 270px; height: 108px; grid-template-columns: 1fr; gap: 12px; align-content: start; }
	.footer-search,
	.footer-search input,
	.site-footer__actions .button,
	.site-footer__actions .button:nth-child(2) { position: relative; top: auto; left: auto; width: 270px; height: 48px; min-height: 48px; }
	.site-footer__bottom { margin-top: 80px; }
}

@media (max-width: 900px) {
	.form-toast {
		right: 14px;
		bottom: 18px;
		left: 14px;
		grid-template-columns: 42px minmax(0, 1fr) 26px;
		width: auto;
		min-height: 88px;
		padding: 16px 13px 16px 16px;
		box-shadow: 0 14px 34px rgba(0, 20, 27, .4);
	}

	.form-toast__icon {
		width: 32px;
		height: 32px;
	}

	.form-toast__icon svg {
		width: 20px;
		height: 20px;
	}

	.form-toast__content strong { font-size: 14px; }
	.form-toast__content span { font-size: 11px; line-height: 1.4; }
	.form-toast__close { width: 26px; height: 26px; font-size: 24px; }
}

/* 2.4.0: final visual and privacy layer. */
.quotes__marquee { overflow: hidden; }
.quotes__marquee-track { display: block; width: 100%; text-align: center; }
.quotes__marquee-track span + span { display: none; }

.cookie-banner[hidden] { display: none !important; }
.cookie-banner {
	position: fixed;
	z-index: 1000;
	right: 24px;
	bottom: 24px;
	left: 24px;
	display: flex;
	max-width: 1180px;
	margin: auto;
	padding: 24px 28px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	border: 1px solid rgba(69,185,204,.55);
	background: rgba(4,58,71,.97);
	box-shadow: 0 18px 60px rgba(0,0,0,.3);
	color: #fff;
}
.cookie-banner__copy { max-width: 720px; }
.cookie-banner__copy strong { display: block; margin-bottom: 7px; font-size: 20px; }
.cookie-banner__copy p { margin: 0 0 7px; font-size: 14px; line-height: 1.45; }
.cookie-banner__copy a { color: #85d2e5; text-decoration: underline; }
.cookie-banner__actions { display: flex; flex: none; gap: 10px; }
.cookie-banner__actions .button { min-width: 155px; min-height: 52px; border: 0; cursor: pointer; }
.cookie-banner__essential { background: #fff; color: #073a47; }

.privacy-page { background: #edf1f2; color: #073a47; }
.privacy-page__hero { padding: 190px 0 70px; background: #073a47; color: #fff; }
.privacy-page__hero p { margin: 0 0 16px; color: #45b9cc; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; }
.privacy-page__hero h1 { max-width: 980px; margin: 0 0 22px; font-size: clamp(46px,6vw,82px); line-height: .98; text-transform: uppercase; }
.privacy-page__hero span { color: rgba(255,255,255,.7); }
.privacy-page__layout { display: grid; grid-template-columns: 260px minmax(0,880px); justify-content: center; gap: 70px; padding-top: 80px; padding-bottom: 100px; }
.privacy-page__nav { position: sticky; top: 30px; align-self: start; display: grid; gap: 14px; }
.privacy-page__nav a { color: #073a47; font-size: 14px; }
.privacy-page__content { padding: 54px 64px; background: #fff; }
.privacy-page__content section + section { margin-top: 52px; padding-top: 52px; border-top: 1px solid #cbd7da; }
.privacy-page__content h2 { margin: 0 0 22px; font-size: 30px; line-height: 1.15; text-transform: uppercase; }
.privacy-page__content p { margin: 0 0 18px; font-size: 17px; line-height: 1.65; }
.privacy-page__content a { color: #b80005; text-decoration: underline; }
.privacy-page__settings { padding: 15px 22px; border: 0; background: #b80005; color: #fff; font: 600 14px/1 var(--font); cursor: pointer; }

@media (max-width: 900px) {
	/* These separators were inherited from an obsolete mobile override. */
	.nomination__intro,
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits,
	.experts,
	.history {
		border-top: 0 !important;
		background-image: none !important;
	}
	.nomination__intro,
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits,
	.experts,
	.history { border-bottom: 0 !important; }

	.nomination__intro::before,
	.nomination__intro::after,
	.nomination .winner::before,
	.nomination .winner::after,
	.nomination .criteria::before,
	.nomination .criteria::after,
	.nomination .benefits::before,
	.nomination .benefits::after,
	.experts::before,
	.experts::after,
	.history::before,
	.history::after {
		display: none !important;
		content: none !important;
	}

	/* Exactly one separator between the four nomination blocks. */
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits {
		border-top: 1px solid var(--line) !important;
		border-bottom: 0 !important;
	}

	.quotes__marquee {
		right: 0 !important;
		bottom: -5px !important;
		left: 0 !important;
		width: 100% !important;
		transform: none !important;
		white-space: nowrap;
	}
	.quotes__marquee-track {
		display: flex;
		width: max-content;
		text-align: left;
		animation: bl-quotes-marquee 15s linear infinite;
	}
	.quotes__marquee-track span {
		display: block !important;
		flex: none;
		padding-right: .7em;
	}

	.cookie-banner { right: 12px; bottom: 12px; left: 12px; padding: 20px; flex-direction: column; align-items: stretch; gap: 18px; }
	.cookie-banner__copy strong { font-size: 18px; }
	.cookie-banner__copy p { font-size: 13px; }
	.cookie-banner__actions { display: grid; grid-template-columns: 1fr; }
	.cookie-banner__actions .button { width: 100%; }

	.privacy-page__hero { padding: 120px 0 48px; }
	.privacy-page__hero h1 { font-size: clamp(34px,10vw,52px); overflow-wrap: anywhere; }
	.privacy-page__layout { display: block; padding-top: 28px; padding-bottom: 60px; }
	.privacy-page__nav { position: static; display: flex; margin-bottom: 28px; padding-bottom: 12px; overflow-x: auto; white-space: nowrap; }
	.privacy-page__content { padding: 30px 22px; }
	.privacy-page__content section + section { margin-top: 34px; padding-top: 34px; }
	.privacy-page__content h2 { font-size: 24px; }
	.privacy-page__content p { font-size: 15px; line-height: 1.55; }
}

@keyframes bl-quotes-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.quotes__marquee-track { animation: none !important; transform: none !important; }
	.quotes__marquee-track span + span { display: none !important; }
	.quotes__marquee-track span { width: 100vw; padding: 0 6px; text-align: center; font-size: clamp(22px,6.4vw,30px); }
}

/* Mobile nomination flow from the approved 360px layout:
 * nomination copy -> winner -> criteria -> benefits. */
@media (max-width: 900px) {
	.nomination__layout {
		display: flex !important;
		flex-direction: column !important;
		border-bottom: 0 !important;
	}

	/* Let the content children participate in the parent flex order. */
	.nomination__content {
		display: contents !important;
	}

	.nomination__content > .section-kicker,
	.nomination__content > .section-title,
	.nomination__content > .nomination__intro {
		order: 1;
	}

	.nomination__content > .section-kicker,
	.nomination__content > .section-title {
		align-self: center;
		text-align: center;
	}

	.nomination__intro {
		box-sizing: border-box;
		width: 100%;
		margin: 0 !important;
		padding: 0 0 48px !important;
		border-bottom: 1px solid var(--line) !important;
		text-align: center;
	}

	.nomination .winner {
		order: 2 !important;
		box-sizing: border-box;
		margin-top: 48px !important;
		padding-bottom: 48px !important;
		border-bottom: 1px solid var(--line) !important;
	}

	.nomination .criteria {
		order: 3 !important;
		box-sizing: border-box;
		width: 100%;
		margin-top: 48px !important;
		padding: 0 0 48px !important;
		border-top: 0 !important;
		border-bottom: 1px solid var(--line) !important;
	}

	.nomination .benefits {
		margin-top: 48px !important;
	}
}

@media (min-width: 1440px) {
	.container,
	.hero-v2__layout { width: 1440px; max-width: 100%; }
}

@media (max-width: 900px) {
	.site-header__navrow,
	.site-header__top > .page-search,
	.site-header__top > .site-header__actions { display: none; }
	.menu-toggle { display: block; }
}

@media (max-width: 620px) {
	:root { --gutter: 10px; }
	html, body { width: 100%; overflow-x: clip; }
	.container { width: 100%; padding-inline: 10px; }
	.section { padding: 60px 0; }

	/* Compact header and full-screen mobile menu. */
	.site-header__top { position: relative; display: flex; height: 76px; align-items: center; justify-content: space-between; padding-top: 0; }
	.site-header__top > .brand { position: static; }
	.brand__image { width: 144px; max-width: 144px; height: 28px; max-height: 28px; object-fit: contain; }
	.menu-toggle { width: 50px; height: 44px; padding: 8px 5px; }
	.menu-toggle span:not(.screen-reader-text) { width: 40px; height: 2px; margin: 9px 0; background: var(--cyan); }
	.menu-toggle span:not(.screen-reader-text):nth-child(3) { display: none; }
	.mobile-menu { position: fixed; z-index: 120; inset: 0; display: block; width: 100%; height: 100dvh; min-height: 640px; overflow-y: auto; padding: 28px 10px 40px; background: #073a47; color: #fff; opacity: 0; visibility: hidden; transform: translateX(100%); transition: opacity .25s ease, visibility .25s ease, transform .25s ease; }
	.mobile-menu.is-open { opacity: 1; visibility: visible; transform: none; }
	body.menu-open { overflow: hidden; }
	.mobile-menu__head { display: flex; align-items: center; justify-content: space-between; }
	.mobile-menu__close { position: relative; width: 40px; height: 28px; padding: 0; border: 0; background: transparent; }
	.mobile-menu__close span { position: absolute; top: 13px; left: 0; width: 40px; height: 2px; background: var(--cyan); }
	.mobile-menu__close span:first-child { transform: rotate(25deg); }
	.mobile-menu__close span:last-child { transform: rotate(-25deg); }
	.mobile-menu__search { position: relative; display: block; width: 100%; height: 50px; margin-top: 60px; }
	.mobile-menu__search input { width: 100%; height: 50px; padding: 0 58px 0 20px; border: 0; outline: 0; background: rgba(255,255,255,.1); color: #fff; font: inherit; font-size: 12px; }
	.mobile-menu__search input::placeholder { color: #fff; opacity: 1; }
	.mobile-menu__search button { position: absolute; top: 14px; right: 22px; width: 18px; height: 18px; padding: 0; border: 2px solid #85d2e5; border-radius: 50%; background: transparent; cursor: pointer; }
	.mobile-menu__search button::after { position: absolute; right: -6px; bottom: -4px; width: 8px; height: 2px; background: #85d2e5; content: ""; transform: rotate(45deg); }
	.mobile-menu__nav { display: flex; align-items: center; flex-direction: column; gap: 24px; margin-top: 60px; }
	.mobile-menu__nav a { color: #fff; font-size: 14px; line-height: 18px; text-decoration: none; }
	.mobile-menu__contacts { display: flex; align-items: center; flex-direction: column; gap: 24px; margin-top: 98px; }
	.mobile-menu__contacts a { color: #fff; font-size: 14px; font-weight: 600; line-height: 18px; text-decoration: none; }
	.mobile-menu__contacts a:last-child { font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
	.mobile-menu__contact { width: 100%; height: 50px; min-height: 50px; margin-top: 60px; background: #fff; color: #073a47; font-size: 12px; }

	/* V2 hero: every text block shares the exact same horizontal centre. */
	.hero.hero--v2,
	.hero-v2__layout { width: 100%; height: 768px; min-height: 768px; }
	.hero.hero--v2 { background-position: center; background-size: auto 768px; }
	.hero-v2__layout { position: relative; padding: 0; }
	.hero-v2__accent { top: 100px; left: 50%; width: 120px; font-size: 12px; line-height: 20px; transform: translateX(-50%); }
	.hero--v2 .hero-v2__title { top: 142px; left: 50%; width: calc(100% - 20px); max-width: 430px; font-size: clamp(50px, 13vw, 54px); line-height: .98; white-space: normal; text-align: center; transform: translateX(-50%); }
	.hero-v2__line--horizontal { top: 488px; left: 50%; width: calc(100% - 20px); max-width: 430px; transform: translateX(-50%); }
	.hero-v2__line--vertical,
	.hero-v2__statue { display: none; }
	.hero-v2__copy { top: 264px; left: 50%; width: calc(100% - 20px); max-width: 430px; text-align: center; transform: translateX(-50%); }
	.hero-v2__copy p { width: 100%; margin: 0 auto; font-size: 14px; line-height: 18px; text-align: center; }
	.hero--v2 .hero-v2__copy .hero-v2__button { top: 132px; left: 50%; width: 200px; height: 60px; min-height: 60px; transform: translateX(-50%); }
	.hero-v2__side { top: 548px; right: auto; left: 50%; display: flex; width: calc(100% - 20px); max-width: 430px; height: auto; align-items: center; flex-direction: column; text-align: center; transform: translateX(-50%); }
	.hero-v2__side h2 { width: 320px; min-height: 36px; font-size: 16px; line-height: 18px; text-align: center; }
	.hero-v2__side p { width: 100%; margin-top: 16px; font-size: 14px; line-height: 18px; text-align: center; }
	.ticker { height: 60px; }
	.ticker__group { gap: 52px; }
	.ticker__track span { padding: 0; font-size: 12px; line-height: 15px; white-space: nowrap; }

	/* Nomination and winner. */
	.nomination { height: auto; min-height: 0; padding-top: 80px; overflow: visible; }
	.nomination__layout { display: flex; flex-direction: column; border: 0; }
	.nomination__content { order: 1; padding: 0; text-align: center; }
	.nomination__content .section-kicker,
	.nomination__content .section-title { margin: 0; font-size: 26px; line-height: 26px; }
	.nomination__content .section-title { margin-bottom: 28px; }
	.nomination__intro { font-size: 14px; line-height: 18px; text-align: center; }
	.winner { order: 2; margin-top: 76px; padding: 0 0 80px; border: 0; text-align: center; }
	.winner .section-kicker { width: 260px; margin: 0 auto 60px; font-size: 18px; line-height: 22px; }
	.winner__card { position: relative; width: calc(100% - 20px); min-height: 0; margin: 0 auto; padding: calc(100% - 10px) 30px 54px; text-align: left; }
	.winner__photo { position: absolute; top: 0; left: 10px; width: calc(100% - 20px); height: auto; margin: 0; aspect-ratio: 1; }
	.winner__card h3 { font-size: 18px; line-height: 22px; }
	.winner__card p,
	.winner__quote p { font-size: 12px; line-height: 18px; }
	.winner__quote { width: calc(100% - 20px); margin: 38px auto 0; text-align: center; }
	.winner__quote-icon { width: 35px; height: 26px; margin: 0 auto 20px; }
	.criteria { margin-top: 80px; padding-top: 0; border-top: 0; text-align: left; }
	.criteria > h3 { font-size: 18px; line-height: 22px; }
	.criteria__grid { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; margin-top: 32px; }
	.criterion b { width: 48px; height: 48px; font-size: 18px; }
	.criterion p { font-size: 12px; line-height: 16px; }

	/* Benefits is a real controlled carousel on mobile. */
	.benefits { margin-top: 80px; padding-top: 0; }
	.benefits .section-kicker { width: 290px; font-size: 18px; line-height: 22px; }
	.benefits__grid { display: flex; gap: 20px; margin-inline: -10px; padding: 0 10px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.benefits__grid::-webkit-scrollbar { display: none; }
	.benefit-card { flex: 0 0 280px; width: 280px; min-height: 377px; padding: 30px; scroll-snap-align: start; }
	.benefit-card__icon { position: static; width: 40px; height: 40px; margin: 0; }
	.benefit-card h3 { position: static; width: auto; min-height: 0; margin-top: 72px; font-size: 16px; line-height: 21px; }
	.benefit-card p { position: static; width: auto; margin-top: 30px; font-size: 14px; line-height: 20px; }
	.benefits__controls { display: flex; gap: 16px; margin-top: 42px; }
	.benefits__controls button { display: grid; width: 64px; height: 64px; padding: 0; place-items: center; border: 0; background: var(--red); color: #fff; font-size: 0; line-height: 1; }
	.benefits__controls button span { width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.172 13L4 13L4 11L16.172 11L10.808 5.63605L12.222 4.22205L20 12L12.222 19.778L10.808 18.364L16.172 13Z' fill='white'/%3E%3C/svg%3E") center / 24px 24px no-repeat; }
	.benefits__controls button:first-child span { transform: rotate(180deg); }

	/* Experts: consistent 2-column cards and crop geometry. */
	.experts { height: auto; min-height: 0; padding: 70px 0 90px; overflow: visible; }
	.experts .section-title { width: 190px; margin-bottom: 36px; font-size: 26px; line-height: 26px; }
	.experts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 20px; }
	.expert-card { width: 100%; min-height: 0; margin: 0; }
	.expert-card__photo { position: relative; width: 100%; height: auto; margin: 0 0 28px; aspect-ratio: 1; }
	.expert-card__photo::before { top: 12.5%; right: 12.5%; bottom: auto; left: 0; width: 87.5%; height: 87.5%; }
	.expert-card__photo img,
	.expert-card__photo > span,
	.expert-card__photo .demo-crop { position: absolute; top: 0; left: 12.5%; width: 87.5%; height: 87.5%; object-fit: cover; }
	.expert-card h3 { margin-bottom: 14px; font-size: 12px; line-height: 16px; }
	.expert-card p { font-size: 10px; line-height: 14px; }

	/* Quotes and 2x2 partner table. */
	.quotes { height: 390px; min-height: 390px; }
	.quotes__inner { min-height: 350px; }
	.quote-slide { inset: 80px auto auto 50% !important; width: calc(100% - 40px); max-width: 390px; margin: 0 !important; text-align: center; transform: translateX(-50%) !important; }
	.quote-slide > *,
	.quote-slide footer { width: 100%; margin-right: auto; margin-left: auto; text-align: center; }
	.quote-slide > p { margin-bottom: 34px; font-size: 16px; line-height: 16px; }
	.quote-slide footer { font-size: 14px; line-height: 14px; }
	.quotes__dots { top: 298px; }
	.quotes__mark { width: 92px; height: 68px; }
	.quotes__marquee { top: auto; right: auto; bottom: -8px; left: 50%; width: max-content; font-size: 38px; line-height: 1; white-space: nowrap; transform: translateX(-50%); }
	.partners { height: auto; min-height: 0; padding: 70px 0 0; }
	.partners .section-title { margin-bottom: 38px; font-size: 26px; }
	.partners__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
	.partner-card,
	.partner-card + .partner-card { border: 0; }
	.partner-card:nth-child(even) { border-left: 1px solid var(--line); }
	.partner-card:nth-child(n+3) { border-top: 1px solid var(--line); }
	.partner-card__logo { height: 190px; padding: 25px; border: 0; }
	.partner-card__logo img { max-width: 130px; max-height: 80px; }
	.partner-fallback { font-size: 16px; }
	.partner-fallback--4 { font-size: 24px; }

	/* Partnership block, with deliberately generous vertical rhythm. */
	.partnership { min-height: 780px; background-position: center; }
	.partnership__content { display: block; min-height: 780px; padding-top: 72px; padding-bottom: 62px; text-align: left; }
	.partnership__content > div:first-child { position: static; width: auto; }
	.partnership h2 { width: 320px; margin-bottom: 36px; font-size: 32px; line-height: 32px; }
	.partnership p { width: 330px; font-size: 16px; line-height: 22px; }
	.contact-form { position: static; display: grid; width: 100%; grid-template-columns: 1fr; margin-top: 42px; transform: none; }
	.contact-form label { border-top: 1px solid rgba(148,181,187,.38); }
	.contact-form input:not([type=checkbox]) { height: 96px; padding: 0; border: 0; font-size: 16px; }
	.contact-form .button { width: 100%; height: 66px; min-height: 66px; margin-top: 18px; font-size: 14px; }
	.contact-form__consent { order: 5; width: 100%; margin-top: 40px; font-size: 10px; line-height: 15px; text-align: center; }
	.contact-form__status { position: static; }

	/* History: one deterministic mobile mosaic, no legacy absolute positions. */
	.history { height: auto !important; min-height: 0 !important; padding: 70px 0 80px; }
	.history-canvas { position: relative; display: grid; width: 100%; height: auto !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; gap: 14px 20px; }
	.history__title { position: static; order: 1; grid-column: 1 / -1; width: auto; height: auto; margin: 0 0 14px; font-size: 26px; line-height: 26px; }
	.history-shot { position: static !important; width: 100% !important; height: 160px !important; min-height: 0; aspect-ratio: auto !important; }
	.history-shot--1 { order: 2; grid-column: 1; grid-row: span 2; height: 340px !important; }
	.history-shot--2 { order: 3; }
	.history-shot--3 { order: 4; }
	.history-copy { position: static !important; grid-column: 1 / -1; width: 100% !important; max-width: none; height: auto !important; margin: 8px 0 10px; padding: 0; }
	.history-copy--one { order: 5; }
	.history-shot--5 { order: 6; grid-column: 1 / -1; height: 250px !important; }
	.history-shot--4 { order: 7; }
	.history-shot--6 { order: 8; }
	.history-shot--7 { order: 9; grid-column: 1 / -1; height: 250px !important; }
	.history-copy--two { order: 10; }
	.history-shot--8 { order: 11; grid-column: 1 / -1; height: 250px !important; }
	.history-shot--9 { order: 12; grid-column: 1 / -1; height: 250px !important; }
	.interviews { position: static !important; order: 13; grid-column: 1 / -1; width: 100% !important; max-width: none; height: auto !important; margin: 24px 0; padding: 0; }
	.history-shot--10 { order: 14; grid-column: 1 / -1; height: 360px !important; }
	.history-shot--11 { order: 15; }
	.history-shot--12 { order: 16; }
	.history-shot--13 { order: 17; grid-column: 1 / -1; height: 250px !important; }
	.history-copy--three { order: 18; }
	.history-shot--14 { order: 19; grid-column: 1 / -1; height: 360px !important; }
	.history-shot--15 { order: 20; grid-column: 1 / -1; height: 250px !important; }
	.history-copy h3,
	.interviews > h3 { width: 100%; height: auto; margin: 0; font-size: 18px; line-height: 22px; }
	.history-copy p { width: 100%; margin-top: 24px; font-size: 12px; line-height: 18px; }
	.interviews__grid { grid-template-columns: repeat(2, 1fr); gap: 34px 14px; margin-top: 40px; }
	.interviews__grid article { width: 100%; min-height: 0; }
	.interviews h4 { font-size: 14px; line-height: 14px; }
	.interviews article p { font-size: 12px; line-height: 14px; }
	.interviews article a { font-size: 14px; line-height: 14px; }

	/* Footer follows the supplied mobile layout and cannot overlap. */
	.site-footer { height: auto; min-height: 810px; margin: 0; padding: 80px 10px 60px; }
	.site-footer .container { padding-inline: 0; }
	.site-footer__grid { position: static; display: grid; width: 100%; height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "brand brand" "nav contacts" "actions actions"; gap: 0 20px; }
	.site-footer__brand { position: static; grid-area: brand; width: auto; }
	.footer-nav { position: static; grid-area: nav; width: auto; gap: 24px; margin-top: 48px; }
	.footer-nav a,
	.site-footer__contacts > a { font-size: 12px; line-height: 15px; }
	.site-footer__contacts { position: static; grid-area: contacts; width: auto; gap: 24px; margin-top: 48px; }
	.social-links { position: static; width: auto; margin-top: 76px; }
	.social-links a { width: 40px; height: 40px; }
	.site-footer__actions { position: static; grid-area: actions; display: grid; width: 100%; height: auto; gap: 16px; margin-top: 76px; }
	.footer-search,
	.footer-search input,
	.site-footer__actions .button,
	.site-footer__actions .button:nth-child(2) { position: relative; top: auto; left: auto; width: 100%; height: 66px; min-height: 66px; }
	.site-footer__bottom { position: static; display: flex; align-items: flex-start; flex-direction: column; width: 100%; height: auto; gap: 14px; margin-top: 100px; transform: none; font-size: 12px; line-height: 18px; }
	.site-footer__bottom > * { position: static; white-space: normal; }
	.back-to-top { right: 10px; bottom: 10px; width: 50px; height: 50px; }
}

/* Pixel-correction pass for the supplied 360–480px mobile layouts. */
@media (max-width: 620px) {
	/* Winner: one white card, no inherited grey rail or duplicated geometry. */
	.winner { display: block !important; width: 100%; }
	.winner__card { --winner-inset: clamp(40px, 11.16vw, 50px); --winner-overhang: clamp(30px, 8.5vw, 38px); position: relative !important; display: flex !important; overflow: visible; box-sizing: border-box; flex-direction: column; width: min(385px, calc(100% - 30px)) !important; min-height: 0 !important; margin: 0 auto !important; padding: 0 var(--winner-inset) 54px !important; background: #fff !important; }
	.winner__card::before,
	.winner__card::after { display: none !important; content: none !important; }
	.winner__photo { position: relative !important; top: auto !important; right: auto !important; left: auto !important; box-sizing: border-box; width: calc(100% + var(--winner-inset) + var(--winner-overhang)) !important; height: auto !important; margin: 0 0 36px !important; aspect-ratio: 1 / 1; flex: 0 0 auto; background: transparent !important; }
	.winner__photo img,
	.winner__photo .demo-crop { width: 100% !important; height: 100% !important; object-fit: cover; }
	.winner__card h3 { display: block !important; margin: 0 0 24px !important; font-size: 18px !important; font-weight: 400 !important; line-height: 22px !important; }
	.winner__first-name,
	.winner__last-name { display: block; }
	.winner__last-name { font-weight: 600; }
	.winner__card p { margin: 0 !important; font-size: 14px !important; line-height: 20px !important; }

	/* Benefits: preserve the exact pause before arrows and remove the oversized tail. */
	.benefits { margin-bottom: 0 !important; padding-bottom: 70px !important; }
	.benefits__grid { margin-bottom: 0 !important; margin-left: 0; }
	.benefits__controls { margin-top: 30px !important; }
	.nomination { padding-bottom: 0 !important; }
	.experts { padding-top: 70px !important; }

	/* Expert cards: image sits on red plate; no grey strip may remain. */
	.expert-card { min-height: 0 !important; padding-bottom: 0 !important; }
	.expert-card__photo { overflow: visible !important; background: transparent !important; }
	.expert-card__photo::before { z-index: 0 !important; top: 12.5% !important; right: 12.5% !important; bottom: auto !important; left: 0 !important; display: block !important; width: 87.5% !important; height: 87.5% !important; background: var(--red) !important; }
	.expert-card__photo::after { display: none !important; content: none !important; }
	.expert-card__photo img,
	.expert-card__photo > span,
	.expert-card__photo .demo-crop { z-index: 1 !important; top: 0 !important; right: 0 !important; left: auto !important; width: 87.5% !important; height: 87.5% !important; margin: 0 !important; background-color: transparent !important; object-fit: cover !important; }
	.expert-card__photo > span { background: transparent !important; }
	.expert-card:nth-child(n+5) .expert-card__photo::before { width: 87.5% !important; height: 87.5% !important; }
	.expert-card h3 { margin-top: 0 !important; }

	/* Form policy: one centred block; the link cannot form a second column. */
	.contact-form__consent { display: block !important; width: 100% !important; max-width: 390px; margin: 40px auto 0 !important; padding: 0 8px; font-size: 10px !important; line-height: 15px !important; text-align: center !important; white-space: normal !important; }
	.contact-form__consent a { display: inline !important; white-space: normal !important; }

	/* Interviews placeholders match the 68px Figma squares. */
	.interviews__grid { align-items: start; }
	.interviews__photo { width: 100px !important; height: 100px !important; margin: 0 0 15px !important; background: #d1d1d1 !important; }
	.interviews__photo img { width: 100%; height: 100%; object-fit: cover; }

	/* History groups are compact and every full-width photo fills the canvas. */
	.history-canvas { row-gap: 14px !important; }
	.history-copy { margin: 0 0 18px !important; }
	.history-copy p { margin-bottom: 0 !important; }
	.history-shot--5,
	.history-shot--7,
	.history-shot--8,
	.history-shot--9,
	.history-shot--13,
	.history-shot--15 { width: 100% !important; height: auto !important; aspect-ratio: 1.55 / 1 !important; }
	.history-shot--10,
	.history-shot--14 { width: 100% !important; height: auto !important; aspect-ratio: .92 / 1 !important; }

	/* Mobile footer uses full available width with equal 10px insets. */
	.site-footer { width: 100% !important; }
	.site-footer__actions,
	.footer-search,
	.footer-search input,
	.site-footer__actions .button { box-sizing: border-box; width: 100% !important; max-width: none !important; }
}

/* V2 enforced computed styles — this block must remain the final CSS block. */
@media (min-width: 901px) {
	.partnership .contact-form > p.contact-form__consent {
		grid-column: 1 / -1 !important;
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		margin: 18px 0 0 !important;
		padding: 0 !important;
		font-size: 14px !important;
		line-height: 18px !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	.partnership .contact-form > p.contact-form__consent a {
		display: inline !important;
		font-size: inherit !important;
		line-height: inherit !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 620px) {
	.nomination .winner {
		display: block !important;
		width: 100% !important;
		margin-left: 0 !important;
	}

	.nomination .winner > .winner__card {
		position: relative !important;
		display: block !important;
		overflow: visible !important;
		box-sizing: border-box !important;
		width: 324px !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 38px 36px !important;
		background: #fff !important;
		text-align: left !important;
	}

	.nomination .winner__card > .winner__photo {
		position: relative !important;
		top: -40px !important;
        right: -32px !important;
		left: auto !important;
		box-sizing: border-box !important;
		width: 300px !important;
		height: 300px !important;
		margin: 0 0 25px !important;
		aspect-ratio: auto !important;
		background: transparent !important;
	}

	.nomination .winner__card::before,
	.nomination .winner__card::after {
		display: none !important;
		content: none !important;
	}

	.nomination .winner__photo > img,
	.nomination .winner__photo > .demo-crop {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.nomination .winner__card > h3 {
		display: block !important;
		margin: 0 0 12px !important;
		font-size: 18px !important;
		font-weight: 400 !important;
		line-height: 24px !important;
	}

	/* Old cached markup must not be able to show a second copy of the name. */
	.nomination .winner__card > h3 ~ h3 {
		display: none !important;
	}

	.nomination .winner__first-name,
	.nomination .winner__last-name { display: block !important; }
	.nomination .winner__last-name { font-weight: 600 !important; }
	.nomination .winner__card > p { width: 100% !important; margin: 0 !important; font-size: 14px !important; line-height: 20px !important; }
}

/* 2.2.9: final V2 mobile cascade. Keep this block last so legacy Figma
 * overrides cannot change the approved order or gallery proportions. */
@media (max-width: 900px) {
	/* The 340px Figma canvas uses a fixed 20px column gap and 16px row gap.
	 * A portrait equals exactly two square rows plus the row gap. */
	.history-canvas {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 20px !important;
		row-gap: 16px !important;
	}

	.history-shot {
		display: block;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.history-shot--1 {
		grid-column: 1 !important;
		grid-row: span 2 !important;
		height: auto !important;
		aspect-ratio: 160 / 336 !important;
	}

	.history-shot--2,
	.history-shot--3,
	.history-shot--4,
	.history-shot--6,
	.history-shot--7,
	.history-shot--11,
	.history-shot--12 {
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
	}

	/* Exact flow: nomination copy -> winner and quote -> criteria -> benefits. */
	.nomination__layout {
		display: flex !important;
		flex-direction: column !important;
	}

	.nomination__content {
		display: block !important;
		order: 1 !important;
		width: 100% !important;
	}

	.nomination .winner {
		order: 2 !important;
	}

	.nomination .criteria {
		order: 3 !important;
		width: 100% !important;
	}

	.nomination .benefits {
		order: 4 !important;
	}

	.nomination__intro,
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits {
		border-top: 1px solid var(--line) !important;
	}

	/* Quote dots retain the thin visual line but get a reliable tap target. */
	.quotes { cursor: pointer; touch-action: manipulation; }
	.quotes__dots button {
		position: relative !important;
		height: 28px !important;
		background: transparent !important;
	}
	.quotes__dots button::before {
		position: absolute;
		top: 13px;
		right: 0;
		left: 0;
		height: 2px;
		background: rgba(255,255,255,.42);
		content: '';
	}
	.quotes__dots button.is-active::before { background: #fff; }

	/* Mobile Figma sequence uses all 15 ACF photos in five editorial groups:
	 * 3 / 4 / 3 / 3 / 2. Wide frames span both columns; paired frames are
	 * equal squares. Nothing is hidden, so the admin order stays predictable. */
	.history-shot--5,
	.history-shot--7,
	.history-shot--8,
	.history-shot--11,
	.history-shot--15 {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1.55 / 1 !important;
	}

	.history-shot--2,
	.history-shot--3,
	.history-shot--4,
	.history-shot--6,
	.history-shot--9,
	.history-shot--10,
	.history-shot--12,
	.history-shot--13 {
		grid-column: auto !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
	}

	/* Explicit order prevents the older absolute-layout rules from moving
	 * photographs ahead of their accompanying text. */
	.history__title { order: 1 !important; }
	.history-shot--1 { order: 2 !important; }
	.history-shot--2 { order: 3 !important; }
	.history-shot--3 { order: 4 !important; }
	.history-copy--one { order: 5 !important; }
	.history-shot--5 { order: 6 !important; }
	.history-shot--4 { order: 7 !important; }
	.history-shot--6 { order: 8 !important; }
	.history-shot--7 { order: 9 !important; }
	.history-copy--two { order: 10 !important; }
	.history-shot--8 { order: 11 !important; }
	.history-shot--9 { order: 12 !important; }
	.history-shot--10 { order: 13 !important; }
	.interviews { order: 14 !important; }
	.history-shot--11 { order: 15 !important; }
	.history-shot--12 { order: 16 !important; }
	.history-shot--13 { order: 17 !important; }
	.history-copy--three { order: 18 !important; }
	.history-shot--14 { order: 19 !important; }
	.history-shot--15 { order: 20 !important; }

	/* Final two photographs: the portrait is intentionally taller than the
	 * following group photo, matching the mobile Figma composition. */
	.history-shot--14 {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: .78 / 1 !important;
	}

	.history-shot--15 {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1.58 / 1 !important;
	}

	/* This lead portrait has its own taller Figma frame. Keep it isolated
	 * from the shared wide-photo ratio used by the other gallery groups. */
	.history-shot--11 {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		height: 440px !important;
		aspect-ratio: auto !important;
	}

	.history-shot img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	/* Keep both faces visible in the tall mobile frame. */
	.history-shot--11:not(.demo-crop) img {
		object-position: center top !important;
	}
}

/* 2.4.0 must remain the last responsive override. */
@media (max-width: 900px) {
	.nomination__intro,
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits,
	.experts,
	.history {
		border-top: 0 !important;
		border-bottom: 0 !important;
		background-image: none !important;
	}

	.nomination__intro::before,
	.nomination__intro::after,
	.nomination .winner::before,
	.nomination .winner::after,
	.nomination .criteria::before,
	.nomination .criteria::after,
	.nomination .benefits::before,
	.nomination .benefits::after,
	.experts::before,
	.experts::after,
	.history::before,
	.history::after {
		display: none !important;
		content: none !important;
	}

	.quotes__marquee {
		right: 0 !important;
		bottom: -5px !important;
		left: 0 !important;
		width: 100% !important;
		overflow: hidden !important;
		transform: none !important;
		white-space: nowrap;
	}
	.quotes__marquee-track {
		display: flex !important;
		width: max-content;
		text-align: left;
		will-change: transform;
		animation: bl-quotes-marquee 15s linear infinite;
	}
	.quotes__marquee-track span {
		display: block !important;
		flex: none;
		padding-right: .7em;
		font-size: clamp(31px, 9.2vw, 42px) !important;
		line-height: 1 !important;
	}
}

/* Final separator authority: one line centred in each 48px section gap. */
@media (max-width: 900px) {
	.nomination .winner,
	.nomination .criteria,
	.nomination .benefits {
		position: relative !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
	}

	.nomination .winner::before,
	.nomination .criteria::before,
	.nomination .benefits::before {
		position: absolute !important;
		top: -24px !important;
		right: 0 !important;
		left: 0 !important;
		display: block !important;
		width: auto !important;
		height: 1px !important;
		background: var(--line, #cbd7da) !important;
		content: "" !important;
		transform: none !important;
	}
}

/* Keep the AJAX response accessible without rendering a loose line under
 * the form. This rule intentionally lives at the end of the responsive
 * stylesheet so older compatibility layers cannot override it. */
.contact-form__status {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 900px) {
	.form-toast {
		right: 14px;
		bottom: calc(76px + env(safe-area-inset-bottom));
		left: 14px;
	}
}

/* 2.4.7 — authoritative mobile experts geometry. */
@media (max-width: 900px) {
	.experts .section-title {
		width: min(230px, 100%) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	.expert-card__photo img {
		object-fit: cover !important;
		object-position: center top !important;
	}

	/* Demo portraits are slices of the 1440px Figma reference. The mobile
	 * frame is 140px instead of 240px, so the source sheet must scale too. */
	.expert-card__photo .demo-crop {
		background-size: 840px 6573px !important;
		background-repeat: no-repeat !important;
	}

	.demo-crop--expert-1 { background-position: -96px -1618px !important; }
	.demo-crop--expert-2 { background-position: -271px -1618px !important; }
	.demo-crop--expert-3 { background-position: -446px -1618px !important; }
	.demo-crop--expert-4 { background-position: -621px -1618px !important; }
}

/* 2.4.8 — keep the nomination introduction inside the mobile column.
 * Desktop paragraphs have a fixed 670px width; reset that geometry here. */
@media (max-width: 900px) {
	.nomination__content,
	.nomination__intro {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.nomination__intro p {
		position: static !important;
		inset: auto !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		transform: none !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}
}
