/*
 * TRIGA Consulting – site styles on top of Neve FSE.
 *
 * Motif: the "Dreigespann" (triga = three-horse team) – three marks in navy,
 * petrol and green, taken from the logo, mark sections and the three
 * audiences (TRIGA, Bewerber, Unternehmen).
 */

:root {
	--triga-navy: var(--wp--preset--color--ti-fg, #14233a);
	--triga-teal: var(--wp--preset--color--ti-accent, #0a7a8e);
	--triga-teal-light: var(--wp--preset--color--triga-teal-light, #31b6ca);
	--triga-green: var(--wp--preset--color--ti-accent-secondary, #7ab51d);
	--triga-ink: var(--wp--preset--color--ti-bg-inv, #0d2730);
	--triga-mist: var(--wp--preset--color--ti-bg-alt, #f1f6f7);
	--triga-line: var(--wp--preset--color--triga-line, #dce6e9);
	--triga-muted: var(--wp--preset--color--triga-muted, #5b6b7c);
	--triga-radius: 18px;
	--triga-shadow: 0 1px 2px rgba(20, 35, 58, .06), 0 12px 32px -12px rgba(20, 35, 58, .18);
	--triga-shadow-lg: 0 2px 4px rgba(20, 35, 58, .06), 0 28px 60px -24px rgba(13, 39, 48, .35);
	--triga-section: clamp(56px, 8vw, 112px);
	--triga-triad-1: #3a478c;
	--triga-triad: linear-gradient(90deg, var(--triga-triad-1) 0 33.33%, var(--triga-teal) 33.33% 66.66%, var(--triga-green) 66.66% 100%);
}

/* ---------- Base ---------- */

/* Dark canvas behind the page: overscrolling ("rubber band" on macOS/iOS) shows
   the colour of the top bar / footer instead of a white strip. */
html { scroll-behavior: smooth; scroll-padding-top: 110px; background: var(--triga-ink); }
/* Neve fixes body and .wp-site-blocks to the viewport height; let them grow
   with the content so the white page background covers the whole page. */
body { height: auto !important; min-height: 100%; background: var(--wp--preset--color--ti-bg, #fff); }
.wp-site-blocks { height: auto !important; min-height: 100vh; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { text-rendering: optimizeLegibility; }

::selection { background: var(--triga-teal-light); color: #fff; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; }

:focus-visible { outline: 3px solid var(--triga-teal-light); outline-offset: 3px; border-radius: 4px; }

/*
 * Gutters: Neve pads .wp-site-blocks and pulls every .alignfull out with
 * negative margins, which breaks nested full-width blocks. Instead, main and
 * full-width containers carry the gutter and only their direct full-width
 * children are pulled out.
 */
.wp-site-blocks { padding-left: 0; padding-right: 0; }
body .wp-site-blocks .alignfull,
body .wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
body .wp-site-blocks > .wp-block-template-part > .wp-block-group.alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto; }
.triga-main,
.wp-block-post-content.alignfull { padding-left: var(--wp--custom--spacing--outer) !important; padding-right: var(--wp--custom--spacing--outer) !important; }
body .triga-main > .alignfull,
body .wp-block-post-content.alignfull > .alignfull,
body .wp-block-group.alignfull > .alignfull,
body .wp-block-cover.alignfull > .alignfull { margin-left: calc(var(--wp--custom--spacing--outer) * -1) !important; margin-right: calc(var(--wp--custom--spacing--outer) * -1) !important; }
.wp-site-blocks > header, .wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0; }

.wp-element-button, .wp-block-button__link { transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(10, 122, 142, .7); }
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
	background: transparent;
	color: var(--triga-teal);
	border: 2px solid currentColor;
	padding: 12px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--triga-teal); color: #fff; border-color: var(--triga-teal); }

mark.triga-highlight { background: none; color: var(--triga-teal); font-weight: 650; white-space: nowrap; }

/* Eyebrow / section label with triad marker */
.triga-eyebrow,
.is-style-triga-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 18px;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--triga-teal);
}
.triga-eyebrow::before,
.is-style-triga-eyebrow::before {
	content: "";
	flex: none;
	width: 34px;
	height: 4px;
	border-radius: 4px;
	background: var(--triga-triad);
}
.triga-eyebrow__sep { color: var(--triga-muted); opacity: .6; }
.triga-hero .triga-eyebrow { display: flex !important; max-width: none !important; }
.has-ti-fg-alt-color .triga-eyebrow, .triga-hero .triga-eyebrow { color: var(--triga-teal-light); }

/* ---------- Top bar ---------- */

.triga-topbar { padding-top: 8px !important; padding-bottom: 8px !important; font-size: 13px; }
.triga-topbar p { margin: 0; }
.triga-topbar a { color: inherit; text-decoration: none; }
.triga-topbar a:hover { color: var(--triga-teal-light); }
.triga-topbar__claim { opacity: .7; }
.triga-topbar__contact { gap: 8px 22px !important; }

.triga-ico { display: inline-flex; align-items: center; gap: 8px; }
.triga-ico::before {
	content: "";
	width: 14px;
	height: 14px;
	background: var(--triga-green);
	-webkit-mask: var(--triga-ico) center / contain no-repeat;
	mask: var(--triga-ico) center / contain no-repeat;
}
.triga-ico--pin { --triga-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.triga-ico--phone { --triga-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E"); }
.triga-ico--mail { --triga-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E"); }

@media (max-width: 900px) {
	.triga-topbar__claim, .triga-topbar .triga-ico--pin { display: none; }
	.triga-topbar > .wp-block-group { justify-content: center !important; }
}

/* ---------- Header ---------- */

.triga-site-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .triga-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .triga-site-header { top: 46px; } }

.triga-header {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--triga-line);
	transition: box-shadow .25s ease, padding .25s ease;
}
.triga-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(20, 35, 58, .35); }
.triga-header .triga-logo { margin: 0; flex: none; }
.triga-header .triga-logo img { display: block; height: auto; width: clamp(118px, 12vw, 150px) !important; }
.triga-header__nav { gap: clamp(12px, 2vw, 28px) !important; }

.triga-nav { gap: clamp(14px, 1.8vw, 28px) !important; }
.triga-nav .wp-block-navigation-item__content { color: var(--triga-navy); padding: 6px 0; position: relative; }
.triga-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: var(--triga-teal);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
.triga-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.triga-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.triga-nav .wp-block-navigation-item__content:hover { color: var(--triga-teal); }
.triga-nav__minor { display: none !important; }
.triga-nav .wp-block-navigation__responsive-container.is-menu-open .triga-nav__minor { display: flex !important; }

.triga-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--triga-line) !important;
	border-radius: 14px;
	box-shadow: var(--triga-shadow-lg);
	padding: 10px !important;
	min-width: 250px !important;
	top: calc(100% + 10px) !important;
}
/* Invisible bridge over the gap so the dropdown keeps its hover on the way down. */
.triga-nav .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: -12px;
	right: -12px;
	top: -24px;
	height: 24px;
}

.triga-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 14px !important;
	border-radius: 9px;
	font-weight: 550;
}
.triga-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--triga-mist); }
.triga-nav .wp-block-navigation__submenu-icon { margin-left: 4px; }

.triga-header__cta .wp-block-button__link { padding: 10px 20px; font-size: 14px; }

.triga-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 88px 28px 40px !important;
}
.triga-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 18px !important; }
.triga-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li > a { font-family: var(--wp--preset--font-family--fraunces); font-size: 26px !important; font-weight: 500; }
.triga-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 6px 0 0 14px !important; gap: 8px !important; border-left: 3px solid var(--triga-line) !important; border-radius: 0; }

