/*
Theme Name: RecruitID
Theme URI: https://recruitid.nl/
Author: RecruitID
Description: Redactioneel WordPress-thema voor RecruitID, omgezet vanuit het Lovable-ontwerp. Bevat de homepage, Over RecruitID, categoriepagina's (Techniek, Carrière, Recruitment, Arbeidsmarkt), Blogs, Partners met zes partnercategorieën, een werkend contactformulier en artikelpagina's. Alle pagina's zijn bewerkbaar in de Classic Editor en de blokeditor.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: recruitid
Tags: blog, news, custom-menu, featured-images, translation-ready
*/

/* ---------------------------------------------------------------
   Fonts (self-hosted, no external requests)
---------------------------------------------------------------- */
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/libre-baskerville-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Libre Baskerville"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/libre-baskerville-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/libre-baskerville-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/ibm-plex-sans-latin-700-normal.woff2") format("woff2"); }

/* ---------------------------------------------------------------
   Design tokens
---------------------------------------------------------------- */
:root {
	--rid-paper: #fafaf7;
	--rid-brand: #103a5c;
	--rid-brand-rgb: 16, 58, 92;
	--rid-mist: #e2f0f6;
	--rid-mist-rgb: 226, 240, 246;
	--rid-accent: #e2e449;
	--rid-accent-rgb: 226, 228, 73;
	--rid-destructive: #d4180f;
	--rid-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
	--rid-sans: "IBM Plex Sans", Arial, Helvetica, sans-serif;
	--rid-radius: 0.375rem;
	--rid-b10: rgba(var(--rid-brand-rgb), .10);
	--rid-b15: rgba(var(--rid-brand-rgb), .15);
	--rid-b20: rgba(var(--rid-brand-rgb), .20);
	--rid-b25: rgba(var(--rid-brand-rgb), .25);
	--rid-t40: rgba(var(--rid-brand-rgb), .40);
	--rid-t50: rgba(var(--rid-brand-rgb), .50);
	--rid-t60: rgba(var(--rid-brand-rgb), .60);
	--rid-t65: rgba(var(--rid-brand-rgb), .65);
	--rid-t70: rgba(var(--rid-brand-rgb), .70);
	--rid-t75: rgba(var(--rid-brand-rgb), .75);
	--rid-t80: rgba(var(--rid-brand-rgb), .80);
}

/* ---------------------------------------------------------------
   Base
---------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--rid-paper);
	color: var(--rid-brand);
	font-family: var(--rid-sans);
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--rid-serif); font-weight: 700; color: var(--rid-brand); }
button, input, select, textarea { font: inherit; color: inherit; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--rid-paper); clip: auto !important; clip-path: none; display: block; height: auto;
	left: 8px; top: 8px; padding: 12px 16px; width: auto; z-index: 100000; font-weight: 600;
}
:focus-visible { outline: 2px solid var(--rid-accent); outline-offset: 2px; }

.rid-svg { width: 1rem; height: 1rem; flex-shrink: 0; }

/* Neutralise stray markup added by wpautop / the classic editor */
.rid-content p:empty,
.rid-content > br,
.rid-grid > br,
.rid-actions > br { display: none; }
.rid-actions > p,
.rid-grid > p:empty { display: contents; }

/* ---------------------------------------------------------------
   Layout helpers
---------------------------------------------------------------- */
.rid-container { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1.25rem; }
.rid-container--narrow { max-width: 48rem; }
.rid-container--cta { max-width: 56rem; }
@media (min-width: 768px) { .rid-container { padding-inline: 1.5rem; } }

.rid-bg-mist { background: rgba(var(--rid-mist-rgb), .45); }
.rid-bg-mist-55 { background: rgba(var(--rid-mist-rgb), .55); }
.rid-bg-mist-60 { background: rgba(var(--rid-mist-rgb), .60); }
.rid-bg-brand { background: var(--rid-brand); color: var(--rid-paper); }
.rid-border-y { border-top: 1px solid var(--rid-b10); border-bottom: 1px solid var(--rid-b10); }
.rid-border-b { border-bottom: 1px solid var(--rid-b10); }
.rid-text-center { text-align: center; }

