/* =========================================================================
   Ludovica Annunziata theme — design system
   Implements the shared contract used by the bundled Elementor templates.
   Palette/typography from the "Sito Psicologa" design (variant C, teal).
   ========================================================================= */

/* ---- Tokens ---------------------------------------------------------- */
:root {
	--la-teal: #256E74;
	--la-teal-dark: #1D585D;
	--la-ink: #1C2825;
	--la-text: #22302B;
	--la-body: #4A5A53;
	--la-bg-soft: #F2F7F7;
	--la-card: #DCEBEC;
	--la-card-soft: #EFF5F6;
	--la-card-hover: #E0EDEE;
	--la-chip: #E4EFF0;
	--la-chip-icon: #E7F1F2;
	--la-border: #EAF0F1;
	--la-border-btn: #BCD8DB;
	--la-input-border: #CFE0E2;
	--la-footer-bg: #122A2C;
	--la-footer-text: #C7D8DA;
	--la-footer-muted: #8CA6A9;
	--la-footer-accent: #7DB8BD;
	--la-red: #B3261E;
	--la-red-dark: #8C1D18;
	--la-font: 'Nunito Sans', system-ui, sans-serif;
	--la-serif: 'Lora', Georgia, serif;
	--la-alt: 'Quicksand', system-ui, sans-serif;
}

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

html {
	scroll-behavior: smooth;
}

html,
body {
	margin: 0;
	padding: 0;
	background: #ffffff;
	font-family: var(--la-font);
}

body {
	color: var(--la-text);
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

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

a {
	text-decoration: none;
	color: var(--la-teal);
}

a:hover {
	color: var(--la-teal-dark);
}

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

.screen-reader-text {
	position: absolute;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	word-wrap: normal;
}

.skip-link:focus {
	clip-path: none;
	width: auto;
	height: auto;
	z-index: 100;
	padding: 10px 16px;
	background: var(--la-teal);
	color: #fff;
}

/* ---- Headings (Elementor widgets carry these classes) ------------------ */
.la-h1,
.la-h2,
.la-h3 {
	font-family: var(--la-serif);
	font-weight: 500;
	color: var(--la-ink);
}

/* ---- Hand-drawn decorations ------------------------------------------- */
/* Wavy underline under a word: <span class="la-swash">parola</span> */
.la-swash {
	position: relative;
	display: inline-block;
	white-space: nowrap;
}

.la-swash::after {
	content: "";
	position: absolute;
	left: -2%;
	bottom: -0.14em;
	width: 104%;
	height: 0.22em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 28 3, 52 10, 74 6 S 108 4, 117 7' fill='none' stroke='%23256E74' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	pointer-events: none;
}

/* Hand-drawn oval around a phrase: <span class="la-oval">frase</span> */
.la-oval {
	position: relative;
	display: inline-block;
	white-space: nowrap;
}

.la-oval::after {
	content: "";
	position: absolute;
	left: -5%;
	top: -16%;
	width: 110%;
	height: 132%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 80' preserveAspectRatio='none'%3E%3Cpath d='M150 6 C 234 2, 292 16, 293 40 C 294 66, 224 76, 146 75 C 66 74, 8 64, 7 40 C 6 18, 60 5, 128 5' fill='none' stroke='%23256E74' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	pointer-events: none;
}

/* ---- Text helpers ------------------------------------------------------ */
.la-eyebrow p,
.la-eyebrow {
	margin: 0;
	color: var(--la-teal);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.la-chip p {
	margin: 0;
	display: inline-block;
	background: var(--la-chip);
	color: var(--la-teal-dark);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 999px;
}

.la-lead p,
.la-lead {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--la-body);
	text-wrap: pretty;
}

/* Breathing room between consecutive paragraphs of a lead block */
.la-lead p + p {
	margin-top: 14px;
}

.la-lead--lg p,
.la-lead--lg {
	font-size: 18px;
	line-height: 1.65;
	max-width: 52ch;
}

.la-link a,
a.la-link {
	color: var(--la-teal);
	font-weight: 700;
	font-size: 16px;
}

.la-link a:hover,
a.la-link:hover {
	color: var(--la-teal-dark);
}

/* ---- Buttons ----------------------------------------------------------- */
.la-btn,
.la-btn:visited {
	display: inline-block;
	background: var(--la-teal);
	color: #ffffff;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	padding: 15px 32px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.la-btn:hover {
	background: var(--la-teal-dark);
	color: #ffffff;
}

.la-btn--ghost,
.la-btn--ghost:visited {
	background: #ffffff;
	color: var(--la-teal);
	border: 1.5px solid var(--la-border-btn);
	padding: 13.5px 30.5px;
}

.la-btn--ghost:hover {
	background: var(--la-chip-icon);
	color: var(--la-teal-dark);
}

/* Elementor button widgets: apply the same pill look via css_classes */
.la-btn-el .elementor-button {
	background: var(--la-teal);
	color: #ffffff;
	font-family: var(--la-font);
	font-weight: 700;
	font-size: 16px;
	padding: 15px 32px;
	border-radius: 999px;
	transition: background 0.15s ease;
}

.la-btn-el .elementor-button:hover {
	background: var(--la-teal-dark);
	color: #ffffff;
}

.la-btn-el--ghost .elementor-button {
	background: #ffffff;
	color: var(--la-teal);
	border: 1.5px solid var(--la-border-btn);
}

.la-btn-el--ghost .elementor-button:hover {
	background: var(--la-chip-icon);
	color: var(--la-teal-dark);
}

/* ---- Navbar ------------------------------------------------------------ */
.la-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #ffffff;
	border-bottom: 1px solid var(--la-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px clamp(20px, 5vw, 64px);
}

body.admin-bar .la-nav {
	top: 32px;
}

.la-nav__brand a {
	display: flex;
	align-items: center;
}

.la-nav__brand img,
.la-nav__logo {
	height: 46px;
	width: auto;
	display: block;
}

.la-nav__menu {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 40px);
}