@media (min-width: 600px) and (max-width: 1080px) {
	.triga-header__cta { display: none !important; }
}
@media (max-width: 599px) {
	.triga-header__cta .wp-block-button__link { padding: 8px 14px; font-size: 13px; }
	.triga-topbar .triga-ico--mail { display: none; }
}

/* ---------- Main ---------- */

.triga-main { padding-bottom: 0 !important; }
.triga-main--404, .triga-main--index, .triga-main--single { padding-top: var(--triga-section) !important; padding-bottom: var(--triga-section) !important; }

.triga-pagehead { padding-top: clamp(48px, 7vw, 96px) !important; }
.triga-pagehead .triga-eyebrow { margin-bottom: 0; }

.triga-content { padding-bottom: var(--triga-section); }
.triga-content > h1:first-child,
.triga-content > .wp-block-heading:first-child { margin-top: 18px; }
.triga-content h1 { margin-bottom: .55em; text-wrap: balance; }
.triga-content h1 + p { font-size: var(--wp--preset--font-size--medium); line-height: 1.6; color: var(--triga-navy); }
.triga-content h2 { margin-top: 2em; margin-bottom: .6em; text-wrap: balance; }
.triga-content > *:last-child { margin-bottom: 0; }

/* Link list (references, LinkedIn) */
.triga-linklist { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; gap: 10px; }
.triga-linklist li { max-width: none; }
.triga-linklist a {
	position: relative;
	display: block;
	padding: 16px 56px 16px 20px;
	border: 1px solid var(--triga-line);
	border-radius: 12px;
	background: #fff;
	color: var(--triga-muted);
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.triga-linklist a strong { color: var(--triga-navy); margin-right: 4px; }
.triga-linklist a::after { content: "↗"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--triga-teal); font-weight: 700; }
.triga-linklist a:hover { border-color: var(--triga-teal); box-shadow: var(--triga-shadow); transform: translateY(-1px); }