/* ---------------------------------------------------------------
   Typography components
---------------------------------------------------------------- */
.rid-eyebrow {
	display: flex; align-items: center; gap: .5rem;
	margin-bottom: 1.5rem;
	font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--rid-t60);
	font-family: var(--rid-sans);
}
.rid-eyebrow::before { content: ""; display: block; width: 2rem; height: 2px; background: var(--rid-accent); flex-shrink: 0; }
.rid-eyebrow--sm { margin-bottom: .75rem; }
.rid-eyebrow--md { margin-bottom: 1.25rem; }
.rid-eyebrow--plain { margin-bottom: 0; }
.rid-eyebrow--plain::before { display: none; }
.rid-eyebrow--wide {
	display: block; margin-bottom: 0; font-size: .75rem; letter-spacing: .2em;
}
.rid-eyebrow--wide::before { display: none; }
.rid-eyebrow--accent { color: var(--rid-accent); }

.rid-h1 { font-size: 2.25rem; line-height: 1.08; }
.rid-h1--page { line-height: 1.25; }
.rid-h1--about { line-height: 1.1; }
@media (min-width: 640px) { .rid-h1 { font-size: 3rem; } }
@media (min-width: 768px) {
	.rid-h1--xl { font-size: 3.75rem; }
	.rid-h1--page { font-size: 3rem; }
}
.rid-partners-hero .rid-h1 { max-width: 48rem; line-height: 1.25; }
@media (min-width: 768px) { .rid-partners-hero .rid-h1 { font-size: 3.75rem; } }

.rid-h2 { font-size: 1.875rem; line-height: 1.25; }
.rid-h2--about { margin-top: 1rem; line-height: 1.25; }
@media (min-width: 768px) { .rid-h2--about { font-size: 2.25rem; } }
.rid-h2--snug { margin-top: 1rem; font-size: 1.5rem; line-height: 1.375; }
@media (min-width: 768px) { .rid-h2--snug { font-size: 1.875rem; } }

.rid-lead { margin-top: 1.5rem; max-width: 36rem; font-size: 1.125rem; line-height: 1.625; color: var(--rid-t70); }
.rid-lead--wide { max-width: 42rem; }
.rid-lead--tight { margin-top: 1rem; }
.rid-lead--about { margin-top: 1.75rem; line-height: 2rem; color: var(--rid-t75); }
.rid-intro { margin-top: .75rem; max-width: 42rem; color: var(--rid-t70); }
.rid-body-75 { color: var(--rid-t75); line-height: 1.75rem; }
.rid-body-lg { font-size: 1.125rem; line-height: 2rem; color: var(--rid-t75); }
.rid-stack > * + * { margin-top: 1.25rem; }

/* Skewed accent highlight: <mark class="rid-hl">woord</mark> */
.rid-hl {
	position: relative; z-index: 0; display: inline-block;
	padding: 0 .5rem; background: transparent; color: inherit;
}
.rid-hl::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--rid-accent); border-radius: 0; transform: skewX(-8deg);
}

.rid-accent-bar { width: 4rem; height: .25rem; margin-top: 1.5rem; background: var(--rid-accent); }

/* ---------------------------------------------------------------
   Buttons & links
---------------------------------------------------------------- */
.rid-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-top: 2rem; }

.rid-btn-skew {
	position: relative; z-index: 0; display: inline-block;
	padding: .75rem 1.5rem; font-size: .875rem; font-weight: 700; color: var(--rid-paper);
}
.rid-btn-skew::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--rid-brand); border-radius: calc(var(--rid-radius) - 4px); transform: skewX(-8deg);
	transition: background-color .2s;
}
.rid-btn-skew:hover::before { background: rgba(var(--rid-brand-rgb), .88); }

.rid-link-underline {
	font-size: .875rem; font-weight: 600;
	text-decoration: underline; text-decoration-color: var(--rid-accent);
	text-decoration-thickness: 2px; text-underline-offset: 4px;
}
button.rid-link-underline { background: none; border: 0; padding: 0; cursor: pointer; color: var(--rid-brand); }

