/* ==========================================================================
   Ukrainian Studies — theme styles
   Ink #15171A · Blue #0870B8 · Yellow #F8B040 · Red #E81820
   Display: Unbounded · Text: Manrope
   ========================================================================== */

:root {
	--uas-ink: #15171A;
	--uas-text: #4A515C;
	--uas-muted: #5B6370;
	--uas-line: #E6E8EC;
	--uas-line-2: #D9DDE3;
	--uas-soft: #F7F8FA;
	--uas-soft-2: #F3F4F6;
	--uas-yellow: #F8B040;
	--uas-red: #E81820;
	--uas-tint-blue: #E7F0F8;
	--uas-tint-yellow: #FDF0D9;
	--uas-tint-red: #FCE7E7;
	--uas-tint-gray: #EEF0F3;
	--uas-tint-green: #E4F2EA;
	--uas-accent: #0870B8;
	--uas-accent-ink: #074B7E;
	--uas-display: Unbounded, Manrope, system-ui, sans-serif;
	--uas-body: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
	--uas-max: 1280px;
	--uas-gutter: 32px;
	--uas-ease: cubic-bezier(.2, .7, .2, 1);
	--uas-r-sm: 20px;
	--uas-r: 28px;
	--uas-r-lg: 40px;
	--uas-r-xl: 56px;
	--uas-hdr-alpha: .86;
	--uas-hero-h: 680px;
	--uas-hero-shade: .62;
	--uas-rh: 260px;
	--uas-header-h: 81px;
}
@media (max-width: 720px) {
	:root { --uas-gutter: 18px; --uas-r-lg: 28px; --uas-r-xl: 36px; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--uas-header-h) + 16px); }
body {
	margin: 0; background: #FFFFFF; color: var(--uas-ink);
	font-family: var(--uas-body); font-size: 17px; line-height: 1.6;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	overflow-x: hidden; text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--uas-accent); text-decoration: none; transition: color .25s var(--uas-ease); }
a:hover { color: var(--uas-accent-ink); }
:focus-visible { outline: 2px solid var(--uas-accent); outline-offset: 3px; border-radius: 6px; }
button { font: inherit; }
h1, h2, h3, h4, h5, h6 { color: var(--uas-ink); }
::selection { background: var(--uas-tint-blue); color: var(--uas-ink); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.uas-skip { position: absolute; left: 16px; top: -60px; z-index: 1000; padding: 12px 18px; border-radius: 999px; background: var(--uas-ink); color: #fff; transition: top .2s; }
.uas-skip:focus { top: 12px; color: #fff; }

.uas-container { width: 100%; max-width: calc(var(--uas-max) + var(--uas-gutter) * 2); margin-inline: auto; padding-inline: var(--uas-gutter); }
.uas-narrow { max-width: calc(980px + var(--uas-gutter) * 2); }
.uas-main { display: block; outline: none; }
.uas-center { display: flex; justify-content: center; margin-top: 40px; }

/* ---------- Shapes from the logo ---------- */
.uas-shape-arch { border-radius: 999px 999px var(--uas-r-sm) var(--uas-r-sm); }
.uas-shape-bowl { border-radius: var(--uas-r-sm) var(--uas-r-sm) 999px 999px; }
.uas-shape-round { border-radius: 50%; }
.uas-shape-arch, .uas-shape-bowl, .uas-shape-round { overflow: hidden; display: block; }
.uas-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
.uas-ph { display: block; width: 100%; height: 100%; }
.uas-ph--blue { background: var(--uas-tint-blue); }
.uas-ph--yellow { background: var(--uas-tint-yellow); }
.uas-ph--red { background: var(--uas-tint-red); }
.uas-ph--gray { background: var(--uas-tint-gray); }
.uas-ph--green { background: var(--uas-tint-green); }
.uas-ph--glass { background: rgba(255, 255, 255, .18); }
.uas-ph--sun { background: var(--uas-yellow); }

/* ---------- Small elements ---------- */
.uas-dots { display: inline-flex; gap: 4px; }
.uas-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--uas-yellow); }
.uas-dots i:nth-child(2) { background: var(--uas-accent); }
.uas-dots i:nth-child(3) { background: var(--uas-red); }
.uas-dots--lg { gap: 8px; }
.uas-dots--lg i { width: 14px; height: 14px; }
.uas-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto; }
.uas-dot--ring { border: 2px solid currentColor; background: transparent; }

