:root {
	--stoica-blue: #294584;
	--stoica-lake: #78a9d4;
	--stoica-alpine: #f6f8f7;
	--stoica-red: #e5483f;
	--stoica-green: #26845b;
	--stoica-graphite: #161b24;
	--stoica-radius: 1.25rem;
	--stoica-shadow: 0 1.25rem 3.5rem rgb(22 27 36 / 12%);
	--stoica-content: 76rem;
	--stoica-gutter: clamp(1rem, 4vw, 3rem);
	--stoica-section-space: clamp(4.5rem, 9vw, 8.5rem);
}

/* Front-page frame. */
.home {
	background: var(--stoica-alpine);
	color: var(--stoica-graphite);
	overflow-x: clip;
}

.home .wrapper {
	overflow: visible;
	padding-inline: 0;
}

.home .wrapper.load {
	opacity: 1;
	transform: none;
	animation: none;
}

.home .spacer {
	display: none;
	height: 0;
}

.home.page-id-9 #content {
	display: block;
	max-width: none;
}

.home.page-id-9 #content > .col-70 {
	width: 100%;
	padding-inline: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) {
	width: 100%;
	max-width: none;
	margin: 0;
	background: var(--stoica-alpine);
	color: var(--stoica-graphite);
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home),
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) * {
	box-sizing: border-box;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) > .alignfull,
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) > .alignwide {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) p {
	line-height: 1.65;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) h1,
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) h2,
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) h3 {
	color: var(--stoica-blue);
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: -0.035em;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) h2 {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	line-height: 0.98;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) h3 {
	font-size: clamp(1.3rem, 2vw, 1.75rem);
	line-height: 1.08;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) a {
	color: var(--stoica-blue);
}

.home :focus-visible,
.editor-styles-wrapper .stoica-home :focus-visible {
	outline: 3px solid var(--stoica-red);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--stoica-alpine);
}

.home .skip-link:focus {
	top: 0.75rem;
	right: 0.75rem;
}

.home .header a,
.home .header button,
.home .stoica-home .wp-block-button__link,
.home .stoica-home .stoica-text-link a,
.home .stoica-home .stoica-events__link,
.home .stoica-home .stoica-service-card a,
.home .stoica-home .stoica-instagram-news__link,
.home .stoica-home .stoica-instagram-news__media-link,
.home footer a {
	min-height: 44px;
}

/* Header: compact, civic, and specific to the front page. */
.home.page-template-menu-black .header,
.home .header {
	position: sticky;
	top: 0;
	z-index: 9999;
	padding: 0 var(--stoica-gutter);
	border-bottom: 1px solid rgb(41 69 132 / 30%);
	background: rgb(246 248 247 / 96%);
	box-shadow: 0 0.4rem 1.5rem rgb(22 27 36 / 6%);
	backdrop-filter: blur(0.75rem);
	transition: background-color 180ms ease, box-shadow 180ms ease;
}

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

.home .header__content {
	position: relative;
	justify-content: space-between;
	max-width: var(--stoica-content);
	min-height: 4.5rem;
	margin-inline: auto;
	padding: 0.5rem 0;
	border: 0;
	gap: clamp(1rem, 3vw, 2.5rem);
}

.home .header__logo {
	position: static;
	flex: 0 0 auto;
	min-height: 44px;
	transform: none;
}

.home .header .header__logo-img {
	display: block;
	width: clamp(7rem, 11vw, 9.25rem);
	max-height: 3.25rem;
	margin-top: 0;
	object-fit: contain;
}

.home .header__quick {
	position: static;
}

.home .header .menu {
	display: flex;
	align-items: center;
	gap: clamp(0.1rem, 0.7vw, 0.75rem);
	padding: 0;
	list-style: none;
}

.home .header .menu > li > a,
.home .header__quick a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.65rem clamp(0.6rem, 1.1vw, 0.95rem);
	color: var(--stoica-graphite);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.1;
	opacity: 1;
	transition: color 180ms ease, background-color 180ms ease;
}

.home .header .menu > li > a:hover,
.home .header__quick a:hover {
	color: var(--stoica-blue);
}