.rid-btn-accent {
	display: inline-flex; align-items: center; justify-content: center; gap: .25rem;
	padding: .75rem 1.75rem; border-radius: calc(var(--rid-radius) - 4px);
	background: var(--rid-accent); color: var(--rid-brand); font-size: .875rem; font-weight: 700;
	transition: background-color .2s;
}
.rid-btn-accent:hover { background: rgba(var(--rid-accent-rgb), .8); }
.rid-btn-outline-light {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .75rem 1.75rem; border-radius: calc(var(--rid-radius) - 4px);
	border: 1px solid rgba(250, 250, 247, .4); color: var(--rid-paper); font-size: .875rem; font-weight: 700;
	transition: background-color .2s;
}
.rid-btn-outline-light:hover { background: rgba(250, 250, 247, .1); }

.rid-cta-link {
	display: inline-flex; align-items: center; gap: .25rem;
	font-size: .75rem; font-weight: 700; text-transform: uppercase;
}
.rid-cta-link .rid-svg { width: 1rem; height: 1rem; }
.rid-border-link {
	display: inline-flex; align-self: flex-start; align-items: center; gap: .375rem;
	border-bottom: 2px solid var(--rid-accent);
	font-size: .75rem; font-weight: 700; text-transform: uppercase;
}
.rid-border-link .rid-svg { width: .875rem; height: .875rem; }

/* ---------------------------------------------------------------
   Header
---------------------------------------------------------------- */
.rid-header {
	position: sticky; top: 0; z-index: 40;
	border-bottom: 1px solid var(--rid-b10);
	background: rgba(250, 250, 247, .95);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.admin-bar .rid-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rid-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .rid-header { top: 0; } }

.rid-header__bar { display: flex; height: 4rem; align-items: center; justify-content: space-between; gap: 1rem; }

.rid-brand { display: flex; flex-shrink: 0; align-items: center; gap: .75rem; }
.rid-brand__mark {
	display: grid; place-items: center; width: 2.25rem; height: 2.25rem;
	border-radius: calc(var(--rid-radius) - 4px); background: var(--rid-brand);
	font-family: var(--rid-serif); font-size: 1.125rem; font-weight: 700; color: var(--rid-accent);
	transform: skewX(-8deg);
}
.rid-brand__mark span { transform: skewX(8deg); line-height: 1; }
.rid-brand__mark img { width: 100%; height: 100%; object-fit: contain; transform: skewX(8deg); }
.rid-brand__name { font-family: var(--rid-serif); font-size: 1.25rem; font-weight: 700; line-height: 1.75rem; }
.rid-brand--logo img { max-height: 2.5rem; width: auto; }

.rid-nav { display: none; }
.rid-nav ul { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.rid-nav a {
	white-space: nowrap; font-size: 11px; font-weight: 600; text-transform: uppercase;
	transition: color .2s;
}
.rid-nav a:hover, .rid-nav .current-menu-item > a { color: var(--rid-t65); }
.rid-nav .sub-menu { display: none; }

.rid-header__actions { display: none; flex-shrink: 0; align-items: center; gap: .5rem; }
.rid-btn-contact {
	display: inline-flex; height: 2.25rem; align-items: center; justify-content: center;
	padding: 0 1rem; background: var(--rid-accent); color: var(--rid-brand);
	font-size: .75rem; font-weight: 700; text-transform: uppercase; transition: background-color .2s;
}
.rid-btn-contact:hover { background: rgba(var(--rid-accent-rgb), .8); }

.rid-search { position: relative; display: flex; align-items: center; }
.rid-search__toggle {
	display: inline-flex; align-items: center; gap: .5rem; height: 2.25rem; padding: 0 .5rem;
	background: none; border: 0; cursor: pointer; color: var(--rid-brand);
	font-size: 11px; font-weight: 600; text-transform: uppercase; transition: color .2s;
}
.rid-search__toggle:hover { color: var(--rid-t65); }
.rid-search__pop { position: absolute; right: 100%; margin-right: .5rem; width: 13rem; }
.rid-search__pop[hidden] { display: none; }

.rid-input {
	display: block; width: 100%; height: 2.25rem; padding: .25rem .75rem;
	border: 1px solid var(--rid-b20); border-radius: 0; background: var(--rid-paper);
	font-size: .875rem; color: var(--rid-brand); box-shadow: none;
}
.rid-input:focus { outline: none; box-shadow: 0 0 0 2px var(--rid-accent); }
.rid-input::placeholder { color: var(--rid-t50); }

.rid-burger {
	display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer; color: var(--rid-brand); padding: 0;
}
.rid-burger .rid-svg { width: 1.25rem; height: 1.25rem; }
.rid-burger .rid-icon-close { display: none; }
.rid-burger[aria-expanded="true"] .rid-icon-open { display: none; }
.rid-burger[aria-expanded="true"] .rid-icon-close { display: block; }

.rid-mobile { border-top: 1px solid var(--rid-b10); background: var(--rid-paper); padding: 1.25rem; }
.rid-mobile[hidden] { display: none; }
.rid-mobile__inner { max-width: 72rem; margin: 0 auto; display: flex; flex-direction: column; }
.rid-mobile ul { margin: 0; padding: 0; list-style: none; }
.rid-mobile ul a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--rid-b10); font-size: .875rem; font-weight: 600; }
.rid-mobile .sub-menu a { padding-left: 1rem; }
.rid-mobile .rid-btn-contact { margin-top: 1.25rem; height: 2.75rem; padding: 0 1.25rem; align-self: flex-start; }
.rid-mobile__search { display: flex; gap: .5rem; margin-top: 1.25rem; }
.rid-mobile__search .rid-input { height: 2.75rem; }
.rid-mobile__search button {
	display: inline-flex; width: 2.75rem; height: 2.75rem; flex-shrink: 0; align-items: center; justify-content: center;
	border: 1px solid var(--rid-b20); background: var(--rid-paper); cursor: pointer; color: var(--rid-brand);
}