.uas-eyebrow {
	display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
	padding: 8px 16px 8px 10px; border-radius: 999px; background: #F3F6FA;
	font-size: 14px; font-weight: 600; color: #3A414C; line-height: 1.3;
}
.uas-eyebrow--glass { background: rgba(255, 255, 255, .16); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.uas-eyebrow--glass .uas-dots i:nth-child(2) { background: #4FA3E0; }

.uas-label { margin: 0; font-family: var(--uas-body); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--uas-accent); }
.uas-h2 { margin: 0; font-family: var(--uas-display); font-weight: 500; font-size: clamp(28px, 3.4vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.uas-meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0; font-size: 14px; font-weight: 600; color: var(--uas-muted); }
.uas-meta-sep { margin: 0 8px; opacity: .6; }

.uas-chip { display: inline-flex; align-self: flex-start; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.uas-chip--glass { background: rgba(255, 255, 255, .16); color: #fff; }

.uas-pill {
	display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px;
	border: 1.5px solid var(--uas-line-2); background: #fff; color: var(--uas-ink);
	font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer;
	transition: background .25s var(--uas-ease), border-color .25s var(--uas-ease), color .25s, transform .25s var(--uas-ease);
}
.uas-pill:hover { border-color: var(--uas-ink); color: var(--uas-ink); transform: translateY(-1px); }
.uas-pill--soft { border-color: transparent; background: var(--uas-soft-2); }
.uas-pill--soft:hover { background: var(--uas-tint-blue); border-color: transparent; }
.uas-pill--back { border-color: transparent; background: var(--uas-soft-2); }

/* ---------- Buttons ---------- */
.uas-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 14px 26px; border-radius: 999px; border: 1.5px solid transparent;
	font-family: var(--uas-body); font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center;
	cursor: pointer; white-space: nowrap;
	transition: transform .3s var(--uas-ease), background .3s var(--uas-ease), color .3s, border-color .3s, box-shadow .3s;
}
.uas-btn:hover { transform: translateY(-2px); }
.uas-btn:active { transform: translateY(0); }
.uas-btn .uas-icon { transition: transform .3s var(--uas-ease); }
.uas-btn:hover .uas-icon { transform: translateX(3px); }
.uas-btn--sm { min-height: 44px; padding: 10px 20px; font-size: 14px; }
.uas-btn--ink { background: var(--uas-ink); color: #fff; }
.uas-btn--ink:hover { background: var(--uas-accent); color: #fff; }
.uas-btn--accent { background: var(--uas-accent); color: #fff; }
.uas-btn--accent:hover { background: var(--uas-accent-ink); color: #fff; }
.uas-btn--white { background: #fff; color: var(--uas-ink); }
.uas-btn--white:hover { color: var(--uas-ink); box-shadow: 0 14px 30px -18px rgba(0, 0, 0, .5); }
.uas-btn--glass { border-color: rgba(255, 255, 255, .6); color: #fff; }
.uas-btn--glass:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }
.uas-btn--line { border-color: var(--uas-line-2); color: var(--uas-ink); background: #fff; }
.uas-btn--line:hover { border-color: var(--uas-ink); color: var(--uas-ink); }
.uas-btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* ==========================================================================
   Header (translucent, sticky)
   ========================================================================== */
.uas-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255, 255, 255, var(--uas-hdr-alpha));
	-webkit-backdrop-filter: saturate(1.4) blur(16px); backdrop-filter: saturate(1.4) blur(16px);
	border-bottom: 1px solid rgba(21, 23, 26, .06);
	transition: box-shadow .4s var(--uas-ease), background .4s var(--uas-ease);
}
.uas-header.is-scrolled { box-shadow: 0 10px 30px -24px rgba(21, 23, 26, .45); }
.admin-bar .uas-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .uas-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .uas-header { top: 0; } }

.uas-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 81px; padding-block: 14px; }

.uas-brand { display: flex; align-items: center; gap: 14px; color: var(--uas-ink); flex: 0 0 auto; }
.uas-brand:hover { color: var(--uas-ink); }
.uas-brand .uas-logo-svg { transition: transform .5s var(--uas-ease); }
.uas-brand:hover .uas-logo-svg { transform: rotate(-4deg) scale(1.04); }
.uas-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.uas-brand__title { font-family: var(--uas-display); font-weight: 500; font-size: 16px; letter-spacing: -.01em; }
.uas-brand__sub { font-size: 12px; color: var(--uas-muted); letter-spacing: .04em; margin-top: 3px; }

.uas-nav-panel { display: flex; align-items: center; gap: 16px; flex: 1 1 auto; justify-content: flex-end; }
.uas-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.uas-menu, .uas-menu ul { list-style: none; margin: 0; padding: 0; }
.uas-menu { display: flex; flex-wrap: nowrap; white-space: nowrap; align-items: center; gap: 2px; }
.uas-menu > li { position: relative; display: flex; align-items: center; }
.uas-menu a {
	display: block; padding: 10px 16px; border-radius: 999px; color: var(--uas-ink);
	font-weight: 500; font-size: 15px; line-height: 1.3;
	transition: background .25s var(--uas-ease), color .25s;
}
.uas-menu a:hover { background: var(--uas-soft-2); color: var(--uas-ink); }
.uas-menu .current-menu-item > a, .uas-menu .current-menu-ancestor > a, .uas-menu .current_page_item > a { background: var(--uas-tint-blue); color: var(--uas-accent-ink); }
.uas-menu > .menu-item-has-children > a { padding-right: 4px; }
.uas-sub-toggle {
	display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-right: 6px;
	border: 0; background: transparent; color: var(--uas-muted); border-radius: 50%; cursor: pointer; transition: transform .3s var(--uas-ease), background .2s;
}
.uas-sub-toggle:hover { background: var(--uas-soft-2); }
.uas-menu .sub-menu {
	position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px; padding: 8px;
	background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	border: 1px solid var(--uas-line); border-radius: 22px; box-shadow: 0 24px 50px -24px rgba(21, 23, 26, .35);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .25s var(--uas-ease), transform .3s var(--uas-ease), visibility 0s .3s;
}
.uas-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.uas-menu .sub-menu a { padding: 10px 14px; border-radius: 14px; }
.uas-menu .sub-menu .sub-menu { top: 0; left: 100%; margin-left: 8px; }
.uas-menu li:hover > .sub-menu,
.uas-menu li:focus-within > .sub-menu,
.uas-menu li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.uas-menu li.is-open > .uas-sub-toggle { transform: rotate(180deg); }

.uas-header__tools { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.uas-lang { display: flex; padding: 4px; border-radius: 999px; background: var(--uas-soft-2); }
.uas-lang__item {
	padding: 8px 14px; border-radius: 999px; color: var(--uas-muted); font-size: 13px; font-weight: 700; line-height: 1.2;
	transition: background .25s var(--uas-ease), color .25s, box-shadow .25s;
}
.uas-lang__item:hover { color: var(--uas-ink); }
.uas-lang__item.is-current { background: #fff; color: var(--uas-ink); box-shadow: 0 1px 3px rgba(21, 23, 26, .12); }

.uas-burger {
	display: none; align-items: center; gap: 10px; min-height: 44px; padding: 8px 16px 8px 12px;
	border: 1.5px solid var(--uas-line-2); border-radius: 999px; background: #fff; color: var(--uas-ink); cursor: pointer; font-weight: 600; font-size: 14px;
}
.uas-burger__lines { position: relative; width: 20px; height: 12px; display: inline-block; }
.uas-burger__lines i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .35s var(--uas-ease), top .35s var(--uas-ease); }
.uas-burger__lines i:first-child { top: 0; }
.uas-burger__lines i:last-child { top: 10px; }
.uas-burger[aria-expanded="true"] .uas-burger__lines i:first-child { top: 5px; transform: rotate(45deg); }
.uas-burger[aria-expanded="true"] .uas-burger__lines i:last-child { top: 5px; transform: rotate(-45deg); }

@media (max-width: 1360px) {
	.uas-header__inner { flex-wrap: wrap; }
	.uas-burger { display: inline-flex; }
	.uas-nav-panel {
		flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 8px;
		max-height: 0; overflow: hidden; opacity: 0; visibility: hidden;
		transition: max-height .55s var(--uas-ease), opacity .35s var(--uas-ease), visibility 0s .55s;
	}
	.uas-nav-panel.is-open {
		max-height: calc(100vh - 120px); overflow-y: auto; opacity: 1; visibility: visible;
		transition: max-height .55s var(--uas-ease), opacity .45s var(--uas-ease) .05s, visibility 0s;
	}
	.uas-nav { justify-content: flex-start; }
	.uas-menu { flex-direction: column; align-items: stretch; width: 100%; padding-top: 6px; }
	.uas-menu > li { flex-wrap: wrap; }
	.uas-menu > li > a { flex: 1; font-size: 18px; padding: 14px 16px; }
	.uas-menu .sub-menu {
		position: static; flex: 1 1 100%; min-width: 0; padding: 0 0 6px 14px; margin: 0;
		background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
		opacity: 1; visibility: visible; transform: none; display: none;
	}
	.uas-menu li.is-open > .sub-menu { display: block; }
	.uas-menu li:hover > .sub-menu, .uas-menu li:focus-within > .sub-menu { display: none; }
	.uas-menu li.is-open:hover > .sub-menu, .uas-menu li.is-open:focus-within > .sub-menu { display: block; }
	.uas-sub-toggle { width: 44px; height: 44px; }
	.uas-header__tools { flex-wrap: wrap; justify-content: space-between; padding: 8px 0 16px; border-top: 1px solid var(--uas-line); padding-top: 16px; }
}
.uas-nav-panel { min-height: 0; }

/* ==========================================================================
   Sections — shared
   ========================================================================== */
.uas-section { padding-block: 112px; }
.uas-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; margin-bottom: 48px; }
.uas-section-head__desc { margin: 0; max-width: 440px; font-size: 16px; line-height: 1.6; color: var(--uas-text); }
@media (max-width: 720px) {
	.uas-section { padding-block: 72px; }
	.uas-section-head { margin-bottom: 32px; }
}

/* ---------- Hero (full-width photo banner) ---------- */
.uas-hero--inner .uas-hero__media { height: clamp(320px, 32vw, 440px); min-height: 0; }
.uas-hero--inner .uas-hero__img { top: -14%; height: 128%; inset-inline: 0; object-position: center center; transform: translate3d(0, var(--uas-par, 0px), 0); transition: none; will-change: transform; }
.uas-hero--inner.is-ready .uas-hero__img, .no-anim .uas-hero--inner .uas-hero__img { transform: translate3d(0, var(--uas-par, 0px), 0); }
.uas-hero--inner .uas-hero__shade { background: linear-gradient(180deg, rgba(10, 14, 20, .78) 0%, rgba(10, 14, 20, .38) 100%); }
.uas-hero--inner .uas-hero__content { top: 0; bottom: auto; padding-top: 56px; padding-bottom: 0; gap: 18px; align-items: center; text-align: center; }
.uas-hero--inner .uas-single__crumbs { justify-content: center; margin-bottom: 0; }
.uas-hero--inner .uas-hero__title, .uas-hero--inner .uas-hero__intro { margin-inline: auto; }
.uas-hero--inner .uas-hero__title { font-weight: 500; font-size: clamp(30px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -.035em; max-width: 1040px; }
.uas-hero--inner .uas-meta { color: rgba(255, 255, 255, .85); }
.uas-hero--inner .uas-pill--soft { background: rgba(255, 255, 255, .16); border-color: transparent; color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.uas-hero--inner .uas-pill--back { background: #fff; color: var(--uas-ink); border-color: transparent; }
.uas-hero__intro { margin: 0; max-width: 720px; font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
.uas-hero--inner + .uas-container .uas-single__lead { max-width: 980px; margin: 40px auto 0; }
@media (max-width: 720px) { .uas-hero--inner .uas-hero__content { padding-top: 32px; } }
.uas-hero { position: relative; }
.uas-hero__media {
	position: relative; height: var(--uas-hero-h); min-height: 460px; overflow: hidden;
	background: #2E3946; border-radius: 0 0 var(--uas-r-xl) var(--uas-r-xl);
}
.uas-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.8s var(--uas-ease); }
.uas-hero.is-ready .uas-hero__img, .no-anim .uas-hero__img { transform: scale(1); }
.uas-hero__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.uas-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 14, 20, 0) 30%, rgba(10, 14, 20, var(--uas-hero-shade)) 100%); }
.uas-hero__content {
	position: absolute; left: 0; right: 0; bottom: 0; padding-bottom: 120px;
	display: flex; flex-direction: column; gap: 24px; color: #fff;
}
.uas-hero.has-card .uas-hero__content { padding-bottom: 128px; }
.uas-hero__title {
	margin: 0; max-width: 920px; color: #fff;
	font-family: var(--uas-display); font-weight: 400; font-size: clamp(34px, 5.4vw, 78px); line-height: 1.05; letter-spacing: -.04em;
	text-wrap: balance;
}
.uas-hero-card-wrap { position: relative; z-index: 2; margin-top: -64px; display: flex; justify-content: flex-end; }
.uas-hero-card {
	flex: 0 1 520px; display: flex; align-items: center; gap: 20px; padding: 16px; border-radius: 32px;
	background: #fff; color: var(--uas-ink); box-shadow: 0 24px 48px -28px rgba(21, 23, 26, .45);
	transition: transform .4s var(--uas-ease), box-shadow .4s var(--uas-ease);
}
.uas-hero-card:hover { color: var(--uas-ink); transform: translateY(-3px); box-shadow: 0 30px 56px -28px rgba(21, 23, 26, .5); }
.uas-hero-card__img { flex: 0 0 92px; height: 92px; border-radius: 46px 46px 16px 16px; }
.uas-hero-card__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.uas-hero-card__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--uas-accent); }
.uas-hero-card__title { font-family: var(--uas-display); font-size: 18px; line-height: 1.3; letter-spacing: -.01em; }
.uas-hero-card__go { flex: 0 0 48px; height: 48px; border-radius: 50%; background: var(--uas-accent); color: #fff; display: flex; align-items: center; justify-content: center; transition: transform .4s var(--uas-ease); }
.uas-hero-card:hover .uas-hero-card__go { transform: translateX(3px); }
@media (max-width: 720px) {
	.uas-hero__media { height: min(var(--uas-hero-h), 620px); min-height: 520px; }
	.uas-hero__content { padding-bottom: 72px; }
	.uas-hero.has-card .uas-hero__content { padding-bottom: 96px; }
	.uas-hero-card-wrap { margin-top: -48px; }
	.uas-hero-card { gap: 14px; padding: 12px; border-radius: 26px; }
	.uas-hero-card__img { flex-basis: 64px; height: 72px; }
	.uas-hero-card__title { font-size: 15px; }
}

/* ---------- About ---------- */
.uas-about { padding-top: 96px; }
.uas-about__intro { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-start; margin-bottom: 56px; }
.uas-about__side { flex: 0 1 280px; display: flex; flex-direction: column; gap: 12px; }
.uas-about__sub { margin: 0; font-size: 15px; color: var(--uas-muted); line-height: 1.6; }
.uas-statement { flex: 1 1 560px; min-width: 0; margin: 0; font-family: var(--uas-display); font-weight: 400; font-size: clamp(22px, 2.6vw, 36px); line-height: 1.32; letter-spacing: -.02em; color: var(--uas-ink); text-wrap: pretty; }
.uas-about__cards { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 16px; }
.uas-about-card {
	padding: 28px; border-radius: var(--uas-r); background: var(--uas-soft);
	display: flex; flex-direction: column; gap: 14px;
	transition: transform .4s var(--uas-ease), background .4s var(--uas-ease);
}
.uas-about-card:hover { transform: translateY(-4px); }
.uas-about-card__num { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; color: var(--uas-muted); }
.uas-about-card__title { margin: 0; font-family: var(--uas-display); font-weight: 500; font-size: 20px; letter-spacing: -.01em; }
.uas-about-card__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--uas-text); }
.uas-about-card.is-dark { background: var(--uas-ink); color: #fff; }
.uas-about-card.is-dark .uas-about-card__num { color: #B8BEC7; }
.uas-about-card.is-dark .uas-dot--ring { color: #fff; }
.uas-about-card.is-dark .uas-about-card__title { color: #fff; }
.uas-about-card.is-dark .uas-about-card__text { color: #D3D7DD; }
@media (max-width: 1080px) { .uas-about__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .uas-about__cards { grid-template-columns: minmax(0, 1fr); } }

/* ---------- What we do ---------- */
.uas-directions { padding-block: 104px; background: var(--uas-soft); border-radius: var(--uas-r-xl); }
.uas-dir-grid { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 20px; }
.uas-dir-card {
	display: flex; flex-direction: column; gap: 20px; min-height: 280px; padding: 32px;
	border-radius: 32px; background: #fff; color: var(--uas-ink);
	transition: transform .45s var(--uas-ease), box-shadow .45s var(--uas-ease);
}
.uas-dir-card.is-link:hover { color: var(--uas-ink); transform: translateY(-6px); box-shadow: 0 26px 50px -30px rgba(21, 23, 26, .4); }
.uas-dir-card__icon { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform .5s var(--uas-ease); }
.uas-dir-card.is-link:hover .uas-dir-card__icon { transform: scale(1.08) rotate(-6deg); }
.uas-dir-card__title { margin: 0; font-family: var(--uas-display); font-weight: 500; font-size: 22px; letter-spacing: -.01em; }
.uas-dir-card__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--uas-text); flex-grow: 1; }
.uas-dir-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 600; color: var(--uas-muted); margin-top: auto; }
.uas-dir-card__go { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 50%; border: 1.5px solid var(--uas-line-2); display: flex; align-items: center; justify-content: center; color: var(--uas-ink); transition: background .3s, color .3s, border-color .3s; }
.uas-dir-card.is-link:hover .uas-dir-card__go { background: var(--uas-ink); border-color: var(--uas-ink); color: #fff; }
@media (max-width: 1080px) { .uas-dir-grid { grid-template-columns: repeat(min(var(--n, 4), 2), minmax(0, 1fr)); } }
@media (max-width: 560px) {
	.uas-dir-grid { grid-template-columns: minmax(0, 1fr); }
	.uas-dir-card { min-height: 0; padding: 26px; }
	.uas-directions { padding-block: 72px; }
}
.uas-subpages { padding-top: 0; }

/* ---------- Featured project ---------- */
.uas-project { padding-bottom: 0; }
.uas-project__band {
	position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 48px;
	padding: 56px; border-radius: var(--uas-r-lg); background: var(--uas-accent); color: #fff;
}
.uas-project__line { position: absolute; right: -40px; top: -40px; width: 600px; height: 400px; pointer-events: none; }
.uas-project__top { position: relative; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.uas-project__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.uas-project__title { margin: 0; color: #fff; font-family: var(--uas-display); font-weight: 400; font-size: clamp(30px, 4vw, 56px); line-height: 1.05; letter-spacing: -.04em; text-wrap: balance; }
.uas-project__lead { margin: 0; max-width: 540px; font-size: 18px; line-height: 1.6; color: #E3EEF8; }
.uas-project__media { flex: 1 1 360px; min-width: 0; display: flex; gap: 16px; align-items: flex-end; }
.uas-project__arch { flex: 1 1 0; min-width: 0; height: 320px; }
.uas-project__bowl { flex: 1 1 0; min-width: 0; height: 250px; }
.uas-timeline { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 16px; }
.uas-timeline li { margin: 0; display: flex; }
.uas-tl-item {
	flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: var(--uas-r);
	background: rgba(255, 255, 255, .12); color: #fff;
	transition: background .35s var(--uas-ease), transform .35s var(--uas-ease);
}
a.uas-tl-item:hover { background: rgba(255, 255, 255, .2); color: #fff; transform: translateY(-3px); }
.uas-tl-item__date { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: #CFE1F1; }
.uas-tl-item__text { font-size: 16px; font-weight: 600; line-height: 1.45; }
.uas-tl-item.is-light { background: #fff; color: var(--uas-ink); }
.uas-tl-item.is-light .uas-tl-item__date { color: var(--uas-muted); }
.uas-tl-item.is-light .uas-dot--ring { color: var(--uas-ink); }
a.uas-tl-item.is-light:hover { background: #fff; color: var(--uas-ink); }
@media (max-width: 1080px) { .uas-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
	.uas-project__band { padding: 32px 22px; gap: 32px; }
	.uas-project__arch { height: 240px; }
	.uas-project__bowl { height: 190px; }
	.uas-timeline { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Latest news ---------- */
.uas-news__layout { display: flex; flex-wrap: wrap; gap: 32px; }
.uas-news-lead { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 22px; color: var(--uas-ink); }
a.uas-news-lead:hover { color: var(--uas-ink); }
.uas-news-lead__media { display: block; height: 380px; border-radius: 36px; overflow: hidden; background: var(--uas-tint-red); }
.uas-news-lead__media img { transition: transform 1.2s var(--uas-ease); }
a.uas-news-lead:hover .uas-news-lead__media img { transform: scale(1.04); }
.uas-news-lead__body { display: flex; flex-direction: column; gap: 12px; padding: 0 8px 8px; }
.uas-news-lead__title { font-family: var(--uas-display); font-weight: 500; font-size: clamp(22px, 2vw, 28px); line-height: 1.25; letter-spacing: -.02em; transition: color .3s; }
a.uas-news-lead:hover .uas-news-lead__title { color: var(--uas-accent); }
.uas-news-lead__excerpt { font-size: 16px; line-height: 1.6; color: var(--uas-text); }
.uas-news-list { flex: 1 1 400px; min-width: 0; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.uas-news-list li { margin: 0; border-top: 1px solid var(--uas-line); }
.uas-news-list li:last-child { border-bottom: 1px solid var(--uas-line); }
.uas-news-item { display: flex; gap: 20px; align-items: center; padding: 22px 0; color: var(--uas-ink); }
a.uas-news-item:hover { color: var(--uas-ink); }
.uas-news-item__thumb { flex: 0 0 76px; height: 76px; }
.uas-news-item__thumb.uas-shape-arch { border-radius: 38px 38px 12px 12px; }
.uas-news-item__thumb.uas-shape-bowl { border-radius: 12px 12px 38px 38px; }
.uas-news-item__thumb img { transition: transform .8s var(--uas-ease); }
a.uas-news-item:hover .uas-news-item__thumb img { transform: scale(1.08); }
.uas-news-item__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.uas-news-item__body .uas-meta { font-size: 13px; }
.uas-news-item__title { font-size: 17px; font-weight: 600; line-height: 1.4; transition: color .3s; }
a.uas-news-item:hover .uas-news-item__title { color: var(--uas-accent); }
@media (max-width: 720px) { .uas-news-lead__media { height: 260px; border-radius: var(--uas-r); } }

/* ---------- Gallery: "river" (justified rows) ---------- */
.uas-gallery { padding-top: 0; }
.uas-river { display: flex; flex-wrap: wrap; gap: 14px; }
.uas-river::after { content: ""; flex-grow: 999999; }
.uas-river__item {
	position: relative; display: block; overflow: hidden; border-radius: var(--uas-r-sm);
	flex-grow: calc(var(--w) / var(--h) * 100);
	flex-basis: calc(var(--uas-rh) * var(--w) / var(--h));
	aspect-ratio: var(--w) / var(--h);
	background: var(--uas-soft-2); cursor: zoom-in;
	max-height: calc(var(--uas-rh) * 1.6);
}
.uas-river--demo .uas-river__item { cursor: default; }
.uas-river__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--uas-ease), filter .6s; }
.uas-river__item:hover .uas-river__img { transform: scale(1.05); }
.uas-river__cap {
	position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 8px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .92); color: var(--uas-ink); font-size: 13px; font-weight: 600; line-height: 1.3;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: max-content;
	opacity: 0; transform: translateY(8px); transition: opacity .35s var(--uas-ease), transform .35s var(--uas-ease);
}
.uas-river__item:hover .uas-river__cap, .uas-river__item:focus-visible .uas-river__cap { opacity: 1; transform: none; }
@media (hover: none) { .uas-river__cap { opacity: 1; transform: none; } }
@media (max-width: 720px) { .uas-river { --uas-rh: 150px; gap: 8px; } .uas-river__item { border-radius: 14px; } }
.uas-editor-hint { margin: 14px 0 0; font-size: 13px; color: var(--uas-muted); }

/* ---------- Lightbox ---------- */
.uas-lb { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.uas-lb__backdrop { position: absolute; inset: 0; background: rgba(21, 23, 26, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: opacity .45s var(--uas-ease); }
.uas-lb.is-open .uas-lb__backdrop { opacity: 1; }
.uas-lb__img {
	position: fixed; left: 0; top: 0; border-radius: var(--uas-r-sm); object-fit: contain; background: #2E3946; will-change: transform;
	transform-origin: 0 0; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .8);
	transition: transform .55s var(--uas-ease), opacity .35s var(--uas-ease), border-radius .55s var(--uas-ease);
	user-select: none; -webkit-user-drag: none; cursor: zoom-out;
}
.uas-lb__img.is-swap { opacity: 0; }
.uas-lb__ui { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .4s var(--uas-ease) .1s; }
.uas-lb.is-open .uas-lb__ui { opacity: 1; }
.uas-lb__ui > * { pointer-events: auto; }
.uas-lb__btn {
	position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
	background: #fff; color: var(--uas-ink); display: flex; align-items: center; justify-content: center;
	box-shadow: 0 12px 28px -14px rgba(0, 0, 0, .6);
	transition: background .25s, color .25s, transform .3s var(--uas-ease);
}
.uas-lb__btn:hover { background: var(--uas-accent); color: #fff; transform: scale(1.07); }
.uas-lb__close { top: 20px; right: 20px; }
.uas-lb__prev { left: 20px; top: 50%; margin-top: -26px; }
.uas-lb__next { right: 20px; top: 50%; margin-top: -26px; }
.uas-lb__bar {
	position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); max-width: calc(100% - 40px);
	display: flex; align-items: center; gap: 14px; padding: 8px 8px 8px 20px; border-radius: 999px;
	background: #fff; color: var(--uas-ink); box-shadow: 0 16px 36px -18px rgba(0, 0, 0, .6);
}
.uas-lb__bar::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--uas-yellow); box-shadow: 14px 0 0 var(--uas-accent), 28px 0 0 var(--uas-red); margin-right: 32px; }
.uas-lb__bar:empty { display: none; }
.uas-lb__count { font-size: 13px; font-weight: 700; color: var(--uas-muted); font-variant-numeric: tabular-nums; }
.uas-lb__cap { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uas-lb__cap:empty { display: none; }
.uas-lb__link { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; background: var(--uas-ink); color: #fff; font-size: 14px; font-weight: 700; white-space: nowrap; }
.uas-lb__link:hover { background: var(--uas-accent); color: #fff; }
.uas-lb__link[hidden] { display: none; }
@media (max-width: 720px) {
	.uas-lb__prev, .uas-lb__next { top: auto; bottom: 84px; margin: 0; }
	.uas-lb__close { top: 14px; right: 14px; }
}
.uas-prose a.uas-zoom { display: block; cursor: zoom-in; text-decoration: none; }
.uas-prose figure a.uas-zoom { display: inline-block; max-width: 100%; }
body.uas-lb-lock { overflow: hidden; }

/* ---------- Contact ---------- */
.uas-contact { padding-block: 40px 0; }
.uas-contact__panel {
	position: relative; overflow: hidden; display: flex; flex-wrap: wrap; gap: 40px 56px;
	padding: 48px 56px; border-radius: 48px; background: var(--uas-ink); color: #fff;
}
.uas-contact__panel > .uas-logo-svg { position: absolute; right: -60px; bottom: -80px; width: 420px; height: 420px; opacity: .05; pointer-events: none; }
.uas-contact__panel > .uas-logo-svg circle { display: none; }
.uas-contact__text { position: relative; flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.uas-contact__text p { margin: 0; font-size: 17px; line-height: 1.6; color: #C9CED6; max-width: 520px; }
.uas-contact__title { margin: 0; color: #fff; font-family: var(--uas-display); font-weight: 400; font-size: clamp(30px, 3.6vw, 52px); letter-spacing: -.04em; line-height: 1.05; }
.uas-contact__email { font-family: var(--uas-display); font-size: clamp(17px, 1.8vw, 22px); color: #fff; border-bottom: 2px solid #4FA3E0; padding-bottom: 4px; word-break: break-all; }
.uas-contact__email:hover { color: #9FCFF2; }
.uas-contact__panel .uas-dots i:nth-child(2) { background: #4FA3E0; }
.uas-contact__form { position: relative; flex: 1 1 460px; min-width: 0; }
.uas-contact__form-title { margin: 0 0 16px; color: #fff; font-family: var(--uas-display); font-weight: 400; font-size: clamp(20px, 1.9vw, 26px); letter-spacing: -.03em; line-height: 1.15; }
.uas-contact__text .uas-eyebrow { margin-bottom: 4px; }
.uas-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
@media (max-width: 560px) { .uas-form__row { grid-template-columns: minmax(0, 1fr); } }
.uas-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.uas-req { color: #4FA3E0; }
.uas-form-note { padding: 12px 18px; border-radius: 18px; font-weight: 600; }
.uas-form-note.is-ok { background: rgba(79, 163, 224, .18); color: #CFE8F8; }
.uas-form-note.is-err { background: rgba(255, 120, 120, .16); color: #FFC9C9; }
.uas-contact__panel.is-solo { justify-content: flex-start; }
@media (max-width: 720px) { .uas-contact__panel { padding: 32px 20px; border-radius: 32px; gap: 32px; } }

/* Form plugins (Contact Form 7, WPForms, Gravity Forms, Fluent Forms…) inside the dark panel */
.uas-form-skin, .uas-form-skin label, .uas-form-skin legend { color: #C9CED6; font-size: 14px; font-weight: 600; }
.uas-form-skin p { margin: 0 0 12px; }
.uas-form-skin input[type=text], .uas-form-skin input[type=email], .uas-form-skin input[type=tel], .uas-form-skin input[type=url],
.uas-form-skin input[type=number], .uas-form-skin input[type=date], .uas-form-skin select, .uas-form-skin textarea {
	width: 100%; max-width: 100%; min-height: 48px; margin-top: 6px; padding: 0 20px;
	border-radius: 999px; border: 1.5px solid #3A3F47; background: #202328; color: #fff;
	font: inherit; font-weight: 500; font-size: 16px; transition: border-color .25s, background .25s;
	-webkit-appearance: none; appearance: none;
}
.uas-form-skin textarea { min-height: 84px; height: 84px; padding: 12px 20px; border-radius: 24px; resize: vertical; }
.uas-form-skin .wpcf7-turnstile { display: inline-block; vertical-align: middle; margin: 0 16px 12px 0; color-scheme: dark; }
.uas-form-skin .wpcf7-form > p:has(.wpcf7-submit) { display: inline-block; vertical-align: middle; }
.uas-contact__text { gap: 16px; }
.uas-form-skin input:focus, .uas-form-skin select:focus, .uas-form-skin textarea:focus { outline: none; border-color: #4FA3E0; background: #24282E; }
.uas-form-skin ::placeholder { color: #8A919C; }
.uas-form-skin input[type=submit], .uas-form-skin button[type=submit], .uas-form-skin .wpcf7-submit, .uas-form-skin .wpforms-submit {
	min-height: 52px; padding: 14px 30px !important; border: 0 !important; border-radius: 999px !important; background: #fff !important; color: var(--uas-ink) !important;
	font: inherit; font-weight: 700 !important; font-size: 16px !important; cursor: pointer; transition: transform .3s var(--uas-ease), background .3s;
}
.uas-form-skin input[type=submit]:hover, .uas-form-skin button[type=submit]:hover { transform: translateY(-2px); background: #E7F0F8 !important; }
.uas-form-skin .wpcf7-not-valid-tip { color: #FFB4B4; font-size: 13px; margin-top: 6px; }
.uas-form-skin .wpcf7-response-output { border-radius: 18px; margin: 16px 0 0 !important; padding: 12px 16px !important; color: #fff; }
.uas-form-skin .wpcf7-spinner { margin: 0 12px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.uas-footer { padding: 72px 0 40px; border-top: 1px solid #EEF0F3; margin-top: 40px; }
.uas-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
.uas-footer__brand { display: flex; flex-direction: column; gap: 16px; max-width: 340px; }
.uas-footer__brand p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--uas-muted); }
.uas-footer__cols { display: flex; flex-wrap: wrap; gap: 32px 56px; }
.uas-footer__col { min-width: 140px; }
.uas-footer__title { margin: 0 0 14px; font-family: var(--uas-body); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--uas-muted); }
.uas-footer-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.uas-footer-list a { color: var(--uas-ink); background-image: linear-gradient(currentColor, currentColor); background-size: 0 1.5px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .4s var(--uas-ease), color .25s; }
.uas-footer-list a:hover { color: var(--uas-accent); background-size: 100% 1.5px; }
.uas-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #EEF0F3; font-size: 14px; color: var(--uas-muted); }
.uas-footer__bottom a { color: var(--uas-muted); }
.uas-footer__bottom a:hover { color: var(--uas-ink); }

/* ==========================================================================
   Page header, listings, cards
   ========================================================================== */
.uas-page-head { position: relative; overflow: hidden; padding: 88px 0 72px; background: var(--uas-soft); border-radius: 0 0 var(--uas-r-xl) var(--uas-r-xl); }
.uas-page-head__line { position: absolute; left: 0; right: 0; bottom: 10px; width: 100%; height: 200px; color: rgba(21, 23, 26, .1); pointer-events: none; }
.uas-page-head__inner { position: relative; display: flex; flex-direction: column; gap: 20px; }
.uas-page-head__title { margin: 0; max-width: 980px; font-family: var(--uas-display); font-weight: 500; font-size: clamp(32px, 4.6vw, 64px); line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
.uas-page-head__intro { max-width: 640px; font-size: 19px; line-height: 1.6; color: var(--uas-text); }
.uas-page-head__intro p { margin: 0; }
.uas-page-media { margin: 48px auto 0; }
.uas-page-media img { border-radius: var(--uas-r-lg); aspect-ratio: 16 / 7; }
.uas-page-body { padding-block: 64px 96px; }
@media (max-width: 720px) { .uas-page-head { padding: 56px 0 48px; } .uas-page-media img { aspect-ratio: 4 / 3; } .uas-page-body { padding-block: 40px 64px; } }

.uas-listing { padding-block: 64px 96px; }
.uas-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 40px 28px; }
.uas-card-post { margin: 0; }
.uas-card-post__link { display: flex; flex-direction: column; gap: 18px; color: var(--uas-ink); height: 100%; }
.uas-card-post__link:hover { color: var(--uas-ink); }
.uas-card-post__media { height: 280px; background: var(--uas-soft-2); }
.uas-card-post__media.uas-shape-arch { border-radius: 160px 160px var(--uas-r) var(--uas-r); }
.uas-card-post__media.uas-shape-round { border-radius: var(--uas-r); }
.uas-card-post__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--uas-ease); }
.uas-card-post__link:hover .uas-card-post__img { transform: scale(1.05); }
.uas-card-post__body { display: flex; flex-direction: column; gap: 10px; padding: 0 4px; }
.uas-card-post__title { font-family: var(--uas-display); font-weight: 400; font-size: 21px; line-height: 1.3; letter-spacing: -.02em; transition: color .3s; }
.uas-card-post__link:hover .uas-card-post__title { color: var(--uas-accent); }
.uas-card-post__excerpt { font-size: 15px; line-height: 1.6; color: var(--uas-text); }
.uas-meta-cat { color: var(--uas-accent); }

.uas-pagination { margin-top: 64px; display: flex; justify-content: center; }
.uas-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.uas-pagination a, .uas-pagination span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; padding: 0 14px;
	border-radius: 999px; border: 1.5px solid var(--uas-line-2); color: var(--uas-ink); font-weight: 600; transition: all .25s var(--uas-ease);
}
.uas-pagination a:hover { border-color: var(--uas-ink); }
.uas-pagination .current { background: var(--uas-ink); border-color: var(--uas-ink); color: #fff; }
.uas-pagination .dots { border-color: transparent; }

.uas-empty { text-align: center; }
.uas-empty p { font-size: 18px; color: var(--uas-text); }
.uas-searchform { display: flex; align-items: center; max-width: 560px; margin-inline: auto; padding: 6px 6px 6px 22px; border-radius: 999px; background: #fff; border: 1.5px solid var(--uas-line-2); transition: border-color .25s, box-shadow .25s; }
.uas-searchform:focus-within { border-color: var(--uas-accent); box-shadow: 0 0 0 4px rgba(8, 112, 184, .12); }
.uas-searchform input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 16px; padding: 10px 0; outline: none; color: var(--uas-ink); }
.uas-searchform button { width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--uas-ink); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .25s; }
.uas-searchform button:hover { background: var(--uas-accent); }
.uas-search-again { margin-top: -26px; position: relative; z-index: 2; }
.uas-search-again .uas-searchform { margin-left: 0; box-shadow: 0 18px 40px -26px rgba(21, 23, 26, .4); }

/* ==========================================================================
   Single post
   ========================================================================== */
.uas-single__head { padding: 64px 0 40px; }
.uas-single__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.uas-single__title { margin: 0; font-family: var(--uas-display); font-weight: 500; font-size: clamp(30px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.uas-single__meta { margin-top: 22px; }
.uas-single__lead { margin: 24px 0 0; font-size: 20px; line-height: 1.6; color: var(--uas-text); }
.uas-single__media { margin: 8px auto 0; }
.uas-single__media img { aspect-ratio: 16 / 8; border-radius: 50% 50% var(--uas-r-lg) var(--uas-r-lg) / 140px 140px var(--uas-r-lg) var(--uas-r-lg); }
.uas-single__media figcaption { margin-top: 12px; font-size: 14px; color: var(--uas-muted); text-align: center; }
@media (max-width: 720px) { .uas-single__media img { aspect-ratio: 4 / 3; border-radius: 50% 50% var(--uas-r) var(--uas-r) / 70px 70px var(--uas-r) var(--uas-r); } .uas-single__head { padding: 40px 0 28px; } }
.uas-entry { padding-block: 56px 32px; }

.uas-single__foot { display: flex; flex-direction: column; gap: 20px; padding: 32px var(--uas-gutter) 0; margin-inline: auto; border-top: 1px solid var(--uas-line); max-width: 980px; padding-inline: 0; }
.uas-tags, .uas-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.uas-share__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--uas-muted); margin-right: 8px; }
.uas-share .uas-pill.is-done { background: var(--uas-tint-blue); border-color: transparent; }

.uas-postnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 64px auto 0; max-width: 980px; }
.uas-postnav__item { display: flex; flex-direction: column; gap: 10px; padding: 26px 28px; border-radius: var(--uas-r); background: var(--uas-soft); color: var(--uas-ink); transition: background .35s var(--uas-ease), transform .35s var(--uas-ease); }
.uas-postnav__item:hover { background: var(--uas-tint-blue); color: var(--uas-ink); transform: translateY(-3px); }
.uas-postnav__item.is-next { text-align: right; align-items: flex-end; }
.uas-postnav__dir { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--uas-muted); }
.uas-postnav__title { font-family: var(--uas-display); font-size: 18px; line-height: 1.3; letter-spacing: -.01em; }
@media (max-width: 720px) { .uas-postnav { grid-template-columns: minmax(0, 1fr); } .uas-postnav__item.is-next { text-align: left; align-items: flex-start; } }
.uas-related { background: var(--uas-soft); border-radius: var(--uas-r-xl); margin-top: 96px; }

/* ---------- Prose (post & page content) ---------- */
.uas-prose { max-width: 980px; margin-inline: auto; font-size: 18px; line-height: 1.75; color: #2A2F36; }
.uas-prose--wide { max-width: var(--uas-max); }
.uas-prose .alignwide, .uas-prose .alignfull { max-width: none; }
.uas-prose img { height: auto; border-radius: var(--uas-r-sm); }
.uas-prose > * { margin-block: 0 1.3em; }
.uas-prose > *:last-child { margin-bottom: 0; }
.uas-prose h2, .uas-prose h3, .uas-prose h4 { font-family: var(--uas-display); font-weight: 500; letter-spacing: -.02em; line-height: 1.2; margin-top: 2em; margin-bottom: .7em; }
.uas-prose h2 { font-size: clamp(24px, 2.4vw, 32px); }
.uas-prose h3 { font-size: clamp(20px, 2vw, 24px); }
.uas-prose h4 { font-size: 19px; }
.uas-prose a { color: var(--uas-accent); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: rgba(8, 112, 184, .35); transition: text-decoration-color .25s, color .25s; }
.uas-prose a:hover { text-decoration-color: currentColor; }
.uas-prose ul, .uas-prose ol { padding-left: 1.3em; }
.uas-prose li { margin-bottom: .4em; }
.uas-prose ul li::marker { color: var(--uas-accent); }
.uas-prose blockquote, .uas-prose .wp-block-quote {
	position: relative; margin: 2em 0; padding: 28px 32px 28px 72px; border: 0; border-radius: var(--uas-r);
	background: var(--uas-soft); font-family: var(--uas-display); font-size: 21px; line-height: 1.5; letter-spacing: -.01em; color: var(--uas-ink);
}
.uas-prose blockquote::before { content: ""; position: absolute; left: 30px; top: 34px; width: 14px; height: 14px; border-radius: 50%; background: var(--uas-yellow); box-shadow: 0 22px 0 var(--uas-accent), 0 44px 0 var(--uas-red); }
.uas-prose blockquote p { margin: 0 0 .6em; }
.uas-prose blockquote cite { display: block; font-family: var(--uas-body); font-size: 14px; font-style: normal; font-weight: 600; color: var(--uas-muted); }
.uas-prose .wp-block-pullquote { border: 0; padding: 40px; border-radius: var(--uas-r-lg); background: var(--uas-tint-blue); }
.uas-prose img, .uas-prose video { border-radius: var(--uas-r-sm); }
.uas-prose figure { margin-inline: 0; }
.uas-prose figcaption, .uas-prose .wp-element-caption { margin-top: 10px; font-size: 14px; color: var(--uas-muted); text-align: center; }
.uas-prose .alignwide { max-width: min(var(--uas-max), calc(100vw - var(--uas-gutter) * 2)); margin-left: 50%; transform: translateX(-50%); width: min(var(--uas-max), calc(100vw - var(--uas-gutter) * 2)); }
.uas-prose .alignfull { max-width: 100vw; width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.uas-prose .alignfull img { border-radius: 0; }
.uas-prose .alignleft { float: left; margin: .3em 1.5em 1em 0; max-width: 50%; }
.uas-prose .alignright { float: right; margin: .3em 0 1em 1.5em; max-width: 50%; }
.uas-prose .aligncenter { margin-inline: auto; display: block; }
.uas-prose .wp-block-image.is-style-rounded img { border-radius: 999px; }
.uas-prose .wp-block-gallery { gap: 12px; }
.uas-prose hr, .uas-prose .wp-block-separator { border: 0; height: 14px; margin: 3em auto; background: radial-gradient(circle, var(--uas-yellow) 6px, transparent 7px) 0 0 / 14px 14px no-repeat, radial-gradient(circle, var(--uas-accent) 6px, transparent 7px) 22px 0 / 14px 14px no-repeat, radial-gradient(circle, var(--uas-red) 6px, transparent 7px) 44px 0 / 14px 14px no-repeat; width: 58px; opacity: 1; }
.uas-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.uas-prose th, .uas-prose td { padding: 12px 14px; border-bottom: 1px solid var(--uas-line); text-align: left; }
.uas-prose th { font-weight: 700; }
.uas-prose .wp-block-table { overflow-x: auto; }
.uas-prose code { font-size: .9em; padding: 2px 6px; border-radius: 6px; background: var(--uas-soft-2); }
.uas-prose pre { padding: 20px; border-radius: var(--uas-r-sm); background: var(--uas-ink); color: #E8EAEE; overflow-x: auto; font-size: 15px; }
.uas-prose pre code { background: none; padding: 0; }
.uas-prose .wp-block-button__link { border-radius: 999px; padding: 14px 26px; background: var(--uas-ink); color: #fff; text-decoration: none; font-weight: 600; transition: background .3s, transform .3s var(--uas-ease); }
.uas-prose .wp-block-button__link:hover { background: var(--uas-accent); transform: translateY(-2px); }
.uas-prose .is-style-outline .wp-block-button__link { background: transparent; color: var(--uas-ink); border: 1.5px solid var(--uas-line-2); }
.uas-prose .wp-block-embed iframe { border-radius: var(--uas-r-sm); max-width: 100%; }
.uas-prose .wp-block-columns { gap: 32px; }
.uas-prose .has-background { border-radius: var(--uas-r); padding: 28px 32px; }
.uas-prose::after { content: ""; display: table; clear: both; }
.uas-page-links { display: flex; gap: 8px; margin-top: 2em; font-weight: 600; }

/* Comments */
.uas-comments-wrap { padding-block: 64px 32px; }
.uas-comments__title { font-family: var(--uas-display); font-weight: 500; font-size: 28px; letter-spacing: -.02em; }
.uas-comments__count { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: 999px; background: var(--uas-tint-blue); color: var(--uas-accent-ink); font-size: 15px; vertical-align: middle; margin-left: 6px; }
.uas-comment-list, .uas-comment-list .children { list-style: none; margin: 0; padding: 0; }
.uas-comment-list .children { padding-left: 32px; }
.uas-comment-list .comment-body { padding: 22px 24px; margin-bottom: 14px; border-radius: var(--uas-r-sm); background: var(--uas-soft); }
.uas-comment-list .avatar { border-radius: 50%; float: left; margin-right: 12px; }
.uas-comment-list .comment-meta { font-size: 14px; color: var(--uas-muted); margin-bottom: 8px; }
.uas-comment-list .fn { font-weight: 700; color: var(--uas-ink); font-style: normal; }
.comment-respond input[type=text], .comment-respond input[type=email], .comment-respond input[type=url], .comment-respond textarea {
	width: 100%; padding: 14px 18px; border: 1.5px solid var(--uas-line-2); border-radius: 18px; font: inherit; background: #fff;
}
.comment-respond input:focus, .comment-respond textarea:focus { outline: none; border-color: var(--uas-accent); }
.comment-respond .comment-reply-title { font-family: var(--uas-display); font-weight: 500; font-size: 22px; }

/* 404 */
.uas-404 { padding: 96px 0 72px; text-align: center; }
.uas-404__inner { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.uas-404__shapes { position: relative; display: flex; gap: 14px; align-items: flex-end; height: 180px; margin-bottom: 16px; }
.uas-404__shapes span { width: 70px; height: 150px; background: var(--uas-tint-blue); }
.uas-404__shapes span:nth-child(2) { height: 120px; background: var(--uas-tint-yellow); }
.uas-404__shapes span:nth-child(3) { height: 170px; background: var(--uas-tint-red); }
.uas-404__shapes i { position: absolute; width: 18px; height: 18px; border-radius: 50%; animation: uas-float 5s var(--uas-ease) infinite alternate; }
.uas-404__shapes .d1 { background: var(--uas-yellow); left: 24px; top: 0; }
.uas-404__shapes .d2 { background: var(--uas-accent); left: 50%; top: 10px; animation-delay: -1.5s; }
.uas-404__shapes .d3 { background: var(--uas-red); right: 10px; top: -10px; animation-delay: -3s; }
@keyframes uas-float { to { transform: translateY(14px); } }
.uas-404__title { margin: 0; font-family: var(--uas-display); font-weight: 500; font-size: clamp(32px, 4.6vw, 60px); letter-spacing: -.035em; }
.uas-404__text { margin: 0; max-width: 520px; font-size: 18px; color: var(--uas-text); }
.uas-404__actions { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; }
.uas-404__actions .uas-searchform { width: 100%; }

/* ==========================================================================
   Reveal animations (switched on/off on the theme settings page)
   ========================================================================== */
.uas-anim-ready .uas-reveal {
	opacity: 0;
	transition: opacity .9s var(--uas-ease), transform 1s var(--uas-ease), filter 1s var(--uas-ease);
	transition-delay: var(--d, 0ms);
}
.uas-anim-ready.uas-anim-rise .uas-reveal { transform: translateY(28px); }
.uas-anim-ready.uas-anim-zoom .uas-reveal { transform: scale(.965); filter: blur(4px); }
.uas-anim-ready .uas-reveal.is-in { opacity: 1; transform: none; filter: none; }

/* Print */
@media print {
	.uas-header, .uas-footer, .uas-share, .uas-postnav, .uas-related, .uas-comments-wrap { display: none !important; }
	.uas-reveal { opacity: 1 !important; transform: none !important; }
}
.uas-subpages .uas-dir-card { background: var(--uas-soft); min-height: 0; }

/* ---------- Countdown (featured project) ---------- */
.uas-countdown { display: flex; flex-direction: column; gap: 12px; }
.uas-countdown__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #CFE1F1; }
.uas-countdown__units { display: flex; flex-wrap: wrap; gap: 10px; }
.uas-cd-unit {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	min-width: 84px; padding: 14px 12px 12px; border-radius: 999px 999px 22px 22px;
	background: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.uas-cd-unit:nth-child(even) { border-radius: 22px 22px 999px 999px; padding: 12px 12px 14px; }
.uas-cd-unit b { font-family: var(--uas-display); font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #fff; transition: opacity .25s, transform .25s var(--uas-ease); }
.uas-cd-unit b.is-tick { opacity: .4; transform: translateY(-4px); }
.uas-cd-unit small { font-size: 12px; font-weight: 600; color: #CFE1F1; }
.uas-countdown__done { display: none; align-items: center; gap: 10px; margin: 0; padding: 10px 18px 10px 12px; border-radius: 999px; background: #fff; color: var(--uas-ink); font-weight: 700; align-self: flex-start; }
.uas-countdown.is-done .uas-countdown__units, .uas-countdown.is-done .uas-countdown__label { display: none; }
.uas-countdown.is-done .uas-countdown__done { display: inline-flex; }
@media (max-width: 560px) { .uas-cd-unit { min-width: 68px; } }

/* Ukrainian headlines are longer: keep the home banner title inside the photo */
html[lang^="uk"] .uas-hero:not(.uas-hero--inner) .uas-hero__title { font-size: clamp(30px, 4.1vw, 60px); max-width: 1000px; }

/* ---------- Art Gallery page: collections in a river ---------- */
.uas-collections { padding-top: 56px; }
.uas-collections__intro { margin-bottom: 40px; }
.uas-river--coll { --uas-rh: 320px; gap: 16px; }
.uas-river--coll .uas-river__item { max-height: calc(var(--uas-rh) * 1.7); cursor: pointer; color: #fff; }
.uas-river--coll .uas-river__item.is-static { cursor: default; }
.uas-coll__alt { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s var(--uas-ease); pointer-events: none; }
.uas-coll__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(10, 14, 20, 0) 45%, rgba(10, 14, 20, .72) 100%); transition: background .5s var(--uas-ease); }
.uas-coll__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.uas-coll__title { font-family: var(--uas-display); font-weight: 500; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.2; letter-spacing: -.02em; color: #fff; }
.uas-coll__desc { font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .92); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .5s var(--uas-ease), opacity .4s var(--uas-ease); }
.uas-coll:hover .uas-coll__desc, .uas-coll:focus-visible .uas-coll__desc { max-height: 8em; opacity: 1; }
.uas-coll:hover .uas-coll__shade, .uas-coll:focus-visible .uas-coll__shade { background: linear-gradient(180deg, rgba(10, 14, 20, 0) 15%, rgba(10, 14, 20, .82) 100%); }
/* one extra photo: cross-fade to it; two: alternate between them while hovering */
.uas-coll[data-extra="1"]:hover .uas-coll__alt--1 { opacity: 1; }
.uas-coll[data-extra="2"]:hover .uas-coll__alt--1 { animation: uas-alt-a 4.4s var(--uas-ease) infinite; }
.uas-coll[data-extra="2"]:hover .uas-coll__alt--2 { animation: uas-alt-b 4.4s var(--uas-ease) infinite; }
@keyframes uas-alt-a { 0% { opacity: 0; } 12%, 44% { opacity: 1; } 56%, 100% { opacity: 0; } }
@keyframes uas-alt-b { 0%, 44% { opacity: 0; } 56%, 94% { opacity: 1; } 100% { opacity: 0; } }
.uas-river--coll .uas-river__item:hover .uas-river__img { transform: scale(1.04); }
@media (hover: none) { .uas-coll__desc { max-height: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .uas-coll[data-extra="2"]:hover .uas-coll__alt--1, .uas-coll[data-extra="2"]:hover .uas-coll__alt--2 { animation: none; } .uas-coll[data-extra="2"]:hover .uas-coll__alt--1 { opacity: 1; } }
@media (max-width: 720px) { .uas-river--coll { --uas-rh: 220px; gap: 10px; } .uas-coll__text { padding: 14px 16px; } }

/* ---------- Collection page: works with captions ---------- */
.uas-collection .uas-entry { padding-bottom: 8px; }
.uas-river--works { --uas-rh: 280px; margin-block: 40px 96px; }
.uas-river__cap--work { display: flex; flex-direction: column; gap: 2px; white-space: normal; border-radius: 18px; padding: 10px 16px; max-width: calc(100% - 24px); line-height: 1.3; }
.uas-river__cap--work strong { font-weight: 700; font-size: 14px; }
.uas-river__cap--work em { font-style: normal; font-size: 12px; font-weight: 500; color: var(--uas-muted); }

/* Collection galleries: rows are balanced by theme.js (every row spans the full width,
   all rows have almost the same height, photos are never cropped). */
.uas-river.is-justified::after { display: none; }
.uas-river.is-justified .uas-river__item { flex: 0 0 auto; max-height: none; max-width: none; }

/* Art Gallery tiles: fixed height, width follows the photo; never stretched across the page */
.uas-river--coll .uas-river__item {
	height: var(--uas-rh); max-height: none; aspect-ratio: auto;
	flex: 0 1 calc(var(--uas-rh) * var(--w) / var(--h));
	max-width: 100%;
}
.uas-river--coll::after { display: none; }

/* Collection page: the text and the gallery share one centred column */
.uas-collection .uas-prose, .uas-collection .uas-river--works { max-width: 1080px; margin-inline: auto; }

/* Inner banners: compact by default, but grow when the title needs more room */
.uas-hero--inner { display: grid; }
.uas-hero--inner > .uas-hero__media, .uas-hero--inner > .uas-hero__content { grid-area: 1 / 1; }
.uas-hero--inner .uas-hero__media { height: auto; min-height: clamp(320px, 32vw, 440px); }
.uas-hero--inner .uas-hero__content { position: relative; z-index: 1; align-self: start; padding-bottom: 48px; }
