/*
Theme Name: Альфа.Сайт — Ohio
Theme URI: https://alfa.site/
Description: Дочерняя тема Ohio для сайта digital-агентства «Альфа.Сайт».
Author: Alfa.Site
Template: ohio
Version: 1.4.18
Text Domain: alfa-ohio
*/

/* WordPress/Ohio integration layer. Visual rules live in assets/css. */
.alfa-site #wpadminbar { position: fixed; }
.alfa-site.admin-bar .mobile-menu { top: calc(104px + 32px); }
.alfa-site .navigation.pagination { width: min(var(--container), calc(100% - 40px)); margin: 40px auto; }
.alfa-site .nav-links { display: flex; gap: 10px; }
.alfa-site .page-numbers { display: grid; min-width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--muted); }
.alfa-site .page-numbers.current { background: var(--red); color: #fff; }
.alfa-site .entry-content { font-size: 18px; line-height: 1.65; }
.alfa-site .service-award-mini > strong { color: var(--red); font-size: 24px; }
.alfa-site .alfa-form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alfa-site .alfa-form-notice { grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-radius: 10px; background: rgba(255,255,255,.16); color: inherit; }
.alfa-site .alfa-form-notice.is-error { background: rgba(54,54,58,.2); }

/* Ohio recolors focused inputs; footer fields stay white in every state. */
.alfa-site .alfa-footer-form input:not([type="checkbox"]),
.alfa-site .alfa-footer-form input:not([type="checkbox"]):hover,
.alfa-site .alfa-footer-form input:not([type="checkbox"]):focus,
.alfa-site .alfa-footer-form input:not([type="checkbox"]):focus-visible,
.alfa-site .alfa-footer-form input:not([type="checkbox"]):active {
	background-color: var(--white) !important;
	background-image: none !important;
	color: var(--ink) !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .28) !important;
}

.alfa-site .alfa-footer-form input:-webkit-autofill,
.alfa-site .alfa-footer-form input:-webkit-autofill:hover,
.alfa-site .alfa-footer-form input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--ink) !important;
	-webkit-box-shadow: 0 0 0 1000px var(--white) inset !important;
	box-shadow: 0 0 0 1000px var(--white) inset !important;
}

/* In the home layout stories form a separate row below the red hero panel. */
.alfa-site .hero .story-row {
	margin-top: 22px;
	min-height: 242px;
}

/* The Snap Tales viewer lives inside the hero stacking context. Lift that whole
   context while a story is open so the sticky header cannot cover the player. */
.alfa-site .hero .story-row.is-story-open {
	z-index: 2147483000;
}

body.alfa-site.alfa-story-open .site-header,
body.alfa-site.alfa-story-open .mobile-menu {
	z-index: 0 !important;
	pointer-events: none;
}

/* Snap Tales keeps its player, while the homepage covers follow Alfa's layout. */
.alfa-site .alfa-snap-tales {
	width: min(1050px, calc(100vw - 180px));
	min-height: 0;
	visibility: hidden;
	opacity: 0;
}

.alfa-site .alfa-stories.is-plugin-ready {
	overflow: visible;
}

.alfa-site .alfa-stories.is-plugin-ready .alfa-snap-tales {
	visibility: visible;
	opacity: 1;
	transition: opacity 180ms ease;
}

.alfa-site .alfa-stories.has-single-story .alfa-snap-tales {
	width: 194px;
}

.alfa-site .alfa-snap-tales .story-boxes-wrapper {
	width: 100% !important;
}

.alfa-site .alfa-snap-tales .story-boxes-wrapper > .buttons {
	display: none !important;
}

.alfa-site .alfa-snap-tales .story-boxes {
	display: flex !important;
	width: 100% !important;
	gap: 20px !important;
	margin-top: -8px !important;
	padding: 8px 0 4px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
	white-space: normal !important;
}