/* Lead paragraph */
.is-style-lead, .triga-lead { font-size: var(--wp--preset--font-size--medium) !important; line-height: 1.6; }

/* Check list */
.is-style-triga-check { list-style: none; padding-left: 0; display: grid; gap: 14px; }
.is-style-triga-check li { position: relative; padding-left: 38px; line-height: 1.55; }
.is-style-triga-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .1em;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--triga-mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A7A8E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
	box-shadow: inset 0 0 0 1px var(--triga-line);
}
.is-style-triga-check.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
@media (max-width: 720px) { .is-style-triga-check.columns-2 { grid-template-columns: 1fr; } }

/* Cards */
.is-style-triga-card {
	background: #fff;
	border: 1px solid var(--triga-line);
	border-radius: var(--triga-radius);
	padding: clamp(24px, 3vw, 36px) !important;
	box-shadow: var(--triga-shadow);
}

/* Benefit grid (Unser Service etc.) */
.triga-benefits { gap: 20px !important; margin-top: 28px !important; }
.triga-benefits > .wp-block-column {
	background: var(--triga-mist);
	border-radius: var(--triga-radius);
	padding: clamp(22px, 3vw, 34px);
}

/* Call to action box */
.triga-cta {
	position: relative;
	gap: 20px 36px !important;
	align-items: center;
	background: #fff;
	border: 1px solid var(--triga-line);
	border-radius: var(--triga-radius);
	padding: clamp(24px, 3.4vw, 40px) clamp(24px, 4vw, 48px) !important;
	box-shadow: var(--triga-shadow);
	overflow: hidden;
}
.triga-cta::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: linear-gradient(180deg, var(--triga-triad-1) 0 33.33%, var(--triga-teal) 33.33% 66.66%, var(--triga-green) 66.66% 100%);
}
.triga-cta__text { flex: 1 1 420px; margin: 0 !important; font-family: var(--wp--preset--font-family--fraunces); font-size: var(--wp--preset--font-size--medium); line-height: 1.45; color: var(--triga-navy); }
.triga-cta__text em { color: var(--triga-teal); }
.triga-cta .wp-block-buttons { margin: 0; }
.triga-content .triga-cta { margin-top: 48px; }