@media (min-width: 1024px) {
	.rid-nav { display: flex; min-width: 0; flex: 1; justify-content: center; }
	.rid-header__actions { display: flex; }
	.rid-burger, .rid-mobile { display: none !important; }
}
@media (min-width: 1280px) { .rid-nav ul { gap: 1.5rem; } }

/* ---------------------------------------------------------------
   Footer
---------------------------------------------------------------- */
.rid-footer { border-top: 1px solid var(--rid-b10); }
.rid-footer__inner {
	display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1.25rem;
	padding-block: 2.25rem;
}
.rid-footer__copy { font-size: .75rem; color: var(--rid-t50); text-align: center; }
.rid-footer__links ul, .rid-footer__links { display: flex; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.rid-footer__links a { font-size: .75rem; font-weight: 600; color: var(--rid-t60); }
.rid-footer__links a:hover { color: var(--rid-brand); }
@media (min-width: 768px) { .rid-footer__inner { flex-direction: row; } }

/* ---------------------------------------------------------------
   Home
---------------------------------------------------------------- */
.rid-home { overflow: hidden; }
.rid-hero {
	position: relative; display: grid; align-items: center; gap: 3rem;
	padding-top: 3.5rem; padding-bottom: 5rem; scroll-margin-top: 5rem;
}
.rid-hero__text { position: relative; z-index: 10; animation: rid-rise 700ms ease-out both; }
.rid-hero__media { position: relative; z-index: 10; animation: rid-float 7s ease-in-out infinite; }
.rid-hero__media figure, figure.rid-tilt {
	overflow: hidden; border-radius: var(--rid-radius); border: 1px solid var(--rid-paper);
	background: var(--rid-mist); transform: skewY(-3deg);
	box-shadow: 0 25px 50px -12px rgba(var(--rid-brand-rgb), .15);
}
.rid-hero__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 768px) {
	.rid-hero { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.rid-hero__text { grid-column: span 7 / span 7; }
	.rid-hero__media { grid-column: span 5 / span 5; }
}
@keyframes rid-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rid-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: reduce) {
	.rid-hero__text, .rid-hero__media { animation: none; }
	html { scroll-behavior: auto; }
}

.rid-band { padding-block: 3rem; }
.rid-band__text { margin-top: .75rem; font-family: var(--rid-serif); font-size: 1.5rem; line-height: 1.375; }
@media (min-width: 768px) { .rid-band__text { font-size: 1.875rem; } }

.rid-section { padding-block: 5rem; }
.rid-section--16 { padding-block: 4rem; }
.rid-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 2.5rem; }
.rid-section-head__more { display: none; font-size: .875rem; font-weight: 600; color: var(--rid-t70); align-items: center; gap: .25rem; }
@media (min-width: 640px) { .rid-section-head__more { display: inline-flex; } }