.home .header .menu > .stoica-menu-cta > a {
	margin-left: 0.4rem;
	padding-inline: 1.15rem;
	border-radius: 999px;
	background: var(--stoica-blue);
	color: var(--stoica-alpine);
}

.home .header .menu > .stoica-menu-cta > a:hover {
	background: var(--stoica-graphite);
	color: var(--stoica-alpine);
}

.home .icon-hamburger {
	width: 44px;
	height: 44px;
	min-height: 44px;
	margin: 0;
	border: 1px solid rgb(41 69 132 / 35%);
	border-radius: 999px;
	background: var(--stoica-alpine);
}

.home .icon-hamburger span {
	width: 22px;
	margin-inline: auto;
	margin-bottom: 7px;
	background: var(--stoica-blue);
}

/* Hero thesis. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero {
	min-height: min(48rem, 82svh);
	margin: 0;
	padding: 0;
	background: var(--stoica-graphite);
	isolation: isolate;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__background {
	background: linear-gradient(
		90deg,
		rgb(22 27 36 / 92%) 0%,
		rgb(22 27 36 / 72%) 42%,
		rgb(22 27 36 / 18%) 76%,
		transparent 100%
	) !important;
	opacity: 1 !important;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 48%;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__inner-container {
	width: min(100%, var(--stoica-content));
	margin-inline: auto;
	padding: clamp(5rem, 12vh, 9rem) var(--stoica-gutter) clamp(8rem, 18vh, 12rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__content {
	width: min(100%, 51rem);
	margin: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__eyebrow {
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	color: var(--stoica-lake);
	font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	font-size: clamp(0.78rem, 1.2vw, 0.95rem);
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__title {
	max-width: 11ch;
	margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
	color: var(--stoica-alpine);
	font-size: clamp(3rem, 7.2vw, 6.75rem);
	line-height: 0.88;
	letter-spacing: -0.055em;
	text-wrap: balance;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__lead {
	max-width: 42rem;
	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
	color: var(--stoica-alpine);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.55;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-social-links {
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-social-link {
	color: #fff;
	background: #294583;
	border: 1px solid #91acd6;
	border-radius: 999px;
	font-size: 22px;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-social-link a {
	min-height: 44px;
	gap: 9px;
	padding: 10px 17px;
	color: inherit;
	text-decoration: none;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-social-link .wp-block-social-link-label {
	font-size: 16px;
	font-weight: 600;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-social-link:hover {
	background: #183467;
	transform: none;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-social-link a:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
	border-radius: inherit;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__actions {
	display: flex;
	gap: clamp(0.75rem, 2vw, 1.25rem);
	align-items: center;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.85rem 1.4rem;
	border: 2px solid transparent;
	border-radius: 999px;
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.15;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button--primary .wp-block-button__link {
	background: var(--stoica-red);
	color: var(--stoica-alpine);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button--secondary .wp-block-button__link {
	border-color: var(--stoica-alpine);
	background: rgb(22 27 36 / 22%);
	color: var(--stoica-alpine);
}

/* Swiss timetable ribbon: the single deliberately bold spatial gesture. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-event-ribbon {
	position: relative;
	z-index: 3;
	width: min(calc(100% - (2 * var(--stoica-gutter))), var(--stoica-content));
	margin: clamp(-5rem, -8vw, -3.75rem) auto 0;
	padding: 0;
	border-top: 0.35rem solid var(--stoica-blue);
	border-radius: var(--stoica-radius);
	background: var(--stoica-alpine);
	box-shadow: var(--stoica-shadow);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events {
	margin: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__heading {
	margin: 0 0 1.5rem;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: clamp(0.75rem, 1.5vw, 1.25rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__event {
	position: relative;
	min-width: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__event {
	display: grid;
	grid-template-columns: minmax(4.5rem, 0.65fr) minmax(0, 1.35fr);
	align-content: start;
	gap: 0.8rem 1rem;
	min-height: 14rem;
	padding: clamp(1rem, 2.4vw, 1.75rem);
	border-right: 1px solid rgb(41 69 132 / 24%);
	background: var(--stoica-alpine);
	transition: background-color 180ms ease, transform 180ms ease;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__event:last-child {
	border-right: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__date {
	grid-column: 1;
	grid-row: 1;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__image {
	grid-column: 1 / -1;
	grid-row: 2;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__content {
	grid-column: 2;
	grid-row: 1;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__event:not(:has(.stoica-events__image)) {
	box-shadow: inset 0.35rem 0 0 var(--stoica-lake);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__date {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: var(--stoica-blue);
	font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	line-height: 1;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__day {
	color: var(--stoica-red);
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(3.15rem, 5vw, 5rem);
	font-weight: 700;
	letter-spacing: -0.06em;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__month {
	margin-top: 0.35rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__year {
	margin-top: 0.28rem;
	color: rgb(22 27 36 / 70%);
	font-size: 0.75rem;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__image {
	display: block;
	width: 100%;
	height: 7rem;
	grid-column: 1 / -1;
	border-radius: calc(var(--stoica-radius) * 0.6);
	object-fit: cover;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__content {
	min-width: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__title {
	margin-bottom: 0.55rem;
	font-size: clamp(1.15rem, 1.7vw, 1.5rem);
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__location,
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__summary {
	margin-bottom: 0.55rem;
	font-size: 0.94rem;
	line-height: 1.45;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__location {
	padding-left: 0.55rem;
	border-left: 0.2rem solid var(--stoica-green);
	color: var(--stoica-graphite);
	font-weight: 700;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__link {
	display: inline-flex;
	align-items: center;
	margin-top: 0.45rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--stoica-lake);
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.22em;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__empty {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2rem);
	min-height: 9rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-left: 0.35rem solid var(--stoica-lake);
	background: var(--stoica-alpine);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__empty p {
	margin: 0;
	color: var(--stoica-blue);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-weight: 700;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__empty a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

/* Shared section rhythm. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-section {
	padding: var(--stoica-section-space) var(--stoica-gutter);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-section.alignwide {
	width: min(100%, calc(var(--stoica-content) + (2 * var(--stoica-gutter))));
	margin-inline: auto;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-section__lead {
	max-width: 42rem;
	margin: 0 0 clamp(2rem, 5vw, 4rem);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-text-link {
	margin: clamp(1.25rem, 3vw, 2rem) 0 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-text-link a {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--stoica-red);
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.28em;
}

/* Introduction: an asymmetric, readable two-column civic note. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-intro {
	padding-top: clamp(6rem, 12vw, 11rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-intro__columns {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 8vw, 7rem);
	align-items: start;
	margin: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-intro__body {
	padding-top: clamp(0.25rem, 2vw, 1.25rem);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
}

/* Semester schedule: six calm, scan-friendly rows. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-calendar {
	background: var(--stoica-alpine);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-calendar > * {
	width: min(100%, var(--stoica-content));
	margin-inline: auto;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-calendar > h2 {
	margin-bottom: 1.25rem;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__items {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid rgb(41 69 132 / 28%);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__event {
	display: grid;
	grid-template-columns: clamp(5.75rem, 9vw, 8rem) clamp(7.5rem, 14vw, 11rem) minmax(0, 1fr);
	gap: clamp(1rem, 3vw, 2.5rem);
	align-items: center;
	min-height: 10rem;
	padding: clamp(1.25rem, 3vw, 2rem) clamp(0.25rem, 1vw, 0.75rem);
	border-bottom: 1px solid rgb(41 69 132 / 28%);
	transition: background-color 180ms ease, transform 180ms ease;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__image {
	grid-column: 2;
	width: 100%;
	height: clamp(6.5rem, 10vw, 8rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__content {
	grid-column: 3;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__event:not(:has(.stoica-events__image)) .stoica-events__content {
	grid-column: 2 / -1;
}

/* Service cards: four practical doors, with visual noise kept low. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-services > h2,
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-news > h2 {
	margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-services__grid > .wp-block-column {
	min-width: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card {
	height: 100%;
	min-height: 0;
	padding: 1rem 1.25rem;
	border: 1px solid rgb(41 69 132 / 20%);
	border-top: 0.3rem solid var(--stoica-lake);
	border-radius: var(--stoica-radius);
	background: rgb(120 169 212 / 8%);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card h3 {
	margin: 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card p {
	margin-block: 0.25rem 0;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card h3 a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--stoica-blue);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.22em;
	transition: text-decoration-color 180ms ease;
}

/* Cartoline dal Lemano: local, dated articles from the STOICA Instagram sync. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-news {
	padding-top: clamp(3rem, 7vw, 6rem);
}

.stoica-instagram-news {
	width: min(100%, var(--stoica-content));
	margin-inline: auto;
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
}

.stoica-instagram-news__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 2rem);
	margin: 0;
	padding: 0;
}

.stoica-instagram-news__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	border: 1px solid rgb(41 69 132 / 20%);
	border-radius: calc(var(--stoica-radius) * 0.75);
	overflow: hidden;
	background: #fff;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.stoica-instagram-news__media-link {
	display: block;
	min-height: 44px;
	background: var(--stoica-lake);
}

.stoica-instagram-news__image,
.stoica-instagram-news__fallback {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
}

.stoica-instagram-news__image {
	height: auto;
	object-fit: cover;
}

.stoica-instagram-news__fallback {
	display: grid;
	place-items: center;
	background: var(--stoica-lake);
	color: var(--stoica-blue);
	font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.stoica-instagram-news__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.stoica-instagram-news__utility {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 0.8rem;
	color: var(--stoica-green);
	font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}

.stoica-instagram-news__title {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	line-height: 1.12;
}

.stoica-instagram-news__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--stoica-blue);
	font-weight: 700;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.18em;
}

.stoica-instagram-news__excerpt {
	margin: 0.75rem 0 0;
	color: var(--stoica-graphite);
	line-height: 1.6;
}

.stoica-instagram-news__empty {
	padding: clamp(1.5rem, 4vw, 3rem);
	border-left: 0.25rem solid var(--stoica-green);
	background: rgb(120 169 212 / 12%);
}

.stoica-instagram-news__empty a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.stoica-instagram-news__pagination a,
.stoica-instagram-news__pagination .current {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
}

.stoica-instagram-news__pagination {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.stoica-instagram-news__pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.stoica-instagram-news :focus-visible,
.stoica-instagram-article :focus-visible {
	outline: 3px solid var(--stoica-red);
	outline-offset: 3px;
}

/* The archive stays editable while its result grid can use the full reading frame. */
.stoica-novita {
	background: var(--stoica-alpine);
	color: var(--stoica-graphite);
}