.la-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 40px);
}

.la-menu a {
	color: var(--la-text);
	font-weight: 600;
	font-size: 15px;
}

.la-menu a:hover,
.la-menu .current-menu-item > a,
.la-menu .current_page_item > a {
	color: var(--la-teal);
}

.la-menu .current-menu-item > a,
.la-menu .current_page_item > a {
	font-weight: 700;
}

.la-nav__cta,
.la-nav__cta:visited {
	font-size: 15px;
	padding: 11px 24px;
}

.la-nav-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
}

.la-nav-toggle__bar {
	display: block;
	width: 24px;
	height: 2.5px;
	border-radius: 2px;
	background: var(--la-ink);
	margin: 5px 0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

@media (max-width: 860px) {
	.la-nav {
		flex-wrap: wrap;
	}

	.la-nav-toggle {
		display: block;
	}

	.la-nav__menu {
		display: none;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 12px 0 8px;
	}

	.la-nav-open .la-nav__menu {
		display: flex;
	}

	.la-menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		width: 100%;
	}

	.la-menu a {
		display: block;
		padding: 10px 0;
		font-size: 16px;
	}

	.la-nav__cta {
		margin-top: 8px;
	}

	.la-nav-open .la-nav-toggle__bar:nth-child(2) {
		transform: translateY(7.5px) rotate(45deg);
	}

	.la-nav-open .la-nav-toggle__bar:nth-child(3) {
		opacity: 0;
	}

	.la-nav-open .la-nav-toggle__bar:nth-child(4) {
		transform: translateY(-7.5px) rotate(-45deg);
	}
}

@media (max-width: 782px) {
	body.admin-bar .la-nav {
		top: 46px;
	}
}

/* ---- Layout helpers ---------------------------------------------------- */
/* The bundled Elementor templates only carry classes: every layout-critical
   property is declared here with !important so the theme wins over
   Elementor's container CSS (v3 flex vars and v4 --display/--width vars
   alike), whether or not Elementor's generated per-page CSS is present. */
.la-main {
	min-height: 55vh;
}

/* Safety net: Elementor 4 containers get display from the generated CSS
   (--display); if that CSS is stale or missing they'd collapse to blocks. */
.la-main .e-con:not(.e-grid) {
	--display: flex;
}