/* ---------------------------------------------------------------
   Grids & cards
---------------------------------------------------------------- */
.rid-grid { display: grid; gap: 1.5rem; }
.rid-grid--topics { margin-top: 2.5rem; }
@media (min-width: 640px) {
	.rid-grid--topics, .rid-grid--blogs, .rid-grid--pcats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
	.rid-grid--3, .rid-grid--partners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rid-grid--partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.rid-grid--topics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rid-grid--blogs, .rid-grid--pcats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.rid-card {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid var(--rid-b10); border-radius: var(--rid-radius); background: var(--rid-paper);
	transition: transform .2s ease;
}
.rid-card:hover { transform: translateY(-.25rem); }
.rid-card__img { overflow: hidden; }
.rid-card__img img, .rid-card > img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s; }
.rid-card:hover .rid-card__img img { transform: scale(1.02); }
.rid-card--topic:hover .rid-card__img img { transform: none; }
.rid-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.rid-card__label { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--rid-t50); }
a.rid-card__label, .rid-card__label--link {
	position: relative; z-index: 2; align-self: flex-start;
	font-size: 11px; color: var(--rid-t60);
	text-decoration: underline; text-decoration-color: var(--rid-accent); text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.rid-card__title { margin-top: .5rem; font-size: 1.25rem; line-height: 1.25; }
.rid-card__label--link + .rid-card__title { margin-top: .75rem; }
.rid-card--topic .rid-card__title { margin-top: 0; line-height: 1.75rem; }
.rid-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rid-card--hover-title:hover .rid-card__title {
	text-decoration: underline; text-decoration-color: var(--rid-accent); text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.rid-card__text { margin-top: .75rem; font-size: .875rem; line-height: 1.625; color: var(--rid-t70); }
.rid-card--topic .rid-card__text { margin-top: .5rem; }
.rid-card__meta { margin-top: 1rem; font-size: 11px; font-weight: 600; text-transform: uppercase; color: var(--rid-t50); }
.rid-card__more { margin-top: 1.25rem; }
.rid-card__meta + .rid-card__more { margin-top: 1rem; }
.rid-card--topic .rid-card__more { margin-top: 1rem; }
.rid-card__placeholder { margin-top: 1rem; font-size: 11px; font-weight: 600; text-transform: uppercase; color: var(--rid-t40); }
.rid-card--grow { height: 100%; }

/* Featured article (category pages) */
.rid-featured {
	display: grid; align-items: center; gap: 2rem;
	margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--rid-b10);
}
.rid-featured figure { overflow: hidden; border: 1px solid var(--rid-b10); border-radius: var(--rid-radius); }
.rid-featured img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.rid-featured__title { font-size: 1.875rem; line-height: 1.25; }
.rid-featured__text { margin-top: .75rem; line-height: 1.625; color: var(--rid-t70); }
.rid-featured .rid-link-underline { display: inline-flex; align-items: center; gap: .25rem; margin-top: 1.5rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
@media (min-width: 768px) {
	.rid-featured { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.rid-featured figure { grid-column: span 7 / span 7; }
	.rid-featured__body { grid-column: span 5 / span 5; }
}
.rid-recent { margin-top: 4rem; }
.rid-recent__title { margin-bottom: 2rem; font-size: 1.5rem; }
.rid-more { margin-top: 2.5rem; margin-bottom: .5rem; display: flex; justify-content: center; }
.rid-hidden { display: none !important; }
.rid-empty { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--rid-b10); line-height: 1.625; color: var(--rid-t65); }

.rid-page-main { padding-top: 3rem; padding-bottom: 5rem; }
.rid-blogs-grid { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--rid-b10); }

/* ---------------------------------------------------------------
   About page
---------------------------------------------------------------- */
.rid-about-hero { display: grid; align-items: center; gap: 3rem; padding-block: 4rem; }
.rid-about-hero figure, .rid-figure { overflow: hidden; border: 1px solid var(--rid-b10); border-radius: var(--rid-radius); }
.rid-about-hero img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 768px) {
	.rid-about-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 6rem; }
	.rid-about-hero img { aspect-ratio: 5 / 6; }
}