.triga-ctaband { padding-top: var(--triga-section) !important; padding-bottom: var(--triga-section) !important; }

/* ---------- Home ---------- */

.triga-hero {
	min-height: clamp(560px, 78vh, 760px) !important;
	padding-top: clamp(64px, 9vw, 120px) !important;
	padding-bottom: clamp(150px, 16vw, 210px) !important;
	margin-top: 0 !important;
}
.triga-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(13, 39, 48, .94) 0%, rgba(13, 39, 48, .78) 34%, rgba(13, 39, 48, .18) 66%, rgba(13, 39, 48, 0) 100%),
		linear-gradient(0deg, rgba(13, 39, 48, .55) 0%, rgba(13, 39, 48, 0) 40%);
}
.wp-block-cover.triga-hero.has-custom-content-position .wp-block-cover__inner-container {
	position: relative;
	z-index: 2 !important;
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.triga-hero h1 {
	color: #fff;
	font-size: clamp(42px, 6.2vw, 80px) !important;
	font-weight: 450;
	line-height: 1.02;
	letter-spacing: -.025em;
	max-width: 12ch;
	margin: 0 0 22px;
}
.triga-hero h1 em { font-style: italic; color: var(--triga-teal-light); font-weight: 400; }
.triga-hero p { color: rgba(245, 250, 251, .86); font-size: var(--wp--preset--font-size--medium); max-width: 34ch; line-height: 1.5; }
.triga-hero .wp-block-buttons { margin-top: 34px; gap: 12px; }
.triga-hero .is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .55); }
.triga-hero .is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--triga-ink); border-color: #fff; }

@media (prefers-reduced-motion: no-preference) {
	.triga-hero .wp-block-cover__inner-container > * { animation: triga-rise .9s cubic-bezier(.2, .7, .2, 1) both; }
	.triga-hero .wp-block-cover__inner-container > *:nth-child(2) { animation-delay: .08s; }
	.triga-hero .wp-block-cover__inner-container > *:nth-child(3) { animation-delay: .18s; }
	.triga-hero .wp-block-cover__inner-container > *:nth-child(4) { animation-delay: .28s; }
	.triga-hero img.wp-block-cover__image-background { animation: triga-zoom 14s ease-out both; }
	.triga-entry > .wp-block-column { animation: triga-rise .9s cubic-bezier(.2, .7, .2, 1) both; animation-delay: .35s; }
	.triga-entry > .wp-block-column:nth-child(2) { animation-delay: .45s; }
	.triga-entry > .wp-block-column:nth-child(3) { animation-delay: .55s; }
}
@keyframes triga-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes triga-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }

@media (max-width: 781px) {
	.triga-hero::after { background: linear-gradient(0deg, rgba(13, 39, 48, .96) 10%, rgba(13, 39, 48, .7) 60%, rgba(13, 39, 48, .35) 100%); }
	.triga-hero img.wp-block-cover__image-background { object-position: 72% 30% !important; }
}