.stoica-novita #content > .col-70 {
	width: min(calc(100% - (2 * var(--stoica-gutter))), var(--stoica-content));
}

/* Imported articles: improve the parent template without duplicating it. */
.single-post.stoica-instagram-article {
	background: var(--stoica-alpine);
	color: var(--stoica-graphite);
}

.single-post.stoica-instagram-article #content > .col-70 {
	width: min(calc(100% - (2 * var(--stoica-gutter))), 48rem);
}

.single-post.stoica-instagram-article article > h1 {
	margin-bottom: 0.75rem;
	color: var(--stoica-blue);
	font-size: clamp(2.5rem, 7vw, 5.5rem);
	line-height: 0.96;
	letter-spacing: -0.045em;
}

.single-post.stoica-instagram-article article > .meta-article {
	margin-bottom: 2rem;
	color: var(--stoica-green);
	font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	font-size: 0.78rem;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.single-post.stoica-instagram-article article > .img-res {
	position: relative;
	left: 50%;
	width: min(calc(100vw - (2 * var(--stoica-gutter))), 68rem);
	max-width: none;
	max-height: 46rem;
	translate: -50% 0;
	object-fit: cover;
}

.single-post.stoica-instagram-article article > .text-content {
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

.single-post.stoica-instagram-article article > .text-content > * {
	margin-block: 0 1.35em;
}

/* Final CTA: a single restrained field of civic blue. */
:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta {
	background: var(--stoica-blue);
	color: var(--stoica-alpine);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
	width: min(100%, var(--stoica-content));
	margin-inline: auto;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta h2 {
	max-width: 13ch;
	color: var(--stoica-alpine);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta p {
	max-width: 42rem;
	font-size: clamp(1.05rem, 2vw, 1.3rem);
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta .wp-block-button {
	margin-top: 1rem;
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta__mascot {
	grid-column: 2;
	grid-row: 1 / span 3;
	width: clamp(5.5rem, 10vw, 8rem);
	margin: 0;
	filter: drop-shadow(0 0.9rem 1.2rem rgb(22 27 36 / 25%));
}

:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta__mascot img {
	display: block;
	width: 100%;
}

/* Existing footer, harmonised only while the front-page stylesheet is present. */
.home footer {
	margin: 0;
	padding: clamp(3rem, 7vw, 5rem) var(--stoica-gutter);
	background: var(--stoica-graphite);
	color: var(--stoica-alpine);
}

.home footer > .grid,
.home footer > .col-100 {
	max-width: var(--stoica-content);
	margin-inline: auto;
}

.home footer hr {
	border-color: rgb(120 169 212 / 55%);
}

.home footer a {
	display: inline-flex;
	align-items: center;
	color: var(--stoica-lake);
}

/* Progressive enhancement: base content never depends on JavaScript. */
html.stoica-enhanced .home .stoica-home [data-stoica-reveal] {
	opacity: 0;
	transform: translateY(0.75rem);
	transition: opacity 520ms ease, transform 520ms ease;
}

html.stoica-enhanced .home .stoica-home .stoica-hero__content[data-stoica-reveal] {
	transition-delay: 60ms;
}

html.stoica-enhanced .home .stoica-home .stoica-event-ribbon[data-stoica-reveal] {
	transition-delay: 120ms;
}

html.stoica-enhanced .home .stoica-home [data-stoica-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.editor-styles-wrapper .stoica-home [data-stoica-reveal] {
	opacity: 1;
	transform: none;
}

@media (hover: hover) {
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button .wp-block-button__link:hover {
		transform: translateY(-0.15rem);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button--primary .wp-block-button__link:hover {
		background: var(--stoica-blue);
		color: var(--stoica-alpine);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-button--secondary .wp-block-button__link:hover {
		border-color: var(--stoica-lake);
		background: var(--stoica-blue);
		color: var(--stoica-alpine);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__event:hover,
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card:hover {
		border-color: var(--stoica-lake);
		box-shadow: 0 1rem 2.5rem rgb(22 27 36 / 10%);
		transform: translateY(-0.25rem);
	}

	.stoica-instagram-news__card:hover {
		border-color: var(--stoica-lake);
		box-shadow: 0 0.8rem 2rem rgb(22 27 36 / 10%);
		transform: translateY(-2px);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card h3 a:hover {
		text-decoration-color: var(--stoica-red);
	}
}

@media (max-width: 64rem) {
	.home .header__content {
		position: relative;
		height: auto;
		min-height: 4rem;
		padding-right: 3.5rem;
	}

	.home .icon-hamburger {
		inset-block: 0;
		right: 0;
		margin-block: auto;
		transform: none;
	}

	.home .header .menu {
		flex-direction: column;
		align-items: stretch;
		top: 100%;
		left: calc(-1 * var(--stoica-gutter));
		width: calc(100% + (2 * var(--stoica-gutter)));
		max-height: calc(100svh - 4rem);
		padding: 0 var(--stoica-gutter);
		background: var(--stoica-alpine);
		box-shadow: var(--stoica-shadow);
		overflow-y: auto;
		transition: height 220ms ease;
	}

	.home.menu-open .header .menu {
		height: calc(100svh - 4rem);
		padding-block: 1rem;
	}

	html.stoica-menu-enhanced .home .header .menu {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	html.stoica-menu-enhanced .home.menu-open .header .menu {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.home .header .menu > li {
		border-color: rgb(41 69 132 / 20%);
	}

	.home .header .menu > li > a {
		justify-content: flex-start;
		width: 100%;
	}

	.home .header .menu > .stoica-menu-cta > a {
		justify-content: center;
		width: fit-content;
		margin: 0.75rem 0;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.home.admin-bar .header {
		top: 46px;
	}
}

@media (max-width: 48rem) {
	:root {
		--stoica-gutter: clamp(1rem, 5vw, 1.5rem);
		--stoica-section-space: clamp(3.75rem, 16vw, 6rem);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero {
		min-height: min(44rem, 82svh);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__background {
		background: linear-gradient(
			180deg,
			rgb(22 27 36 / 55%) 0%,
			rgb(22 27 36 / 86%) 78%,
			rgb(22 27 36 / 92%) 100%
		) !important;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__image-background {
		object-position: 57% center;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero .wp-block-cover__inner-container {
		padding-top: clamp(4rem, 13vh, 6rem);
		padding-bottom: clamp(7rem, 20vh, 9rem);
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__title {
		font-size: clamp(2.8rem, 14vw, 4.5rem);
		line-height: 0.92;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__actions .wp-block-button,
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-hero__actions .wp-block-button__link {
		width: 100%;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-event-ribbon {
		width: calc(100% - (2 * var(--stoica-gutter)));
		margin-top: -3.25rem;
		background: transparent;
		box-shadow: none;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__items {
		display: grid;
		grid-template-columns: none;
		grid-auto-columns: minmax(min(82vw, 20rem), 1fr);
		grid-auto-flow: column;
		gap: 0.85rem;
		padding: 0.4rem 0.4rem 1.5rem;
		overflow-x: auto;
		overflow-y: visible;
		overscroll-behavior-inline: contain;
		scroll-behavior: smooth;
		scroll-padding-inline: 0.4rem;
		scroll-snap-type: inline mandatory;
		-webkit-overflow-scrolling: touch;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__event {
		min-height: 16rem;
		border: 1px solid rgb(41 69 132 / 24%);
		border-radius: calc(var(--stoica-radius) * 0.8);
		box-shadow: 0 0.8rem 2rem rgb(22 27 36 / 12%);
		scroll-snap-align: start;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events__empty {
		align-items: flex-start;
		flex-direction: column;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-intro__columns,
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-services__grid,
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta__content {
		grid-template-columns: 1fr;
	}

	.stoica-instagram-news__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-intro__columns {
		gap: 1.5rem;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__event {
		grid-template-columns: minmax(5.25rem, 0.35fr) minmax(0, 1fr);
		gap: 1rem;
		padding-block: 1.5rem;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__date {
		grid-column: 1;
		grid-row: 1;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__image {
		grid-column: 1 / -1;
		grid-row: 2;
		height: 10rem;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__content {
		grid-column: 2;
		grid-row: 1;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__event:has(.stoica-events__image) .stoica-events__content {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-service-card {
		min-height: 0;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-membership-cta__mascot {
		grid-column: 1;
		grid-row: auto;
		justify-self: end;
		width: 5.5rem;
	}

	.home footer .grid {
		gap: 1.25rem;
	}
}

@media (max-width: 30rem) {
	.stoica-instagram-news__grid {
		grid-template-columns: 1fr;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__event {
		grid-template-columns: 1fr;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__content {
		grid-column: 1;
		grid-row: auto;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__date,
	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--list .stoica-events__image {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home,
	.home *,
	.home *::before,
	.home *::after,
	.editor-styles-wrapper .stoica-home,
	.editor-styles-wrapper .stoica-home *,
	.editor-styles-wrapper .stoica-home *::before,
	.editor-styles-wrapper .stoica-home *::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
		transform: none !important;
	}

	.home .wrapper.load,
	html.stoica-enhanced .home .stoica-home [data-stoica-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}

	:is(.home .stoica-home, .editor-styles-wrapper .stoica-home) .stoica-events--ribbon .stoica-events__items {
		scroll-snap-type: none;
	}

	.stoica-instagram-news__card {
		transition: none !important;
		transform: none !important;
	}
}