.rid-purpose { display: grid; gap: 3.5rem; padding-block: 5rem; }
.rid-purpose__img { margin-top: 2rem; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid var(--rid-b10); border-radius: var(--rid-radius); }
.rid-purpose__a > p.rid-body-75 { margin-top: 1.25rem; }
.rid-purpose__b .rid-stack { margin-top: 1.75rem; }
@media (min-width: 768px) {
	.rid-purpose { grid-template-columns: repeat(12, minmax(0, 1fr)); padding-block: 6rem; }
	.rid-purpose__a { grid-column: span 5 / span 5; }
	.rid-purpose__b { grid-column: 7 / span 6; padding-top: .5rem; }
}

.rid-legacy { display: grid; align-items: center; gap: 3rem; padding-block: 5rem; }
.rid-legacy img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.rid-legacy__text > .rid-body-lg { margin-top: 1.5rem; }
@media (min-width: 768px) {
	.rid-legacy { grid-template-columns: repeat(12, minmax(0, 1fr)); padding-block: 7rem; }
	.rid-legacy__text { grid-column: span 5 / span 5; }
	.rid-legacy figure { grid-column: 7 / span 6; }
}

.rid-vision { padding-block: 5rem; text-align: center; }
.rid-vision .rid-h2 { margin-inline: auto; max-width: 48rem; }
.rid-vision__lead { margin: 1.5rem auto 0; max-width: 42rem; }
.rid-vision__grid { display: grid; gap: 3rem; margin-top: 3.5rem; }
.rid-vision__item { padding-inline: 1.5rem; }
.rid-vision__item h3 { margin-top: 1.25rem; font-size: 1.25rem; }
.rid-vision__item p { margin: .75rem auto 0; max-width: 20rem; line-height: 1.75rem; color: var(--rid-t70); }
@media (min-width: 768px) {
	.rid-vision { padding-block: 6rem; }
	.rid-vision__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
	.rid-vision__item + .rid-vision__item { border-left: 1px solid var(--rid-b15); }
}

.rid-icon { display: flex; align-items: center; justify-content: center; border-radius: 9999px; color: var(--rid-brand); }
.rid-icon--circle { width: 3.5rem; height: 3.5rem; margin-inline: auto; background: var(--rid-paper); }
.rid-icon--circle .rid-svg { width: 1.5rem; height: 1.5rem; }
.rid-icon--soft { width: 2.5rem; height: 2.5rem; flex-shrink: 0; background: rgba(var(--rid-accent-rgb), .4); }
.rid-icon--soft .rid-svg { width: 1.25rem; height: 1.25rem; }
.rid-icon--inline { display: inline-flex; }

