/* OS3 Careers: inner pages (role, open positions, apply, thank you, privacy) and WPForms styling.
   Shares tokens and row styles with the home page, so the row and tag styles are repeated here only where the home stylesheet is not loaded. */

/* ---------- Page header ---------- */
.os3c-page__title { max-width: 18ch; margin: 0 0 var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--display); }
.os3c-lead { margin-bottom: var(--wp--preset--spacing--50); }
.os3c-lead__text { max-width: 40rem; margin: 0 0 var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--m); color: var(--wp--preset--color--muted); }
@media (max-width: 599px) { .os3c-lead__text { font-size: 16px; line-height: 1.5; } }
.os3c-page .wp-block-post-content > * + * { margin-top: 1.5rem; }
.os3c-page .wp-block-post-content h2 { margin-top: 2.5rem; font-size: var(--wp--preset--font-size--xl); }
.os3c-page .wp-block-post-content p, .os3c-page .wp-block-post-content li { color: var(--wp--preset--color--muted); }
.os3c-page .wp-block-post-content a { text-decoration: underline; text-underline-offset: 4px; }
.os3c-todo { display: inline-block; margin: 0.75rem 0 0; padding: 0.25rem 0.75rem; border: 1px dashed rgba(255, 196, 0, 0.6); border-radius: 999px; color: #ffc400 !important; font-size: var(--wp--preset--font-size--xs); font-weight: 700; letter-spacing: 0.04em; }
.os3c-sociallinks { gap: 1.5rem; margin: 1.5rem 0 2rem; }
.os3c-sociallinks__item { margin: 0; }
.os3c-sociallinks__item a { display: inline-flex; min-height: 44px; align-items: center; color: var(--wp--preset--color--ink) !important; font-weight: 500; }

/* ---------- Tags, rows and buttons (shared with the home page) ---------- */
.os3c-card__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; }
.os3c-tag { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 30px; padding: 0.2rem 0.75rem 0.2rem 0.6rem; border: 1px solid var(--os3c-line); border-radius: 999px; background: rgba(255, 255, 255, 0.04); font-size: var(--wp--preset--font-size--xs); font-weight: 500; line-height: 1.2; color: var(--wp--preset--color--nav); }
.os3c-tag::before { content: ""; width: 14px; height: 14px; flex: none; background: var(--wp--preset--color--green-mid); -webkit-mask: var(--os3c-icon) center / contain no-repeat; mask: var(--os3c-icon) center / contain no-repeat; }
.os3c-tag--pin { --os3c-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.os3c-tag--site { --os3c-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5l8-2v18M12 9h8v12M3 21h18M8 9h.01M8 13h.01M8 17h.01M16 13h.01M16 17h.01'/%3E%3C/svg%3E"); }
.os3c-tag--time { --os3c-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.os3c-tag--lang { --os3c-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18'/%3E%3C/svg%3E"); }

.os3c-roles__grid { display: block; padding: 0; margin: 0; list-style: none; border-bottom: 1px solid var(--os3c-line); }
.os3c-roles .os3c-card { position: relative; display: grid; grid-template-areas: "title line more" "tags line more"; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) auto; align-items: center; gap: 0.9rem 3rem; padding: 2rem 0; border-top: 1px solid var(--os3c-line); transition: padding-left var(--os3c-base) var(--os3c-ease); }
.os3c-roles .os3c-card:hover { padding-left: 1rem; }
.os3c-roles .os3c-card__title { grid-area: title; margin: 0; font-size: var(--wp--preset--font-size--xl); line-height: 1.08; font-weight: 600; }
.os3c-roles .os3c-card__title a { text-decoration: none; color: inherit; }
.os3c-roles .os3c-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.os3c-roles .os3c-card__tags { grid-area: tags; }
.os3c-roles .os3c-card__line { grid-area: line; margin: 0; color: var(--wp--preset--color--muted); }
.os3c-roles .os3c-card__line p { margin: 0; }
.os3c-roles .os3c-card__more { grid-area: more; display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0 1.25rem; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; font-weight: 500; font-size: var(--wp--preset--font-size--s); color: #fff; text-decoration: none; transition: background-color var(--os3c-fast) var(--os3c-ease), color var(--os3c-fast) var(--os3c-ease); }
.os3c-roles .os3c-card__more::after { content: "\2192"; }
.os3c-roles .os3c-card:hover .os3c-card__more { background: #fff; color: #050505; }
.os3c-roles__empty { padding: 2rem 0; color: var(--wp--preset--color--muted); }
@media (max-width: 899px) {
	.os3c-roles .os3c-card { grid-template-areas: "title" "tags" "line" "more"; grid-template-columns: 1fr; gap: 0.9rem; }
	.os3c-roles .os3c-card__more { justify-self: start; margin-top: 0.5rem; }
}

/* Open-application band (used on Open positions) */
.os3c-band-section { padding-block: var(--wp--preset--spacing--60); }
.os3c-band { display: grid; gap: 1rem 4rem; align-items: end; grid-template-columns: 1fr; }
.os3c-band > * { margin: 0; }
.os3c-band__title { font-size: var(--wp--preset--font-size--xl); max-width: 14ch; }
.os3c-band__text { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--m); max-width: 38rem; }
.os3c-band__text a { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 900px) { .os3c-band { grid-template-columns: 1fr 1fr; } .os3c-band__title { grid-row: 1 / span 2; align-self: start; } }
.os3c-roles-part { margin-bottom: var(--wp--preset--spacing--50); }

/* ---------- Role page ---------- */
.os3c-role { padding: calc(140 * var(--u) + 40px) var(--os3c-gutter) 0; }
.os3c-role__head { margin-bottom: var(--wp--preset--spacing--60); }
.os3c-backlink { margin: 0 0 1.5rem; }
.os3c-backlink a { display: inline-flex; min-height: 44px; align-items: center; gap: 0.5rem; color: var(--wp--preset--color--nav); text-decoration: none; font-size: var(--wp--preset--font-size--s); }
.os3c-backlink a::before { content: "\2190"; }
.os3c-backlink a:hover { color: #fff; }
.os3c-role__title { max-width: 16ch; margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--display); }
.os3c-role__layout { display: grid; gap: var(--wp--preset--spacing--50) clamp(2rem, 1rem + 5vw, 7rem); grid-template-columns: minmax(0, 1fr); align-items: start; padding-bottom: var(--wp--preset--spacing--60); }
.os3c-role__body > * + * { margin-top: 1.25rem; }
.os3c-role__desc p { font-size: var(--wp--preset--font-size--m); color: var(--wp--preset--color--ink); line-height: 1.6; }
.os3c-joblist { margin-top: var(--wp--preset--spacing--60); }
.os3c-joblist__title { margin: 0 0 1.25rem; font-size: var(--wp--preset--font-size--xl); }
.os3c-role__body > .os3c-joblist__title { margin-top: 0; }
.os3c-joblist__items { list-style: none; margin: 0; padding: 0 !important; border-bottom: 1px solid var(--os3c-line); }
.os3c-joblist__items li { padding: 1rem 0; border-top: 1px solid var(--os3c-line); color: var(--wp--preset--color--muted); }
.os3c-joblist__items strong { color: var(--wp--preset--color--ink); font-weight: 500; margin-right: 0.4rem; }
.os3c-role__aside { padding-top: 1.25rem; border-top: 1px solid var(--os3c-line); }
.os3c-role__aside > * { margin-block: 0; }
.os3c-role__asidetext { margin-top: 0.75rem !important; color: var(--wp--preset--color--muted); }
.os3c-role__aside .wp-block-buttons { margin-top: 1.5rem; }
@media (min-width: 960px) {
	.os3c-role__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.os3c-role__aside { order: -1; position: sticky; top: calc(90px + var(--wp-admin--admin-bar--height, 0px)); }
}
.os3c-other { border-top: 1px solid var(--os3c-line); }
.os3c-other .os3c-section__title { margin-bottom: var(--wp--preset--spacing--40); }

/* ---------- Apply page ---------- */
.os3c-apply { gap: clamp(2rem, 1rem + 4vw, 6rem); margin: 0; align-items: flex-start; }
.os3c-sidepanel { padding-top: 1.25rem; border-top: 1px solid var(--os3c-line); }
.os3c-sidepanel > * { margin-block: 0; }
.os3c-sidepanel__title { font-size: var(--wp--preset--font-size--l); margin-bottom: 1rem !important; }
.os3c-sidepanel__line a { display: inline-flex; min-height: 44px; align-items: center; color: var(--wp--preset--color--ink); text-decoration: none; }
.os3c-sidepanel__line a:hover { color: var(--wp--preset--color--green-soft); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 781px) { .os3c-apply .wp-block-column { flex-basis: 100% !important; } }

/* ---------- WPForms, restyled to the site ---------- */
div.wpforms-container-full {
	margin: 0;
	/* WPForms' own variables, so its built-in states (focus, invalid while typing) use the site colours. */
	--wpforms-field-text-color: #fafafa;
	--wpforms-field-background-color: rgba(255, 255, 255, 0.04);
	--wpforms-field-border-color: rgba(255, 255, 255, 0.18);
	--wpforms-field-border-size: 1px;
	--wpforms-label-color: #fafafa;
	--wpforms-label-sublabel-color: #8b8a8a;
	--wpforms-label-error-color: #ff9b94;
	--wpforms-button-background-color: #97e99a;
}
div.wpforms-container-full .wpforms-form input:focus:invalid, div.wpforms-container-full .wpforms-form input[type="email"]:focus:invalid, div.wpforms-container-full .wpforms-form textarea:focus:invalid {
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--green-soft);
	background: rgba(255, 255, 255, 0.07);
	box-shadow: none;
	outline: 3px solid rgba(151, 233, 154, 0.35);
	outline-offset: 0;
}
div.wpforms-container-full .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 1.25rem; }
div.wpforms-container-full .wpforms-form .wpforms-field { grid-column: 1 / -1; padding: 0 !important; margin: 0 !important; }
div.wpforms-container-full .wpforms-form .wpforms-field.os3c-half { grid-column: auto; }
@media (max-width: 599px) { div.wpforms-container-full .wpforms-form .wpforms-field.os3c-half { grid-column: 1 / -1; } }
div.wpforms-container-full .wpforms-form .wpforms-field-label { margin: 0 0 0.5rem; font-family: inherit; font-size: var(--wp--preset--font-size--s); font-weight: 500; color: var(--wp--preset--color--ink); }
div.wpforms-container-full .wpforms-form .wpforms-required-label { color: var(--wp--preset--color--green-mid); }
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel, div.wpforms-container-full .wpforms-form .wpforms-field-description { margin-top: 0.4rem; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--strip); }
div.wpforms-container-full .wpforms-form .wpforms-field-description a { color: var(--wp--preset--color--ink); text-decoration: underline; text-underline-offset: 3px; }
div.wpforms-container-full .wpforms-form input[type="text"], div.wpforms-container-full .wpforms-form input[type="email"], div.wpforms-container-full .wpforms-form input[type="tel"], div.wpforms-container-full .wpforms-form input[type="url"], div.wpforms-container-full .wpforms-form select, div.wpforms-container-full .wpforms-form textarea {
	width: 100% !important;
	max-width: none !important;
	min-height: 52px;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	box-shadow: none;
	transition: border-color var(--os3c-fast) var(--os3c-ease), background-color var(--os3c-fast) var(--os3c-ease);
}
div.wpforms-container-full .wpforms-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #b6b5b5 50%), linear-gradient(135deg, #b6b5b5 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
div.wpforms-container-full .wpforms-form select option { background: #0c0c0c; color: #fafafa; }
div.wpforms-container-full .wpforms-form input:focus, div.wpforms-container-full .wpforms-form select:focus, div.wpforms-container-full .wpforms-form textarea:focus { border-color: var(--wp--preset--color--green-soft); background: rgba(255, 255, 255, 0.07); outline: 3px solid rgba(151, 233, 154, 0.35); outline-offset: 0; }
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul { margin: 0; padding: 0; list-style: none; }
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox li { display: flex; gap: 0.75rem; align-items: flex-start; margin: 0; }
div.wpforms-container-full .wpforms-form input[type="checkbox"] { width: 22px; height: 22px; flex: none; margin-top: 2px; accent-color: #fff; }
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox label { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--s); }
/* Upload area */
div.wpforms-container-full .wpforms-form .wpforms-uploader { padding: 1.5rem; border: 1px dashed rgba(255, 255, 255, 0.3); border-radius: 14px; background: rgba(255, 255, 255, 0.03); color: var(--wp--preset--color--muted); }
div.wpforms-container-full .wpforms-form .wpforms-uploader:hover, div.wpforms-container-full .wpforms-form .wpforms-uploader.dz-drag-hover { border-color: var(--wp--preset--color--green-soft); }
div.wpforms-container-full .wpforms-form .wpforms-uploader .dz-message { color: var(--wp--preset--color--muted); }
div.wpforms-container-full .wpforms-form .wpforms-uploader .dz-message .modern-title { color: var(--wp--preset--color--ink); font-family: inherit; font-size: var(--wp--preset--font-size--s); font-weight: 500; }
div.wpforms-container-full .wpforms-form .wpforms-uploader .dz-message .modern-hint { color: var(--wp--preset--color--strip); font-family: inherit; font-size: var(--wp--preset--font-size--xs); }
div.wpforms-container-full .wpforms-form .wpforms-uploader .dz-message svg { color: var(--wp--preset--color--green-soft); transition: transform var(--os3c-fast, 200ms) ease-out; }
div.wpforms-container-full .wpforms-form .wpforms-uploader:hover .dz-message svg { transform: translateY(-3px); }
div.wpforms-container-full .wpforms-form .wpforms-uploader:focus-within { outline: 3px solid rgba(151, 233, 154, 0.35); outline-offset: 2px; }
div.wpforms-container-full .wpforms-form .dz-preview .dz-filename, div.wpforms-container-full .wpforms-form .dz-preview .dz-size { color: var(--wp--preset--color--muted); }
/* Submit */
div.wpforms-container-full .wpforms-form .wpforms-submit-container { margin-top: 2rem; padding: 0; }
div.wpforms-container-full .wpforms-form button.wpforms-submit {
	min-height: 52px;
	padding: 0 2rem;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #050505;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
	cursor: pointer;
	transition: transform var(--os3c-fast) var(--os3c-ease), background-color var(--os3c-fast) var(--os3c-ease);
}
div.wpforms-container-full .wpforms-form button.wpforms-submit:hover { background: #e9e9e9; transform: translateY(-2px); }
/* Messages */
div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form .wpforms-error { margin-top: 0.4rem; font-size: var(--wp--preset--font-size--xs); font-weight: 500; color: #ff9b94; }
div.wpforms-container-full .wpforms-form input.wpforms-error, div.wpforms-container-full .wpforms-form select.wpforms-error { border-color: #ff9b94; }
div.wpforms-container-full .wpforms-confirmation-container-full, div.wpforms-container-full .wpforms-confirmation-container { padding: 1.25rem 1.5rem; border: 1px solid rgba(91, 227, 96, 0.5); border-radius: 14px; background: rgba(91, 227, 96, 0.08); color: var(--wp--preset--color--ink); }
div.wpforms-container-full .wpforms-form .wpforms-error-container { padding: 1rem 1.25rem; border: 1px solid #ff9b94; border-radius: 14px; background: rgba(255, 155, 148, 0.08); color: #ffd2cf; }

/* ---------- Page frame: one left edge for the title and the content ---------- */
.os3c-page, .os3c-role { max-width: calc(1350px + 2 * var(--os3c-gutter)); margin-inline: auto; width: 100%; box-sizing: border-box; }
.os3c-page .wp-block-post-title,
.os3c-page .wp-block-post-content > *:not(.alignfull) { margin-left: 0 !important; margin-right: auto !important; }
.os3c-page .wp-block-post-content > .alignwide { max-width: none; width: 100%; }
.os3c-page .wp-block-post-content > *:not(.alignwide):not(.alignfull) { max-width: 760px; }
.os3c-page > .wp-block-post-title,
.os3c-page > .wp-block-post-content { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Tracking fields (text inputs in WPForms Lite) are filled by apply.js and never shown. */
div.wpforms-container-full .wpforms-form .wpforms-field.os3c-hidden { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit { background: #fff !important; color: #050505 !important; border: 0 !important; border-radius: 999px !important; }
div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit:hover { background: #e9e9e9 !important; }

/* ---------- Blog, search and 404 (no blog at launch, ready for when the client starts one) ---------- */
.os3c-post__cat { margin: 0 0 0.75rem; font-size: var(--wp--preset--font-size--xs); font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--green-mid); }
.os3c-post__cat a { color: inherit; text-decoration: none; }
.os3c-posts__list { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--os3c-line); }
.os3c-post { display: grid; gap: 1.25rem 2rem; grid-template-columns: 1fr; padding: 2rem 0; border-top: 1px solid var(--os3c-line); }
@media (min-width: 800px) { .os3c-post { grid-template-columns: 280px minmax(0, 1fr); align-items: start; } }
.os3c-post__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; filter: grayscale(1); transition: filter 600ms var(--os3c-ease); }
.os3c-post:hover .os3c-post__image img { filter: none; }
.os3c-post__title { margin: 0; font-size: var(--wp--preset--font-size--xl); line-height: 1.1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.os3c-post__title a { text-decoration: none; color: inherit; }
.os3c-post__excerpt { margin: 0.75rem 0 0; color: var(--wp--preset--color--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.os3c-post__date, .os3c-post__meta { margin: 0.75rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--strip); }
.os3c-post__hero img { width: 100%; border-radius: 14px; margin: 1.5rem 0 2.5rem; }
.os3c-prose { font-size: var(--wp--preset--font-size--m); }
.os3c-prose > * + * { margin-top: 1.5rem; }
.os3c-prose p, .os3c-prose li { color: var(--wp--preset--color--ink); line-height: 1.7; }
.os3c-prose h2 { margin-top: 3rem; font-size: var(--wp--preset--font-size--xl); }
.os3c-prose h3 { margin-top: 2rem; }
.os3c-prose a { text-decoration: underline; text-underline-offset: 4px; }
.os3c-prose blockquote { margin: 2rem 0; padding-left: 1.5rem; border-left: 2px solid var(--wp--preset--color--green-mid); font-size: var(--wp--preset--font-size--l); }
.os3c-prose pre, .os3c-prose code { background: rgba(255, 255, 255, 0.06); border-radius: 8px; }
.os3c-prose pre { padding: 1.25rem; overflow-x: auto; }
.os3c-prose table { width: 100%; border-collapse: collapse; }
.os3c-prose th, .os3c-prose td { padding: 0.75rem; border-bottom: 1px solid var(--os3c-line); text-align: left; }
.os3c-prose figcaption { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--strip); }
.os3c-pagination { margin-top: 2.5rem; gap: 1rem; }
.os3c-pagination a, .os3c-pagination .page-numbers { display: inline-flex; min-height: 44px; min-width: 44px; align-items: center; justify-content: center; color: var(--wp--preset--color--ink); text-decoration: none; }
.os3c-pagination .current { border-bottom: 2px solid var(--wp--preset--color--green-mid); }
.os3c-search input[type="search"] { min-height: 52px; padding: 0 1rem; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 14px; background: rgba(255, 255, 255, 0.04); color: var(--wp--preset--color--ink); }
.os3c-search button { min-height: 52px; border: 0; border-radius: 999px; background: #fff; color: #050505; padding: 0 1.5rem; font-weight: 500; }
.os3c-posts__empty { padding: 2rem 0; color: var(--wp--preset--color--muted); }

/* Role row arrow chip (same as home) */
.os3c-roles .os3c-card__more::after { content: "" !important; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, 0.1) var(--os3c-arrow) center / 12px no-repeat; transition: transform 420ms var(--os3c-ease), background-color 300ms var(--os3c-ease); }
.os3c-roles .os3c-card:hover .os3c-card__more::after { transform: rotate(45deg); background-color: var(--wp--preset--color--green); }
.os3c-roles .os3c-card:hover .os3c-card__title { color: var(--wp--preset--color--green-soft); }
.os3c-roles .os3c-card { isolation: isolate; overflow: hidden; }
.os3c-roles .os3c-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(500px circle at var(--mx, 0%) 50%, rgba(91, 227, 96, 0.1), transparent 50%); opacity: 0; transition: opacity 400ms var(--os3c-ease); }
.os3c-roles .os3c-card:hover::before { opacity: 1; }
.os3c-backlink a::after { display: none; }