/* Three entry cards overlapping the hero */
.triga-entry {
	position: relative;
	z-index: 3;
	margin-top: clamp(-150px, -12vw, -110px) !important;
	gap: 20px !important;
}
.triga-entry > .wp-block-column {
	position: relative;
	background: #fff;
	border-radius: var(--triga-radius);
	box-shadow: var(--triga-shadow-lg);
	padding: 28px 30px 30px;
	transition: transform .3s ease, box-shadow .3s ease;
	overflow: hidden;
}
.triga-entry > .wp-block-column::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	background: var(--triga-triad-1);
}
.triga-entry > .wp-block-column:nth-child(2)::before { background: var(--triga-teal); }
.triga-entry > .wp-block-column:nth-child(3)::before { background: var(--triga-green); }
.triga-entry > .wp-block-column:hover { transform: translateY(-6px); box-shadow: 0 34px 70px -28px rgba(13, 39, 48, .45); }
.triga-entry__num { margin: 0 0 14px !important; font-size: 13px !important; font-weight: 700; letter-spacing: .14em; color: var(--triga-muted); }
.triga-entry h2 { font-size: var(--wp--preset--font-size--large) !important; margin: 0 0 6px; }
.triga-entry h2 a { color: var(--triga-navy); text-decoration: none; }
.triga-entry h2 a::after { content: ""; position: absolute; inset: 0; }
.triga-entry h2 a::before {
	content: "→";
	position: absolute;
	right: 28px;
	bottom: 26px;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 22px;
	color: var(--triga-teal);
	transition: transform .25s ease;
}
.triga-entry > .wp-block-column:hover h2 a::before { transform: translateX(5px); }
.triga-entry p:last-child { margin: 0; color: var(--triga-muted); padding-right: 36px; }

/* Intro statement */
.triga-statement { padding-top: var(--triga-section) !important; padding-bottom: calc(var(--triga-section) * .6) !important; text-align: center; }
.triga-statement h2 { font-size: clamp(30px, 4.2vw, 52px) !important; font-weight: 450; max-width: 20ch; margin: 0 auto 28px; }
.triga-statement h2 em { color: var(--triga-teal); }
.triga-statement .triga-eyebrow { justify-content: center; }

/* Three pillars */
.triga-pillars { gap: clamp(24px, 4vw, 56px) !important; padding-bottom: var(--triga-section) !important; }
.triga-pillars > .wp-block-column { display: flex; flex-direction: column; border-top: 1px solid var(--triga-line); padding-top: 28px; }
.triga-pillars h3 { margin: 0 0 14px; font-size: var(--wp--preset--font-size--large) !important; }
.triga-pillars h3::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--triga-triad-1);
	margin-bottom: 18px;
}
.triga-pillars > .wp-block-column:nth-child(2) h3::before { background: var(--triga-teal); }
.triga-pillars > .wp-block-column:nth-child(3) h3::before { background: var(--triga-green); }
.triga-pillars p { color: #31435a; }
.triga-pillars .wp-block-buttons { margin-top: auto; padding-top: 10px; }

/* Jobs + application teaser */
.triga-home-jobs { padding-top: var(--triga-section) !important; padding-bottom: var(--triga-section) !important; }
.triga-home-jobs > .wp-block-columns { gap: clamp(24px, 4vw, 56px) !important; }
.triga-home-jobs h2 { margin-top: 0; }
.triga-applyteaser {
	background: var(--triga-ink) !important;
	color: var(--wp--preset--color--ti-fg-alt);
	border: 0 !important;
	position: relative;
	overflow: hidden;
}
.triga-applyteaser::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(49, 182, 202, .35), rgba(49, 182, 202, 0) 70%);
}
.triga-applyteaser h2, .triga-applyteaser h3 { color: #fff; }
.triga-applyteaser img { border-radius: 8px; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .6); transform: rotate(-3deg); }
.triga-applyteaser p { color: rgba(245, 250, 251, .82); }

/* ---------- Job list ---------- */

.triga-joblist .wp-block-post-template { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--triga-line); }
.triga-job {
	position: relative;
	padding: 24px 64px 24px 0 !important;
	border-bottom: 1px solid var(--triga-line);
	transition: padding .25s ease, background-color .25s ease;
}
.triga-job::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	border-radius: 50%;
	border: 1px solid var(--triga-line);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A7A8E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat;
	transition: transform .25s ease, background-color .25s ease, border-color .25s ease;
}
.triga-job:hover { background: linear-gradient(90deg, var(--triga-mist), rgba(241, 246, 247, 0)); padding-left: 18px !important; }
.triga-job:hover::after { transform: translateX(4px); border-color: var(--triga-teal); }
.triga-job__title { margin: 0 0 10px !important; font-size: var(--wp--preset--font-size--medium) !important; font-weight: 500; line-height: 1.3; }
.triga-job__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.triga-job:hover .triga-job__title a { color: var(--triga-teal); }
.triga-job__meta { gap: 8px !important; position: relative; z-index: 2; }
.triga-job .wp-block-post-excerpt { margin: 0; color: var(--triga-muted); }