.rid-values-section { padding-block: 5rem; }
.rid-values { display: grid; column-gap: 3rem; row-gap: 3rem; margin-top: 3.5rem; }
.rid-value { display: flex; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--rid-b15); }
.rid-value h3 { font-size: 1.125rem; }
.rid-value p { margin-top: .5rem; line-height: 1.75rem; color: var(--rid-t70); }
@media (min-width: 640px) { .rid-values { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .rid-values-section { padding-block: 7rem; } }
@media (min-width: 1024px) { .rid-values { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.rid-cta { padding-block: 5rem; text-align: center; }
.rid-cta h2 { margin-top: 1rem; font-size: 1.875rem; color: var(--rid-paper); }
.rid-cta p.rid-cta__text { margin: 1.5rem auto 0; max-width: 42rem; font-size: 1.125rem; line-height: 2rem; color: rgba(250, 250, 247, .8); }
.rid-cta .rid-actions { justify-content: center; flex-direction: column; gap: 1rem; margin-top: 2.5rem; }
@media (min-width: 640px) { .rid-cta .rid-actions { flex-direction: row; } }
@media (min-width: 768px) { .rid-cta { padding-block: 6rem; } .rid-cta h2 { font-size: 3rem; } }

/* ---------------------------------------------------------------
   Contact
---------------------------------------------------------------- */
.rid-contact-head { padding-block: 2.25rem; border-bottom: 1px solid var(--rid-b15); }
.rid-contact-head .rid-lead { max-width: 48rem; margin-top: 1.25rem; font-size: 1rem; }
@media (min-width: 768px) { .rid-contact-head { padding-block: 2.75rem; } .rid-contact-head .rid-lead { font-size: 1.125rem; } }

.rid-contact { display: grid; padding-block: 2.5rem; }
.rid-contact__title { padding-bottom: 1.25rem; border-bottom: 1px solid var(--rid-b15); font-size: 1.5rem; }
.rid-contact__aside { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--rid-b15); }
.rid-contact__aside p { margin-top: 2rem; font-size: .875rem; line-height: 1.625; color: var(--rid-t70); }
.rid-mail-link {
	display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.5rem; padding-bottom: .25rem;
	border-bottom: 2px solid var(--rid-accent); font-size: .875rem; font-weight: 600;
}
@media (min-width: 768px) {
	.rid-contact { grid-template-columns: repeat(12, minmax(0, 1fr)); padding-block: 3rem; }
	.rid-contact__main { grid-column: span 8 / span 8; padding-right: 3rem; }
	.rid-contact__aside { grid-column: span 4 / span 4; margin-top: 0; padding-top: 0; padding-left: 3rem; border-top: 0; border-left: 1px solid var(--rid-b15); }
}
@media (min-width: 1024px) { .rid-contact__main { padding-right: 4rem; } .rid-contact__aside { padding-left: 4rem; } }

.rid-form { margin-top: 2rem; }
.rid-form > * + * { margin-top: 1.5rem; }
.rid-form__row { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .rid-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rid-field > * + * { margin-top: .625rem; }
.rid-field label { display: block; font-size: .875rem; font-weight: 600; line-height: 1; }
.rid-field input, .rid-field select, .rid-field textarea {
	display: block; width: 100%; height: 3rem; padding: .5rem .75rem;
	border: 1px solid var(--rid-b25); border-radius: calc(var(--rid-radius) - 4px);
	background: var(--rid-paper); color: var(--rid-brand); font-size: 1rem; box-shadow: none;
}
@media (min-width: 768px) { .rid-field input, .rid-field select, .rid-field textarea { font-size: .875rem; } }
.rid-field select {
	-webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23103a5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .75rem center;
}
.rid-field textarea { height: auto; min-height: 12rem; resize: vertical; }
.rid-field input:focus, .rid-field select:focus, .rid-field textarea:focus { outline: none; box-shadow: 0 0 0 2px var(--rid-accent); }
.rid-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rid-submit {
	display: inline-flex; width: 100%; height: 3rem; align-items: center; justify-content: center;
	padding: 0 1.75rem; border: 0; border-radius: 0; cursor: pointer;
	background: var(--rid-accent); color: var(--rid-brand); font-size: .875rem; font-weight: 700;
	transition: background-color .2s;
}
.rid-submit:hover { background: rgba(var(--rid-accent-rgb), .8); }
.rid-submit[disabled] { opacity: .5; pointer-events: none; }
@media (min-width: 640px) { .rid-submit { width: auto; } }
.rid-form__note { margin-top: 1rem; font-size: .875rem; line-height: 1.625; color: var(--rid-t70); }
.rid-notice { margin-bottom: 1rem; padding-left: .75rem; border-left: 2px solid var(--rid-accent); font-size: .875rem; font-weight: 600; }
.rid-notice--error { border-left-color: var(--rid-destructive); color: var(--rid-destructive); }

/* ---------------------------------------------------------------
   Partners
---------------------------------------------------------------- */
.rid-partners-hero { padding-block: 4rem; }
@media (min-width: 768px) { .rid-partners-hero { padding-block: 6rem; } }
.rid-pcat-hero { padding-block: 3.5rem; }
.rid-pcat-hero .rid-lead { max-width: 42rem; margin-top: 1.25rem; font-size: 1rem; }
@media (min-width: 768px) { .rid-pcat-hero { padding-block: 5rem; } .rid-pcat-hero .rid-lead { font-size: 1.125rem; } }
.rid-pcats-section { padding-block: 4rem; }
.rid-grid--pcats { margin-top: 2rem; gap: 1.25rem; }
.rid-pcard { display: flex; flex-direction: column; min-height: 15rem; padding: 1.5rem; border: 1px solid var(--rid-b15); background: var(--rid-paper); }
.rid-pcard h3, .rid-pcard h2 { font-size: 1.5rem; line-height: 1.25; }
.rid-pcard p { flex: 1; margin-top: 1rem; font-size: .875rem; line-height: 1.625; color: var(--rid-t70); }
.rid-pcard .rid-border-link { margin-top: 1.75rem; }
.rid-plist { padding-block: 3.5rem; }
@media (min-width: 768px) { .rid-plist { padding-block: 4rem; } }
.rid-grid--partners { gap: 1.25rem; }
.rid-pcard--partner { min-height: 14rem; }
@media (min-width: 768px) { .rid-pcard--partner { padding: 2rem; } }
.rid-btn-outline {
	display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.25rem; cursor: pointer;
	border: 1px solid var(--rid-b20); border-radius: 0; background: var(--rid-paper); color: var(--rid-brand);
	font-size: .75rem; font-weight: 700; text-transform: uppercase; transition: background-color .2s;
}
.rid-btn-outline:hover { background: rgba(var(--rid-mist-rgb), .55); }

/* ---------------------------------------------------------------
   Single article & generic pages
---------------------------------------------------------------- */
.rid-article { padding-block: 3.5rem; }
.rid-article__meta { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--rid-t60); }
.rid-article__meta a { text-decoration: underline; text-decoration-color: var(--rid-accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rid-article__title { margin-top: 1rem; font-size: 1.875rem; line-height: 1.25; }
@media (min-width: 768px) { .rid-article__title { font-size: 3rem; } }
.rid-article__image { margin-top: 2rem; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid var(--rid-b10); border-radius: var(--rid-radius); }

.rid-prose { margin-top: 2.5rem; font-size: 1.125rem; line-height: 1.625; color: var(--rid-t80); }
.rid-prose > * + * { margin-top: 1.25rem; }
.rid-prose a { font-weight: 600; text-decoration: underline; text-decoration-color: var(--rid-accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rid-prose h2 { padding-top: 1rem; font-size: 1.5rem; line-height: 1.33; }
.rid-prose h3 { font-size: 1.25rem; line-height: 1.4; }
.rid-prose h4 { font-size: 1.125rem; }
.rid-prose ul { list-style: disc; padding-left: 1.5rem; }
.rid-prose ol { list-style: decimal; padding-left: 1.5rem; }
.rid-prose li + li { margin-top: .5rem; }
.rid-prose blockquote { padding-left: 1rem; border-left: 3px solid var(--rid-accent); font-family: var(--rid-serif); font-style: italic; }
.rid-prose img { border-radius: var(--rid-radius); }
.rid-prose table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.rid-prose th, .rid-prose td { padding: .5rem; border: 1px solid var(--rid-b15); text-align: left; }
.rid-prose figcaption, .wp-caption-text { margin-top: .5rem; font-size: .875rem; color: var(--rid-t60); }

.rid-post-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--rid-b10); font-size: .875rem; font-weight: 600; }
.rid-post-nav a { text-decoration: underline; text-decoration-color: var(--rid-accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }

.rid-pagination { margin-top: 3rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.rid-pagination .page-numbers { display: inline-flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; padding: 0 .75rem; border: 1px solid var(--rid-b15); font-size: .875rem; font-weight: 600; }
.rid-pagination .current { background: var(--rid-brand); color: var(--rid-paper); border-color: var(--rid-brand); }

/* 404 */
.rid-404 { display: flex; min-height: 70vh; align-items: center; justify-content: center; padding: 3rem 1rem; text-align: center; }
.rid-404 h1 { font-family: var(--rid-sans); font-size: 4.5rem; line-height: 1; }
.rid-404 h2 { margin-top: 1rem; font-family: var(--rid-sans); font-size: 1.25rem; font-weight: 600; }
.rid-404 p { margin-top: .5rem; font-size: .875rem; color: var(--rid-t60); }
.rid-404 a { display: inline-flex; margin-top: 1.5rem; padding: .5rem 1rem; border-radius: calc(var(--rid-radius) - 2px); background: var(--rid-brand); color: var(--rid-paper); font-size: .875rem; font-weight: 500; }

/* WordPress core alignment classes */
.alignleft { float: left; margin: .5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .5rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.sticky, .bypostauthor, .gallery-caption { }

hr.rid-accent-bar { border: 0; margin: 1.5rem 0 0; }
.rid-content figure { margin: 0; }
.rid-card__more { position: relative; z-index: 2; }
p.rid-cta-link.rid-card__more { z-index: 0; }