.alfa-site .alfa-snap-tales .story-boxes::-webkit-scrollbar {
	display: none !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box {
	display: block !important;
	width: 194px !important;
	min-width: 194px !important;
	margin: 0 !important;
	color: var(--ink) !important;
	text-align: center !important;
	opacity: 1 !important;
	transition: transform 300ms var(--ease-out) !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box:hover {
	transform: translateY(-8px);
}

.alfa-site .alfa-snap-tales .story-boxes .story-box .thumbnail,
.alfa-site .alfa-snap-tales .story-boxes .story-box.seen .thumbnail {
	display: flex !important;
	width: 194px !important;
	height: 194px !important;
	margin: 0 0 10px !important;
	padding: 4px !important;
	border: 4px solid var(--red) !important;
	border-radius: 22px !important;
	background: var(--white) !important;
	box-sizing: border-box !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box.seen .thumbnail {
	border-color: transparent !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box .thumbnail::after {
	display: none !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box .thumbnail img {
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 15px !important;
	object-fit: cover !important;
}

.alfa-site .alfa-snap-tales .story-boxes .story-box .title {
	display: -webkit-box !important;
	min-height: 2.4em;
	margin: 0 !important;
	color: var(--ink) !important;
	font-family: Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	text-align: center !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
}

/* Prevent the site's footer rules from changing the full-screen story player. */
.alfa-site .alfa-snap-tales .story-viewer .footer {
	padding: 0 !important;
	overflow: visible !important;
	color: var(--white) !important;
}

/* Keep Ohio's global link hover styles away from Alfa.Site controls. */
.alfa-site a.primary-button,
.alfa-site a.primary-button:hover,
.alfa-site a.primary-button:focus-visible {
	background-color: var(--ink-90);
	background-image: none;
	color: var(--white);
}

.alfa-site a.primary-button:hover,
.alfa-site a.primary-button:focus-visible {
	box-shadow: 0 12px 30px rgba(54, 54, 58, .16);
	transform: translateY(-2px);
}

.alfa-site a.service-card,
.alfa-site a.service-card:hover,
.alfa-site a.service-card:focus-visible {
	background-color: var(--white);
	background-image: none;
	color: var(--ink);
}

.alfa-site a.service-card:hover h3,
.alfa-site a.service-card:hover li,
.alfa-site a.service-card:focus-visible h3,
.alfa-site a.service-card:focus-visible li {
	color: inherit;
}

.alfa-site a.service-card:hover li.muted,
.alfa-site a.service-card:focus-visible li.muted {
	color: var(--ink-60);
}

/* Service names must remain readable at regular desktop widths. */
.alfa-site .service-directory-row ul {
	font-size: clamp(14px, .9vw, 17px);
	line-height: 1.35;
}

.alfa-site .service-directory-row li a {
	background: transparent;
	color: inherit;
}

.alfa-site .service-directory-row li a:hover,
.alfa-site .service-directory-row li a:focus-visible {
	background: transparent;
	color: var(--red);
}

.alfa-site .service-award-certificate {
	width: 48%;
	height: 100%;
	margin-left: auto;
	border-radius: 8px;
	object-fit: cover;
	object-position: center;
}

.alfa-site .service-award-medal {
	display: grid;
	width: clamp(62px, 5.2vw, 100px);
	height: clamp(62px, 5.2vw, 100px);
	flex: 0 0 auto;
	border: 8px dotted #b9b9bc;
	border-radius: 50%;
	background: #9d9fa2;
	color: var(--white);
	font-family: "Arial Black", Arial, sans-serif;
	font-size: 12px;
	place-items: center;
}

.alfa-site .service-award-medal.is-gold { border-color: #f1cf44; background: #e6be24; color: var(--white); }
.alfa-site .service-award-mini > strong.service-award-medal { color: var(--white); font-size: 12px; }

/* Ohio's links-underline effect expands to the full area of card links. */
body.alfa-site.links-underline .site-header a:hover,
body.alfa-site.links-underline .site-header a:focus-visible,
body.alfa-site.links-underline .mobile-menu a:hover,
body.alfa-site.links-underline .mobile-menu a:focus-visible,
body.alfa-site.links-underline main a:hover,
body.alfa-site.links-underline main a:focus-visible,
body.alfa-site.links-underline .footer a:hover,
body.alfa-site.links-underline .footer a:focus-visible {
	animation: none !important;
	background-image: none !important;
	background-position: 0 0 !important;
	background-size: auto !important;
}

/* Ohio assigns heading colors directly; colored Alfa.Site surfaces inherit. */
.alfa-site .hero-copy h1 { color: var(--white) !important; }
.alfa-site .hero-copy h1 .hero-fixed-line { color: var(--white) !important; }
.alfa-site .hero-copy h1 span { color: var(--ink-90) !important; }
.alfa-site .inner-hero-copy h1,
.alfa-site .case-card h3,
.alfa-site .catalog-case-card h2,
.alfa-site .section-dark h2,
.alfa-site .section-dark h3,
.alfa-site .contact-panel h2 { color: inherit !important; }

/* Preserve intentional text colors on every large link state. */
.alfa-site .desktop-nav a:hover,
.alfa-site .desktop-nav a:focus-visible { color: var(--ink-90); }
.alfa-site .mobile-menu a:hover,
.alfa-site .mobile-menu a:focus-visible,
.alfa-site .service-directory-title:hover,
.alfa-site .service-directory-title:focus-visible,
.alfa-site .contact-direct a:hover,
.alfa-site .contact-direct a:focus-visible,
.alfa-site .team-media:hover,
.alfa-site .team-media:focus-visible { color: var(--ink); }
.alfa-site .footer a:hover,
.alfa-site .footer a:focus-visible { color: var(--white); }
.alfa-site a.dark-button:hover,
.alfa-site a.dark-button:focus-visible { background-color: var(--ink); color: var(--white); }
.alfa-site a.red-button:hover,
.alfa-site a.red-button:focus-visible { background-color: var(--red); color: var(--white); }
.alfa-site a.secondary-button:hover,
.alfa-site a.secondary-button:focus-visible { background-color: var(--red); color: var(--white); }
.alfa-site a.case-card:hover,
.alfa-site a.case-card:focus-visible,
.alfa-site a.catalog-case-card:hover,
.alfa-site a.catalog-case-card:focus-visible { color: var(--ink); }
.alfa-site a.case-card.case-light:hover,
.alfa-site a.case-card.case-light:focus-visible,
.alfa-site a.catalog-case-card.is-light:hover,
.alfa-site a.catalog-case-card.is-light:focus-visible { color: var(--white); }

/* Decorative case art lives on its own layer and cannot become a hover fill. */
.alfa-site .case-card,
.alfa-site .catalog-case-card { isolation: isolate; }
.alfa-site .case-art {
	position: absolute;
	z-index: 0;
	right: -4%;
	bottom: -5%;
	width: 54%;
	height: 58%;
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	filter: saturate(.75) contrast(.95);
	opacity: .3;
	pointer-events: none;
	transform: rotate(-3deg) scale(1.02);
	transition: opacity 260ms ease, transform 320ms var(--ease-out);
}
.alfa-site .case-card:hover .case-art,
.alfa-site .catalog-case-card:hover .case-art { opacity: .4; transform: rotate(0) scale(1.06); }
.alfa-site .case-card > :not(.case-art) { z-index: 1; }
.alfa-site .catalog-case-top,
.alfa-site .catalog-case-card > h2,
.alfa-site .catalog-case-metric,
.alfa-site .catalog-case-card > p,
.alfa-site .catalog-case-tags { position: relative; z-index: 1; }
.alfa-site .catalog-case-link { z-index: 1; }

@media (max-width: 760px) {
	.alfa-site .case-art { width: 62%; height: 50%; opacity: .24; }
	.alfa-site .hero .story-row { min-height: 177px; margin-top: 16px; }
	.alfa-site .alfa-snap-tales { width: calc(100vw - 28px); }
	.alfa-site .alfa-stories.has-single-story .alfa-snap-tales { width: 124px; }
	.alfa-site .alfa-snap-tales .story-boxes { gap: 12px !important; padding-right: 14px !important; }
	.alfa-site .alfa-snap-tales .story-boxes .story-box { width: 124px !important; min-width: 124px !important; }
	.alfa-site .alfa-snap-tales .story-boxes .story-box .thumbnail,
	.alfa-site .alfa-snap-tales .story-boxes .story-box.seen .thumbnail {
		width: 124px !important;
		height: 124px !important;
		margin-bottom: 8px !important;
		padding: 3px !important;
		border-width: 3px !important;
		border-radius: 17px !important;
	}
	.alfa-site .alfa-snap-tales .story-boxes .story-box .thumbnail img { border-radius: 11px !important; }
	.alfa-site .alfa-snap-tales .story-boxes .story-box .title { font-size: 12px !important; }
}

/* The whole round control is the mobile-menu hit target. */
@media (max-width: 1060px) {
	.alfa-site .menu-button {
		min-width: 48px;
		height: 48px;
		flex: 0 0 auto;
		justify-content: center;
		padding: 0 14px;
		border-radius: 24px;
		background: var(--muted);
		cursor: pointer;
	}

	.alfa-site .menu-button:hover,
	.alfa-site .menu-button:focus-visible {
		background: var(--red);
		color: var(--white);
	}
}

@media (max-width: 782px) {
  .alfa-site.admin-bar .mobile-menu { top: calc(66px + 46px); }
}

@media (max-width: 760px) {
	.alfa-site .menu-button {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
		padding: 0;
		border-radius: 50%;
	}

	.alfa-site .service-directory-row ul {
		font-size: 16px;
		line-height: 1.4;
	}
}

/* --------------------------------------------------------------------------
   Design System 2026: shared hierarchy, interaction and responsive fixes.
   -------------------------------------------------------------------------- */
html {
	max-width: 100%;
	overflow-x: clip;
}

.alfa-site {
	--focus: #2167d8;
	--space-section: clamp(72px, 7vw, 104px);
	max-width: 100%;
	overflow-x: clip;
}

.alfa-site :where(a, button, input, textarea):focus-visible {
	outline: 3px solid var(--focus) !important;
	outline-offset: 3px;
}

.alfa-site p,
.alfa-site li {
	line-height: 1.48;
}

.alfa-site .section,
.alfa-site .page-section {
	padding-block: var(--space-section);
}

.alfa-site [data-reveal] {
	transform: translateY(14px);
	transition-duration: 420ms;
}

.alfa-site .desktop-nav a.is-current::after,
.alfa-site .footer-nav nav a.is-current::after {
	transform: scaleX(1);
}

.alfa-site .desktop-nav a.is-current {
	color: var(--ink);
	font-weight: 700;
}

.alfa-site .mobile-menu a.is-current {
	color: var(--red);
}

.alfa-site .primary-button,
.alfa-site .dark-button,
.alfa-site .red-button,
.alfa-site .secondary-button {
	min-height: 48px;
}

.alfa-site .hero-title-mobile {
	display: none !important;
}

.alfa-site .hero-copy {
	padding-top: 76px;
	padding-bottom: 76px;
}

.alfa-site .hero-copy h1 {
	margin-bottom: 24px;
}

.alfa-site .hero-copy p {
	max-width: 670px;
	font-size: 16px;
	line-height: 1.45;
}

.alfa-site .hero-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 28px;
}

.alfa-site .hero-actions .dark-button {
	min-height: 52px;
	padding: 14px 22px;
}

.alfa-site .hero-text-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	font-weight: 700;
}

.alfa-site .hero-text-link span {
	transition: transform 180ms var(--ease-out);
}

.alfa-site .hero-text-link:hover span,
.alfa-site .hero-text-link:focus-visible span {
	transform: translateX(5px);
}

.alfa-site .services-heading > p:last-child,
.alfa-site .blog-heading > p:last-child,
.alfa-site .reviews .section-heading > p:last-child {
	max-width: 520px;
	margin: 8px 0 0;
	color: var(--ink-80);
	font-size: 16px;
}

.alfa-site .clients-marquee {
	padding-top: 72px;
}

.alfa-site .clients-marquee > div,
.alfa-site .metrics-marquee > div {
	width: 100%;
	flex-wrap: wrap;
	justify-content: center;
	animation: none;
}

.alfa-site .clients-marquee span {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.alfa-site .metrics-marquee > div {
	gap: 24px 48px;
	padding: 40px 24px;
}

.alfa-site .metrics-marquee span {
	font-size: clamp(22px, 2vw, 30px);
	white-space: normal;
	text-align: center;
}

.alfa-site .case-period,
.alfa-site .case-outcome small,
.alfa-site .catalog-case-tags span,
.alfa-site .case-top small,
.alfa-site .blog-copy small {
	font-size: 13px;
}

.alfa-site .review-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: visible;
}

.alfa-site .review-card {
	width: auto;
	min-width: 0;
	height: auto;
	min-height: 280px;
}

.alfa-site .review-card > p {
	display: block;
	height: auto;
	overflow: visible;
	font-size: 16px;
	line-height: 1.5;
}

.alfa-site .review-person strong,
.alfa-site .review-person small {
	font-size: 14px;
}

.alfa-site .blog-card > img {
	height: 240px;
}

.alfa-site .blog-copy > div:last-child span {
	color: var(--red);
	font-size: 22px;
}

/* Services directory */
.alfa-site .services-list-page .service-directory > .container {
	width: min(var(--container), calc(100% - 48px));
}

.alfa-site .service-directory-row {
	grid-template-columns: minmax(260px, .9fr) minmax(300px, 1.15fr) minmax(300px, .95fr);
	gap: 28px;
	padding: 0 0 56px;
	border-bottom: 1px solid var(--line);
}

.alfa-site .service-directory-row:last-child {
	border-bottom: 0;
}

.alfa-site .service-directory-title {
	min-height: 52px;
}

.alfa-site .service-directory-title h2 {
	margin: 0;
}

.alfa-site .service-directory-arrow {
	display: grid;
	width: 42px;
	height: 42px;
	margin-left: auto;
	flex: 0 0 42px;
	border-radius: 50%;
	background: var(--muted);
	color: var(--red);
	font-size: 22px;
	place-items: center;
	transition: transform 180ms var(--ease-out), background-color 180ms ease, color 180ms ease;
}

.alfa-site .service-directory-title:hover .service-directory-arrow,
.alfa-site .service-directory-title:focus-visible .service-directory-arrow {
	background: var(--red);
	color: var(--white);
	transform: translateX(4px);
}

.alfa-site .service-directory-row ul {
	font-size: 16px;
}

.alfa-site .service-directory-row li {
	width: 100%;
	min-height: 38px;
}

.alfa-site .service-directory-row li > a {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
}

.alfa-site .service-directory-row li span,
.alfa-site .service-directory-description small {
	font-size: 13px;
}

.alfa-site .service-directory-description p,
.alfa-site .service-award-copy span {
	font-size: 15px;
	line-height: 1.45;
}

.alfa-site .service-award-mini {
	height: 210px;
}

/* Service detail */
.alfa-site .service-commercial {
	padding: 28px 0;
	border-bottom: 1px solid var(--line);
}

.alfa-site .service-commercial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.alfa-site .service-commercial article {
	display: flex;
	min-height: 118px;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px;
	border-radius: 16px;
	background: var(--muted);
}

.alfa-site .service-commercial span {
	color: var(--ink-80);
	font-size: 14px;
}

.alfa-site .service-commercial strong {
	font-size: 17px;
	line-height: 1.35;
}

.alfa-site .business-chip-grid span {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
}

.alfa-site .related-case-grid,
.alfa-site .service-case-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Case detail */
.alfa-site .case-detail-page .inner-hero {
	isolation: isolate;
}

.alfa-site .case-detail-page .inner-hero-copy {
	max-width: 980px;
}

.alfa-site .detail-hero-visual {
	position: absolute;
	z-index: 0;
	right: -5%;
	bottom: -12%;
	width: min(40%, 540px);
	max-height: 76%;
	object-fit: contain;
	filter: saturate(.85);
	opacity: .22;
	transform: rotate(-5deg);
}

.alfa-site .case-detail-page .inner-hero-copy > span {
	max-width: 690px;
}

/* About */
.alfa-site .about-value-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.alfa-site .about-value-grid article {
	min-height: 210px;
}

.alfa-site .about-cta-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 48px;
	padding: 48px;
	border-radius: var(--radius);
	background: var(--red);
	color: var(--white);
}

.alfa-site .about-cta-card .page-section-lead {
	margin: 0;
}

.alfa-site .about-cta-card h2,
.alfa-site .about-cta-card .page-section-lead > p,
.alfa-site .about-cta-card .page-section-lead > span {
	color: var(--white);
}

/* Contacts */
.alfa-site .contacts-workspace {
	display: grid;
	grid-template-columns: minmax(420px, .9fr) minmax(0, 1.1fr);
	gap: 20px;
}

.alfa-site .contacts-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	padding: 32px;
	border-radius: var(--radius);
	background: var(--red);
	color: var(--white);
}

.alfa-site .contacts-form-title,
.alfa-site .contacts-form-message,
.alfa-site .contacts-form .dark-button,
.alfa-site .contacts-form > small,
.alfa-site .contacts-form .alfa-form-notice {
	grid-column: 1 / -1;
}

.alfa-site .contacts-form-title span {
	font-weight: 700;
}

.alfa-site .contacts-form-title h2 {
	margin: 8px 0 12px;
	color: var(--white);
}

.alfa-site .contacts-form-title p {
	margin: 0;
}

.alfa-site .contacts-form label {
	display: grid;
	gap: 7px;
	font-size: 14px;
	font-weight: 700;
}

.alfa-site .contacts-form input,
.alfa-site .contacts-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 0;
	border-radius: 12px;
	outline: 0;
	background: var(--white) !important;
	color: var(--ink) !important;
	resize: vertical;
}

.alfa-site .contacts-form textarea {
	min-height: 110px;
}

.alfa-site .contacts-form > small {
	font-size: 13px;
	line-height: 1.4;
}

.alfa-site .contacts-form > small a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.alfa-site .contacts-workspace .contact-map {
	height: auto;
	min-height: 620px;
}

.alfa-site .map-pin {
	color: var(--ink);
	transition: transform 180ms var(--ease-out), box-shadow 180ms ease;
}

.alfa-site .map-pin:hover,
.alfa-site .map-pin:focus-visible {
	box-shadow: 0 22px 60px rgba(54,54,58,.16);
	transform: translateY(-3px);
}

.alfa-site .footer.is-compact {
	padding-top: 58px;
}

.alfa-site .footer.is-compact .footer-nav {
	margin-top: 0;
}

.alfa-site .footer-bottom,
.alfa-site .footer-bottom a,
.alfa-site .footer-nav nav a {
	font-size: 14px;
}

.alfa-site .alfa-footer-form small a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Filters and cards */
.alfa-site .case-filters-wrap {
	position: relative;
}

.alfa-site .case-filters button {
	min-height: 42px;
	padding: 10px 15px;
}

.alfa-site .catalog-case-card:focus-visible,
.alfa-site .case-card:focus-visible,
.alfa-site .service-card:focus-visible {
	box-shadow: 0 0 0 4px var(--white), 0 0 0 7px var(--focus) !important;
}

@media (max-width: 1060px) {
	.alfa-site .service-directory-row {
		grid-template-columns: 1fr 1fr;
	}

	.alfa-site .services-list-page .service-directory-row {
		grid-template-columns: 1fr 1fr;
	}

	.alfa-site .service-award-mini {
		grid-column: 2;
		grid-row: 2 / 4;
	}

	.alfa-site .contacts-workspace {
		grid-template-columns: 1fr;
	}

	.alfa-site .contacts-workspace .contact-map {
		min-height: 440px;
	}
}

@media (max-width: 760px) {
	.alfa-site {
		--space-section: 64px;
	}

	body.alfa-site,
	.alfa-site p,
	.alfa-site li {
		font-size: 15px;
	}

	.alfa-site .hero {
		min-height: 580px;
	}

	.alfa-site .hero-card {
		height: 452px;
	}

	.alfa-site .hero-copy {
		padding: 42px 20px 34px;
	}

	.alfa-site .hero-title-desktop {
		display: none !important;
	}

	.alfa-site .hero-title-mobile {
		display: block !important;
		font-size: clamp(29px, 8.5vw, 36px) !important;
		line-height: .98 !important;
		letter-spacing: -.065em !important;
	}

	.alfa-site .hero-copy h1 {
		margin-bottom: 18px;
	}

	.alfa-site .hero-copy h1 .hero-dynamic-line {
		height: 2.25em;
		min-height: 2.25em;
		font-size: clamp(25px, 7.7vw, 31px);
		line-height: 1.08;
	}

	.alfa-site .hero-copy p {
		max-width: 295px;
		font-size: 13px;
		line-height: 1.38;
	}

	.alfa-site .hero-actions {
		align-items: flex-start;
		gap: 12px;
		margin-top: 18px;
	}

	.alfa-site .hero-actions .dark-button {
		min-height: 46px;
		padding: 11px 15px;
		font-size: 12px;
	}

	.alfa-site .hero-text-link {
		min-height: 46px;
		font-size: 13px;
	}

	.alfa-site .hero-plane,
	.alfa-site .hero-plane-tail {
		top: 128px;
		right: -118px;
		opacity: .76;
	}

	.alfa-site .hero .story-row {
		min-height: 170px;
		margin-left: 0;
	}

	.alfa-site .services-heading > p:last-child,
	.alfa-site .blog-heading > p:last-child,
	.alfa-site .reviews .section-heading > p:last-child {
		font-size: 15px;
	}

	.alfa-site .clients-marquee {
		display: none;
	}

	.alfa-site .metrics-marquee > div {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 30px 20px;
	}

	.alfa-site .metrics-marquee span:nth-child(n+4) {
		display: none;
	}

	.alfa-site .review-list {
		grid-template-columns: 1fr;
	}

	.alfa-site .review-card {
		min-height: 0;
	}

	.alfa-site .blog-card > img {
		height: 200px;
	}

	.alfa-site .services-list-page .service-directory > .container {
		width: calc(100% - 28px);
	}

	.alfa-site .services-list-page .service-directory-row,
	.alfa-site .service-directory-row {
		grid-template-columns: 1fr;
		gap: 18px;
		padding-bottom: 42px;
		margin-bottom: 42px;
	}

	.alfa-site .service-directory-title {
		align-items: center;
	}

	.alfa-site .service-directory-title h2 {
		font-size: 24px;
	}

	.alfa-site .service-directory-row ul {
		gap: 4px;
		padding: 14px 16px;
		font-size: 16px;
	}

	.alfa-site .service-directory-row li,
	.alfa-site .service-directory-row li > a {
		min-height: 42px;
	}

	.alfa-site .service-directory-row li {
		flex-wrap: wrap;
	}

	.alfa-site .service-directory-row li span {
		white-space: normal;
	}

	.alfa-site .service-directory-description p {
		font-size: 15px;
	}

	.alfa-site .service-award-mini {
		grid-column: auto;
		grid-row: auto;
		height: 170px;
	}

	.alfa-site .service-commercial-grid {
		grid-template-columns: 1fr;
	}

	.alfa-site .service-commercial article {
		min-height: 94px;
	}

	.alfa-site .business-chip-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-right: 0;
		padding-right: 0;
		overflow: visible;
	}

	.alfa-site .business-chip-grid span {
		padding: 12px;
		font-size: 13px;
	}

	.alfa-site .related-case-grid,
	.alfa-site .service-case-grid {
		grid-template-columns: 1fr;
	}

	.alfa-site .detail-hero-visual {
		right: -24%;
		bottom: 5%;
		width: 72%;
		opacity: .12;
	}

	.alfa-site .case-detail-page .inner-hero-copy h1 {
		font-size: clamp(30px, 8.8vw, 35px);
	}

	.alfa-site .about-intro-copy {
		gap: 26px;
	}

	.alfa-site .about-value-grid {
		grid-template-columns: 1fr;
	}

	.alfa-site .about-value-grid article {
		min-height: 0;
	}

	.alfa-site .about-cta-card {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 28px 22px;
	}

	.alfa-site .about-cta-card .dark-button {
		width: 100%;
	}

	.alfa-site .contact-direct {
		gap: 22px;
	}

	.alfa-site .contact-direct a {
		min-height: 64px;
	}

	.alfa-site .contacts-form {
		grid-template-columns: 1fr;
		padding: 24px 18px;
	}

	.alfa-site .contacts-form-title,
	.alfa-site .contacts-form-message,
	.alfa-site .contacts-form .dark-button,
	.alfa-site .contacts-form > small {
		grid-column: auto;
	}

	.alfa-site .contacts-workspace .contact-map {
		min-height: 380px;
		margin-inline: 0;
		border-radius: 20px;
	}

	.alfa-site .case-filters-wrap::after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 8px;
		width: 44px;
		background: linear-gradient(90deg, transparent, var(--white));
		content: "";
		pointer-events: none;
	}

	.alfa-site .case-filters button {
		min-height: 42px;
	}

	.alfa-site .catalog-section .catalog-case-grid {
		padding-inline: 14px;
	}

	.alfa-site .catalog-case-card,
	.alfa-site .catalog-case-card:nth-child(n) {
		border-radius: 20px;
	}

	.alfa-site .footer.is-compact {
		padding-top: 48px;
	}

	.alfa-site .footer-bottom,
	.alfa-site .footer-bottom a,
	.alfa-site .footer-nav nav a {
		font-size: 14px;
	}
}