/* Full-bleed page band with the section's vertical rhythm */
.la-section {
	padding-top: clamp(56px, 8vw, 96px) !important;
	padding-bottom: clamp(56px, 8vw, 96px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Taller variant for hero-like sections (declared after .la-section: wins) */
.la-section--tall {
	padding-top: clamp(72px, 10vw, 132px) !important;
	padding-bottom: clamp(72px, 10vw, 132px) !important;
}

.la-band {
	background-color: #F2F7F7 !important;
}

/* Centered content column (declared after .la-section so its gutters win).
   Max-width = 1120px of content + the two side gutters, so the inner width
   matches the design's 1120px column exactly. */
.la-wrap {
	max-width: 1248px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(20px, 5vw, 64px) !important;
	padding-right: clamp(20px, 5vw, 64px) !important;
}

/* Spacing utilities (replace Elementor margin settings in the templates) */
.la-mt-48 {
	margin-top: 48px !important;
}

.la-mb-48 {
	margin-bottom: 48px !important;
}

/* ---- Template layout ----------------------------------------------------
   Columns and card grids are driven by the theme, NOT by Elementor container
   settings: the bundled templates only carry these classes, so the layout
   works identically on every install regardless of Elementor's generated CSS.
   ------------------------------------------------------------------------- */
.la-split,
.la-grid-3,
.la-grid-4 {
	display: grid !important;
}

.la-split > *,
.la-grid-3 > *,
.la-grid-4 > * {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Two-column split: content left, visual right (Home hero) */
.la-split {
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	align-items: center;
}

/* Chi sono intro: wide text + small plant doodle, baseline-aligned */
.la-split--bio {
	grid-template-columns: 2.2fr 1fr;
	align-items: end;
}

/* Push the plant doodle toward the right edge of its column */
.la-split--bio .la-doodle {
	justify-content: flex-end;
	padding-right: 16px;
}

/* Contattami: info + form card, top-aligned */
.la-split--form {
	grid-template-columns: 1fr 1.1fr;
	align-items: start;
	column-gap: 64px;
}

/* Card grids */
.la-grid-3 {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.la-grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}

@media (max-width: 880px) {
	.la-split,
	.la-split--bio,
	.la-split--form {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* Row of pill buttons (Home hero CTAs) */
.la-btnrow {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
}

.la-btnrow > * {
	width: auto !important;
}

/* Narrow centered content blocks (after .la-wrap: their max-width wins).
   Like .la-wrap, width = design content width + side gutters. */
.la-narrow {
	max-width: 888px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.la-narrow--sm {
	max-width: 768px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Hero illustration */
.la-hero-img {
	width: 100%;
	max-width: 440px;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* ---- Cards (organic blob shapes) --------------------------------------- */
.la-card {
	background: var(--la-card) !important;
	padding: 26px 32px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px;
}

.la-scard {
	background: var(--la-card-soft) !important;
	padding: 24px 30px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
	transition: background 0.15s ease;
}

.la-scard:hover {
	background: var(--la-card-hover) !important;
}

/* Reserve a two-line slot for every service-card title so the descriptions
   start at the same level whether the title wraps or not */
.la-scard h2 {
	min-height: 48px;
	line-height: 1.25;
}

.la-blob-1 { border-radius: 38px 58px 42px 62px / 52px 38px 60px 44px !important; }
.la-blob-2 { border-radius: 52px 40px 60px 44px / 42px 58px 44px 62px !important; }
.la-blob-3 { border-radius: 46px 62px 42px 66px / 56px 42px 64px 46px !important; }
.la-blob-4 { border-radius: 56px 40px 64px 44px / 44px 60px 42px 62px !important; }

.la-card-title,
.la-card-title.elementor-heading-title,
.la-card .elementor-widget-heading .elementor-heading-title,
.la-scard .elementor-widget-heading .elementor-heading-title {
	font-family: var(--la-alt);
	font-weight: 700;
	color: var(--la-ink);
}

.la-card-text p,
.la-card-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--la-body);
}

.la-icon-chip {
	width: 52px;
	height: 52px;
	background: var(--la-chip-icon);
	border-radius: 48% 52% 44% 56% / 52% 46% 54% 48%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---- Decorative line illustrations (inline SVG in html widgets) -------- */
.la-doodle {
	display: flex;
	justify-content: center;
}

.la-doodle svg {
	display: block;
}

/* ---- Timeline (Chi sono) ----------------------------------------------- */
.la-timeline {
	position: relative;
	max-width: 680px;
}

.la-timeline::before {
	content: "";
	position: absolute;
	left: 72px;
	top: 10px;
	bottom: 15px;
	width: 8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 500' preserveAspectRatio='none'%3E%3Cpath d='M4 0 C 2 60 6 120 4 180 C 2 240 6 300 4 360 C 3 420 5 470 4 500' fill='none' stroke='%23BCD8DB' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}

.la-timeline__row {
	position: relative;
	display: grid;
	grid-template-columns: 64px 24px 1fr;
	align-items: start;
	margin-bottom: 24px;
}

.la-timeline__row:last-child {
	margin-bottom: 0;
}

.la-timeline__year {
	font-weight: 700;
	font-size: 15px;
	color: var(--la-ink);
	padding-top: 1px;
}

.la-timeline__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--la-teal);
	margin: 5px 0 0 7px;
}

.la-timeline__text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--la-body);
}

/* ---- Contact info rows (Contattami) ------------------------------------ */
.la-cinfo {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.la-cinfo__row {
	display: flex;
	gap: 12px;
	align-items: baseline;
}

.la-cinfo__key {
	font-weight: 700;
	color: var(--la-teal);
	min-width: 78px;
}

.la-cinfo__val {
	color: var(--la-body);
	font-size: 15px;
}

/* ---- Contact form card -------------------------------------------------- */
.la-form-wrap {
	position: relative;
}

.la-form-wrap::before {
	content: "";
	position: absolute;
	top: -26px;
	right: -30px;
	width: 200px;
	height: 180px;
	background: var(--la-card);
	border-radius: 45% 55% 60% 40% / 50% 42% 58% 50%;
	pointer-events: none;
}

.la-form-wrap::after {
	content: "";
	position: absolute;
	bottom: -24px;
	left: -26px;
	width: 170px;
	height: 150px;
	background: var(--la-chip);
	border-radius: 52% 48% 40% 60% / 46% 58% 42% 54%;
	opacity: 0.8;
	pointer-events: none;
}

.la-form-card {
	position: relative;
	z-index: 1;
	background: var(--la-card);
	border-radius: 56px 40px 64px 44px / 44px 60px 42px 62px;
	padding: 0 34px 24px;
}

.la-form-gdpr {
	margin: 12px 0 0;
	font-size: 13px;
	color: #5B7376;
	line-height: 1.5;
}

.la-form-missing {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--la-body);
}

/* ---- WPForms (Lite) restyling ------------------------------------------
   WPForms ships its own stylesheet with sizes/spacing (e.g. the
   .wpforms-field-large textarea at 120px, field paddings, label margins).
   Everything here is !important so the theme wins regardless of load order. */
.la-form-card .wpforms-container,
.la-form-card .wpforms-container .wpforms-form {
	margin: 0 !important;
	padding: 0 !important;
}

.la-form-card .wpforms-container .wpforms-field {
	padding: 5px 0 !important;
}

.la-form-card .wpforms-container .wpforms-field:first-of-type,
.la-form-card .wpforms-container .wpforms-field:first-child {
	padding-top: 0 !important;
}

.la-form-card .wpforms-container .wpforms-field-label {
	font-weight: 700;
	font-size: 15px;
	color: var(--la-ink);
	margin: 0 0 6px !important;
	padding: 0 !important;
}

.la-form-card .wpforms-container input[type="text"],
.la-form-card .wpforms-container input[type="email"],
.la-form-card .wpforms-container input[type="tel"],
.la-form-card .wpforms-container textarea {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--la-input-border);
	border-radius: 12px;
	padding: 10px 14px;
	font-family: var(--la-font);
	font-size: 16px;
	background: #ffffff;
	color: var(--la-text);
	outline: none;
	box-shadow: none;
}

.la-form-card .wpforms-container input:focus,
.la-form-card .wpforms-container textarea:focus {
	border-color: var(--la-teal);
	box-shadow: none;
}

.la-form-card .wpforms-container textarea,
.la-form-card .wpforms-container textarea.wpforms-field-small,
.la-form-card .wpforms-container textarea.wpforms-field-medium,
.la-form-card .wpforms-container textarea.wpforms-field-large {
	resize: vertical;
	height: 146px !important;
	min-height: 56px !important;
}

.la-form-card .wpforms-container .wpforms-submit,
.la-form-card .wpforms-container button[type="submit"] {
	width: 100%;
	background: var(--la-teal) !important;
	color: #ffffff !important;
	font-family: var(--la-font);
	font-weight: 700;
	font-size: 16px;
	padding: 13px !important;
	border: 0 !important;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.la-form-card .wpforms-container .wpforms-submit:hover,
.la-form-card .wpforms-container button[type="submit"]:hover {
	background: var(--la-teal-dark) !important;
}

.la-form-card .wpforms-container .wpforms-error {
	color: #A34242;
	font-size: 13px;
}

.la-form-card .wpforms-confirmation-container-full,
.la-form-card .wpforms-container .wpforms-confirmation-container-full {
	background: transparent;
	border: 0;
	padding: 0;
	color: var(--la-teal-dark);
	font-weight: 700;
}

/* ---- Footer ------------------------------------------------------------- */
.la-footer {
	background: var(--la-footer-bg);
	color: var(--la-footer-text);
	padding: 44px clamp(20px, 5vw, 64px);
}

.la-footer__inner {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	align-items: flex-start;
}

.la-footer__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.la-footer__col--brand {
	gap: 12px;
	max-width: 320px;
}

.la-footer__col--data {
	max-width: 280px;
}

.la-footer__logo {
	display: flex;
	align-items: center;
	gap: 10px;
}

.la-footer__psi {
	font-family: Georgia, serif;
	font-size: 32px;
	color: var(--la-footer-accent);
	line-height: 1;
}

.la-footer__name {
	font-family: var(--la-alt);
	font-weight: 700;
	font-size: 16px;
	color: #ffffff;
	line-height: 1.25;
}

.la-footer__tagline,
.la-footer__data {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: var(--la-footer-muted);
}

.la-footer__title {
	margin: 0;
	font-family: var(--la-alt);
	font-weight: 700;
	font-size: 14px;
	color: #ffffff;
}

.la-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.la-footer__links a {
	color: var(--la-footer-text);
	font-size: 14px;
}

.la-footer__links a:hover {
	color: var(--la-footer-accent);
}

.la-footer__legal {
	margin: 6px 0 0;
	font-size: 13px;
}

.la-footer__legal a {
	color: var(--la-footer-muted);
	text-decoration: underline;
}

.la-footer__legal a:hover {
	color: var(--la-footer-accent);
}

/* ---- Blog / archive fallback (index.php) -------------------------------- */
.la-archive {
	padding-top: 56px;
	padding-bottom: 72px;
}

.la-archive__item {
	max-width: 760px;
	margin: 0 auto 40px;
}

.la-archive__title {
	font-family: var(--la-serif);
	font-weight: 500;
	color: var(--la-ink);
	line-height: 1.25;
}

.la-archive__title a {
	color: inherit;
}

.la-archive__title a:hover {
	color: var(--la-teal);
}

.la-archive p {
	color: var(--la-body);
	line-height: 1.7;
}

/* ---- Small screens ------------------------------------------------------ */
@media (max-width: 640px) {
	.la-form-wrap::before {
		right: -10px;
		width: 140px;
		height: 120px;
	}

	.la-form-wrap::after {
		left: -10px;
		width: 110px;
		height: 100px;
	}

	.la-timeline::before {
		left: 56px;
	}

	.la-timeline__row {
		grid-template-columns: 48px 24px 1fr;
	}
}

/* ---- Homepage: red copy -------------------------------------------------
   Scoped to the front page's main content, so it applies in both rendering
   modes (the theme's native render and Elementor's own) and leaves the
   navbar and footer on the design-system colors. !important is needed
   because the bundled templates carry the heading color inline
   (title_color in elementor-templates/home.json).
   ------------------------------------------------------------------------- */
body.home .la-main p,
body.home .la-main .la-heading,
body.home .la-main .elementor-heading-title,
body.home .la-main .la-lead,
body.home .la-main .la-lead p,
body.home .la-main .la-eyebrow,
body.home .la-main .la-eyebrow p,
body.home .la-main .la-chip p,
body.home .la-main .la-link a,
body.home .la-main a.la-link {
	color: var(--la-red) !important;
}

body.home .la-main .la-link a:hover,
body.home .la-main a.la-link:hover {
	color: var(--la-red-dark) !important;
}