/* Term chips */
.triga-chip { margin: 0 !important; font-size: 13px !important; gap: 6px; }
.triga-chip .wp-block-post-terms__separator { display: none; }
.triga-chip a {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--triga-mist);
	color: var(--triga-navy);
	font-weight: 600;
	text-decoration: none;
	line-height: 1.6;
}
.triga-chip a:hover { background: var(--triga-teal); color: #fff; }
.triga-chip--place a { background: #e9f4dc; color: #3e6310; }
.triga-chip--place a::before { content: "◉ "; font-size: 10px; vertical-align: 1px; }
.triga-chip__more { display: inline-block; padding: 3px 10px; font-weight: 600; color: var(--triga-muted); line-height: 1.6; }

/* Filter bar */
.triga-filter {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 14px;
	align-items: end;
	margin-top: 36px;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--triga-line);
	border-radius: var(--triga-radius);
	box-shadow: var(--triga-shadow);
}
.triga-filter__field span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--triga-muted); }
.triga-filter select { width: 100%; }
.triga-filter__reset { align-self: center; font-size: 14px; font-weight: 600; white-space: nowrap; }
@media (max-width: 781px) { .triga-filter { grid-template-columns: 1fr; } }

.triga-jobshead { padding-top: clamp(48px, 7vw, 96px) !important; padding-bottom: clamp(40px, 5vw, 64px) !important; }
.triga-jobshead h1 { max-width: 20ch; margin-top: 0; }
.triga-jobshead p { max-width: 70ch; }
.triga-jobshead h2 { display: none; }
.triga-jobs { padding-top: clamp(32px, 4vw, 56px) !important; padding-bottom: var(--triga-section) !important; }
.triga-jobs .wp-block-query-pagination { margin-top: 36px; gap: 8px; font-weight: 600; }
.triga-jobs .wp-block-query-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border-radius: 999px; text-decoration: none; }
.triga-jobs .wp-block-query-pagination .page-numbers.current { background: var(--triga-teal); color: #fff; }
.triga-noresults { padding: 40px; background: var(--triga-mist); border-radius: var(--triga-radius); }
.triga-noresults h2 { margin-top: 0; }

/* Single job */
.triga-jobhead { padding-top: clamp(48px, 6vw, 88px) !important; padding-bottom: clamp(40px, 5vw, 72px) !important; position: relative; overflow: hidden; }
.triga-jobhead::after {
	content: "";
	position: absolute;
	right: -10%;
	top: -40%;
	width: 60%;
	height: 180%;
	background: radial-gradient(closest-side, rgba(49, 182, 202, .22), rgba(49, 182, 202, 0));
	pointer-events: none;
}
.triga-jobhead > * { position: relative; z-index: 1; }
.triga-jobhead__title { color: #fff; font-size: clamp(30px, 4vw, 52px) !important; max-width: 24ch; margin: 10px 0 22px !important; }
.triga-jobhead__meta { gap: 8px !important; }
.triga-jobhead .triga-chip a { background: rgba(255, 255, 255, .1); color: #fff; }
.triga-jobhead .triga-chip--place a { background: rgba(122, 181, 29, .22); color: #d9f0b8; }
.triga-backlink { margin: 0; font-size: 14px; font-weight: 600; }
.triga-backlink a { color: var(--triga-teal-light); text-decoration: none; }
.triga-backlink a::before { content: "← "; }

.triga-jobbody { gap: clamp(28px, 5vw, 72px) !important; padding-top: clamp(40px, 5vw, 72px); padding-bottom: var(--triga-section); align-items: flex-start !important; }
.triga-content--job { padding-bottom: 0; }
.triga-content--job strong { color: var(--triga-navy); }
.triga-content--job p > strong:only-child { display: inline-block; margin-top: 1.2em; font-family: var(--wp--preset--font-family--fraunces); font-size: var(--wp--preset--font-size--medium); font-weight: 600; }
.triga-content--job ul { padding-left: 0; list-style: none; }
.triga-content--job ul li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.triga-content--job ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--triga-teal-light); }
.triga-jobbody__aside { position: sticky; top: 130px; }
.triga-applycard {
	background: var(--triga-mist);
	border-radius: var(--triga-radius);
	padding: 30px !important;
	border-top: 5px solid var(--triga-teal);
}
.triga-applycard__title { margin-top: 0 !important; font-size: var(--wp--preset--font-size--large) !important; }
.triga-applycard .wp-block-button, .triga-applycard .wp-block-button__link { width: 100%; text-align: center; }
.triga-applycard__contact { font-size: 14px; color: var(--triga-muted); margin-bottom: 0; }
@media (max-width: 781px) { .triga-jobbody__aside { position: static; } }

/* ---------- Forms ---------- */

.triga-form { margin-top: 40px; display: grid; gap: 28px; }
.triga-fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
	margin: 0;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--triga-line);
	border-radius: var(--triga-radius);
	background: #fff;
}
.triga-fieldset legend {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 10px;
	margin-left: -10px;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	color: var(--triga-navy);
}
.triga-step {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--triga-triad-1);
	color: #fff;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 14px;
	font-weight: 700;
}
.triga-fieldset:nth-of-type(2) .triga-step { background: var(--triga-teal); }
.triga-fieldset:nth-of-type(3) .triga-step { background: var(--triga-green); }
.triga-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.triga-field--full { grid-column: 1 / -1; }
.triga-field > label, .triga-label { font-size: 15px; font-weight: 650; color: var(--triga-navy); }
.triga-req { color: #c2410c; text-decoration: none; border: 0; }
.triga-optional { font-weight: 400; color: var(--triga-muted); font-size: 13px; }

.triga-form input[type="text"],
.triga-form input[type="email"],
.triga-form input[type="tel"],
.triga-form select,
.triga-form textarea,
.triga-filter select {
	width: 100%;
	padding: 12px 14px !important;
	border: 1.5px solid #c5d3d8 !important;
	border-radius: 10px !important;
	background: #fff;
	color: var(--triga-navy);
	font: inherit;
	font-size: 16px !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.triga-form select, .triga-filter select {
	appearance: none;
	padding-right: 40px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314233A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 18px no-repeat;
}
.triga-form input:focus, .triga-form select:focus, .triga-form textarea:focus, .triga-filter select:focus {
	outline: none;
	border-color: var(--triga-teal) !important;
	box-shadow: 0 0 0 4px rgba(49, 182, 202, .2);
}
.triga-form [aria-invalid="true"] input, .triga-form input[aria-invalid="true"], .triga-form select[aria-invalid="true"] { border-color: #c2410c !important; }
.triga-field__error { font-size: 14px; font-weight: 600; color: #c2410c; }

.triga-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.triga-choice { display: inline-flex; align-items: flex-start; gap: 10px; cursor: pointer; font-weight: 500; }
.triga-choices .triga-choice {
	padding: 10px 18px;
	border: 1.5px solid #c5d3d8;
	border-radius: 999px;
	align-items: center;
	transition: border-color .2s ease, background-color .2s ease;
}
.triga-choices .triga-choice:has(input:checked) { border-color: var(--triga-teal); background: #e6f4f6; }
.triga-choice input { accent-color: var(--triga-teal); width: 18px; height: 18px; margin: 3px 0 0; flex: none; }
.triga-choices .triga-choice input { margin: 0; }

.triga-upload {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 34px 20px;
	border: 2px dashed #b7c9cf;
	border-radius: 14px;
	background: var(--triga-mist);
	text-align: center;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}
.triga-upload:hover, .triga-upload:focus-within { border-color: var(--triga-teal); background: #e6f4f6; }
.triga-upload.has-files { border-style: solid; border-color: var(--triga-green); background: #f1f8e6; }
.triga-upload input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.triga-upload__title { font-weight: 700; color: var(--triga-teal); }
.triga-upload__title::before { content: "⬆ "; }
.triga-upload__hint { font-size: 14px; color: var(--triga-muted); }

.triga-consent { font-size: 15px; }
.triga-consent .triga-choice span { line-height: 1.55; }

.triga-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.triga-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.triga-form__submit .wp-block-button__link { border: 0; cursor: pointer; padding: 16px 34px; font-size: 16px; }
.triga-form__note { margin: 0; flex: 1 1 260px; font-size: 14px; color: var(--triga-muted); }

.triga-form-errors, .triga-form-success, .triga-form-job { border-radius: 14px; padding: 18px 22px; }
.triga-form-errors { background: #fff4ed; border: 1px solid #fdba8c; color: #7c2d12; }
.triga-form-errors p { margin: 0 0 4px; }
.triga-form-success { margin-top: 40px; background: #f1f8e6; border: 1px solid #b9dc86; padding: 28px 30px; }
.triga-form-success__title { margin: 0 0 6px; font-family: var(--wp--preset--font-family--fraunces); font-size: var(--wp--preset--font-size--large); color: var(--triga-navy); }
.triga-form-success p:last-child { margin: 0; }
.triga-form-job { background: var(--triga-ink); color: #fff; display: flex; flex-direction: column; gap: 2px; }
.triga-form-job__label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--triga-teal-light); font-weight: 700; }
.triga-form-job a { color: #fff; font-family: var(--wp--preset--font-family--fraunces); font-size: var(--wp--preset--font-size--medium); text-decoration: none; }

@media (max-width: 640px) { .triga-fieldset { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */

.triga-site-footer { margin-top: 0 !important; }
.triga-footer { padding-top: clamp(56px, 7vw, 96px) !important; padding-bottom: 28px !important; font-size: 15px; position: relative; }
.triga-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--triga-triad); }
.triga-footer a { color: inherit; text-decoration: none; }
.triga-footer a:hover { color: var(--triga-teal-light); }
.triga-footer p { color: rgba(245, 250, 251, .78); }
.triga-footer__cols { gap: clamp(28px, 4vw, 56px) !important; }
.triga-footer__title { color: #fff !important; font-family: var(--wp--preset--font-family--figtree) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase; margin: 6px 0 20px !important; }
.triga-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.triga-footer__links a { color: rgba(245, 250, 251, .82); }
.triga-footer__contact { line-height: 1.9; }
.triga-footer__sos img { background: #fff; border-radius: 50%; padding: 4px; }
.triga-goal { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .08); border-radius: var(--triga-radius); padding: 24px !important; }
.triga-goal__quote { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: 17px; line-height: 1.55; color: #fff !important; margin-top: 0; }
.triga-goal__person { gap: 14px !important; }
.triga-goal__person figure { margin: 0; flex: none; }
.triga-goal__person p { margin: 0; font-size: 14px; line-height: 1.45; }
.triga-goal__person strong { color: #fff; }
.triga-footer__bottom { margin-top: clamp(40px, 5vw, 64px) !important; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14px; }
.triga-footer__bottom p { margin: 0; color: rgba(245, 250, 251, .6); }
.triga-footer__legal { display: flex; gap: 22px; }

/* ---------- Reveal ---------- */

.triga-reveal.is-pending { opacity: 0; transform: translateY(24px); }
.triga-reveal.is-visible { opacity: 1; transform: none; transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }

/* ---------- Editor ---------- */

.editor-styles-wrapper .triga-reveal { opacity: 1 !important; transform: none !important; }
