/*
Theme Name: Inženjerski biro
Theme URI: https://github.com/mateoAtDegordian/inzenjerski-biro-wordpress-theme
Author: Inženjerski biro
Description: Custom WordPress theme implemented from the Inženjerski biro UI Design Version 2 Figma file.
Version: 1.21.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ingbiro
Update URI: https://github.com/mateoAtDegordian/inzenjerski-biro-wordpress-theme
GitHub Theme URI: https://github.com/mateoAtDegordian/inzenjerski-biro-wordpress-theme
Primary Branch: main
Release Asset: true
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face {
	font-family: "Inter";
	src: url("assets/fonts/inter/InterVariable.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("assets/fonts/inter/InterVariable-Italic.woff2") format("woff2");
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "JetBrains Mono";
	src: url("assets/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

:root {
	--ing-cream: #fff4e5;
	--ing-blue: #244e9c;
	--ing-blue-soft: #8ea8d7;
	--ing-ink: #1b1b1b;
	--ing-paper: #fafafa;
	--ing-muted: #61707d;
	--ing-border: #dae0e1;
	--ing-font-sans: Inter, Helvetica, sans-serif;
	--ing-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--ing-container: 1360px;
	--ing-gutter: 40px;
	--ing-radius: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--ing-cream);
	color: var(--ing-ink);
	font-family: var(--ing-font-sans);
	font-optical-sizing: auto;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
ul,
ol {
	margin-top: 0;
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.contact-link,
.pill-button,
.wp-element-button,
.forminator-button {
	font-family: var(--ing-font-mono);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	z-index: 10000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	padding: 12px 16px;
	margin: 0;
	clip: auto;
	background: #fff;
}

.site-shell {
	min-height: 100vh;
}

.container {
	width: min(calc(100% - (var(--ing-gutter) * 2)), var(--ing-container));
	margin-inline: auto;
}

.site-header {
	position: relative;
	z-index: 50;
	height: 143px;
	background: var(--ing-cream);
}

.site-header__inner {
	display: grid;
	grid-template-columns: 240px 1fr auto;
	align-items: center;
	gap: 40px;
	height: 100%;
}

.site-logo {
	display: inline-flex;
	align-items: center;
	width: 240px;
}

.site-logo img {
	width: 240px;
	height: 63px;
	object-fit: contain;
	object-position: left center;
}

.site-nav {
	justify-self: center;
}

.contact-link { white-space: nowrap; }

@media (min-width: 1101px) {
	.site-nav .site-nav__list { gap: clamp(12px, 2vw, 36px); }
}

.site-nav__list,
.site-nav .menu {
	display: flex;
	align-items: center;
	gap: clamp(24px, 4vw, 60px);
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-nav a {
	position: relative;
	display: inline-block;
	padding: 8px 0;
	font-size: 18px;
	white-space: nowrap;
}

.site-nav a::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 1px;
	content: "";
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav .current-menu-item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.site-nav .current-menu-item > a {
	font-weight: 700;
}

.contact-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 7px 16px;
	border: 1px solid var(--ing-blue);
	border-radius: 999px;
	color: var(--ing-blue);
	font-family: var(--ing-font-mono);
	font-size: 17px;
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--ing-blue);
	border-radius: 50%;
	background: transparent;
	color: var(--ing-blue);
}

.menu-toggle__line,
.menu-toggle::before,
.menu-toggle::after {
	display: block;
	width: 20px;
	height: 1px;
	content: "";
	background: currentColor;
	transform-origin: center;
	transition:
		transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 180ms ease;
}

.menu-toggle__line {
	margin-block: 5px;
}

.page-main {
	overflow: clip;
}

.page-hero {
	padding: 22px 0 40px;
}

.page-hero__copy {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 60px;
	align-items: start;
	min-height: 270px;
	padding-top: 20px;
}

.page-hero h1,
.home-hero h1 {
	max-width: 900px;
	margin-bottom: 0;
	font-size: clamp(48px, 5vw, 65px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.page-hero__aside {
	max-width: 570px;
	margin-left: auto;
	padding-top: 18px;
	text-align: right;
}

.page-hero__aside p {
	margin-bottom: 28px;
	opacity: 0.7;
	font-size: 20px;
	line-height: 1.2;
}

.page-hero--portal .page-hero__copy {
	padding-bottom: clamp(28px, 4vw, 48px);
}

.page-hero__title--portal {
	white-space: nowrap;
}

.page-hero__image,
.home-hero__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 490px;
	border-radius: var(--ing-radius);
}

.page-hero__image :is(img, video.ingbiro-page-media),
.home-hero__media > :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-hero__image--consulting :is(img, video.ingbiro-page-media) {
	object-position: 38% 56%;
}

.page-hero__image--education :is(img, video.ingbiro-page-media) {
	object-position: 50% 48%;
}

.pill-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	gap: 8px;
	min-height: 48px;
	padding: 8px 8px 8px 20px;
	border: 0;
	border-radius: 999px;
	background: var(--ing-ink);
	color: #fff;
	font-family: var(--ing-font-mono);
	font-size: 16px;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: transform 180ms ease, background 180ms ease;
}

.pill-button__label {
	white-space: nowrap;
}

.pill-button:hover,
.pill-button:focus-visible {
	background: #000;
	transform: translateY(-2px);
}

.pill-button__icon {
	display: grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	border-radius: 50%;
	background: var(--ing-blue);
	color: #fff;
	font-family: var(--ing-font-sans);
	font-size: 24px;
}

.pill-button__icon img {
	width: 17px;
	height: 17px;
	object-fit: contain;
}

.pill-button--outline {
	border: 1px solid var(--ing-blue);
	background: transparent;
	color: var(--ing-blue);
}

.pill-button--blue {
	background: var(--ing-blue);
}

.pill-button--blue:hover,
.pill-button--blue:focus-visible {
	background: #173d85;
}

.pill-button--cream {
	background: var(--ing-cream);
	color: var(--ing-blue);
}

.pill-button--cream:hover,
.pill-button--cream:focus-visible {
	background: #f5e5d0;
}

.pill-button--small {
	min-height: 40px;
	padding-left: 16px;
	font-size: 14px;
}

.pill-button--small .pill-button__icon {
	width: 32px;
	height: 32px;
	font-size: 20px;
}

.section {
	padding-block: 70px;
}

.section--paper {
	background: var(--ing-paper);
}

.section--blue {
	background: var(--ing-blue);
	color: #fff;
}

.section-label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
}

.section-label__gear {
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	object-fit: contain;
}

.section-label--light .section-label__gear {
	filter: brightness(0) invert(1);
}

.home-hero {
	padding: 18px 0 40px;
}

.home-hero__copy {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr);
	gap: 64px;
	align-items: start;
	min-height: 300px;
	padding-top: 45px;
}

.home-hero__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding-top: 46px;
	text-align: right;
}

.home-hero__aside p {
	max-width: 390px;
	margin-bottom: 28px;
	opacity: 0.7;
	font-size: 20px;
	line-height: 1.2;
}

.home-hero__play,
.portal-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 100px;
	height: 100px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ing-blue);
	font-size: 42px;
	line-height: 1;
	transform: translate(-50%, -50%);
	cursor: pointer;
}

.home-hero__play span,
.portal-video__play span {
	margin-left: 7px;
}

.home-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 64px;
	align-items: center;
	min-height: 415px;
}

.home-about__copy {
	max-width: 605px;
	font-size: 20px;
	line-height: 1.2;
}

.home-about__statement {
	color: var(--ing-blue);
	font-family: var(--ing-font-mono);
	font-size: clamp(34px, 3.6vw, 50px);
	line-height: 1.22;
	letter-spacing: -0.02em;
	text-align: right;
	opacity: 0.62;
}

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

.service-card {
	position: relative;
	display: block;
	min-height: 465px;
	padding: 38px 31px 30px;
	overflow: hidden;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	color: var(--ing-ink);
	outline: 0;
	transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.service-card:hover,
.service-card:focus-visible {
	background: var(--ing-blue);
	color: #fff;
	transform: translateY(-3px);
}

.service-card h3 {
	max-width: 240px;
	margin-bottom: 64px;
	color: var(--ing-blue);
	font-size: 26px;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.service-card:hover h3,
.service-card:focus-visible h3 {
	color: #fff;
}

.service-card__icon {
	position: absolute;
	top: 18px;
	right: 22px;
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: var(--ing-blue);
	font-size: 26px;
}

.service-card__icon img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.service-card p,
.service-card li {
	font-size: 18px;
	line-height: 1.2;
}

.service-card ul {
	padding-left: 24px;
}

.event-feature {
	display: grid;
	grid-template-columns: 365px 1fr;
	gap: 48px;
	align-items: start;
}

.event-feature__image {
	overflow: hidden;
	height: 225px;
	border-radius: 12px;
}

.event-feature__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-feature h2 {
	margin-bottom: 8px;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.event-feature h2 a {
	color: inherit;
	text-decoration: none;
}

.event-feature h2 a:hover,
.event-feature h2 a:focus-visible {
	color: var(--ing-blue);
}

.tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0 0 16px;
	list-style: none;
}

.tag-list span {
	display: inline-flex;
	padding: 7px 16px;
	border-radius: 999px;
	background: var(--ing-paper);
	color: var(--ing-blue);
	font-size: 12px;
	font-weight: 700;
}

.building-banner {
	position: relative;
	height: 650px;
	overflow: hidden;
	background: var(--ing-cream);
}

.building-banner img {
	position: absolute;
	top: -216%;
	left: -5%;
	width: 110%;
	max-width: none;
	height: auto;
}

.newsletter-cta {
	padding-block: 70px;
}

.newsletter-cta__card {
	display: grid;
	grid-template-columns: 1fr 594px;
	gap: 40px;
	align-items: center;
	padding: 58px 55px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
}

.newsletter-cta h2 {
	margin-bottom: 12px;
	font-size: 44px;
	line-height: 1.05;
}

.newsletter-cta p {
	max-width: 420px;
	margin-bottom: 0;
	font-size: 20px;
	line-height: 1.2;
}

.inline-form {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px 8px 36px;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 999px;
}

.inline-form input {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 20px;
}

.editorial-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: start;
}

.editorial-grid--reverse {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
}

.editorial-copy {
	font-size: 20px;
	line-height: 1.2;
}

.editorial-copy h2 {
	font-size: clamp(38px, 4vw, 55px);
	line-height: 1.08;
}

.image-collage {
	display: grid;
	grid-template-columns: 1.25fr 0.95fr;
	grid-template-rows: 180px 150px;
	gap: 22px;
}

.image-collage__large {
	grid-row: 1 / span 2;
}

.image-collage :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.gear-art {
	position: relative;
	min-height: 360px;
}

.gear-art::before,
.gear-art::after {
	position: absolute;
	content: "";
	border: 34px dashed var(--ing-blue);
	border-radius: 50%;
}

.gear-art::before {
	top: 50px;
	left: -110px;
	width: 320px;
	height: 320px;
}

.gear-art::after {
	top: 0;
	left: 180px;
	width: 185px;
	height: 185px;
	border-width: 22px;
	border-color: var(--ing-blue-soft);
}

.history-card {
	display: grid;
	grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
	gap: 60px;
	align-items: center;
}

.history-card__images {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 20px;
	align-items: end;
}

.history-card__images :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 10px;
}

.company-data {
	display: grid;
	grid-template-columns: 280px 1fr 1.35fr;
	gap: 72px;
	padding: 55px 32px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	font-size: 18px;
	line-height: 1.3;
}

.company-data h2 {
	color: var(--ing-blue);
	font-size: 44px;
	line-height: 1.05;
}

.accordion-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 60px;
	padding-block: 55px 90px;
}

.accordion {
	min-width: 0;
}

.accordion-item {
	border-bottom: 1px solid rgb(0 0 0 / 12%);
}

.accordion-item__button {
	display: grid;
	grid-template-columns: 72px 1fr 40px;
	gap: 16px;
	align-items: center;
	width: 100%;
	padding: 28px 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

.accordion-item__number {
	color: rgb(27 27 27 / 38%);
	font-size: 32px;
}

.accordion-item__title {
	font-size: 32px;
	line-height: 1.1;
}

.accordion-item__toggle {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: #eef0f1;
}

.accordion-item__toggle img {
	width: 14px;
	height: 8px;
	transition: transform 180ms ease;
}

.accordion-item__panel {
	display: none;
	padding: 0 56px 30px 88px;
	font-size: 18px;
	line-height: 1.4;
}

.accordion-item__panel > :last-child {
	margin-bottom: 0;
}

.accordion-item__panel p {
	margin-bottom: 14px;
}

.accordion-item.is-open .accordion-item__panel {
	display: block;
}

.accordion-item.is-open .accordion-item__toggle img {
	transform: rotate(180deg);
}

.support-note {
	padding: 70px 40px;
	font-size: 18px;
	text-align: center;
}

.portal-video {
	position: relative;
	height: 490px;
	overflow: hidden;
	border-radius: var(--ing-radius);
	background: var(--ing-blue);
}

.portal-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-video__play {
	width: 84px;
	height: 84px;
}

.portal-use {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
	min-height: 500px;
}

.portal-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.portal-card {
	min-height: 430px;
	padding: 38px 32px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	font-size: 18px;
}

.portal-card--primary {
	background: var(--ing-blue);
	color: #fff;
}

.portal-card h3 {
	font-size: 26px;
}

.portal-card li {
	margin-bottom: 4px;
}

.portal-ribbon {
	padding: 24px;
	color: var(--ing-blue-soft);
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}

.ling-cta {
	display: grid;
	grid-template-columns: 1fr 330px;
	gap: 50px;
	align-items: center;
	padding: 58px 36px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
}

.ling-cta h2 {
	margin-bottom: 12px;
	font-size: 44px;
	line-height: 1.05;
}

.ling-cta__logo {
	width: 290px;
	margin-left: auto;
}

.content-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.content-card {
	display: flex;
	flex-direction: column;
	padding: 32px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	font-size: 18px;
	line-height: 1.25;
}

.content-card__body {
	flex: 1;
}

.content-card h2 {
	color: var(--ing-blue);
	font-size: 32px;
}

.content-list {
	display: grid;
	gap: 72px;
	padding-block: 90px;
}

.content-list__item {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 48px;
	align-items: center;
}

.content-list__image {
	height: 220px;
	overflow: hidden;
	border-radius: 10px;
}

.content-list__image :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content-list h2 {
	font-size: 32px;
}

.event-list {
	display: grid;
	gap: 42px;
}

.event-card {
	display: grid;
	grid-template-columns: 365px minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	padding-bottom: 42px;
	border-bottom: 1px solid rgb(0 0 0 / 10%);
}

.event-card__image {
	height: 220px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--ing-paper);
}

.event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-card h2,
.event-card h3 {
	margin-bottom: 8px;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.012em;
	text-wrap: balance;
}

.event-single__header {
	max-width: 1200px;
	padding-block: 38px 56px;
}

.event-single__header h1 {
	font-size: clamp(42px, 5vw, 65px);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.back-link {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	margin-bottom: 36px;
	font-size: 16px;
}

.back-link:hover span,
.back-link:focus-visible span {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.archive-hero {
	padding: 35px 0 70px;
}

.archive-hero h1 {
	max-width: 980px;
	margin-bottom: 54px;
	font-size: clamp(48px, 5vw, 65px);
	line-height: 1.05;
	letter-spacing: -0.025em;
}

.archive-hero__image {
	overflow: hidden;
	height: 490px;
	border-radius: var(--ing-radius);
}

.archive-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 51% 49%;
}

#osiguranje .content-list__image :is(img, video.ingbiro-page-media) {
	object-position: 50% 50%;
}

#javna-nabava .content-list__image :is(img, video.ingbiro-page-media) {
	object-position: 50% 48%;
}

@media (min-width: 901px) {
	.page-hero__image,
	.archive-hero__image {
		height: min(
			clamp(490px, 34vw, 760px),
			max(320px, calc(100svh - 410px - clamp(22px, 2.8svh, 40px)))
		);
	}
}

.archive-layout {
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	gap: 32px;
	min-height: 700px;
	padding-block: 65px 120px;
}

.archive-accordion .accordion-item__button {
	grid-template-columns: 1fr 40px;
	padding: 20px 24px;
}

.archive-accordion .accordion-item__title {
	font-size: 26px;
}

.archive-accordion .accordion-item__panel {
	padding: 0 64px 34px 24px;
}

.archive-links {
	display: grid;
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.archive-links li {
	display: grid;
	gap: 6px;
}

.archive-links a {
	color: var(--ing-blue);
	font-size: 16px;
	line-height: 1.35;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.archive-links__meta {
	color: var(--ing-muted);
	font-size: 14px;
	line-height: 1.45;
}

.archive-links a:hover,
.archive-links a:focus-visible {
	color: #173d85;
}

.archive-empty {
	color: var(--ing-muted);
}

.education-overview {
	position: relative;
	padding-bottom: 30px;
}

.content-cards--education .content-card {
	min-height: 530px;
	padding: 36px 32px 30px;
}

.content-cards--education .content-card h2 {
	margin-bottom: 80px;
	font-size: 36px;
}

.content-cards--education .content-card p {
	margin-bottom: 20px;
}

.content-cards--education .pill-button {
	align-self: flex-start;
	margin-top: 18px;
}

.education-gears {
	position: relative;
	height: 145px;
	pointer-events: none;
}

.education-gears span {
	position: absolute;
	border: 22px dashed var(--ing-blue-soft);
	border-radius: 50%;
}

.education-gears span:first-child {
	top: 8px;
	left: -82px;
	width: 170px;
	height: 170px;
}

.education-gears span:last-child {
	top: 90px;
	left: 135px;
	width: 90px;
	height: 90px;
	border-width: 13px;
	border-color: var(--ing-blue);
}

.content-list--education {
	padding-top: 30px;
}

.content-list--education .content-list__item {
	grid-template-columns: 365px 1fr;
}

.content-list--education .content-list__image {
	height: 225px;
}

.event-section {
	padding-top: 35px;
}

.event-card__content > p {
	max-width: 780px;
}

.event-single__hero {
	padding: 35px 0 70px;
}

.event-single__hero h1 {
	max-width: 1120px;
	margin-bottom: 18px;
	font-size: clamp(38px, 4vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.event-single__meta-row {
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
}

.event-single__meta-row .tag-list {
	margin-bottom: 0;
}

.event-single__image {
	overflow: hidden;
	height: 490px;
	border-radius: var(--ing-radius);
}

.event-single__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 62%;
}

.event-intro__lead {
	max-width: 1100px;
	margin: 0 0 36px;
	font-size: 20px;
	line-height: 1.4;
}

.event-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-block: 40px;
}

.event-info {
	display: flex;
	min-height: 220px;
	padding: 34px 24px;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border-radius: 24px;
	background: var(--ing-blue);
	color: #fff;
	text-align: center;
}

.event-info strong {
	display: block;
	margin-bottom: 28px;
	color: #fff;
	font-size: 16px;
	text-transform: uppercase;
}

.event-info b {
	display: block;
	margin-bottom: 20px;
	font-size: 19px;
}

.event-info span {
	display: block;
	font-size: 15px;
	line-height: 1.25;
}

.event-content > .container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 72px;
	align-items: start;
}

.event-content__body > :first-child {
	margin-top: 0;
}

.event-content__body img {
	border-radius: 12px;
}

.event-content__body table {
	width: 100%;
	border-collapse: collapse;
}

.event-content__body th,
.event-content__body td {
	padding: 12px;
	border: 1px solid rgb(27 27 27 / 16%);
	text-align: left;
}

.event-facts {
	position: sticky;
	top: 28px;
	padding: 30px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
}

.event-facts dl {
	margin: 0 0 26px;
}

.event-facts dl div {
	display: grid;
	grid-template-columns: 95px 1fr;
	gap: 10px;
	padding: 13px 0;
	border-bottom: 1px solid var(--ing-border);
}

.event-facts dt {
	color: var(--ing-muted);
}

.event-facts dd {
	margin: 0;
	font-weight: 700;
}

.event-download {
	padding: 56px 0;
	background: var(--ing-blue);
	color: #fff;
}

.event-download__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 50px;
	align-items: center;
}

.event-download h2 {
	margin-bottom: 10px;
	font-size: 38px;
	line-height: 1.1;
}

.event-download p {
	margin-bottom: 0;
}

.event-download__copy h2,
.event-download__copy > p {
	padding-left: 29px;
}

.event-download .pill-button--download {
	border: 1px solid rgb(255 255 255 / 34%);
	box-shadow: 0 12px 32px rgb(10 37 86 / 22%);
}

.event-download .pill-button--download:hover,
.event-download .pill-button--download:focus-visible {
	box-shadow: 0 16px 38px rgb(10 37 86 / 30%);
}

.event-registration__heading {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto 44px;
}

.event-registration__heading h2 {
	margin-bottom: 12px;
	font-size: 44px;
	line-height: 1.08;
}

.event-registration .forminator-ui {
	width: 100%;
	max-width: none;
}

.event-registration__form {
	width: 100%;
	max-width: 1220px;
	margin-inline: auto;
}

.event-registration .forminator-ui .forminator-row {
	margin-bottom: 20px !important;
}

.event-registration .forminator-ui .forminator-row:not(.forminator-row-last) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.event-registration .forminator-ui .forminator-row:not(.forminator-row-last) .forminator-col {
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
}

.event-registration .forminator-ui .forminator-row:not(.forminator-row-last) .forminator-col-12 {
	grid-column: 1 / -1;
}

.event-registration .forminator-ui .forminator-label {
	margin: 0 0 8px !important;
	color: var(--ing-ink) !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 15px !important;
}

.event-registration .forminator-ui input.forminator-input,
.event-registration .forminator-ui textarea.forminator-textarea,
.event-registration .forminator-ui select.forminator-select2 {
	min-height: 58px !important;
	padding: 14px 22px !important;
	border: 1px solid rgb(27 27 27 / 20%) !important;
	border-radius: 30px !important;
	background: transparent !important;
	color: var(--ing-ink) !important;
	font-family: var(--ing-font-sans) !important;
}

.event-registration .forminator-ui textarea.forminator-textarea {
	min-height: 140px !important;
	border-radius: 24px !important;
}

.event-registration .forminator-ui .forminator-button-submit {
	min-height: 52px !important;
	padding: 12px 28px !important;
	border-radius: 999px !important;
	background: var(--ing-blue) !important;
	color: #fff !important;
	font-family: var(--ing-font-mono) !important;
	box-shadow: none !important;
}

.prose {
	font-size: 20px;
	line-height: 1.45;
}

.prose h2 {
	margin-top: 55px;
	font-size: 36px;
	line-height: 1.15;
}

.prose h3 {
	margin-top: 36px;
	font-size: 26px;
}

.form-page {
	padding: 30px 0 90px;
}

.form-page h1 {
	margin-bottom: 70px;
	font-size: clamp(48px, 5vw, 65px);
	line-height: 1.05;
	text-align: center;
}

.ing-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 42px;
	max-width: 1220px;
	margin-inline: auto;
}

.ing-form--single {
	grid-template-columns: 1fr;
	max-width: 980px;
}

.ing-field {
	position: relative;
}

.ing-field--full {
	grid-column: 1 / -1;
}

.ing-field label {
	position: absolute;
	top: 50%;
	left: 36px;
	z-index: 1;
	color: var(--ing-muted);
	font-size: 18px;
	transform: translateY(-50%);
	pointer-events: none;
	transition: top 150ms ease, font-size 150ms ease;
}

.ing-field--textarea label {
	top: 30px;
	transform: none;
}

.ing-field input,
.ing-field textarea,
.ing-field select {
	width: 100%;
	min-height: 72px;
	padding: 24px 36px 12px;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 999px;
	outline: 0;
	background: transparent;
	color: var(--ing-ink);
	font-size: 18px;
}

.ing-field textarea {
	min-height: 150px;
	resize: vertical;
	border-radius: 44px;
}

.ing-field input:focus,
.ing-field textarea:focus,
.ing-field select:focus {
	border-color: var(--ing-blue);
	box-shadow: 0 0 0 3px rgb(36 78 156 / 12%);
}

.ing-field input:focus + label,
.ing-field input:not(:placeholder-shown) + label,
.ing-field textarea:focus + label,
.ing-field textarea:not(:placeholder-shown) + label {
	top: 13px;
	font-size: 12px;
	transform: none;
}

.ing-field--textarea textarea:focus + label,
.ing-field--textarea textarea:not(:placeholder-shown) + label {
	top: 12px;
}

.ing-form__actions {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	margin-top: 18px;
}

.form-honeypot {
	position: absolute !important;
	left: -9999px !important;
}

.form-notice {
	max-width: 980px;
	padding: 16px 20px;
	margin: 0 auto 30px;
	border-radius: 10px;
}

.form-notice--success {
	background: #e2f4e9;
	color: #125b2c;
}

.form-notice--error {
	background: #ffe3df;
	color: #8b251c;
}

.jobs-layout {
	display: grid;
	grid-template-columns: 430px 1fr;
	gap: 70px;
	align-items: start;
}

.jobs-layout__image {
	height: 430px;
	overflow: hidden;
	border-radius: 14px;
}

.jobs-layout__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.empty-state {
	max-width: 800px;
	padding: 56px;
	margin-inline: auto;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	text-align: center;
}

.site-footer {
	position: relative;
	padding: 56px 0 28px;
	border: 1px solid var(--ing-border);
	border-radius: 32px 32px 0 0;
	background: var(--ing-paper);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.45fr 0.8fr 0.8fr 0.7fr;
	gap: 40px;
	min-height: 430px;
}

.site-footer__brand img {
	width: 240px;
	height: 63px;
	object-fit: contain;
	object-position: left;
}

.site-footer__tagline {
	margin: 8px 0 36px;
	color: var(--ing-muted);
}

.site-footer__brand .site-footer__tagline-image {
	width: 214px;
	height: auto;
	margin: 14px 0 36px;
	object-fit: contain;
	object-position: left center;
}

.contact-list,
.footer-links {
	padding: 0;
	margin: 0;
	list-style: none;
}

.contact-list {
	display: grid;
	gap: 16px;
}

.contact-list li {
	display: flex;
	gap: 9px;
	align-items: center;
}

.contact-list__icon {
	display: grid;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	place-items: center;
	border-radius: 6px;
	background: var(--ing-blue);
	color: #fff;
	font-size: 13px;
	transition: background-color 180ms ease, transform 180ms ease;
}

.contact-list__icon img {
	width: auto;
	max-width: 16px;
	height: auto;
	max-height: 16px;
}

.footer-links {
	padding-top: 40px;
}

.footer-links li {
	margin-bottom: 14px;
}

.site-footer__social {
	padding-top: 53px;
	padding-bottom: 28px;
}

.site-footer__social strong {
	display: block;
	margin-bottom: 15px;
}

.language-links {
	display: flex;
	gap: 12px;
	margin-bottom: 32px;
}

.language-links a {
	color: rgb(36 78 156 / 60%);
	transition: color 180ms ease;
}

.language-links a.is-active {
	color: var(--ing-blue);
	font-weight: 700;
}

.footer-links a,
.contact-list a {
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.footer-links a:hover,
.footer-links a:focus-visible,
.contact-list a:hover,
.contact-list a:focus-visible,
.language-links a:hover,
.language-links a:focus-visible {
	color: var(--ing-blue);
	text-decoration: underline;
	text-decoration-color: currentColor;
}

.contact-list li:has(a:hover) .contact-list__icon,
.contact-list li:has(a:focus-visible) .contact-list__icon {
	background: #173d85;
	transform: translateY(-1px);
}

.social-link {
	display: block;
	width: 34px;
	height: 34px;
	overflow: hidden;
	border-radius: 2px;
	transition: transform 180ms ease, opacity 180ms ease;
}

.social-link img {
	width: 34px;
	height: 34px;
}

.social-link:hover,
.social-link:focus-visible {
	opacity: 0.82;
	transform: translateY(-2px);
}

.site-footer__bottom {
	padding-top: 28px;
	border-top: 1px solid var(--ing-border);
	color: var(--ing-muted);
	text-align: center;
}

.generic-page {
	min-height: 600px;
	padding-block: 70px;
}

.generic-page h1 {
	font-size: clamp(46px, 5vw, 65px);
}

@media (max-width: 1120px) {
	:root {
		--ing-gutter: 28px;
	}

	.site-header__inner {
		grid-template-columns: 210px 1fr auto;
		gap: 24px;
	}

	.site-logo,
	.site-logo img {
		width: 210px;
	}

	.site-nav__list,
	.site-nav .menu {
		gap: 24px;
	}

	.site-nav a {
		font-size: 16px;
	}

	.contact-link {
		font-size: 14px;
	}

	.newsletter-cta__card {
		grid-template-columns: 1fr 1fr;
	}

	.service-card p,
	.service-card li {
		font-size: 16px;
	}

	.site-footer__grid {
		grid-template-columns: 1.3fr 0.7fr 0.7fr;
	}

	.site-footer__social {
		grid-column: 2 / -1;
		padding-top: 0;
	}
}

@media (max-width: 900px) {
	:root {
		--ing-gutter: 22px;
	}

	.site-header {
		height: 106px;
	}

	.site-header__inner {
		grid-template-columns: 1fr auto;
	}

	.site-logo,
	.site-logo img {
		width: 185px;
		height: auto;
	}

	.menu-toggle {
		display: flex;
		flex-direction: column;
	}

	.site-nav {
		position: fixed;
		inset: 106px 0 0;
		display: none;
		padding: 40px 24px;
		background: var(--ing-cream);
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav__list,
	.site-nav .menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.site-nav a {
		font-size: 28px;
	}

	.contact-link {
		display: none;
	}

	.page-hero__copy,
	.home-hero__copy {
		grid-template-columns: 1fr;
		gap: 28px;
		min-height: 0;
		padding-block: 25px 46px;
	}

	.page-hero__aside,
	.home-hero__aside {
		align-items: flex-start;
		max-width: 560px;
		padding-top: 0;
		margin-left: 0;
		text-align: left;
	}

	.page-hero__image,
	.home-hero__media {
		height: 400px;
	}

	.home-about__grid,
	.editorial-grid,
	.editorial-grid--reverse,
	.history-card,
	.portal-use {
		grid-template-columns: 1fr;
	}

	.home-about__statement {
		text-align: left;
	}

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

	.service-card {
		min-height: auto;
	}

	.newsletter-cta__card,
	.ling-cta {
		grid-template-columns: 1fr;
	}

	.inline-form {
		max-width: 594px;
	}

	.event-feature,
	.event-card,
	.content-list__item {
		grid-template-columns: 280px 1fr;
		gap: 28px;
	}

	.building-banner {
		height: 500px;
	}

	.building-banner img {
		top: -207%;
		left: -14%;
		width: 128%;
	}

	.company-data {
		grid-template-columns: 1fr 1fr;
	}

	.company-data h2 {
		grid-column: 1 / -1;
	}

	.accordion-layout {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.archive-layout {
		grid-template-columns: 1fr;
		gap: 24px;
		min-height: 0;
	}

	.portal-cards,
	.content-cards {
		grid-template-columns: 1fr;
	}

	.content-cards--education .content-card {
		min-height: 0;
	}

	.event-content > .container {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.event-facts {
		position: static;
	}

	.event-download__inner {
		grid-template-columns: 1fr;
	}

	.jobs-layout {
		grid-template-columns: 1fr;
	}

	.jobs-layout__image {
		max-width: 520px;
	}

	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		min-height: 0;
	}

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

	.site-footer__social {
		grid-column: auto;
	}
}

@media (max-width: 620px) {
	:root {
		--ing-gutter: 16px;
	}

	.page-hero,
	.home-hero {
		padding-top: 0;
	}

	.page-hero h1,
	.home-hero h1 {
		font-size: 43px;
	}

	.page-hero__image,
	.home-hero__media {
		height: 270px;
		border-radius: 12px;
	}

	.section {
		padding-block: 52px;
	}

	.section-label {
		font-size: 15px;
	}

	.home-about__copy,
	.editorial-copy,
	.prose {
		font-size: 18px;
	}

	.home-about__statement {
		font-size: 30px;
	}

	.service-card {
		padding: 30px 24px;
	}

	.service-card h3 {
		margin-bottom: 42px;
	}

	.event-feature,
	.event-card,
	.content-list__item {
		grid-template-columns: 1fr;
	}

	.event-card h2,
	.event-card h3 {
		font-size: 26px;
		line-height: 1.1;
	}

	.event-feature__image,
	.event-card__image,
	.content-list__image {
		height: 210px;
	}

	.building-banner {
		height: 330px;
	}

	.building-banner img {
		top: -138%;
		left: -36%;
		width: 172%;
	}

	.newsletter-cta__card,
	.ling-cta {
		padding: 36px 22px;
	}

	.newsletter-cta h2,
	.ling-cta h2 {
		font-size: 34px;
	}

	.inline-form {
		gap: 4px;
		align-items: center;
		padding: 5px 5px 5px 17px;
		border-radius: 999px;
	}

	.inline-form input {
		padding: 10px 4px;
		font-size: 16px;
	}

	.inline-form .pill-button {
		flex: 0 0 auto;
		min-height: 44px;
		padding: 6px 6px 6px 12px;
		font-size: 12px;
	}

	.inline-form .pill-button__icon {
		width: 34px;
		height: 34px;
		flex-basis: 34px;
	}

	.image-collage {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 230px 150px;
	}

	.image-collage__large {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.history-card__images {
		grid-template-columns: 1fr 1fr;
	}

	.history-card__images :is(img, video.ingbiro-page-media) {
		height: 240px;
	}

	.company-data {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.company-data h2 {
		grid-column: auto;
		font-size: 36px;
	}

	.accordion-item__button {
		grid-template-columns: 46px 1fr 32px;
	}

	.accordion-item__number {
		font-size: 24px;
	}

	.accordion-item__title {
		font-size: 23px;
	}

	.accordion-item__panel {
		padding-right: 0;
		padding-left: 62px;
		font-size: 16px;
	}

	.archive-hero {
		padding-bottom: 48px;
	}

	.archive-hero h1 {
		margin-bottom: 36px;
		font-size: 42px;
	}

	.archive-hero__image {
		height: 280px;
	}

	.archive-layout {
		padding-block: 48px 75px;
	}

	.archive-accordion .accordion-item__title {
		font-size: 27px;
	}

	.archive-accordion .accordion-item__panel {
		padding: 0 42px 30px 18px;
	}

	.content-cards--education .content-card {
		padding: 28px 24px;
	}

	.content-cards--education .content-card h2 {
		margin-bottom: 42px;
		font-size: 32px;
	}

	.education-gears {
		height: 110px;
	}

	.education-gears span:first-child {
		left: -62px;
		width: 135px;
		height: 135px;
		border-width: 18px;
	}

	.education-gears span:last-child {
		top: 70px;
		left: 88px;
		width: 70px;
		height: 70px;
		border-width: 10px;
	}

	.event-single__hero h1 {
		font-size: 34px;
	}

	.event-single__meta-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.event-single__image {
		height: 300px;
	}

	.event-info-grid {
		grid-template-columns: 1fr;
	}

	.event-info {
		min-height: 190px;
	}

	.event-download h2,
	.event-registration__heading h2 {
		font-size: 32px;
	}

	.event-registration .forminator-ui .forminator-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.event-registration .forminator-ui .forminator-col {
		width: 100% !important;
		margin-bottom: 20px !important;
	}

	.event-registration .forminator-ui .forminator-row:not(.forminator-row-last) .forminator-col-12 {
		grid-column: auto;
	}

	.portal-video {
		height: 300px;
	}

	.portal-card {
		min-height: 0;
	}

	.content-list {
		gap: 50px;
		padding-block: 60px;
	}

	.event-info-grid {
		grid-template-columns: 1fr;
	}

	.ing-form {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.ing-field--full,
	.ing-form__actions {
		grid-column: auto;
	}

	.form-page h1 {
		margin-bottom: 45px;
		text-align: left;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.site-footer__brand {
		grid-column: auto;
	}

	.footer-links,
	.site-footer__social {
		padding-top: 15px;
	}

	.site-footer__bottom {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.menu-toggle::before,
	.menu-toggle::after,
	.menu-toggle__line {
		transition: none !important;
	}
}

/* 1.2 — reusable media, Gutenberg and Forminator refinements. */
.building-banner img {
	position: static;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.pill-button__icon,
.pill-button--small .pill-button__icon {
	aspect-ratio: 1;
	min-width: 32px;
	padding: 0;
	border-radius: 999px;
}

.gear-art::before,
.gear-art::after,
.education-gears span {
	border: 0;
	border-radius: 0;
	background: currentColor;
	-webkit-mask: url("assets/icons/gear-ring.svg") center / contain no-repeat;
	mask: url("assets/icons/gear-ring.svg") center / contain no-repeat;
}

.gear-art::before {
	top: 36px;
	left: -165px;
	width: 380px;
	height: 380px;
	color: var(--ing-blue);
}

.gear-art::after {
	top: -10px;
	left: 165px;
	width: 211px;
	height: 211px;
	color: var(--ing-blue-soft);
}

.portal-card,
.portal-card--primary {
	background: var(--ing-paper);
	color: var(--ing-ink);
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.portal-card:hover,
.portal-card:focus-within {
	background: var(--ing-blue);
	color: #fff;
	transform: translateY(-3px);
}

.portal-card:hover h3,
.portal-card:focus-within h3 {
	color: #fff;
}

.content-cards--education {
	align-items: start;
}

.content-cards--education .content-card {
	min-height: 0;
	padding: 32px;
}

.content-cards--education .content-card:first-child {
	min-height: 0;
}

.content-cards--education .content-card h2 {
	margin-bottom: 72px;
}

.content-cards--education .pill-button {
	margin-top: 12px;
}

.education-gears span:first-child {
	top: 8px;
	left: -108px;
	width: 217px;
	height: 217px;
	color: var(--ing-blue-soft);
}

.education-gears span:last-child {
	top: 116px;
	left: 146px;
	width: 95px;
	height: 95px;
	color: var(--ing-blue);
}

.form-page__context {
	max-width: 920px;
	margin: -40px auto 48px;
	color: var(--ing-blue);
	font-size: 20px;
	text-align: center;
}

.ing-forminator--page {
	max-width: 1220px;
	margin-inline: auto;
}

.ing-forminator .forminator-ui.forminator-custom-form {
	margin: 0 !important;
}

.ing-forminator .forminator-ui .forminator-row {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 42px !important;
	row-gap: 18px !important;
	margin-bottom: 42px !important;
}

.ing-forminator .forminator-ui .forminator-col {
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ing-forminator .forminator-ui .forminator-col-12 {
	grid-column: 1 / -1;
}

.ing-forminator .forminator-ui.forminator-custom-form[data-design] .forminator-field {
	position: relative !important;
	padding-bottom: 24px !important;
}

.ing-forminator .forminator-ui .forminator-label {
	margin: 0 0 9px !important;
	color: var(--ing-ink) !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

.ing-forminator .forminator-ui input.forminator-input,
.ing-forminator .forminator-ui textarea.forminator-textarea,
.ing-forminator .forminator-ui select.forminator-select2,
.ing-forminator .forminator-ui .forminator-file-upload {
	width: 100% !important;
	min-height: 72px !important;
	padding: 18px 34px !important;
	border: 1px solid rgb(0 0 0 / 20%) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--ing-ink) !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 18px !important;
	box-shadow: none !important;
	outline: 0 !important;
	-webkit-tap-highlight-color: transparent;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.ing-forminator .forminator-ui textarea.forminator-textarea {
	min-height: 150px !important;
	border-radius: 44px !important;
	resize: vertical !important;
}

.ing-forminator .forminator-ui input.forminator-input:focus,
.ing-forminator .forminator-ui textarea.forminator-textarea:focus,
.ing-forminator .forminator-ui select.forminator-select2:focus {
	border-color: var(--ing-blue) !important;
	box-shadow: 0 0 0 2px rgb(36 78 156 / 14%) !important;
	outline: 0 !important;
}

.ing-forminator .forminator-ui .forminator-file-upload:focus-within {
	border-color: var(--ing-blue) !important;
	box-shadow: 0 0 0 2px rgb(36 78 156 / 14%) !important;
}

.ing-forminator .forminator-ui .forminator-row-last {
	display: flex !important;
	justify-content: center;
	margin-bottom: 0 !important;
}

.ing-forminator .forminator-ui .forminator-button-submit {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 8px 8px 8px 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ing-ink) !important;
	color: #fff !important;
	font-family: var(--ing-font-mono) !important;
	font-size: 16px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	outline: 0 !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}

.ing-forminator .forminator-ui .forminator-button-submit::after {
	display: grid;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	content: "→";
	place-items: center;
	border-radius: 50%;
	background: var(--ing-blue);
	color: #fff;
	font-family: var(--ing-font-sans);
	font-size: 20px;
	line-height: 1;
}

.ing-forminator .forminator-ui .forminator-row-last .forminator-col {
	display: flex !important;
	justify-content: center;
}

.ing-forminator .forminator-ui .forminator-button-submit:hover,
.ing-forminator .forminator-ui .forminator-button-submit:focus-visible {
	background: var(--ing-blue) !important;
}

.ing-forminator .forminator-ui .forminator-button-submit:focus-visible {
	box-shadow: 0 0 0 3px rgb(36 78 156 / 20%) !important;
}

.ing-forminator .forminator-ui .forminator-button-submit:active {
	transform: scale(0.98);
}

.ing-forminator .forminator-ui .forminator-response-message:not(.forminator-accessible) {
	position: fixed !important;
	right: 24px;
	bottom: 24px;
	z-index: 10000;
	width: min(420px, calc(100vw - 48px)) !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 1px solid rgb(36 78 156 / 22%) !important;
	border-radius: 18px !important;
	background: #f3f7ff !important;
	color: var(--ing-blue) !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	box-shadow: 0 14px 36px rgb(23 61 133 / 18%) !important;
	animation: ing-form-toast-in 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ing-forminator .forminator-ui .forminator-response-message.forminator-error:not(.forminator-accessible) {
	border: 1px solid rgb(173 48 48 / 22%) !important;
	background: #fff0ee !important;
	color: #8f2727 !important;
}

.ing-forminator .forminator-ui .forminator-error-message {
	position: absolute !important;
	bottom: 0;
	left: 8px;
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #8f2727 !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	box-shadow: none !important;
}

.ing-forminator .forminator-ui .forminator-error-message::before {
	display: none !important;
	content: none !important;
}

.ing-forminator .forminator-ui .forminator-field.forminator-has_error input.forminator-input,
.ing-forminator .forminator-ui .forminator-field.forminator-has_error textarea.forminator-textarea,
.ing-forminator .forminator-ui .forminator-field.forminator-is_error input.forminator-input,
.ing-forminator .forminator-ui .forminator-field.forminator-is_error textarea.forminator-textarea {
	border-color: rgb(173 48 48 / 62%) !important;
	box-shadow: none !important;
}

.ing-forminator .forminator-ui .forminator-field.forminator-has_error input.forminator-input:focus,
.ing-forminator .forminator-ui .forminator-field.forminator-has_error textarea.forminator-textarea:focus,
.ing-forminator .forminator-ui .forminator-field.forminator-is_error input.forminator-input:focus,
.ing-forminator .forminator-ui .forminator-field.forminator-is_error textarea.forminator-textarea:focus {
	border-color: rgb(173 48 48 / 75%) !important;
	box-shadow: 0 0 0 2px rgb(173 48 48 / 10%) !important;
	outline: 0 !important;
}

.ing-forminator--inline {
	min-width: 0;
	padding-bottom: 28px;
}

.ing-forminator--inline .forminator-ui .forminator-row {
	display: block !important;
	margin: 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px !important;
	align-items: center;
	position: relative;
	overflow: visible !important;
	padding: 7px 7px 7px 26px !important;
	border: 1px solid rgb(0 0 0 / 20%) !important;
	border-radius: 999px !important;
}

.ing-forminator--inline .forminator-ui input.forminator-input {
	min-height: 44px !important;
	margin: 0 !important;
	padding: 8px 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.ing-forminator--inline .forminator-ui input.forminator-input:focus {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-field.forminator-has_error input.forminator-input,
.ing-forminator--inline .forminator-ui .forminator-field.forminator-is_error input.forminator-input,
.ing-forminator--inline .forminator-ui .forminator-field.forminator-has_error input.forminator-input:focus,
.ing-forminator--inline .forminator-ui .forminator-field.forminator-is_error input.forminator-input:focus {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-row-last {
	grid-column: 2;
	grid-row: 1;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form[data-design] .forminator-field {
	position: static !important;
	padding-bottom: 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-error-message {
	position: absolute !important;
	z-index: 2;
	top: calc(100% + 8px);
	right: 12px;
	bottom: auto;
	left: 12px;
	width: auto !important;
	margin: 0 !important;
	text-align: center;
	white-space: normal;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:has(.forminator-error-message) {
	margin-bottom: 0 !important;
	border-color: rgb(173 48 48 / 45%) !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:focus-within {
	border-color: var(--ing-blue) !important;
	box-shadow: 0 0 0 2px rgb(36 78 156 / 14%) !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:has(.forminator-error-message):focus-within {
	border-color: rgb(173 48 48 / 62%) !important;
	box-shadow: 0 0 0 2px rgb(173 48 48 / 9%) !important;
}

.ing-forminator--inline .forminator-ui .forminator-button-submit {
	min-width: 210px;
	min-height: 48px !important;
}

@keyframes ing-form-toast-in {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 760px) {
	.ing-forminator .forminator-ui .forminator-row {
		grid-template-columns: 1fr;
		gap: 12px !important;
		margin-bottom: 20px !important;
	}

	.ing-forminator .forminator-ui .forminator-col-12 {
		grid-column: auto;
	}

	.ing-forminator--inline .forminator-ui.forminator-custom-form {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit {
		min-width: 0;
		padding-inline: 14px !important;
		font-size: 12px !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-error-message {
		right: 12px;
		left: 12px;
		width: auto !important;
		text-align: center;
		white-space: normal;
	}

	.ing-forminator .forminator-ui .forminator-response-message:not(.forminator-accessible) {
		right: 16px;
		bottom: 16px;
		width: calc(100vw - 32px) !important;
	}

	.building-banner {
		height: 300px;
	}

	.content-cards--education .content-card,
	.content-cards--education .content-card:first-child {
		min-height: 0;
	}
}

.modular-page > .wp-block-group,
.modular-page > .wp-block-columns,
.modular-page > .wp-block-shortcode {
	width: min(calc(100% - (var(--ing-gutter) * 2)), var(--ing-container));
	margin-inline: auto;
}

.modular-hero {
	padding-bottom: 70px;
}

.modular-page .modular-hero > *,
.modular-page .modular-section > *,
.modular-page .modular-callout > * {
	width: 100%;
	max-width: none;
}

/* 1.3 — exact Figma controls and exported gear artwork. */
.pill-button {
	min-height: 56px;
	padding: 8px 8px 8px 24px;
	line-height: 1;
}

.pill-button__icon {
	box-sizing: border-box;
	width: 40px;
	min-width: 40px;
	max-width: 40px;
	height: 40px;
	min-height: 40px;
	max-height: 40px;
	flex: 0 0 40px;
	overflow: hidden;
	padding: 8px;
	border-radius: 50%;
	line-height: 0;
}

.pill-button__icon img {
	display: block;
	width: 15.5px;
	height: 15.5px;
	max-width: none;
	flex: none;
}

.pill-button--small {
	min-height: 48px;
	padding: 8px 8px 8px 16px;
}

.pill-button--small .pill-button__icon {
	box-sizing: border-box;
	width: 32px;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	min-height: 32px;
	max-height: 32px;
	flex: 0 0 32px;
	padding: 4px;
}

.gear-art::before,
.gear-art::after,
.education-gears span {
	display: none;
}

.gear-art {
	position: relative;
	min-height: 390px;
	overflow: visible;
}

.gear-art img,
.education-gears img {
	position: absolute;
	display: block;
	max-width: none;
	pointer-events: none;
}

.gear-art__large {
	top: 0;
	left: -166px;
	width: 214px;
	height: 380px;
}

.gear-art__small {
	top: -105px;
	left: 170px;
	width: 211px;
	height: 211px;
}

.education-overview .container {
	position: relative;
}

.education-gears {
	position: absolute;
	top: 480px;
	left: 0;
	z-index: 1;
	width: 280px;
	height: 217px;
	pointer-events: none;
}

.education-gears__large {
	top: 0;
	left: -62px;
	width: 195px;
	height: 217px;
}

.education-gears__small {
	top: 122px;
	left: 175px;
	width: 95px;
	height: 95px;
}

.ing-forminator .forminator-ui .forminator-button-submit::after {
	box-sizing: border-box;
	width: 32px;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	min-height: 32px;
	max-height: 32px;
	flex: 0 0 32px;
	overflow: hidden;
	content: "";
	border-radius: 50%;
	background-color: var(--ing-blue);
	background-image: url("assets/icons/arrow-right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 15.5px 15.5px;
}

.event-content {
	padding: 0;
}

.event-content > .container {
	display: block;
}

.event-content__body {
	width: 100%;
	max-width: none;
}

.event-block {
	position: relative;
	width: 100vw;
	max-width: none !important;
	padding: 72px var(--ing-container-edge);
	margin: 0 0 0 calc(50% - 50vw);
}

.event-block > :not(.event-program-gears) {
	width: 100%;
	max-width: var(--ing-container) !important;
	margin-right: auto;
	margin-left: auto;
}

.event-block::before {
	display: none;
}

.event-block--why,
.event-block--fee {
	background: var(--ing-cream);
}

.event-block--program,
.event-block--instructions {
	background: var(--ing-paper);
}

.event-block > h2 {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 44px;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: uppercase;
}

.event-block > h2::before {
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	content: "";
	background: url("assets/icons/section-gear.svg") center / contain no-repeat;
}

.event-why-layout {
	gap: clamp(48px, 8vw, 125px);
	align-items: start !important;
}

.event-why-layout p,
.event-block--instructions > p,
.event-block--instructions > ul,
.event-fee-columns {
	font-size: 20px;
	line-height: 1.38;
}

.event-image-stack {
	display: grid;
	gap: 34px;
}

.event-image-stack figure {
	height: 250px;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}

.event-image-stack figure:first-child {
	height: 239px;
}

.event-image-stack figure:last-child {
	height: 413px;
}

.event-image-stack img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-block--program {
	min-height: 1180px;
	overflow: hidden;
}

.event-program {
	position: relative;
	z-index: 1;
	max-width: 900px !important;
}

.event-program h3 {
	margin: 30px 0 18px;
	color: var(--ing-blue);
	font-size: 20px;
	line-height: 1.2;
}

.event-program p,
.event-program ul {
	margin-bottom: 18px;
	font-size: 20px;
	line-height: 1.25;
}

.event-program-gears {
	position: absolute;
	right: -68px;
	bottom: 40px;
	width: 390px;
	height: 610px;
	pointer-events: none;
}

.event-program-gears img {
	position: absolute;
	display: block;
	max-width: none;
}

.event-program-gears img:first-child {
	top: 0;
	right: 95px;
	width: 217px;
	height: 217px;
}

.event-program-gears img:last-child {
	right: 0;
	bottom: 0;
	width: 296px;
	height: 392px;
}

.event-fee-columns {
	gap: clamp(50px, 9vw, 120px);
}

.event-fee-columns h3 {
	margin: 0 0 24px;
	font-size: 20px;
}

.event-fee-columns strong {
	color: var(--ing-blue);
}

.event-block--instructions {
	padding-bottom: 90px;
}

.event-block--instructions > p,
.event-block--instructions > ul {
	max-width: none;
}

.event-block--instructions li {
	margin-bottom: 8px;
}

@media (max-width: 760px) {
	.pill-button {
		max-width: 100%;
		padding-left: 18px;
	}

	.pill-button__label {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.gear-art {
		min-height: 250px;
	}

	.gear-art__large {
		left: -150px;
		width: 190px;
		height: auto;
	}

	.gear-art__small {
		top: -45px;
		left: 82px;
		width: 130px;
		height: 130px;
	}

	.education-gears {
		position: relative;
		top: auto;
		left: auto;
		height: 155px;
		margin-top: -8px;
	}

	.education-gears__large {
		left: -56px;
		width: 156px;
		height: auto;
	}

	.education-gears__small {
		top: 72px;
		left: 118px;
		width: 70px;
		height: 70px;
	}

	.event-block {
		padding-block: 52px;
	}

	.event-block > h2 {
		margin-bottom: 32px;
	}

	.event-why-layout p,
	.event-block--instructions > p,
	.event-block--instructions > ul,
	.event-fee-columns,
	.event-program p,
	.event-program ul {
		font-size: 17px;
	}

	.event-image-stack {
		margin-top: 25px;
	}

	.event-image-stack figure,
	.event-image-stack figure:first-child,
	.event-image-stack figure:last-child {
		height: 220px;
	}

	.event-block--program {
		min-height: 0;
		padding-bottom: 280px;
	}

	.event-program-gears {
		right: -120px;
		bottom: 0;
		transform: scale(0.62);
		transform-origin: bottom right;
	}
}

.modular-hero__copy {
	gap: clamp(40px, 9vw, 150px);
	align-items: end !important;
	padding: 38px 0 70px;
}

.modular-hero__copy > .wp-block-column:first-child {
	flex-basis: 60%;
}

.modular-hero__copy > .wp-block-column:last-child {
	flex-basis: 40%;
}

.modular-hero__copy h1 {
	max-width: 790px;
	margin: 0;
	font-size: clamp(52px, 6.2vw, 88px);
	line-height: 0.96;
	letter-spacing: -0.045em;
}

.modular-hero__copy p {
	max-width: 520px;
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
}

.modular-hero__image {
	height: 490px;
	margin: 0;
	overflow: hidden;
	border-radius: var(--ing-radius);
}

.modular-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.modular-section {
	padding-block: 72px;
}

.modular-section > h2 {
	max-width: 900px;
	margin-bottom: 54px;
	color: var(--ing-blue);
	font-size: clamp(38px, 4vw, 55px);
	line-height: 1.06;
}

.modular-section > p,
.modular-section > ul {
	width: min(100%, 980px) !important;
	max-width: 980px;
	font-size: 19px;
	line-height: 1.48;
}

.modular-section > ul li {
	margin-bottom: 10px;
}

.modular-cards {
	gap: 20px;
}

.modular-card {
	padding: 32px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
	font-size: 18px;
	line-height: 1.3;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.modular-card h3 {
	margin-bottom: 55px;
	color: var(--ing-blue);
	font-size: 30px;
	line-height: 1.05;
}

.modular-cards--three .modular-card {
	min-height: 390px;
}

.modular-cards--portal .modular-card {
	min-height: 430px;
}

.modular-cards--portal .modular-card:hover,
.modular-cards--portal .modular-card:focus-within {
	background: var(--ing-blue);
	color: #fff;
	transform: translateY(-3px);
}

.modular-cards--portal .modular-card:hover h3,
.modular-cards--portal .modular-card:focus-within h3 {
	color: #fff;
}

.modular-section--gears {
	position: relative;
	padding-left: min(48vw, 650px);
}

.modular-section--gears::before,
.modular-section--gears::after {
	position: absolute;
	content: "";
	background: var(--ing-blue);
	-webkit-mask: url("assets/icons/gear-ring.svg") center / contain no-repeat;
	mask: url("assets/icons/gear-ring.svg") center / contain no-repeat;
}

.modular-section--gears::before {
	top: 35px;
	left: -165px;
	width: 380px;
	height: 380px;
}

.modular-section--gears::after {
	top: 15px;
	left: 180px;
	width: 210px;
	height: 210px;
	background: var(--ing-blue-soft);
}

.modular-section--ribbon {
	padding-block: 30px 80px;
	text-align: center;
}

.modular-section--ribbon > h2 {
	max-width: none;
	margin-bottom: 24px;
	color: var(--ing-blue-soft);
	font-size: 18px;
	line-height: 1.25;
	text-transform: uppercase;
}

.modular-callout {
	padding: 58px 36px;
	margin-block: 70px;
	border-radius: var(--ing-radius);
	background: var(--ing-paper);
}

.modular-callout h2 {
	font-size: 44px;
}

.modular-media {
	gap: 48px;
	align-items: center !important;
}

.modular-media img {
	border-radius: 10px;
}

.modular-page > .wp-block-shortcode {
	padding-block: 40px 90px;
}

@media (max-width: 800px) {
	.modular-hero__copy {
		padding-bottom: 40px;
	}

	.modular-hero__image {
		height: 300px;
	}

	.modular-section--gears {
		padding-top: 260px;
		padding-left: 0;
	}

	.modular-section--gears::before {
		left: -80px;
		width: 260px;
		height: 260px;
	}

	.modular-section--gears::after {
		left: 135px;
		width: 130px;
		height: 130px;
	}

	.modular-card,
	.modular-cards--three .modular-card,
	.modular-cards--portal .modular-card {
		min-height: 0;
	}
}

/* 1.4 — motion comments and full, transparent Figma gear geometry. */

:root {
	--ing-container-edge: max(var(--ing-gutter), calc((100vw - var(--ing-container)) / 2));
}

.typewriter-title {
	position: relative;
}

.typewriter-title > [aria-hidden="true"] {
	white-space: pre-line;
}

.typewriter-title.is-typing::after {
	display: inline-block;
	width: 0.08em;
	height: 0.92em;
	margin-left: 0.08em;
	content: "";
	vertical-align: -0.07em;
	background: currentColor;
	animation: ingbiro-caret 720ms steps(1, end) infinite;
}

@keyframes ingbiro-caret {
	50% {
		opacity: 0;
	}
}

.section--gears {
	padding-block: 29px;
}

.section--gears .editorial-grid,
.section--gears .portal-use {
	align-items: center;
}

.gear-art {
	min-height: 480px;
}

.gear-art__large {
	top: 116px;
	left: calc(0px - var(--ing-container-edge) - 166px);
	width: 380px;
	height: 380px;
	transform-origin: center;
	animation: ingbiro-gear-clockwise 7s linear infinite;
	will-change: transform;
}

.gear-art__small {
	top: 11px;
	left: calc(170px - var(--ing-container-edge));
	width: 211px;
	height: 211px;
	transform-origin: center;
	animation: ingbiro-gear-counterclockwise 5.5s linear infinite;
	will-change: transform;
}

.education-gears {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: 220px;
	margin-top: -155px;
}

.education-gears__large {
	top: 0;
	left: calc(0px - var(--ing-container-edge) - 22px);
	width: 217px;
	height: 217px;
	transform-origin: center;
	animation: ingbiro-gear-counterclockwise 5.2s linear infinite;
	animation-delay: -1.1s;
	will-change: transform;
}

.education-gears__small {
	top: 108px;
	left: calc(210px - var(--ing-container-edge));
	width: 95px;
	height: 95px;
	transform-origin: center;
	animation: ingbiro-gear-clockwise 5.5s linear infinite;
	will-change: transform;
}

.content-list--education {
	padding-top: 28px;
}

.event-program-gears {
	right: 0;
	bottom: 45px;
	width: 520px;
	height: 680px;
}

.event-program-gears img:first-child {
	top: 0;
	right: 184px;
	width: 217px;
	height: 217px;
	transform-origin: center;
	animation: ingbiro-gear-counterclockwise 7s linear infinite;
	will-change: transform;
}

.event-program-gears img:last-child {
	right: -96px;
	bottom: 0;
	width: 392px;
	height: 392px;
	transform-origin: center;
	animation: ingbiro-gear-clockwise 6.8s linear infinite;
	animation-delay: -2.3s;
	will-change: transform;
}

@keyframes ingbiro-gear-clockwise {
	to {
		transform: rotate(360deg);
	}
}

@keyframes ingbiro-gear-counterclockwise {
	to {
		transform: rotate(-360deg);
	}
}

.section-label__gear {
	transform-origin: center;
	animation: ingbiro-gear-clockwise 8s linear infinite;
	will-change: transform;
}

.event-single .section-label__gear {
	animation-duration: 4.8s;
}

.event-single .section-label:nth-of-type(even) .section-label__gear {
	animation-delay: -1.6s;
}

.modular-section--gears::before {
	transform-origin: center;
	animation: ingbiro-gear-clockwise 7s linear infinite;
	will-change: transform;
}

.modular-section--gears::after {
	transform-origin: center;
	animation: ingbiro-gear-counterclockwise 5.5s linear infinite;
	will-change: transform;
}

.about-motion {
	position: relative;
	height: 650px;
	overflow: clip;
	background: var(--ing-cream);
}

.about-motion__wordmark-track {
	position: absolute;
	top: 168px;
	left: 0;
	display: flex;
	width: max-content;
	max-width: none;
	height: 404px;
	animation: ingbiro-wordmark-marquee 18s linear infinite;
	pointer-events: none;
	will-change: transform;
}

.about-motion__wordmark {
	width: 1880px;
	max-width: none;
	height: 404px;
	flex: 0 0 1880px;
	margin-right: 96px;
}

@keyframes ingbiro-wordmark-marquee {
	to {
		transform: translateX(-50%);
	}
}

.about-motion__stack {
	position: absolute;
	top: 134px;
	left: 50%;
	z-index: 1;
	width: 412px;
	height: 433px;
	transform: translateX(-50%);
}

.about-motion__stack::before {
	position: absolute;
	z-index: -1;
	inset: -8px 4px 8px -4px;
	content: "";
	border-radius: 16px;
	background: var(--ing-blue-soft);
	transform: rotate(5.32deg);
}

.about-motion__card {
	position: absolute;
	inset: 0;
	padding: 22px;
	margin: 0;
	overflow: hidden;
	border: 0.5px solid rgb(0 0 0 / 20%);
	border-radius: 16px;
	background: var(--ing-paper);
	z-index: 1;
	opacity: 0.72;
	transform: translate3d(30px, 20px, 0) rotate(5deg) scale(0.965);
	transition:
		opacity 760ms ease,
		transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.about-motion__card.is-active {
	z-index: 2;
	opacity: 1;
	transform: translate3d(0, 0, 0) rotate(0) scale(1);
}

.about-motion__card.is-leaving {
	z-index: 3;
	opacity: 0;
	transform: translate3d(-72px, -24px, 0) rotate(-7deg) scale(0.97);
}

.about-motion__card :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 100%;
	border-radius: 4px;
	object-fit: cover;
}

.about-motion__card:first-child :is(img, video.ingbiro-page-media) {
	object-position: 48% center;
}

@media (min-width: 901px) {
	.about-intro {
		padding-block: 93px 110px;
	}

	.about-intro .editorial-grid {
		grid-template-columns: minmax(0, 425px) minmax(0, 813px);
		column-gap: 66px;
		align-items: center;
		justify-content: center;
	}

	.about-intro .image-collage {
		grid-template-columns: minmax(0, 450px) minmax(0, 339px);
		grid-template-rows: 180px 150px;
		column-gap: 24px;
		row-gap: 22px;
	}

	.section--gears .editorial-grid--reverse {
		grid-template-columns: minmax(0, 494px) minmax(0, 683px);
		column-gap: 100px;
		align-items: center;
		justify-content: start;
	}
}

@media (max-width: 760px) {
	.section--gears {
		padding-block: 44px;
	}

	.gear-art {
		min-height: 320px;
	}

	.gear-art__large {
		top: 60px;
		left: calc(0px - var(--ing-container-edge) - 110px);
		width: 260px;
		height: 260px;
	}

	.gear-art__small {
		top: 0;
		left: calc(175px - var(--ing-container-edge));
		width: 112px;
		height: 112px;
	}

	.education-gears {
		height: 165px;
		margin-top: 32px;
	}

	.education-gears__large {
		left: calc(0px - var(--ing-container-edge) - 28px);
		width: 170px;
		height: 170px;
	}

	.education-gears__small {
		top: 86px;
		left: calc(145px - var(--ing-container-edge));
		width: 70px;
		height: 70px;
	}

	.content-list--education {
		padding-top: 28px;
	}

	.event-program-gears {
		right: 0;
		bottom: 20px;
		width: 330px;
		height: 410px;
		transform: none;
	}

	.event-program-gears img:first-child {
		display: none;
	}

	.event-program-gears img:last-child {
		right: -72px;
		width: 250px;
		height: 250px;
	}

	.about-motion {
		height: 500px;
	}

	.about-motion__wordmark-track {
		top: 155px;
		height: auto;
	}

	.about-motion__wordmark {
		width: 930px;
		height: auto;
		flex-basis: 930px;
		margin-right: 48px;
	}

	.about-motion__stack {
		top: 70px;
		width: min(78vw, 330px);
		height: 370px;
	}

	.about-motion__card {
		padding: 17px;
		border-radius: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.typewriter-title.is-typing::after {
		animation-duration: 1.2s;
	}

	.gear-art__large,
	.event-program-gears img:last-child,
	.modular-section--gears::before {
		animation-duration: 14s;
	}

	.gear-art__small,
	.event-program-gears img:first-child,
	.modular-section--gears::after {
		animation-duration: 11s;
	}

	/* Keep the education page's decorative gears visible in reduced-motion mode. */
	.education-gears__large {
		animation-duration: 8s;
	}

	.education-gears__small {
		animation-duration: 7s;
	}

	.section-label__gear {
		animation-duration: 8s;
	}

	.about-motion__wordmark-track {
		animation-duration: 36s;
	}

	.about-motion__card {
		transform: none;
		transition: opacity 360ms ease;
		will-change: auto;
	}

	.about-motion__card.is-active,
	.about-motion__card.is-leaving {
		transform: none;
	}
}

/* Full-bleed SVG building animation at its original 1470:630 ratio. */
.building-banner {
	height: auto;
	aspect-ratio: 1470 / 630;
	line-height: 0;
	background: #fef4e5;
}

.building-banner img.building-banner__image {
	display: block;
	position: static;
	left: auto;
	width: 100%;
	min-width: 0;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: none;
}

/* 1.5.5 — smoother page flow, event rhythm and mobile navigation. */
.scroll-reveal {
	opacity: 0.02;
	filter: blur(8px);
	transform: translate3d(var(--reveal-x, 0), var(--reveal-y, 28px), 0) scale(0.975);
	backface-visibility: hidden;
	will-change: opacity, filter, transform;
}

.scroll-reveal.is-visible:not(.is-waapi-reveal) {
	animation: ingbiro-scroll-glide 1280ms cubic-bezier(0.22, 0.55, 0.2, 1) var(--reveal-delay, 0ms) both;
}

@keyframes ingbiro-scroll-glide {
	0% {
		opacity: 0.02;
		filter: blur(10px);
		transform: translate3d(var(--reveal-x, 0), var(--reveal-y, 28px), 0) scale(0.97);
	}

	48% {
		opacity: 0.76;
		filter: blur(3px);
	}

	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.accordion-item__panel {
	display: block;
	max-height: 0;
	padding-bottom: 0;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transition:
		max-height 420ms cubic-bezier(0.22, 1, 0.36, 1),
		padding-bottom 420ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 220ms ease,
		visibility 0s linear 420ms;
}

.accordion-item.is-open .accordion-item__panel {
	max-height: none;
	padding-bottom: 30px;
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}

.archive-accordion .accordion-item.is-open .accordion-item__panel {
	max-height: 12000px;
	padding-bottom: 42px;
}

.archive-entry__hero {
	padding: 38px 0 68px;
	background: var(--ing-paper);
}

.archive-entry__hero .section-label {
	margin-bottom: 34px;
}

.archive-entry__hero h1 {
	max-width: 1060px;
	margin-bottom: 28px;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.04;
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
}

.archive-entry__hero h1.archive-entry__title--long {
	font-size: clamp(36px, 4.2vw, 56px);
}

.archive-entry__hero h1.archive-entry__title--very-long {
	max-width: 1180px;
	font-size: clamp(30px, 3.2vw, 46px);
	line-height: 1.08;
}

.archive-entry__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.archive-entry__meta span {
	padding: 8px 14px;
	border: 1px solid rgba(34, 81, 155, 0.25);
	border-radius: 999px;
	color: var(--ing-blue);
	font-size: 14px;
}

.archive-entry__image {
	height: clamp(280px, 38vw, 520px);
	margin-top: 46px;
	overflow: hidden;
	border-radius: var(--ing-radius);
	background: var(--ing-cream);
}

.archive-entry__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.archive-entry__content {
	padding-bottom: 110px;
	background: var(--ing-paper);
}

.archive-entry__content-inner {
	width: 100%;
	background: transparent;
}

.archive-entry__source {
	margin-top: 0;
	padding-top: 42px;
	border-top: 1px solid rgba(28, 55, 92, 0.18);
}

.legacy-archive-content {
	display: grid;
	gap: 0;
	font-size: 18px;
	line-height: 1.55;
}

.legacy-archive-content > .container,
.legacy-archive-content section > .container {
	width: 100%;
	max-width: none;
	padding-inline: clamp(24px, 6vw, 88px);
}

.legacy-archive-content section,
.legacy-archive-content > .container {
	padding-block: clamp(52px, 6vw, 82px);
	border-bottom: 0;
}

.legacy-archive-content > .container:first-child {
	background: var(--ing-cream);
	text-align: center;
}

.legacy-archive-content section#konferencija,
.legacy-archive-content section#program {
	background: #fff;
}

.legacy-archive-content section#predavaci,
.legacy-archive-content section#lokacija {
	background: #f1f3f5;
}

.legacy-archive-content section#contact {
	background: var(--ing-blue);
	color: #fff;
}

.legacy-archive-content section#contact a {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.6);
}

.legacy-archive-content .section-heading {
	margin: 0 0 18px;
	color: var(--ing-blue);
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-align: center;
}

.legacy-archive-content section#contact .section-heading {
	color: #fff;
}

.legacy-archive-content .section-subheading {
	margin: 0 0 42px;
	color: var(--ing-muted);
	font-size: 22px;
	font-style: normal;
	line-height: 1.3;
	text-align: center;
}

.legacy-archive-content section#contact .section-subheading {
	color: rgba(255, 255, 255, 0.78);
}

.legacy-archive-content h3,
.legacy-archive-content h4 {
	margin-top: 28px;
	margin-bottom: 14px;
	line-height: 1.25;
}

.legacy-archive-content .row {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(28px, 5vw, 64px);
	max-width: 940px;
	margin-inline: auto;
}

.legacy-archive-content [class*="col-"] {
	flex: 1 1 100%;
	min-width: 0;
}

.legacy-archive-content section#contact .row,
.legacy-archive-content section#lokacija .row {
	max-width: 1120px;
}

.legacy-archive-content section#contact .row > [class*="col-"],
.legacy-archive-content section#lokacija .row > [class*="col-"] {
	flex: 1 1 min(440px, 100%);
}

.legacy-archive-content section#predavaci .row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(36px, 5vw, 64px);
	max-width: 1120px;
}

.legacy-archive-content section#predavaci .row > [class*="col-"] {
	width: auto;
}

.legacy-archive-content section#program .row {
	max-width: 940px;
}

.legacy-archive-content section#program .row > [class*="col-"] {
	flex-basis: 100%;
}

.legacy-archive-content section#program p {
	max-width: 820px;
	margin-inline: auto;
}

.legacy-archive-content .text-center,
.legacy-archive-content .team-member {
	text-align: center;
}

.legacy-archive-content .team-member img {
	width: 180px;
	height: 180px;
	margin-inline: auto;
	border-radius: 50%;
	box-shadow: 0 12px 34px rgba(28, 55, 92, 0.14);
	object-fit: cover;
}

.legacy-archive-content .team-member h4 {
	margin-bottom: 6px;
}

.legacy-archive-content img {
	max-width: 100%;
	height: auto;
}

.legacy-archive-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.legacy-archive-content td,
.legacy-archive-content th {
	padding: 10px;
	border: 1px solid rgba(28, 55, 92, 0.18);
	vertical-align: top;
}

.legacy-archive-content font {
	color: inherit !important;
}

.legacy-archive-content .btn,
.legacy-archive-content form,
.legacy-archive-content [class*="registration"],
.legacy-archive-content [class*="prijava"] {
	display: none !important;
}

@media (max-width: 760px) {
	.archive-entry__hero {
		padding-bottom: 46px;
	}

	.archive-entry__hero h1 {
		font-size: clamp(32px, 9.2vw, 44px);
	}

	.archive-entry__hero h1.archive-entry__title--long {
		font-size: clamp(30px, 8.4vw, 38px);
	}

	.archive-entry__hero h1.archive-entry__title--very-long {
		font-size: clamp(27px, 7.6vw, 34px);
		line-height: 1.1;
	}

	.archive-entry__image {
		height: 230px;
		margin-top: 32px;
	}

	.archive-entry__content {
		padding-bottom: 70px;
	}

	.legacy-archive-content {
		font-size: 17px;
	}

	.legacy-archive-content > .container,
	.legacy-archive-content section > .container {
		padding-inline: 22px;
	}

	.legacy-archive-content section,
	.legacy-archive-content > .container {
		padding-block: 44px;
	}

	.legacy-archive-content .section-subheading {
		margin-bottom: 30px;
		font-size: 19px;
	}

	.legacy-archive-content .row {
		gap: 28px;
	}

	.legacy-archive-content [class*="col-"] {
		flex-basis: 100%;
	}

	.legacy-archive-content section#predavaci .row {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 761px) {
	.event-single__hero {
		padding: 32px 0 64px;
	}

	.event-intro.section {
		padding-block: 64px 56px;
	}

	.event-info-grid {
		margin: 34px 0 0;
	}

	.event-block {
		padding-block: 64px;
	}

	.event-block > h2 {
		margin-bottom: 36px;
	}

	.event-block--instructions {
		padding-bottom: 72px;
	}

	.event-download {
		padding-block: 52px;
	}

	.event-registration.section {
		padding-block: 48px;
	}

	.related-events.section {
		padding-block: 64px;
	}
}

@media (max-width: 900px) {
	.menu-toggle {
		position: relative;
		z-index: 2;
	}

	.menu-toggle[aria-expanded="true"]::before {
		transform: translateY(6px) rotate(45deg);
	}

	.menu-toggle[aria-expanded="true"] .menu-toggle__line {
		opacity: 0;
		transform: scaleX(0.35);
	}

	.menu-toggle[aria-expanded="true"]::after {
		transform: translateY(-6px) rotate(-45deg);
	}

	.site-nav {
		inset: 106px 0 auto;
		display: block;
		width: 100%;
		height: calc(100dvh - 106px);
		max-height: calc(100dvh - 106px);
		padding:
			clamp(28px, 6vh, 48px)
			max(24px, env(safe-area-inset-right))
			max(32px, env(safe-area-inset-bottom))
			max(24px, env(safe-area-inset-left));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-10px);
		pointer-events: none;
		transition:
			opacity 240ms ease,
			transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
			visibility 0s linear 320ms;
	}

	.site-nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		transition-delay: 0s;
	}

	.site-nav__list,
	.site-nav .menu {
		width: 100%;
		gap: 0;
		padding-bottom: 24px;
	}

	.site-nav li {
		width: 100%;
		border-bottom: 1px solid rgb(36 78 156 / 15%);
	}

	.site-nav a {
		display: block;
		width: 100%;
		padding: 15px 0;
		font-size: clamp(24px, 7vw, 30px);
		line-height: 1.12;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 760px) {
	.event-single__hero {
		padding: 24px 0 44px;
	}

	.event-single__image {
		height: clamp(240px, 72vw, 300px);
	}

	.event-intro.section {
		padding-block: 44px 40px;
	}

	.event-intro__lead {
		margin-bottom: 28px;
	}

	.event-info-grid {
		gap: 14px;
		margin: 28px 0 0;
	}

	.event-info {
		min-height: 0;
		padding: 28px 20px;
	}

	.event-info strong {
		margin-bottom: 18px;
	}

	.event-info b {
		margin-bottom: 12px;
	}

	.event-block {
		padding-block: 44px;
	}

	.event-block > h2 {
		margin-bottom: 28px;
	}

	.event-block--program {
		padding-bottom: 240px;
	}

	.event-block--instructions {
		padding-bottom: 48px;
	}

	.event-download {
		padding-block: 44px;
	}

	.event-download__inner {
		gap: 26px;
	}

	.event-registration.section {
		padding-block: 36px;
	}

	.related-events.section {
		padding-block: 48px;
	}

	.event-registration__heading {
		margin-bottom: 32px;
	}

	.archive-accordion .accordion-item.is-open .accordion-item__panel {
		padding-bottom: 30px;
	}
}

/* 1.6.4 — keep conferences and training contained on narrow screens. */
@media (max-width: 760px) {
	a,
	button {
		-webkit-tap-highlight-color: transparent;
	}

	.content-cards--education {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	.content-cards--education .content-card,
	.content-cards--education .content-card:first-child {
		width: 100%;
		min-width: 0;
		padding: 28px 24px;
	}

	.content-cards--education .pill-button {
		justify-content: space-between;
		width: 100%;
	}

	.content-cards--education .pill-button__label {
		min-width: 0;
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
		line-height: 1.25;
	}

	.content-list--education {
		grid-template-columns: minmax(0, 1fr);
		width: min(calc(100% - (var(--ing-gutter) * 2)), var(--ing-container));
	}

	.content-list--education .content-list__item {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		min-width: 0;
		gap: 24px;
	}

	.content-list--education .content-list__image,
	.content-list--education .content-list__item > div {
		width: 100%;
		min-width: 0;
	}

	.content-list--education .content-list__image {
		height: clamp(210px, 62vw, 260px);
	}

	.event-download__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.event-download__inner > * {
		min-width: 0;
	}

	.event-download .pill-button--download {
		justify-content: space-between;
		width: 100%;
	}

	.event-download .pill-button--download .pill-button__label {
		min-width: 0;
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
		line-height: 1.25;
	}

	.event-download__copy h2,
	.event-download__copy > p {
		padding-left: 0;
	}
}

@media (max-width: 460px) {
	.ing-forminator--inline .forminator-ui.forminator-custom-form {
		padding: 6px 6px 6px 18px !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-row {
		gap: 0 !important;
		margin: 0 !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit {
		position: relative;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		padding: 4px !important;
		overflow: hidden;
		border-radius: 50% !important;
		background-color: var(--ing-blue) !important;
		background-image: url("assets/icons/arrow-right.svg") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 17px 17px !important;
		color: transparent !important;
		font-size: 0 !important;
		clip-path: circle(50%);
		transform: none !important;
		animation: none !important;
		transition: background-color 180ms ease !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit::before {
		display: block !important;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 18px;
		height: 18px;
		background: url("assets/icons/arrow-right.svg") center / contain no-repeat;
		content: "" !important;
		opacity: 1 !important;
		transform: translate(-50%, -50%) !important;
		animation: none !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit::after {
		display: none !important;
		content: none !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit.forminator-onload,
	.ing-forminator--inline .forminator-ui .forminator-button-submit.forminator-button-onload,
	.ing-forminator--inline .forminator-ui .forminator-button-submit:disabled {
		background-color: var(--ing-blue) !important;
		background-image: url("assets/icons/arrow-right.svg") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 17px 17px !important;
		opacity: 1 !important;
	}

	.ing-forminator--inline .forminator-ui .forminator-button-submit .forminator-icon-loader {
		display: none !important;
	}
}

.forminator-edit-module {
	display: none !important;
}

/* Client-approved legal documents. */
.legal-page {
	background: var(--ing-paper);
}

.legal-page__content {
	max-width: 1040px;
	padding-block: clamp(64px, 9vw, 128px);
}

.legal-page__content h1 {
	max-width: 900px;
	margin-bottom: clamp(40px, 6vw, 72px);
	font-size: clamp(42px, 5.2vw, 65px);
	line-height: 1.02;
}

.legal-page__content h2 {
	margin: clamp(52px, 7vw, 82px) 0 24px;
	font-size: clamp(28px, 3.5vw, 42px);
	line-height: 1.12;
}

.legal-page__content h3 {
	margin: 36px 0 16px;
	font-size: clamp(20px, 2.2vw, 27px);
}

.legal-page__content p,
.legal-page__content li,
.legal-page__content td,
.legal-page__content th {
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.65;
}

.legal-page__content p {
	margin-bottom: 20px;
}

.legal-page__content ul {
	margin: 0 0 28px;
	padding-left: 24px;
}

.legal-callout {
	margin: 32px 0;
	padding: clamp(24px, 4vw, 42px);
	border-radius: 20px;
	background: var(--ing-cream);
}

.legal-callout p:last-child {
	margin-bottom: 0;
}

.legal-table-wrap {
	max-width: 100%;
	margin: 28px 0;
	overflow-x: auto;
	border: 1px solid var(--ing-border);
	border-radius: 16px;
	-webkit-overflow-scrolling: touch;
}

.legal-table-wrap table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	background: #fff;
}

.legal-table-wrap th,
.legal-table-wrap td {
	padding: 18px;
	border-right: 1px solid var(--ing-border);
	border-bottom: 1px solid var(--ing-border);
	vertical-align: top;
	text-align: left;
}

.legal-table-wrap th {
	background: var(--ing-blue);
	color: #fff;
}

.legal-table-wrap tr:last-child td {
	border-bottom: 0;
}

.legal-table-wrap th:last-child,
.legal-table-wrap td:last-child {
	border-right: 0;
}

/* Native Forminator consent and repeatable participant controls. */
.ing-forminator .forminator-ui .forminator-consent,
.ing-forminator .forminator-ui .forminator-consent__label {
	color: var(--ing-ink) !important;
	font-family: var(--ing-font-sans) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.ing-forminator .forminator-ui .forminator-consent__label a,
.ing-forminator .forminator-ui .forminator-description a {
	color: var(--ing-blue) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ing-forminator .forminator-ui .forminator-checkbox-box {
	border-color: rgb(0 0 0 / 34%) !important;
	border-radius: 5px !important;
	box-shadow: none !important;
}

.ing-forminator .forminator-ui .forminator-consent input:focus-visible + .forminator-checkbox-box {
	outline: 3px solid rgb(36 78 156 / 20%) !important;
	outline-offset: 3px;
}

.ing-forminator .forminator-ui .forminator-repeater-action-button {
	padding: 11px 18px !important;
	border: 1px solid var(--ing-blue) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--ing-blue) !important;
	font-family: var(--ing-font-mono) !important;
	cursor: pointer;
}

.ing-forminator .forminator-ui .forminator-repeater-action-button:hover,
.ing-forminator .forminator-ui .forminator-repeater-action-button:focus-visible {
	background: var(--ing-blue) !important;
	color: #fff !important;
}

.ing-forminator .forminator-ui .forminator-grouped-fields {
	padding: clamp(18px, 3vw, 28px) !important;
	border: 1px solid var(--ing-border);
	border-radius: 20px;
}

.ing-forminator .forminator-ui .forminator-row:has(.forminator-field-html) {
	margin-bottom: 14px !important;
}

.ing-forminator .forminator-ui .forminator-field-html h3 {
	margin: 0;
	font-size: clamp(22px, 2.2vw, 30px);
}

.event-registration__fineprint {
	max-width: 1220px;
	margin: 48px auto 0;
	padding-top: 34px;
	border-top: 1px solid var(--ing-border);
	color: var(--ing-muted);
}

.event-registration__fineprint p {
	max-width: 980px;
	font-size: 14px;
	line-height: 1.55;
}

.event-registration--closed {
	padding-block: 86px;
}

.event-registration__closed-copy {
	max-width: 900px;
	text-align: center;
}

.event-registration__closed-copy h2 {
	margin: 18px 0 14px;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.1;
}

.event-registration__closed-copy p {
	margin: 0 auto 10px;
	font-size: 18px;
}

.event-registration__closed-copy a {
	color: var(--ing-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Compact page and event forms without affecting the newsletter/footer pill. */
.form-page {
	padding-block: 20px 56px;
}

.form-page h1 {
	margin-bottom: 34px;
}

.ing-forminator--page .forminator-ui .forminator-row,
.event-registration .forminator-ui .forminator-row {
	column-gap: 20px !important;
	row-gap: 10px !important;
	margin-bottom: 14px !important;
}

.ing-forminator--page .forminator-ui.forminator-custom-form[data-design] .forminator-field,
.event-registration .forminator-ui.forminator-custom-form[data-design] .forminator-field {
	padding-bottom: 10px !important;
}

.ing-forminator--page .forminator-ui .forminator-label,
.event-registration .forminator-ui .forminator-label {
	margin-bottom: 5px !important;
	font-size: 14px !important;
}

.ing-forminator--page .forminator-ui input.forminator-input,
.ing-forminator--page .forminator-ui textarea.forminator-textarea,
.ing-forminator--page .forminator-ui select.forminator-select2,
.ing-forminator--page .forminator-ui .forminator-file-upload,
.event-registration .forminator-ui input.forminator-input,
.event-registration .forminator-ui textarea.forminator-textarea,
.event-registration .forminator-ui select.forminator-select2,
.event-registration .forminator-ui .forminator-file-upload {
	min-height: 50px !important;
	padding: 10px 18px !important;
	font-size: 16px !important;
}

.ing-forminator--page .forminator-ui textarea.forminator-textarea,
.event-registration .forminator-ui textarea.forminator-textarea {
	min-height: 96px !important;
	border-radius: 24px !important;
}

.event-registration__heading {
	margin-bottom: 24px;
}

.event-registration__fineprint {
	margin-top: 24px;
	padding-top: 18px;
}

.event-registration .forminator-ui .forminator-grouped-fields {
	padding: 14px !important;
	border-radius: 16px;
}

.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) {
	grid-column: 1 / -1;
	margin: 4px 10px 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) .forminator-field {
	padding-bottom: 0 !important;
}

.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) .forminator-label {
	display: none !important;
}

.ing-forminator--inline .forminator-ui .forminator-consent,
.ing-forminator--inline .forminator-ui .forminator-consent__label {
	font-size: 12px !important;
}

/* Keep the newsletter consent outside the email-and-submit pill. */
.ing-forminator--inline .forminator-ui.forminator-custom-form {
	padding: 7px 7px 0 26px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:focus-within,
.ing-forminator--inline .forminator-ui.forminator-custom-form:has(.forminator-error-message),
.ing-forminator--inline .forminator-ui.forminator-custom-form:has(.forminator-error-message):focus-within {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 60px;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 999px;
	pointer-events: none;
	content: "";
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:focus-within::before {
	border-color: var(--ing-blue);
	box-shadow: 0 0 0 2px rgb(36 78 156 / 14%);
}

.ing-forminator--inline .forminator-ui.forminator-custom-form:has(.forminator-row:not(:has(.forminator-consent)) .forminator-error-message)::before {
	border-color: rgb(173 48 48 / 62%);
	box-shadow: 0 0 0 2px rgb(173 48 48 / 9%);
}

.ing-forminator--inline .forminator-ui.forminator-custom-form > .forminator-row:first-of-type,
.ing-forminator--inline .forminator-ui.forminator-custom-form > .forminator-row-last {
	position: relative;
	z-index: 1;
}

.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) {
	position: relative;
	z-index: 1;
	margin: 12px 4px 0 !important;
}

.ing-forminator--inline .forminator-ui.forminator-custom-form[data-design] .forminator-row:has(.forminator-consent) .forminator-field {
	position: relative !important;
	min-height: 44px;
	padding: 0 0 20px !important;
}

.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) .forminator-error-message {
	top: auto;
	right: auto;
	bottom: 0;
	left: 28px;
	text-align: left;
}

@media (max-width: 460px) {
	.ing-forminator--inline .forminator-ui.forminator-custom-form {
		padding: 6px 6px 0 18px !important;
	}

	.ing-forminator--inline .forminator-ui.forminator-custom-form::before {
		height: 60px;
	}

	.ing-forminator--inline .forminator-ui .forminator-row:has(.forminator-consent) {
		margin-inline: 0 !important;
	}
}

@media (max-width: 760px) {
	.legal-page__content {
		padding-block: 52px 72px;
	}

	.legal-page__content h1 {
		margin-bottom: 36px;
		font-size: clamp(36px, 11vw, 48px);
	}

	.form-page {
		padding-block: 16px 40px;
	}

	.form-page h1 {
		margin-bottom: 24px;
	}

	.ing-forminator--page .forminator-ui .forminator-row,
	.event-registration .forminator-ui .forminator-row {
		margin-bottom: 10px !important;
	}

	.legal-page__content h2 {
		font-size: 28px;
	}

	.legal-callout {
		margin-inline: calc(var(--ing-gutter) * -0.25);
		padding: 24px;
	}

	.legal-table-wrap {
		margin-right: calc(var(--ing-gutter) * -0.5);
	}
}

/* 1.8.0 — client review pass: licensed type, sticky navigation and shared media. */
:root {
	--ing-gutter: clamp(22px, 4vw, 72px);
}

/*
 * 1.9.8 — desktop gutters grow into a consistent 12vw proportion instead of
 * stopping at a fixed pixel value. The content canvas remains fluid beyond
 * 1920px, so larger screens preserve the same visual relationship without a
 * fixed-width dead zone around the page.
 */
@media (min-width: 1024px) {
	:root {
		--ing-container: 100vw;
		--ing-gutter: clamp(40.96px, calc(31.5vw - 281.6px), 12vw);
	}
}

.site-header {
	position: sticky;
	top: 0;
	height: 118px;
	transition: box-shadow 240ms ease, background-color 240ms ease;
}

.site-header.is-scrolled {
	box-shadow: 0 10px 32px rgb(27 27 27 / 8%);
}

.admin-bar .site-header {
	top: 32px;
}

.service-card {
	display: grid;
	grid-template-rows: 96px auto 1fr;
	align-content: start;
}

.service-card__icon {
	position: absolute;
}

.service-card h3,
.service-card p,
.service-card ul {
	align-self: start;
}

.service-card h3 {
	margin-bottom: 0;
}

.service-card p {
	margin-bottom: 24px;
}

.building-banner-shell {
	width: min(calc(100% - (var(--ing-gutter) * 2)), var(--ing-container));
	max-width: var(--ing-container);
	margin-inline: auto;
	padding: 0;
	background: var(--ing-cream);
}

.page-main > .building-banner-shell:last-child {
	padding-bottom: clamp(24px, 2.5vw, 44px);
}

.building-banner {
	position: relative;
	width: 100%;
	aspect-ratio: var(--building-banner-aspect, 1138 / 640);
	overflow: hidden;
	background: #fef4e5;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.building-banner__play {
	position: absolute;
	right: clamp(12px, 2vw, 24px);
	bottom: clamp(12px, 2vw, 24px);
	z-index: 2;
	padding: 12px 20px;
	border: 1px solid var(--ing-blue);
	border-radius: 999px;
	background: var(--ing-cream);
	color: var(--ing-blue);
	font: inherit;
	cursor: pointer;
}
.building-banner__play[hidden] { display: none; }
.building-banner__play:focus-visible { outline: 3px solid var(--ing-blue); outline-offset: 4px; }

.building-banner.is-revealed {
	clip-path: inset(0 0 0 0);
}

.building-banner .building-banner__media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Keep the animated building illustration focused on the lower facade and
 * remove the source artwork's pale side gutters at the banner edges. */
.building-banner .building-banner__video {
	transform: scale(1.16);
	transform-origin: center bottom;
}

.about-quicklinks {
	display: grid;
	gap: 8px;
	justify-items: start;
	text-align: left;
}

.about-quicklinks a {
	position: relative;
	width: fit-content;
	line-height: 1.35;
	text-align: left;
}

@media (max-width: 620px) {
	.page-hero .page-hero__title--portal {
		font-size: clamp(30px, 10vw, 40px);
	}
}

.about-quicklinks a::after {
	position: absolute;
	right: 0;
	bottom: -2px;
	left: 0;
	height: 1px;
	content: "";
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 220ms ease;
}

.about-quicklinks a:hover::after,
.about-quicklinks a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

#upoznajte-nas,
#nasa-ekspertiza,
#povezanost-s-korijenima,
#mjesto-susreta,
#suradnja,
#kontakt-podaci {
	scroll-margin-top: 138px;
}

.company-data--contact {
	margin-bottom: clamp(28px, 5vw, 64px);
}

.company-data h2 {
	color: var(--ing-ink);
}

.company-data a {
	color: var(--ing-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.legal-accordion {
	margin: 18px 0;
	padding: 0 clamp(20px, 3vw, 34px);
	border: 1px solid var(--ing-border);
	border-radius: 18px;
	background: #fff;
}

.legal-accordion > summary {
	position: relative;
	padding: 26px 54px 26px 0;
	color: var(--ing-blue);
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	list-style: none;
	cursor: pointer;
}

.legal-accordion > summary::-webkit-details-marker {
	display: none;
}

.legal-accordion > summary::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--ing-cream);
	color: var(--ing-blue);
	content: "+";
	font-size: 26px;
	font-weight: 400;
	line-height: 32px;
	text-align: center;
	transform: translateY(-50%);
}

.legal-accordion[open] > summary::after {
	content: "−";
}

.legal-accordion > :last-child {
	margin-bottom: 30px;
}

.about-motion__card :is(img, video.ingbiro-page-media) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.portal-video {
	position: relative;
}

.portal-video > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * 1.9.0 — reversible, Wabital-inspired hero expansion.
 * The sticky stage owns the extra scroll distance; the media itself is
 * absolutely positioned so its interpolation never pushes surrounding copy.
 */
.cinematic-scroll {
	--cinematic-header-height: 118px;
	--cinematic-sticky-height: calc(100svh - var(--cinematic-header-height));
	--cinematic-media-height: min(
		clamp(490px, 34vw, 760px),
		calc(100svh - 118px - clamp(22px, 2.8svh, 40px))
	);
	position: relative;
	width: 100vw;
	height: max(980px, calc(var(--cinematic-sticky-height) * 2.15));
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
	background: var(--ing-cream);
}

@media (min-width: 901px) {
	.home-hero__copy + .cinematic-scroll {
		margin-top: clamp(32px, 3.5vw, 56px);
	}
}

.cinematic-scroll__sticky {
	position: sticky;
	top: var(--cinematic-header-height);
	height: var(--cinematic-sticky-height);
	overflow: hidden;
}

.cinematic-scroll__media {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(calc(100% - (var(--ing-gutter) * 2)), var(--ing-container));
	height: var(--cinematic-media-height) !important;
	max-height: var(--cinematic-media-height) !important;
	margin: 0;
	border-radius: var(--ing-radius);
	transition: none !important;
	transform: translate3d(-50%, 0, 0);
	transform-origin: center top;
	will-change: left, width, height, border-radius, transform;
}

.cinematic-scroll.is-ready .cinematic-scroll__media {
	transform: translate3d(0, var(--cinematic-media-y, 0), 0);
}

.cinematic-scroll__media > img,
.cinematic-scroll__media > video,
.cinematic-scroll__media .wp-block-video,
.cinematic-scroll__media video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cinematic-scroll__media video {
	border-radius: inherit;
	transform: scale(1.6);
	transform-origin: center;
}

.cinematic-scroll__hint {
	position: absolute;
	z-index: 3;
	bottom: clamp(22px, 4vh, 42px);
	left: 50%;
	display: grid;
	justify-items: center;
	gap: 9px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	pointer-events: none;
	text-shadow: 0 1px 12px rgb(0 0 0 / 50%);
	transform: translateX(-50%);
}

.cinematic-scroll__hint::after {
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	animation: cinematic-chevron-float 1.8s ease-in-out infinite;
	transform: translateY(0) rotate(45deg);
}

@keyframes cinematic-chevron-float {
	0%,
	100% {
		transform: translateY(0) rotate(45deg);
	}

	50% {
		transform: translateY(4px) rotate(45deg);
	}
}

@media (min-width: 901px) {
	.has-cinematic-scroll {
		padding-bottom: 0;
	}

	.site-header {
		height: var(--ing-active-header-height, 118px);
		will-change: height;
	}

	.site-header__inner {
		grid-template-columns: var(--ing-active-logo-column, 240px) 1fr auto;
		gap: var(--ing-active-header-gap, 40px);
	}

	.site-logo,
	.site-logo img {
		width: var(--ing-active-logo-width, 240px);
	}

	.site-logo img {
		height: var(--ing-active-logo-height, 63px);
	}

	.site-nav a {
		font-size: var(--ing-active-nav-font-size, 18px);
	}

	.contact-link {
		min-height: var(--ing-active-contact-height, 40px);
		font-size: var(--ing-active-contact-font-size, 17px);
	}
}

@media (min-width: 901px) and (max-width: 1500px) {
	.site-header__inner {
		grid-template-columns: var(--ing-active-logo-column, 210px) 1fr auto;
		gap: var(--ing-active-header-gap, 24px);
	}

	.site-logo,
	.site-logo img {
		width: var(--ing-active-logo-width, 210px);
	}

	.site-nav a {
		font-size: var(--ing-active-nav-font-size, 16px);
	}

	.contact-link {
		font-size: var(--ing-active-contact-font-size, 14px);
	}
}

@media (max-width: 1200px) {
	.cinematic-scroll__media {
		height: 400px;
	}
}

@media (max-width: 900px) {
	.cinematic-scroll {
		--cinematic-header-height: 92px;
		width: 100vw;
		height: auto !important;
		max-height: none !important;
		min-height: 0;
		margin-bottom: 0 !important;
		margin-left: calc(50% - 50vw);
	}

	.cinematic-scroll__sticky {
		position: relative;
		top: auto !important;
		height: auto !important;
		overflow: hidden;
	}

	.cinematic-scroll__media,
	.cinematic-scroll.is-ready .cinematic-scroll__media {
		position: relative;
		top: auto;
		left: 0 !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9;
		border-radius: 0 !important;
		transform: none !important;
	}

	.cinematic-scroll__media video {
		transform: none;
	}

	.cinematic-scroll__hint {
		display: none;
	}
}

@media (max-width: 620px) {
	.cinematic-scroll__media {
		height: auto;
	}
}

.video-dialog[hidden] {
	display: none;
}

.video-dialog {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: clamp(18px, 4vw, 56px);
}

.video-dialog__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(15 20 29 / 82%);
	backdrop-filter: blur(10px);
}

.video-dialog__panel {
	position: relative;
	z-index: 1;
	width: min(1120px, 100%);
	border-radius: 18px;
	background: #090d14;
	box-shadow: 0 28px 80px rgb(0 0 0 / 34%);
}

.video-dialog__video {
	display: block;
	width: 100%;
	max-height: min(78vh, 760px);
	border-radius: 18px;
	background: #090d14;
}

.video-dialog__close {
	position: absolute;
	z-index: 2;
	top: -18px;
	right: -18px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--ing-blue);
	cursor: pointer;
}

.video-dialog__close::before,
.video-dialog__close::after {
	position: absolute;
	top: 22px;
	left: 12px;
	width: 22px;
	height: 2px;
	content: "";
	background: #fff;
}

.video-dialog__close::before {
	transform: rotate(45deg);
}

.video-dialog__close::after {
	transform: rotate(-45deg);
}

body.video-dialog-open {
	overflow: hidden;
}

@media (max-width: 900px) {
	.site-header {
		height: 92px;
	}

	.site-nav {
		inset: 92px 0 auto;
		height: calc(100dvh - 92px);
		max-height: calc(100dvh - 92px);
	}

	.admin-bar .site-header {
		top: 46px;
	}

	.service-card {
		grid-template-rows: auto;
	}

	.service-card h3 {
		margin-bottom: 32px;
	}
}

@media (min-width: 783px) and (max-width: 900px) {
	.admin-bar .site-header {
		top: 32px;
	}
}

@media (max-width: 620px) {
	:root {
		--ing-gutter: 18px;
	}

	.video-dialog {
		padding: 16px;
	}

	.video-dialog__close {
		top: -12px;
		right: -8px;
	}
}

/*
 * 1.9.7 — match the approved O nama archival crops and three-image grids.
 */
.page-hero__image--about img {
	object-position: center top;
}

.history-card__images--collage {
	grid-template-columns: 0.85fr 1.15fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	height: 340px;
	align-items: stretch;
}

.history-card__images--collage :is(img, video.ingbiro-page-media) {
	height: 100%;
	min-height: 0;
}

.history-card__images--collage .history-card__image--large {
	grid-row: 1 / -1;
}

@media (max-width: 900px) {
	.history-card__images--collage {
		height: clamp(260px, 48vw, 380px);
	}
}

@media (max-width: 620px) {
	.history-card__images--collage {
		gap: 10px;
		height: 220px;
	}
}

/* 1.10.0 — final client review refinements. */
.home-hero__copy {
	min-height: 270px;
	padding-top: 20px;
}

.home-hero__aside {
	padding-top: 18px;
}

.about-quicklinks a {
	font-size: 20px;
}

.page-hero__quicklink {
	display: inline-flex;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	color: var(--ing-blue);
	font-size: 18px;
	font-weight: 700;
}

#aktualna-dogadanja {
	scroll-margin-top: 138px;
}

.tag-list span {
	font-size: 15px;
}

.event-info strong {
	font-size: 18px;
}

.event-info b {
	font-size: 23px;
	line-height: 1.2;
}

.event-info span {
	font-size: 17px;
}

.event-fee-columns strong {
	color: var(--ing-ink) !important;
}

.event-block--fee h3,
.event-block--fee strong {
	color: var(--ing-ink) !important;
}

.legal-page__content h1 {
	font-size: clamp(36px, 4.2vw, 52px);
}

.legal-page__content h2 {
	font-size: clamp(24px, 2.8vw, 34px);
}

.ingbiro-response-expired {
	display: none !important;
}

@media (min-width: 901px) {
	.history-card__images--collage {
		height: clamp(420px, 32vw, 560px);
	}
}

@media (max-width: 760px) {
	.about-quicklinks a {
		font-size: 17px;
	}

	.tag-list span {
		font-size: 14px;
	}

	.event-info strong {
		font-size: 16px;
	}

	.event-info b {
		font-size: 20px;
	}

	.event-info span {
		font-size: 16px;
	}

	.legal-page__content h1 {
		font-size: clamp(32px, 10vw, 42px);
	}

	.legal-page__content h2 {
		font-size: 25px;
	}
}

/* Privacy/cookie documents: keep the main page title prominent, but restore
 * a clear scale between section labels, subheadings and body copy. */
.legal-page__content .legal-accordion > summary {
	padding: 20px 48px 20px 0;
	font-size: clamp(18px, 1.55vw, 24px);
	line-height: 1.25;
}

.legal-page__content .legal-accordion > summary::after {
	width: 30px;
	height: 30px;
	font-size: 21px;
	line-height: 28px;
}

.legal-page__content .legal-accordion h3 {
	margin: 26px 0 12px;
	font-size: clamp(15px, 1.05vw, 16px);
	line-height: 1.25;
}

.legal-page__content p,
.legal-page__content li,
.legal-page__content td,
.legal-page__content th {
	font-size: clamp(15px, 1.05vw, 16px);
	line-height: 1.55;
}

.legal-page__content .legal-accordion p,
.legal-page__content .legal-accordion li,
.legal-page__content .legal-accordion td,
.legal-page__content .legal-accordion th {
	font-size: clamp(15px, 1.05vw, 16px);
}

.legal-page__content .legal-accordion p {
	margin-bottom: 16px;
}

/* Event system: shared cards, readable source content and aligned forms. */
.event-card { align-items: start; grid-template-columns: minmax(220px, 31%) minmax(0, 1fr); gap: clamp(24px, 3vw, 48px); }
.event-card__image { height: auto; aspect-ratio: 16 / 10; }
.event-card__image img { object-fit: contain; background: var(--ing-paper); }
.event-card h2, .event-card h3 { font-size: clamp(22px, 1.8vw, 29px); line-height: 1.22; margin: 0 0 12px; text-wrap: balance; }
.event-card__content > p { font-size: 16px; line-height: 1.5; margin-bottom: 16px; }
.event-card .tag-list { margin-bottom: 12px; }
.event-card .tag-list span, .event-single__meta-row .tag-list span { font-size: 13px; line-height: 1.35; border: 1px solid #ccd7e8; background: white; padding: 7px 12px; }
.event-card .tag-list span:first-child { background: var(--ing-blue); color: white; border-color: var(--ing-blue); }
.event-card__facts { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0 0 18px; }
.event-card__facts div { min-width: 85px; }
.event-card__facts dt { font-size: 12px; color: var(--ing-muted); margin-bottom: 3px; }
.event-card__facts dd { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.4; }
.event-single__hero h1 { font-size: clamp(27px, 2.6vw, 42px); line-height: 1.18; max-width: none; text-transform: none; text-wrap: balance; margin-bottom: 24px; }
.event-single__image { height: auto; max-height: 440px; background: var(--ing-paper); }
.event-single__image img { width: 100%; max-height: 440px; object-fit: contain; }
.event-info { min-height: 0; padding: 22px; align-items: flex-start; text-align: left; border-radius: 14px; }
.event-info strong { font-size: 13px; margin-bottom: 10px; }
.event-info b { font-size: 19px; margin-bottom: 8px; }
.event-info span { font-size: 15px; line-height: 1.5; }
.event-content.section { padding-block: 0; }
.event-content__body > .event-block { width: 100%; margin: 0; padding: 36px 0; border-top: 1px solid var(--ing-border); background: transparent; min-height: 0; }
.event-content__body > .event-block > :not(.event-program-gears) { width: 100%; max-width: none !important; margin-inline: 0; }
.event-content__body .event-block > h2 { font-size: 17px; line-height: 1.35; margin: 0 0 22px; }
.event-content__body .event-block h3 { font-size: 17px; line-height: 1.4; margin: 22px 0 8px; color: var(--ing-ink); }
.event-content__body .event-block p, .event-content__body .event-block li { font-size: 16px; line-height: 1.55; }
.event-content__body .event-block p { margin: 0 0 12px; }
.event-content__body .event-block ul { margin: 0 0 16px; padding-left: 22px; }
.event-content__body .event-block li { margin-bottom: 4px; }
.event-fee-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; align-items: start; }
.event-fee-grid > .wp-block-column { min-width: 0; }
.event-fee-grid h3:first-child { margin-top: 0 !important; }
.event-program-gears { display: none; }
.event-download { width: min(calc(100% - var(--ing-gutter)*2),var(--ing-container)); margin: 24px auto 0; padding: 28px; border-radius: 16px; }
.event-download > .container { width: 100%; max-width: none; margin: 0; }
.event-download__inner { grid-template-columns: minmax(0,1fr) auto; gap: 24px; }
.event-download__copy h2, .event-download__copy > p { padding: 0; }
.event-download h2 { font-size: 25px; line-height: 1.2; }
.event-download p { font-size: 15px; line-height: 1.45; }
.event-download .section-label { margin-bottom: 14px; font-size: 13px; }
.event-download .pill-button { font-size: 14px; }
.event-registration__heading { max-width: none; margin: 0 0 18px; }
.event-registration__heading h2 { font-size: 30px; margin-bottom: 8px; }
.event-registration__heading .section-label { margin-bottom: 12px; }
.event-registration__heading p { font-size: 15px; line-height: 1.4; margin-bottom: 6px; }
.event-registration__availability { color: var(--ing-blue); font-weight: 700; }
.event-registration__form { max-width: none; }
.event-registration .forminator-ui .forminator-row { margin: 0 0 10px !important; width: 100% !important; }
.event-registration .forminator-ui .forminator-col { min-width: 0; padding: 0 !important; margin: 0 !important; }
.event-registration .forminator-ui.forminator-custom-form[data-design] .forminator-field { padding: 0 !important; }
.event-registration .forminator-ui .forminator-label { font-size: 13px !important; line-height: 1.4 !important; margin: 0 0 5px !important; }
.event-registration .forminator-ui input.forminator-input { min-height: 44px !important; padding: 10px 14px !important; font-size: 16px !important; border-radius: 10px !important; }
.event-registration .forminator-ui .forminator-field-radio > .forminator-field { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.event-registration .forminator-ui .forminator-field-radio .forminator-label { flex-basis: 100%; }
.event-registration .forminator-ui .forminator-radio { display: inline-flex !important; min-height: 32px; margin: 0 !important; }
.event-registration .forminator-ui .forminator-field:has(input[name="text-5"]) { display: flex; flex-direction: column; }
.event-registration .forminator-ui .forminator-field:has(input[name="text-5"]) input { order: 1; }
.event-registration .forminator-ui .forminator-field:has(input[name="text-5"]) .forminator-description { order: 2; font-size: 12px !important; line-height: 1.35 !important; margin: 5px 0 0 !important; white-space: normal; }
.event-registration .forminator-ui .forminator-grouped-fields { padding: 12px !important; margin: 0 !important; border: 1px solid var(--ing-border); border-radius: 12px; }
.event-registration .forminator-ui .forminator-all-group-copies { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.event-registration .forminator-ui .forminator-repeater-action-button { margin: 0 12px 0 0 !important; min-height: 36px; padding: 8px 14px !important; }
.event-registration .forminator-ui .forminator-field-html h3 { font-size: 19px; margin: 8px 0 0; }
.event-registration .forminator-ui .forminator-error-message { position: static !important; margin-top: 5px !important; }
.event-registration__fineprint { max-width: none; margin-top: 20px; padding-top: 16px; }
.event-registration__fineprint p { font-size: 13px; line-height: 1.5; margin-bottom: 10px; }
@media(min-width: 761px) {
 .event-registration .forminator-ui { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
 .event-registration .forminator-ui > * { grid-column: 1 / -1; }
 .event-registration .forminator-ui > .forminator-row:has(> #radio-1),
 .event-registration .forminator-ui > .forminator-row:has(> #email-2) { grid-column: auto; }
}
@media(max-width: 760px) {
 .event-card { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .event-card__image { height: auto; max-height: 300px; }
 .event-info-grid, .event-fee-grid { grid-template-columns: minmax(0,1fr); }
 .event-download { padding: 22px; }
 .event-download__inner { grid-template-columns: minmax(0,1fr); }
 .event-download .pill-button__label { white-space: normal; }
 .event-registration .forminator-ui .forminator-row:not(.forminator-row-last) { grid-template-columns: minmax(0,1fr) !important; gap: 12px; }
}

/* Section navigation stays usable by keyboard, touch and pointer. */
.site-nav__section { position: relative; display: flex; align-items: center; gap: 4px; }
.site-nav__expand { border: 0; background: transparent; color: var(--ing-blue); cursor: pointer; padding: 10px 6px; font: inherit; min-width: 28px; }
.site-nav__dropdown { position: absolute; top: 100%; left: 0; min-width: 250px; max-width: 330px; margin: 0; padding: 12px; list-style: none; border: 1px solid #d9dfeb; border-radius: 16px; background: var(--ing-cream); box-shadow: 0 12px 28px #1b326322; z-index: 30; }
.site-nav__dropdown[hidden] { display: none; }
.site-nav__dropdown li { display: block; }
.site-nav__dropdown a { display: block; padding: 10px 12px; font-size: 16px; line-height: 1.35; white-space: normal; border-radius: 8px; }
.site-nav__dropdown a:hover, .site-nav__dropdown a:focus-visible { background: #e6eaf2; color: var(--ing-blue); }
.site-nav__section:last-child .site-nav__dropdown { left: auto; right: 0; }
.page-main [id], .accordion-item[id] { scroll-margin-top: 125px; }
@media (min-width: 1101px) {
	.site-nav__section:hover > .site-nav__dropdown,
	.site-nav__section:focus-within > .site-nav__dropdown { display: block; }
}
@media (max-width: 1100px) {
	.site-nav__section { flex-wrap: wrap; justify-content: space-between; }
	.site-nav__section > a { flex: 1; }
	.site-nav__dropdown { position: static; flex-basis: 100%; width: 100%; min-width: 0; max-width: none; box-shadow: none; }
	.site-nav__dropdown a { font-size: 16px; }
}

/* 1.12.0 — event detail hierarchy and compact mobile navigation. */
.site-nav__mobile-heading,
.site-nav .site-nav__mobile-contact {
	display: none;
}

.event-single {
	background: var(--ing-cream);
}

.event-single__hero {
	padding: 30px 0 64px;
	background:
		radial-gradient(circle at 92% 4%, rgb(42 87 169 / 10%), transparent 24rem),
		var(--ing-cream);
}

.event-single__hero .back-link {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	margin-bottom: 34px;
	color: rgb(27 27 27 / 68%);
}

.event-single__hero .back-link:hover,
.event-single__hero .back-link:focus-visible {
	color: var(--ing-blue);
}

.event-single__image {
	border: 1px solid rgb(36 78 156 / 12%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 20px 55px rgb(27 50 99 / 9%);
}

.event-intro.section {
	padding-block: 64px;
	background: #fff;
}

.event-intro__lead {
	max-width: 920px;
	font-size: clamp(19px, 1.45vw, 23px);
	line-height: 1.48;
}

.event-info-grid {
	gap: 16px;
	margin-bottom: 0;
}

.event-info {
	position: relative;
	overflow: hidden;
	min-height: 168px;
	padding: 25px 26px;
	border: 1px solid rgb(255 255 255 / 18%);
	background: linear-gradient(145deg, #2a57a9, #20498f);
	box-shadow: 0 14px 30px rgb(36 78 156 / 13%);
}

.event-info::after {
	position: absolute;
	right: -38px;
	bottom: -48px;
	width: 126px;
	height: 126px;
	border: 18px solid rgb(255 255 255 / 8%);
	border-radius: 50%;
	content: "";
}

.event-content.section {
	padding-block: clamp(54px, 6vw, 88px);
	background: #f2f5fa;
}

.event-content__body {
	display: grid;
	gap: 22px;
}

.event-content__body > .event-block {
	display: grid;
	grid-template-columns: minmax(170px, 0.24fr) minmax(0, 1fr);
	column-gap: clamp(30px, 4vw, 64px);
	width: 100%;
	padding: clamp(30px, 4vw, 54px);
	margin: 0;
	border: 1px solid rgb(36 78 156 / 12%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 15px 42px rgb(27 50 99 / 6%);
}

.event-content__body > .event-block:nth-child(even) {
	background: #fff9ef;
}

.event-content__body > .event-block > h2 {
	grid-column: 1;
	align-self: start;
	margin: 0;
	color: var(--ing-blue);
	font-size: 16px;
	font-weight: 750;
	letter-spacing: 0.035em;
	line-height: 1.35;
}

.event-content__body > .event-block > h2::before {
	width: 27px;
	height: 27px;
	flex: 0 0 27px;
	animation: ingbiro-gear-clockwise 6s linear infinite;
	transform-origin: center;
}

.event-content__body > .event-block:nth-child(even) > h2::before {
	animation-direction: reverse;
	animation-duration: 7.5s;
}

.event-content__body > .event-block > :not(h2):not(.event-program-gears) {
	grid-column: 2;
	width: 100%;
	max-width: none !important;
	margin-inline: 0;
}

.event-content__body .event-block h3 {
	margin-top: 20px;
	font-size: 16px;
	font-weight: 750;
}

.event-content__body .event-block h3:first-child {
	margin-top: 0;
}

.event-content__body .event-block p,
.event-content__body .event-block li {
	font-size: clamp(15px, 1.05vw, 16px);
	line-height: 1.6;
}

.event-content__body .event-block ul {
	padding-left: 20px;
}

.event-content__body .event-block li::marker {
	color: var(--ing-blue);
}

.event-fee-grid {
	gap: clamp(28px, 4vw, 54px);
}

.event-fee-grid > .wp-block-column {
	padding: 24px;
	border: 1px solid rgb(36 78 156 / 10%);
	border-radius: 16px;
	background: rgb(255 255 255 / 72%);
}

.event-download {
	margin-block: clamp(28px, 4vw, 52px);
	padding: clamp(28px, 4vw, 48px);
	border-radius: 24px;
	box-shadow: 0 18px 44px rgb(36 78 156 / 16%);
}

.event-download__inner {
	padding: 0;
}

.event-registration.section {
	padding-block: clamp(54px, 6vw, 84px);
	background: #edf3fb;
}

.event-registration.section > .container {
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid rgb(36 78 156 / 12%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 46px rgb(27 50 99 / 7%);
}

.related-events.section {
	padding-block: clamp(58px, 7vw, 96px);
	background: var(--ing-cream);
}

.accordion-item {
	margin-bottom: 12px;
	border: 1px solid rgb(36 78 156 / 12%);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgb(27 50 99 / 4%);
}

.accordion-item__button {
	padding: 24px;
}

.accordion-item__panel {
	padding-right: 24px;
}

.legal-accordion {
	box-shadow: 0 8px 24px rgb(27 50 99 / 4%);
}

.legal-accordion > summary::after {
	transition: transform 220ms ease, background-color 220ms ease;
}

.legal-accordion[open] > summary::after {
	background: #e7eef9;
	transform: translateY(-50%) rotate(180deg);
}

@media (max-width: 900px) {
	.site-header {
		height: 92px;
	}

	.site-header__inner {
		gap: 18px;
	}

	.site-logo,
	.site-logo img {
		width: 186px;
	}

	.menu-toggle {
		position: relative;
		z-index: 52;
		width: 48px;
		height: 48px;
		border-color: rgb(36 78 156 / 45%);
		background: rgb(255 255 255 / 55%);
		box-shadow: 0 7px 18px rgb(27 50 99 / 8%);
	}

	.site-nav {
		inset: 92px 0 0;
		height: calc(100dvh - 92px);
		max-height: calc(100dvh - 92px);
		padding: 26px max(20px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
		background: linear-gradient(180deg, #fff9ef 0%, #f7f9fd 100%);
	}

	.site-nav__mobile-heading {
		display: flex;
		flex-direction: column;
		gap: 4px;
		margin-bottom: 20px;
		padding: 0 4px;
	}

	.site-nav__mobile-heading span {
		color: var(--ing-blue);
		font-size: 13px;
		font-weight: 750;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.site-nav__mobile-heading small {
		color: var(--ing-muted);
		font-size: 14px;
	}

	.site-nav__list,
	.site-nav .menu {
		display: grid;
		gap: 10px;
		padding: 0;
	}

	.site-nav li {
		border: 0;
	}

	.site-nav__section {
		gap: 0;
		padding: 4px 8px 4px 16px;
		border: 1px solid rgb(36 78 156 / 12%) !important;
		border-radius: 16px;
		background: rgb(255 255 255 / 84%);
		box-shadow: 0 8px 20px rgb(27 50 99 / 4%);
	}

	.site-nav a {
		padding: 14px 0;
		font-size: 20px;
		font-weight: 600;
		line-height: 1.2;
	}

	.site-nav a::after {
		display: none;
	}

	.site-nav__expand {
		position: relative;
		width: 44px;
		height: 44px;
		min-width: 44px;
		padding: 0;
		border-radius: 12px;
		background: #edf3fb;
		font-size: 0;
	}

	.site-nav__expand::before {
		position: absolute;
		top: 15px;
		left: 17px;
		width: 9px;
		height: 9px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		content: "";
		transform: rotate(45deg);
		transition: transform 220ms ease, top 220ms ease;
	}

	.site-nav__expand[aria-expanded="true"]::before {
		top: 19px;
		transform: rotate(225deg);
	}

	.site-nav__dropdown {
		margin: 4px 0 8px;
		padding: 8px;
		border: 0;
		border-radius: 12px;
		background: #f3f6fb;
	}

	.site-nav__dropdown li + li {
		border-top: 1px solid rgb(36 78 156 / 10%);
	}

	.site-nav__dropdown a {
		padding: 11px 10px;
		color: #273754;
		font-size: 15px;
		font-weight: 500;
	}

	.site-nav .site-nav__mobile-contact {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 16px;
		padding: 3px 6px 3px 18px !important;
		border-radius: 16px;
		background: var(--ing-blue);
		color: #fff;
		font-family: var(--ing-font-mono);
		font-size: 16px !important;
		font-weight: 500 !important;
	}

	.site-nav__mobile-contact span:last-child {
		display: grid;
		width: 40px;
		height: 40px;
		place-items: center;
		border-radius: 12px;
		background: rgb(255 255 255 / 14%);
		font-size: 20px;
	}
}

@media (max-width: 760px) {
	:root {
		--ing-gutter: 18px;
	}

	.event-single__hero {
		padding: 22px 0 40px;
	}

	.event-single__hero .back-link {
		margin-bottom: 26px;
	}

	.event-single__hero h1 {
		font-size: clamp(29px, 9vw, 38px);
		line-height: 1.08;
	}

	.event-single__meta-row {
		align-items: flex-start;
		gap: 18px;
	}

	.event-single__image {
		height: auto;
		min-height: 0;
		max-height: none;
		border-radius: 18px;
	}

	.event-single__image img {
		aspect-ratio: 16 / 10;
		max-height: none;
		object-fit: cover;
	}

	.event-intro.section {
		padding-block: 42px;
	}

	.event-info {
		min-height: 0;
		padding: 22px;
	}

	.event-content.section {
		padding-block: 40px;
	}

	.event-content__body {
		gap: 14px;
	}

	.event-content__body > .event-block {
		display: block;
		padding: 25px 20px;
		border-radius: 18px;
	}

	.event-content__body > .event-block > h2 {
		margin-bottom: 24px;
		font-size: 15px;
	}

	.event-content__body > .event-block > h2::before {
		width: 24px;
		height: 24px;
		flex-basis: 24px;
	}

	.event-content__body .event-block p,
	.event-content__body .event-block li {
		font-size: 15px;
		line-height: 1.58;
	}

	.event-fee-grid > .wp-block-column {
		padding: 18px;
	}

	.event-download {
		width: calc(100% - 36px);
		margin-block: 22px;
		padding: 24px 20px;
		border-radius: 18px;
	}

	.event-download h2 {
		font-size: 22px;
	}

	.event-registration.section {
		padding-block: 38px;
	}

	.event-registration.section > .container {
		width: calc(100% - 36px);
		padding: 24px 18px;
		border-radius: 18px;
	}

	.event-registration__heading h2 {
		font-size: 27px;
	}

	.accordion-layout {
		gap: 18px;
		padding-block: 34px 56px;
	}

	.accordion-item {
		margin-bottom: 10px;
		border-radius: 15px;
	}

	.accordion-item__button {
		grid-template-columns: 34px minmax(0, 1fr) 36px;
		gap: 10px;
		padding: 17px 14px;
	}

	.accordion-item__number {
		font-size: 17px;
		font-weight: 650;
	}

	.accordion-item__title {
		font-family: var(--ing-font-sans);
		font-size: 18px;
		font-weight: 700;
		line-height: 1.25;
	}

	.accordion-item__toggle {
		width: 34px;
		height: 34px;
		background: #edf3fb;
	}

	.accordion-item__panel,
	.accordion-item.is-open .accordion-item__panel,
	.archive-accordion .accordion-item.is-open .accordion-item__panel {
		padding: 4px 16px 24px;
		font-size: 15px;
		line-height: 1.55;
	}

	.accordion-item__panel ul,
	.accordion-item__panel ol {
		padding-left: 20px;
	}

	.legal-accordion {
		margin: 10px 0;
		padding: 0 16px;
		border-radius: 15px;
	}

	.legal-accordion > summary {
		padding: 18px 48px 18px 0;
		font-size: 17px;
		line-height: 1.3;
	}

	.legal-accordion > summary::after {
		width: 34px;
		height: 34px;
		line-height: 32px;
	}
}

/* Event imagery fills its media frame without letterboxing. */
.event-card__image {
	aspect-ratio: 16 / 10;
	background: transparent;
}

.event-card__image img {
	width: 100%;
	height: 100%;
	background: transparent;
	object-fit: cover;
}

.event-single__image {
	aspect-ratio: 2 / 1;
	max-height: none;
	background: transparent;
}

.event-single__image img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
}

@media (max-width: 760px) {
	.event-single__image {
		aspect-ratio: 16 / 10;
	}

	.event-single__image img {
		aspect-ratio: auto;
	}
}

/* 1.12.6 — event content returns to full-width editorial sections. */
.event-single__meta-row .tag-list {
	gap: 10px;
}

.event-single__meta-row .tag-list span {
	padding: 10px 18px;
	font-size: 16px;
	font-weight: 750;
}

.event-content.section {
	padding-block: 0;
	background: transparent;
}

.event-content__body {
	display: block;
}

.event-content__body > .event-block {
	display: block;
	width: 100vw;
	max-width: none !important;
	padding: clamp(54px, 6vw, 84px) var(--ing-gutter);
	margin: 0 0 0 calc(50% - 50vw);
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.event-content__body > .event-block:nth-child(3n + 2) {
	background: var(--ing-cream);
}

.event-content__body > .event-block:nth-child(3n) {
	background: #f2f5fa;
}

.event-content__body > .event-block > :not(.event-program-gears) {
	width: min(100%, var(--ing-container));
	max-width: var(--ing-container) !important;
	margin-right: auto;
	margin-left: auto;
}

.event-content__body > .event-block > h2 {
	display: flex;
	grid-column: auto;
	align-items: center;
	gap: 9px;
	margin: 0 auto 32px;
}

.event-content__body > .event-block > h2::before,
.event-content__body > .event-block:nth-child(even) > h2::before {
	animation: ingbiro-gear-clockwise 8s linear infinite;
	transform-origin: center;
}

.event-content__body > .event-block > :not(h2):not(.event-program-gears) {
	grid-column: auto;
}

.event-fee-grid > .wp-block-column {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

@media (max-width: 760px) {
	.event-single__meta-row .tag-list {
		gap: 8px;
	}

	.event-single__meta-row .tag-list span {
		padding: 9px 14px;
		font-size: 14px;
	}

	.event-content.section {
		padding-block: 0;
	}

	.event-content__body > .event-block {
		width: 100vw;
		padding: 40px var(--ing-gutter);
		margin-left: calc(50% - 50vw);
		border-radius: 0;
	}

	.event-content__body > .event-block > h2 {
		margin-bottom: 24px;
	}

	.event-fee-grid > .wp-block-column {
		padding: 0;
	}

	.accordion-layout {
		gap: 24px;
	}

	.accordion-item {
		margin-bottom: 16px;
	}

	.accordion-item__button {
		padding: 19px 16px;
	}

	.accordion-item__panel,
	.accordion-item.is-open .accordion-item__panel,
	.archive-accordion .accordion-item.is-open .accordion-item__panel {
		padding: 6px 20px 28px;
	}
}

/* 1.13.0 — tighter event editorial rhythm and form breathing room. */
@media (min-width: 761px) {
	.event-single__image {
		height: clamp(320px, 30vw, 430px);
		aspect-ratio: auto;
	}
}

.event-content__body > .event-block {
	padding-block: clamp(46px, 5vw, 68px);
}

.event-content__body > .event-block > h2 {
	margin-bottom: 24px;
}

.event-content__body > .event-block > p.wp-block-paragraph,
.event-content__body > .event-block > ul.wp-block-list,
.event-content__body > .event-block > ol.wp-block-list,
.event-content__body > .event-block > h3.wp-block-heading {
	width: min(100%, 960px);
	max-width: 960px !important;
}

.event-content__body .event-block p,
.event-content__body .event-block li {
	font-size: 16px;
	line-height: 1.52;
}

.event-content__body .event-block p {
	margin-bottom: 10px;
}

.event-content__body .event-block ul,
.event-content__body .event-block ol {
	margin-top: 6px;
	margin-bottom: 16px;
}

.event-content__body .event-block li {
	margin-bottom: 3px;
}

.event-content__body .event-block h3 {
	margin-top: 22px;
	margin-bottom: 6px;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.event-block--konferencija > h2 + p,
.event-block--predavaci > h2 + p,
.event-block--program > h3,
.event-block--program > h3 + p {
	font-weight: 700;
}

.event-block--konferencija > h2 + p + p {
	margin-top: -4px;
	font-weight: 650;
}

.event-fee-grid {
	gap: clamp(28px, 3vw, 42px);
}

.event-registration .forminator-ui .forminator-row-last {
	margin-top: 18px !important;
}

.event-registration .ing-forminator .forminator-button-submit,
.event-registration .forminator-ui .forminator-button-submit {
	gap: 12px;
	padding: 9px 11px 9px 24px !important;
}

@media (max-width: 760px) {
	.event-content__body > .event-block {
		padding-block: 38px;
	}

	.event-content__body > .event-block > h2 {
		margin-bottom: 20px;
	}

	.event-content__body .event-block p,
	.event-content__body .event-block li {
		font-size: 15px;
		line-height: 1.5;
	}

	.event-registration.section > .container {
		padding: 28px 24px 34px;
	}

	.event-registration .forminator-ui .forminator-row-last {
		margin-top: 22px !important;
		margin-bottom: 4px !important;
	}
}

/* 1.13.4 — media-free sections use the complete content width. */
.event-content__body > .event-block:not(:has(img, picture, video, iframe)) > p.wp-block-paragraph,
.event-content__body > .event-block:not(:has(img, picture, video, iframe)) > ul.wp-block-list,
.event-content__body > .event-block:not(:has(img, picture, video, iframe)) > ol.wp-block-list,
.event-content__body > .event-block:not(:has(img, picture, video, iframe)) > h3.wp-block-heading {
	width: 100%;
	max-width: none !important;
}

/* 1.14.0 — editable event hero image fit and conference editorial rhythm. */
.event-single__image--contain {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.event-single__image--contain img {
	object-fit: contain;
	object-position: center;
}

.event-single__image--cover img {
	object-fit: cover;
}

.event-block--konferencija p {
	max-width: 1080px;
}

.event-block--program h3.wp-block-heading {
	margin-top: 34px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(36, 78, 156, 0.22);
	color: var(--ing-blue);
	font-size: clamp(19px, 1.7vw, 24px);
}

.event-block--program h3.wp-block-heading:first-of-type {
	margin-top: 0;
}

.event-block--program p {
	margin-bottom: 12px;
}

.event-block--smjestaj a,
.event-block--kontakt a {
	color: var(--ing-blue);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

@media (max-width: 760px) {
	.event-single__image--contain {
		aspect-ratio: 16 / 10;
	}

	.event-block--program h3.wp-block-heading {
		margin-top: 28px;
		font-size: 18px;
	}
}

/* 1.15.0 — final review: stable type, classic navigation and warmer events. */
.legal-page__content,
.legal-page__content h1,
.legal-page__content h2,
.legal-page__content h3,
.legal-page__content h4,
.legal-page__content strong {
	font-synthesis: none;
}

.legal-page__content .legal-accordion h3 {
	font-weight: 700;
}

.legal-page__content .legal-accordion h3 strong {
	font-size: inherit;
	font-weight: inherit;
}

.archive-links a {
	color: #34383f;
	text-decoration: none;
}

.archive-links a:hover,
.archive-links a:focus-visible {
	color: #1b1b1b;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.page-hero--careers .page-hero__image :is(img, video.ingbiro-page-media) {
	object-position: center 30%;
}

.event-info__speaker {
	display: grid;
	gap: 5px;
}

.event-info__speaker + .event-info__speaker {
	padding-top: 14px;
	margin-top: 14px;
	border-top: 1px solid rgb(255 255 255 / 24%);
}

.event-info__speaker b,
.event-info__speaker span {
	margin: 0;
}

.event-content__body > .event-block:nth-child(3n) {
	background: #fff9ef;
}

.event-registration.section {
	background: var(--ing-paper);
}

.event-registration.section > .container {
	width: min(calc(100% - var(--ing-gutter) * 2), var(--ing-container));
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

@media (max-width: 900px) {
	.site-header {
		height: 88px;
	}

	.site-logo,
	.site-logo img {
		width: 185px;
	}

	.menu-toggle {
		width: 48px;
		height: 48px;
		border-color: var(--ing-blue);
		background: transparent;
		box-shadow: none;
	}

	.site-nav {
		inset: var(--ing-menu-top, 88px) 0 0;
		height: calc(100dvh - var(--ing-menu-top, 88px));
		max-height: calc(100dvh - var(--ing-menu-top, 88px));
		padding: 12px 24px max(32px, env(safe-area-inset-bottom));
		background: var(--ing-cream);
	}

	.site-nav__list,
	.site-nav .menu {
		display: flex;
		align-items: stretch;
		gap: 14px;
	}

	.site-nav__section {
		gap: 8px;
		padding: 0;
		border: 0 !important;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.site-nav__section > a {
		padding: 8px 0;
		font-size: 28px;
		font-weight: 400;
		line-height: 1.15;
	}

	.site-nav__expand {
		width: 40px;
		height: 40px;
		min-width: 40px;
		border-radius: 50%;
		background: transparent;
	}

	.site-nav__expand::before {
		top: 13px;
		left: 15px;
	}

	.site-nav__expand[aria-expanded="true"]::before {
		top: 17px;
	}

	.site-nav__dropdown {
		padding: 2px 0 8px 18px;
		margin: 0;
		border: 0;
		border-left: 1px solid rgb(36 78 156 / 24%);
		border-radius: 0;
		background: transparent;
	}

	.site-nav__dropdown li + li {
		border: 0;
	}

	.site-nav__dropdown a {
		padding: 7px 0;
		color: #273754;
		font-size: 16px;
		font-weight: 500;
	}

	.site-nav .site-nav__mobile-contact {
		display: inline-flex;
		justify-content: flex-start;
		gap: 12px;
		width: auto;
		padding: 10px 0 !important;
		margin-top: 20px;
		border-radius: 0;
		background: transparent;
		color: var(--ing-blue);
		font-family: var(--ing-font-sans);
		font-size: 18px !important;
		font-weight: 600 !important;
	}

	.site-nav__mobile-contact span:last-child {
		display: inline;
		width: auto;
		height: auto;
		background: transparent;
	}
}

/* WordPress scrolls its mobile toolbar away below this breakpoint. */
@media (max-width: 600px) {
	.admin-bar .site-header {
		top: 0;
	}
}

@media (max-width: 760px) {
	.event-registration.section > .container {
		width: calc(100% - 36px);
		padding: 0;
	}
}

/* Event program decoration: retain the original Figma character without
 * letting the gears dominate long editorial sections. */
.event-content__body > .event-block.event-block--program {
	overflow: visible;
	background: #fff;
	z-index: 1;
}

.event-content__body .event-block--program::before,
.event-content__body .event-block--program::after {
	display: block;
	position: absolute;
	z-index: 0;
	content: "";
	pointer-events: none;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transform-origin: center;
}

.event-content__body .event-block--program::before {
	z-index: 2;
	right: 175px;
	bottom: 116px;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background-color: #fff;
	background-image: url("assets/icons/figma-gear-soft-event.svg");
	animation: ingbiro-gear-counterclockwise 7s linear infinite;
}

.event-content__body .event-block--program::after {
	right: 24px;
	bottom: -42px;
	width: 198px;
	height: 198px;
	background-image: url("assets/icons/figma-gear-blue-event.svg");
	animation: ingbiro-gear-clockwise 6.8s linear infinite;
}

.event-content__body .event-program-gears {
	display: none;
	right: clamp(-54px, -2.5vw, -24px);
	bottom: -26px;
	width: 280px;
	height: 330px;
	opacity: 0.72;
	z-index: 0;
}

.event-content__body .event-program-gears img:first-child {
	top: 10px;
	right: 96px;
	width: 132px;
	height: 132px;
}

.event-content__body .event-program-gears img:last-child {
	right: -20px;
	bottom: -34px;
	width: 198px;
	height: 198px;
}

.event-content__body .event-block--program > :not(.event-program-gears) {
	position: relative;
	z-index: 1;
}

@media (max-width: 760px) {
	.event-content__body > .event-block.event-block--program {
		padding-bottom: 160px;
	}

	.event-content__body .event-block--program::before {
		right: 95px;
		bottom: 66px;
		width: 70px;
		height: 70px;
	}

	.event-content__body .event-block--program::after {
		right: 12px;
		bottom: -16px;
		width: 100px;
		height: 100px;
	}

	.event-content__body .event-program-gears {
		right: -52px;
		bottom: -24px;
		width: 180px;
		height: 210px;
		opacity: 0.46;
	}

	.event-content__body .event-program-gears img:first-child {
		top: 18px;
		right: 68px;
		width: 78px;
		height: 78px;
	}

	.event-content__body .event-program-gears img:last-child {
		right: -8px;
		bottom: -22px;
		width: 126px;
		height: 126px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.event-content__body .event-block--program::before,
	.event-content__body .event-block--program::after {
		animation-duration: 9s;
	}
}

/* 1.16.14 — event content canvas measured from Figma 16270:1457 (1440px).
 * The hero photo retains its established sizing and fit rules below. */
:root {
	--ing-event-original-hero-gutter: var(--ing-gutter);
}

.event-single--standard {
	--ing-gutter: clamp(20px, 2.77778vw, 40px);
	--ing-container: 1360px;
	--event-text-size: clamp(16px, 1.38889vw, 20px);
	font-family: Helvetica, Arial, sans-serif;
}

.event-single--standard .event-single__hero h1 {
	max-width: 1009px;
	font-size: clamp(27px, 2.77778vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: initial;
}

.event-single--standard .event-single__image {
	position: relative;
	left: 50%;
	width: calc(100vw - (var(--ing-event-original-hero-gutter) * 2));
	transform: translateX(-50%);
}

.event-single--standard .event-intro.section {
	padding-block: 73px 90px;
	background: var(--ing-paper);
}

.event-single--standard .event-intro .section-label {
	margin-bottom: 39px;
	font-size: 18px;
}

.event-single--standard .event-intro__lead {
	max-width: 1280px;
	font-size: var(--event-text-size);
	line-height: 1.38;
}

.event-single--standard .event-info-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-block: 60px 0;
}

.event-single--standard .event-info {
	align-items: center;
	justify-content: flex-start;
	min-height: 224px;
	padding: 38px 28px;
	border: 0;
	border-radius: 28px;
	background: var(--ing-blue);
	box-shadow: none;
	text-align: center;
}

.event-single--standard .event-info::after { content: none; }
.event-single--standard .event-info strong { margin-bottom: 30px; font-size: 18px; }
.event-single--standard .event-info b { margin-bottom: 25px; font-size: var(--event-text-size); line-height: 1.2; }
.event-single--standard .event-info span { font-size: 16px; line-height: 1.2; }
.event-single--standard .event-info__speaker { gap: 0; }

/* Break out once, then give EVERY direct block child the same centered canvas.
 * This overrides old 880/960px constrained-block limits and the inherited grid. */
.event-single--standard .event-content > .container { display: block; }
.event-single--standard .event-content__body > .event-block {
	padding: 73px max(var(--ing-gutter), calc((100vw - 1360px) / 2));
	background: var(--ing-paper);
}
.event-single--standard .event-content__body > .event-block > :not(.event-program-gears) {
	width: 100%;
	max-width: 1360px !important;
	margin-inline: auto;
}
.event-single--standard .event-content__body > .event-block--why,
.event-single--standard .event-content__body > .event-block--konferencija,
.event-single--standard .event-content__body > .event-block--fee { background: var(--ing-cream); }
.event-single--standard .event-content__body > .event-block > h2 {
	margin-bottom: 39px;
	color: #010101;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0;
}
.event-single--standard .event-content__body > .event-block > h2::before {
	width: 21px;
	height: 21px;
	flex-basis: 21px;
}
.event-single--standard .event-why-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 734fr) minmax(0, 450fr);
	column-gap: clamp(36px, 8.68056vw, 125px);
	padding-right: 3.75%;
	margin-block: 0;
}
.event-single--standard .event-why-layout > .wp-block-column { min-width: 0; }
.event-single--standard .event-image-stack { gap: 34px; }
.event-single--standard .event-image-stack figure { height: auto; aspect-ratio: 450 / 255; }
.event-single--standard .event-image-stack figure:first-child { height: auto; aspect-ratio: 450 / 239; }
.event-single--standard .event-image-stack figure:last-child { height: auto; aspect-ratio: 450 / 413; }
.event-single--standard .event-image-stack img { display: block; height: 100%; }
.event-single--standard .event-content__body .event-block p,
.event-single--standard .event-content__body .event-block li {
	font-size: var(--event-text-size);
	line-height: 1.38;
}
.event-single--standard .event-content__body .event-block p { margin-bottom: 24px; }
.event-single--standard .event-content__body .event-block h3 { font-size: var(--event-text-size); }
.event-single--standard .event-fee-columns,
.event-single--standard .event-fee-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 52px;
	padding-right: 52px;
	align-items: start;
}
.event-single--standard .event-fee-columns > *,
.event-single--standard .event-fee-grid > * { min-width: 0; }
.event-single--standard .event-content__body .event-block--fee p,
.event-single--standard .event-content__body .event-block--fee li { line-height: 1.2; }
.event-single--standard .event-content__body .event-block--fee h3 { margin-bottom: 24px; }
.event-single--standard .event-content__body .event-block--fee h3:first-child { margin-top: 0; }
.event-single--standard .event-content__body .event-block--fee p + p.event-fee-continuation { margin-top: -24px; }
.event-single--standard .event-fee-accent { color: var(--ing-blue) !important; }
.event-single--standard .event-content__body .event-block--program { overflow: hidden; }
.event-single--standard .event-content__body .event-block--program h3 {
	padding-bottom: 0;
	border-bottom: 0;
	color: var(--ing-blue);
}
.event-single--standard .event-content__body > .event-block--program::before {
	content: "";
	right: max(8.26vw, calc((100vw - 1202px) / 2));
	bottom: 340px;
	width: 217px;
	height: 217px;
	border-radius: 0;
	background-color: transparent;
}
.event-single--standard .event-content__body > .event-block--program::after {
	content: "";
	right: -96px;
	bottom: 103px;
	width: 392px;
	height: 392px;
}
/* Allow the text to wrap safely beside the decoration, even for longer copy. */
.event-single--standard .event-block--program .event-program { padding-right: 350px; }
.event-single--partner .event-content__body > .event-block--konferencija p { font-weight: 400; }
.event-single--partner .event-content__body > .event-block--konferencija > h2 + p { font-weight: 700; }

@media (max-width: 900px) {
	.event-single--standard .event-info-grid { gap: 16px; }
	.event-single--standard .event-info { padding: 28px 18px; }
	.event-single--standard .event-info strong { font-size: 15px; }
	.event-single--standard .event-info span { font-size: 14px; }
	.event-single--standard .event-block--program .event-program { padding-right: 0; }
	.event-single--standard .event-content__body > .event-block--program::before,
	.event-single--standard .event-content__body > .event-block--program::after { content: none; }
}
@media (max-width: 781px) {
	.event-single--standard { --ing-gutter: 20px; }
	.event-single--standard .event-intro.section { padding-block: 38px; }
	.event-single--standard .event-info-grid { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
	.event-single--standard .event-info { min-height: 0; }
	.event-single--standard .event-why-layout,
	.event-single--standard .event-fee-columns,
	.event-single--standard .event-fee-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-right: 0; }
	.event-single--standard .event-content__body > .event-block { padding-block: 38px; }
	.event-single--standard .event-content__body > .event-block > h2 { font-size: 16px; margin-bottom: 28px; }
	.event-single--standard .event-intro .section-label { font-size: 16px; margin-bottom: 28px; }
}

/* 1.16.16 — keep the full event photo available for editable framing. */
.event-single__image--cover img {
	object-position: var(--ing-event-image-x, 50%) var(--ing-event-image-y, 62%);
}

/* Give ungrouped program copy the same breathing room as adjacent blocks. */
.event-single--standard .event-content.section:has(.event-content__body > h2:first-child) {
	padding-top: clamp(48px, 5vw, 72px);
}

.event-single--standard .event-content__body > :not(.event-block):has(+ .event-block) {
	margin-bottom: clamp(48px, 5vw, 72px);
}

/* 1.16.17 — compact event copy and galleries that let long text continue below. */
.event-single--standard { --event-text-size: clamp(16px, 1.25vw, 18px); }
.event-single--standard .event-content__body > .event-block { padding-block: 56px; }
.event-single--standard .event-content__body > .event-block > h2 { margin-bottom: 28px; }
.event-single--standard .event-content__body .event-block p,
.event-single--standard .event-content__body .event-block li {
	font-size: var(--event-text-size);
	line-height: 1.45;
}
.event-single--standard .event-content__body .event-block p { margin-block: 0 12px; }
.event-single--standard .event-content__body .event-block ul,
.event-single--standard .event-content__body .event-block ol { margin-block: 8px 16px; padding-left: 24px; }
.event-single--standard .event-content__body .event-block li { margin-block: 3px; padding-left: 2px; }
.event-single--standard .event-content__body .event-block li > p { margin-bottom: 0; }
.event-single--standard .event-content__body .event-block li > ul,
.event-single--standard .event-content__body .event-block li > ol { margin-block: 4px 8px; }
.event-single--standard .event-content__body .event-block h3 { margin-block: 24px 8px; }
.event-single--standard .event-content__body .event-block--fee h3:first-child { margin-top: 0; }
.event-single--standard .event-content__body .event-block--fee p + p.event-fee-continuation { margin-top: -6px; }
.event-single--standard .event-content__body .event-block > :last-child { margin-bottom: 0; }
.event-single--standard .event-content__body > p,
.event-single--standard .event-content__body > ul,
.event-single--standard .event-content__body > ol {
	font-size: var(--event-text-size);
	line-height: 1.45;
}
.event-single--standard .event-content__body > p { margin-block: 0 12px; }
.event-single--standard .event-content__body > h2 { font-size: clamp(24px, 2.1vw, 30px); margin-bottom: 12px; }
.event-single--standard .event-content__body > h2:not(:first-child) { margin-top: 28px; }

.event-single--standard .event-content__body > .event-about-layout { display: flow-root; }
.event-single--standard .event-content__body > .event-about-layout > .event-about-gallery {
	float: right;
	width: 35%;
	max-width: 450px !important;
	margin: 0 0 24px clamp(28px, 4vw, 64px);
	gap: 20px;
}
.event-about-gallery .wp-block-image { overflow: hidden; border-radius: 12px; }
.event-about-gallery.has-nested-images:not(.is-cropped) .wp-block-image img { height: auto; }
.event-about-gallery.is-style-ingbiro-auto.has-nested-images { display: grid; grid-template-columns: minmax(0, 1fr); }
.event-about-gallery.is-style-ingbiro-auto:has(> .wp-block-image:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-about-gallery.is-style-ingbiro-auto.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; margin: 0; }
.event-single--standard .event-content__body > .event-about-layout > .event-about-gallery.alignwide {
	float: none;
	width: 100%;
	max-width: 1360px !important;
	margin: 0 0 24px;
}

/* Reserve a separate area for the rotating pair; never paint over program text. */
.event-single--standard .event-content__body > .event-block--program {
	--event-gear-size: clamp(210px, 23vw, 320px);
	/* Figma's large gear extends roughly one quarter beyond the right edge. */
	--event-gear-right: calc(var(--event-gear-size) * -0.24);
}
.event-single--standard .event-content__body > .event-block--program > :not(.event-program-gears) {
	padding-right: 380px;
}
.event-single--standard .event-content__body > .event-block--program::before {
	content: "";
	right: calc(var(--event-gear-right) + var(--event-gear-size) * .8);
	bottom: calc(48px + var(--event-gear-size) * .88);
	width: calc(var(--event-gear-size) * .55);
	height: calc(var(--event-gear-size) * .55);
}
.event-single--standard .event-content__body > .event-block--program::after {
	content: "";
	right: var(--event-gear-right);
	bottom: 48px;
	width: var(--event-gear-size);
	height: var(--event-gear-size);
}
@media (max-width: 900px) {
	.event-single--standard .event-content__body > .event-block--program { padding-bottom: 180px; }
	.event-single--standard .event-content__body > .event-block--program > :not(.event-program-gears),
	.event-single--standard .event-block--program .event-program { padding-right: 0; }
	.event-single--standard .event-content__body > .event-block--program::before {
		right: 150px; bottom: 100px; width: 72px; height: 72px;
	}
	.event-single--standard .event-content__body > .event-block--program::after {
		right: 20px; bottom: 16px; width: 130px; height: 130px;
	}
}
@media (max-width: 781px) {
	.event-single--standard .event-content__body > .event-block { padding-top: 36px; padding-bottom: 36px; }
	.event-single--standard .event-content__body > .event-block--program { padding-bottom: 180px; }
	.event-single--standard .event-content__body > .event-about-layout { display: flex; flex-direction: column; gap: 0; }
	.event-single--standard .event-content__body > .event-about-layout > .event-about-gallery {
		float: none;
		order: 1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		max-width: none !important;
		margin: 16px 0 0;
		gap: 14px;
	}
	.event-about-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; margin: 0; }
	.event-about-gallery > .wp-block-image:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
	.event-about-gallery:not(.is-style-ingbiro-auto).columns-1 { grid-template-columns: minmax(0, 1fr); }
}
/* Fit the shared navigation just above its mobile breakpoint. */
@media (min-width: 901px) and (max-width: 1100px) {
	.site-header__inner { grid-template-columns: 180px 1fr auto; column-gap: 14px; }
	.site-logo,
	.site-logo img { width: 180px; }
	.site-nav .site-nav__list { gap: 10px; }
}

/* Keep the complete LING wordmark visible in the about-page collage. */
.image-collage :is(img, video.ingbiro-page-media).image-collage__logo { object-fit: contain; padding: 12px; background: #fff; }

/* Make the conference accommodation booking visibly actionable. */
.event-block--fee a[href*="hotel-adriatic.book-official-website.com"] {
	color: var(--ing-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Editable page media and readable inline links / job metadata. */
.ingbiro-page-media { width:100%; height:100%; object-fit:cover; }
.ingbiro-job .tag-list span { font-size:var(--job-tag-size,18px); line-height:1.4; padding:9px 18px; border-radius:var(--job-tag-radius,999px); }
.page-main :is(p,li,h1,h2,h3,h4,h5,h6) a:not(.pill-button):not(.button):not(.wp-block-button__link),
.page-main :is(.prose,.gutenberg-content,.event-content__body) a:not(.pill-button):not(.button):not(.wp-block-button__link) { color:var(--ing-blue); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px; }
.page-main :is(p,li,h1,h2,h3,h4,h5,h6) a:not(.pill-button):not(.button):not(.wp-block-button__link):hover { text-decoration-thickness:2px; }

/* Careers: metadata stays together; application and details share one action row. */
.jobs-layout{align-items:start}.jobs-layout__image{position:sticky;top:120px}.jobs-layout .accordion-item__panel>p{margin:0 0 20px;max-width:58ch}.jobs-layout .accordion-item__panel{padding-bottom:30px}.jobs-layout .accordion-item__title{font-size:clamp(24px,2.4vw,36px);line-height:1.2}.jobs-layout .accordion-item__button{align-items:center}.job-meta.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.job-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:26px}.job-actions .pill-button{margin:0}.job-actions__details{color:#244e9c;text-decoration:underline;font-size:16px;font-weight:600;text-underline-offset:5px}.job-actions a:focus-visible,.job-detail__back:focus-visible{outline:2px solid #244e9c;outline-offset:6px}.job-detail{max-width:1120px;padding-top:48px;padding-bottom:80px}.job-detail__header{padding-bottom:32px;margin-bottom:40px;border-bottom:1px solid #d8cfbf}.job-detail .job-detail__back{display:inline-block;font-size:16px;margin-bottom:28px;color:#244e9c;text-decoration:underline;text-underline-offset:5px}.job-detail .job-detail__header h1{font-size:clamp(40px,6vw,80px);line-height:1.05;letter-spacing:-.035em;margin:0 0 28px;max-width:16ch;overflow-wrap:break-word}.job-detail .job-meta{margin-bottom:0}.job-detail>.prose{max-width:820px}.job-detail .prose h2{font-size:clamp(26px,3vw,38px);margin-top:36px;margin-bottom:18px}.job-detail .prose p,.job-detail .prose li{font-size:18px;line-height:1.65}.job-detail__apply{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;background:#fff;border:1px solid #dce4f0;border-radius:22px;margin-top:36px}.job-detail__apply strong{font-size:22px;line-height:1.25}.job-detail__apply p{font-size:16px;line-height:1.5;margin:8px 0 0}.job-detail__apply .pill-button{flex-shrink:0;margin:0}.job-detail .job-registration{margin-top:36px;padding-top:28px;border-top:1px solid #d8cfbf}
@media(max-width:760px){.jobs-layout__image{position:static}.job-actions{gap:20px;align-items:flex-start}.job-actions .pill-button{font-size:15px}.job-detail{padding-top:28px;padding-bottom:48px}.job-detail__header{margin-bottom:28px;padding-bottom:24px}.job-detail__apply{flex-direction:column;align-items:flex-start;padding:24px}.job-detail .prose p,.job-detail .prose li{font-size:17px}.job-meta.tag-list{gap:8px}.ingbiro-job .job-meta span{font-size:clamp(15px,var(--job-tag-size,18px),20px)}}
