/* ==========================================================================
   Love & Care — theme styles
   Palette, type and shapes come straight from the brand deck:
   navy + royal diagonals, sky-blue corner, lilac headings in navy pills,
   script statements, white rounded sheets, and the plus-sign confetti.
   ========================================================================== */

:root {
	--lc-ink: #0f2252;
	--lc-navy: #152f6b;
	--lc-royal: #1f4faa;
	--lc-royal-2: #2a6cc4;
	--lc-sky: #38b6ff;
	--lc-lilac: #e2a6ee;
	--lc-mauve: #b58bc6;
	--lc-blush: #fce6ee;
	--lc-white: #ffffff;
	--lc-text: #1b2a52;

	--lc-display: "Bebas Neue", "Oswald", "Arial Narrow", sans-serif;
	--lc-script: "Courgette", "Brush Script MT", cursive;
	--lc-body: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--lc-wrap: 1200px;
	--lc-gutter: clamp(20px, 4vw, 40px);
	--lc-section: clamp(64px, 8vw, 112px);
	--lc-r-xl: clamp(32px, 4vw, 56px);
	--lc-r-lg: clamp(24px, 3vw, 40px);
}

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

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

html { scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
	margin: 0;
	font-family: var(--lc-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--lc-text);
	background: var(--lc-white);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
a { color: var(--lc-royal); text-underline-offset: .18em; }
a:hover { color: var(--lc-navy); }

:focus-visible {
	outline: 3px solid var(--lc-sky);
	outline-offset: 3px;
	border-radius: 4px;
}

.lc-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.lc-skip {
	position: absolute;
	left: 12px; top: -60px;
	z-index: 1000;
	padding: 10px 18px;
	background: var(--lc-lilac);
	color: var(--lc-navy);
	font-weight: 600;
	border-radius: 999px;
	text-decoration: none;
}
.lc-skip:focus { top: 12px; }

.lc-wrap {
	width: 100%;
	max-width: calc(var(--lc-wrap) + var(--lc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-script { font-family: var(--lc-script); }

/* Buttons ------------------------------------------------------------------ */

.lc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .5em 1.5em .42em;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--lc-display);
	font-size: 22px;
	line-height: 1;
	letter-spacing: .03em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.lc-btn--lilac { background: var(--lc-lilac); color: var(--lc-navy); }
.lc-btn--lilac:hover { background: var(--lc-white); color: var(--lc-navy); }
.lc-btn--white { background: var(--lc-white); color: var(--lc-navy); }
.lc-btn--white:hover { background: var(--lc-lilac); color: var(--lc-navy); }
.lc-btn--ghost { border-color: var(--lc-white); color: var(--lc-white); }
.lc-btn--ghost:hover { background: var(--lc-white); color: var(--lc-navy); }
.lc-btn--navy { background: var(--lc-navy); color: var(--lc-white); }
.lc-btn--navy:hover { background: var(--lc-royal); color: var(--lc-white); }

/* Plus confetti -------------------------------------------------------------- */

.lc-plus { display: block; width: 220px; height: auto; pointer-events: none; }

/* Pill bar ("More info" strip) ------------------------------------------- */

.lc-infobar {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding-right: clamp(20px, 4vw, 64px);
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(255, 255, 255, .55) 0%, var(--lc-ink) 72%);
}
.lc-infobar__btn {
	flex: none;
	padding: .38em 1.6em .3em;
	border-radius: 999px;
	background: var(--lc-white);
	color: var(--lc-navy);
	font-family: var(--lc-display);
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .25);
}
.lc-infobar__btn:hover { background: var(--lc-lilac); color: var(--lc-navy); }
.lc-infobar__note {
	margin-left: clamp(16px, 3vw, 48px);
	color: var(--lc-white);
	font-size: 15px;
	line-height: 1.3;
}

/* Pill headings ---------------------------------------------------------- */

.lc-pill {
	display: inline-block;
	margin: 0 0 .7em;
	padding: .3em 1.4em .22em;
	border-radius: 999px;
	background: var(--lc-navy);
	color: var(--lc-lilac);
	font-family: var(--lc-display);
	font-size: clamp(32px, 3.6vw, 46px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: .01em;
}
.lc-pill--royal { background: var(--lc-royal-2); }
.lc-pill--onblue { background: var(--lc-white); color: var(--lc-navy); }

/* Script statements ---------------------------------------------------- */

.lc-statement,
.elementor-widget.lc-statement,
.elementor-widget.lc-statement p {
	font-family: var(--lc-script);
	font-size: clamp(19px, 2vw, 26px);
	line-height: 1.6;
	color: var(--lc-navy);
}
.lc-statement { margin: 0; max-width: 40ch; }
.lc-statement p { margin: 0 0 1em; }
.lc-statement p:last-child { margin-bottom: 0; }

.lc-statement--lg,
.elementor-widget.lc-statement--lg,
.elementor-widget.lc-statement--lg p {
	font-size: clamp(26px, 3.2vw, 42px);
	line-height: 1.35;
}
.lc-statement--lg { max-width: 22ch; }

.lc-statement--sm,
.elementor-widget.lc-statement--sm p { font-size: clamp(18px, 1.8vw, 23px); }

.lc-statement--on-dark,
.elementor-widget.lc-statement--on-dark,
.elementor-widget.lc-statement--on-dark p { color: var(--lc-white); }

.lc-display-sub,
.elementor-widget.lc-display-sub .elementor-heading-title {
	margin: 0 0 .5em;
	font-family: var(--lc-display);
	font-size: clamp(34px, 4vw, 54px);
	font-weight: 400;
	line-height: 1;
	color: var(--lc-white);
}

/* Diagonal brand background --------------------------------------------- */

.lc-diag {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--lc-navy);
	background-image:
		linear-gradient(118deg, transparent 0 36%, var(--lc-royal) 36% 70%, transparent 70%),
		linear-gradient(160deg, var(--lc-ink) 0%, var(--lc-navy) 60%);
	color: var(--lc-white);
}
.lc-diag::before {
	content: "";
	position: absolute;
	top: 0; right: 0;
	z-index: -1;
	width: clamp(120px, 22vw, 360px);
	height: 62%;
	background: var(--lc-sky);
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

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

.lc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--lc-navy);
	color: var(--lc-white);
}
.admin-bar .lc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lc-header { top: 0; position: relative; } }

.lc-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	max-width: calc(var(--lc-wrap) + var(--lc-gutter) * 2);
	margin-inline: auto;
	padding: 10px var(--lc-gutter);
}

.lc-capsule {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 172px;
	height: 68px;
	padding: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--lc-ink), #0a1838);
	flex: none;
}
.lc-capsule__plus {
	position: absolute;
	left: 14px; top: 50%;
	width: 84px;
	transform: translateY(-50%);
}
.lc-capsule__logo {
	position: relative;
	width: 60px;
	height: 60px;
	object-fit: contain;
	border-radius: 50%;
	background: var(--lc-blush);
}

.lc-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-left: auto;
}
.lc-nav__list {
	display: flex;
	gap: 4px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lc-nav__list a {
	display: block;
	padding: 6px 0;
	color: var(--lc-white);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.lc-nav__list a:hover,
.lc-nav__list .current-menu-item > a { border-bottom-color: var(--lc-lilac); color: var(--lc-white); }
.lc-nav__list .sub-menu {
	display: none;
	position: absolute;
	min-width: 200px;
	margin: 0;
	padding: 10px 16px;
	list-style: none;
	background: var(--lc-ink);
	border-radius: 16px;
}
.lc-nav__list li { position: relative; }
.lc-nav__list li:hover > .sub-menu,
.lc-nav__list li:focus-within > .sub-menu { display: block; }
.lc-nav__cta { font-size: 20px; }

.lc-nav-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	padding: 10px 16px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-radius: 999px;
	background: transparent;
	color: var(--lc-white);
	font: 500 15px/1 var(--lc-body);
	cursor: pointer;
}
.lc-nav-toggle__bars,
.lc-nav-toggle__bars::before,
.lc-nav-toggle__bars::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform .2s;
}
.lc-nav-toggle__bars { position: relative; }
.lc-nav-toggle__bars::before,
.lc-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.lc-nav-toggle__bars::before { top: -6px; }
.lc-nav-toggle__bars::after { top: 6px; }
.lc-nav-toggle[aria-expanded="true"] .lc-nav-toggle__bars { background: transparent; }
.lc-nav-toggle[aria-expanded="true"] .lc-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.lc-nav-toggle[aria-expanded="true"] .lc-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 960px) {
	.lc-nav-toggle { display: inline-flex; }
	.lc-nav {
		display: none;
		position: absolute;
		left: 0; right: 0; top: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 16px var(--lc-gutter) 28px;
		background: var(--lc-navy);
		border-top: 1px solid rgba(255, 255, 255, .12);
	}
	.lc-nav.is-open { display: flex; }
	.lc-nav__list { flex-direction: column; }
	.lc-nav__list a { padding: 10px 0; font-size: 18px; }
	.lc-nav__list .sub-menu { position: static; display: block; background: transparent; padding: 0 0 0 16px; }
	.lc-nav__cta { align-self: flex-start; }
}

/* Hero ------------------------------------------------------------------- */

.lc-hero { padding-block: clamp(48px, 7vw, 96px) clamp(40px, 6vw, 80px); }
.lc-hero--widget { padding: 0; }

.lc-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
	margin-bottom: clamp(32px, 4vw, 48px);
}

.lc-hero__panel {
	padding: clamp(32px, 5vw, 64px) clamp(28px, 5vw, 72px);
	border-radius: var(--lc-r-xl);
	background: rgba(42, 108, 196, .82);
	color: var(--lc-white);
}
.lc-hero__kicker {
	margin: 0 0 .35em;
	font-family: var(--lc-display);
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1;
}
.lc-amp { color: var(--lc-lilac); }

.lc-hero__title {
	margin: 0 0 .25em;
	font-family: var(--lc-display);
	font-size: clamp(60px, 8vw, 120px);
	font-weight: 400;
	line-height: .88;
	letter-spacing: .005em;
	color: var(--lc-white);
}
.lc-hero__title .lc-l { color: var(--lc-lilac); }

.lc-hero__tagline {
	margin: 0;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.45;
	color: var(--lc-white);
	max-width: 22ch;
}

.lc-hero__art { position: relative; }
.lc-hero__plus {
	position: absolute;
	top: clamp(-90px, -7vw, -40px);
	left: -8%;
	width: clamp(160px, 22vw, 300px);
	z-index: 2;
}
.lc-hero__card {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 5 / 4;
	padding: 8%;
	border-radius: var(--lc-r-xl);
	background: var(--lc-white);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .15) 0%, #000 22%);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, .15) 0%, #000 22%);
}
.lc-hero__logo { width: min(100%, 440px); height: auto; }

/* The one orchestrated moment: the plus confetti pops in on load. */
@media (prefers-reduced-motion: no-preference) {
	.lc-hero__plus path {
		transform-box: fill-box;
		transform-origin: center;
		animation: lc-pop .5s cubic-bezier(.34, 1.56, .64, 1) both;
	}
	.lc-hero__plus path:nth-child(2) { animation-delay: .06s; }
	.lc-hero__plus path:nth-child(3) { animation-delay: .12s; }
	.lc-hero__plus path:nth-child(4) { animation-delay: .18s; }
	.lc-hero__plus path:nth-child(5) { animation-delay: .24s; }
	.lc-hero__plus path:nth-child(6) { animation-delay: .30s; }
	.lc-hero__plus path:nth-child(7) { animation-delay: .36s; }
	.lc-hero__plus path:nth-child(8) { animation-delay: .42s; }
	.lc-hero__plus path:nth-child(9) { animation-delay: .48s; }
	.lc-hero__plus path:nth-child(10) { animation-delay: .54s; }
	.lc-hero__plus path:nth-child(11) { animation-delay: .60s; }
}
@keyframes lc-pop {
	from { transform: scale(0) rotate(-45deg); opacity: 0; }
	to { transform: scale(1) rotate(0); opacity: 1; }
}

/* Split section (about, mission): text on white, photo in a navy block ----- */

.lc-split {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	background: var(--lc-white);
	overflow: hidden;
}
.lc-split::before {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: clamp(14px, 5vw, 80px);
	height: 72%;
	background: var(--lc-sky);
	border-top-right-radius: clamp(24px, 4vw, 64px);
}
.lc-split__text {
	position: relative;
	align-self: center;
	padding: var(--lc-section) clamp(24px, 5vw, 72px) var(--lc-section) calc(clamp(14px, 5vw, 80px) + clamp(20px, 4vw, 64px));
	max-width: 760px;
	margin-left: auto;
}
.lc-split__trail {
	position: absolute;
	top: clamp(16px, 3vw, 40px);
	right: 0;
	width: clamp(140px, 18vw, 260px);
}
.lc-split__media--navy {
	display: flex;
	align-items: flex-end;
	padding: clamp(48px, 7vw, 120px) clamp(24px, 5vw, 72px) 0;
	background: var(--lc-navy);
	border-bottom-left-radius: clamp(60px, 10vw, 160px);
}
.lc-split__media img {
	width: 100%;
	height: clamp(360px, 44vw, 600px);
	object-fit: cover;
	object-position: var(--lc-focus, 50%) center;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%);
	mask-image: linear-gradient(180deg, transparent 0, #000 14%);
}

/* Band section (history, services, contact): white sheet + rounded photo ---- */

.lc-band { padding-block: var(--lc-section); }

.lc-band__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
}
.lc-band__grid + .lc-band__grid { margin-top: clamp(40px, 6vw, 80px); }
.lc-band__grid--flip > :first-child { order: 2; }

.lc-sheet {
	padding: clamp(28px, 4vw, 56px);
	border-radius: var(--lc-r-xl);
	background: var(--lc-white);
	color: var(--lc-navy);
}
.lc-sheet--bare { padding: 0; background: transparent; }

.lc-band__media { position: relative; }
.lc-band__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--lc-r-xl);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .2) 0%, #000 20%);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, .2) 0%, #000 20%);
}
.lc-band__plus {
	position: absolute;
	top: clamp(-80px, -6vw, -40px);
	left: -6%;
	z-index: 2;
	width: clamp(140px, 16vw, 220px);
}

/* Services ---------------------------------------------------------------- */

.lc-svc + .lc-svc { margin-top: clamp(20px, 3vw, 32px); }
.lc-svc__title {
	margin: 0 0 .5em;
	font-family: var(--lc-script);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 400;
	line-height: 1.25;
	color: var(--lc-navy);
}
.lc-svc__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lc-svc__list li {
	position: relative;
	padding-left: 26px;
	font-size: 17px;
	font-style: italic;
	line-height: 1.45;
	color: var(--lc-navy);
}
.lc-svc__list li::before {
	content: "";
	position: absolute;
	left: 0; top: .35em;
	width: 14px; height: 14px;
	background: var(--lc-sky);
	clip-path: polygon(32% 0, 68% 0, 68% 32%, 100% 32%, 100% 68%, 68% 68%, 68% 100%, 32% 100%, 32% 68%, 0 68%, 0 32%, 32% 32%);
}

/* Slant section (vision, values): photo on white, text on slanted navy ------ */

.lc-slant {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	background: var(--lc-white);
	overflow: hidden;
}
.lc-slant::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: clamp(10px, 4vw, 64px);
	background: var(--lc-sky);
	clip-path: polygon(0 0, 100% 0, 30% 100%, 0 100%);
}
.lc-slant__media {
	align-self: center;
	padding: clamp(40px, 6vw, 80px) clamp(24px, 3vw, 40px) clamp(40px, 6vw, 80px) clamp(40px, 7vw, 120px);
}
.lc-slant__media img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: var(--lc-r-xl);
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .1) 0%, #000 22%);
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, .1) 0%, #000 22%);
}
.lc-slant__media--mono img { filter: grayscale(1) contrast(1.05); }

.lc-slant__text {
	position: relative;
	padding: var(--lc-section) clamp(24px, 5vw, 80px) var(--lc-section) clamp(64px, 10vw, 140px);
	background: var(--lc-navy);
	color: var(--lc-white);
	clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}
.lc-slant__plus {
	position: absolute;
	right: 3%; top: 6%;
	width: clamp(110px, 12vw, 180px);
}

.lc-values__line,
.elementor-widget.lc-values__line .elementor-heading-title {
	margin: 0 0 .4em;
	font-family: var(--lc-script);
	font-size: clamp(24px, 2.8vw, 38px);
	font-weight: 400;
	line-height: 1.3;
	color: var(--lc-white);
}
.lc-values__inset { margin-top: clamp(24px, 3vw, 40px); max-width: 420px; }
.lc-values__inset img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

/* Contact ------------------------------------------------------------- */

.lc-contact { padding-block: var(--lc-section); }
.lc-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.lc-stack { margin: 0 0 .3em; font-weight: 400; }
.lc-stack span {
	display: block;
	width: fit-content;
	padding: .06em .28em 0;
	border-radius: clamp(24px, 3vw, 44px);
	background: var(--lc-white);
	color: var(--lc-lilac);
	font-family: var(--lc-display);
	font-size: clamp(80px, 12vw, 180px);
	line-height: .92;
}
.lc-stack span + span { margin-top: -.02em; border-top-left-radius: 0; }

.lc-contact__lead { max-width: 44ch; margin: 1.2em 0; font-size: 18px; color: var(--lc-white); }
.lc-contact__direct { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 1.2em; }
.lc-contact__form {
	padding: clamp(24px, 3vw, 40px);
	border-radius: var(--lc-r-lg);
	background: var(--lc-white);
	color: var(--lc-text);
}
.lc-admin-hint {
	padding: 12px 16px;
	border: 2px dashed var(--lc-lilac);
	border-radius: 16px;
	font-size: 14px;
	color: var(--lc-white);
}

/* Forms (also styles CF7 / WPForms inside the contact card) ---------------- */

.lc-contact__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.lc-contact__form select,
.lc-contact__form textarea,
.lc-search input[type="search"],
.lc-prose input:not([type="submit"]):not([type="checkbox"]),
.lc-prose textarea {
	width: 100%;
	padding: 12px 16px;
	border: 2px solid #d4dcef;
	border-radius: 14px;
	background: var(--lc-white);
	color: var(--lc-text);
	font: 16px/1.4 var(--lc-body);
}
.lc-contact__form input:focus,
.lc-contact__form textarea:focus,
.lc-search input:focus { border-color: var(--lc-sky); outline: none; box-shadow: 0 0 0 3px rgba(56, 182, 255, .3); }

.lc-contact__form [type="submit"],
.lc-prose [type="submit"],
.wp-block-button__link {
	padding: .5em 1.6em .42em;
	border: 0;
	border-radius: 999px;
	background: var(--lc-navy);
	color: var(--lc-white);
	font: 400 22px/1 var(--lc-display);
	letter-spacing: .03em;
	cursor: pointer;
}
.lc-contact__form [type="submit"]:hover,
.lc-prose [type="submit"]:hover { background: var(--lc-royal); }

.lc-search { display: flex; gap: 10px; max-width: 520px; }

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

.lc-footer {
	position: relative;
	overflow: hidden;
	background: var(--lc-ink);
	color: rgba(255, 255, 255, .85);
	font-size: 15px;
}
.lc-footer__plus {
	position: absolute;
	right: -40px; top: -30px;
	width: 320px;
	opacity: .35;
}
.lc-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 40px;
	max-width: calc(var(--lc-wrap) + var(--lc-gutter) * 2);
	margin-inline: auto;
	padding: 72px var(--lc-gutter) 48px;
}
.lc-footer__brand img { width: 120px; height: 120px; }
.lc-footer__motto { margin: 16px 0 0; font-family: var(--lc-script); font-size: 20px; color: var(--lc-white); max-width: 18ch; }
.lc-footer__title {
	margin: 0 0 14px;
	font-family: var(--lc-display);
	font-size: 28px;
	font-weight: 400;
	color: var(--lc-lilac);
}
.lc-footer ul { margin: 0; padding: 0; list-style: none; }
.lc-footer li + li { margin-top: 8px; }
.lc-footer a { color: var(--lc-white); text-decoration: none; }
.lc-footer a:hover { color: var(--lc-lilac); text-decoration: underline; }
.lc-footer__base {
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 18px var(--lc-gutter);
	text-align: center;
	font-size: 14px;
}
.lc-footer__base p { margin: 0; }

/* Inner pages --------------------------------------------------------- */

.lc-pagehead {
	position: relative;
	overflow: hidden;
	padding-block: clamp(56px, 8vw, 104px);
	background: var(--lc-navy);
	background-image: linear-gradient(118deg, transparent 0 46%, var(--lc-royal) 46% 78%, transparent 78%);
	color: var(--lc-white);
}
.lc-pagehead__plus {
	position: absolute;
	right: 4%; top: 50%;
	width: clamp(140px, 18vw, 240px);
	transform: translateY(-50%);
}
.lc-pagehead__title {
	margin: 0;
	max-width: 18ch;
	font-family: var(--lc-display);
	font-size: clamp(48px, 7vw, 96px);
	font-weight: 400;
	line-height: .95;
}
.lc-pagehead__meta { margin: 0 0 8px; color: var(--lc-lilac); font-size: 15px; }

.lc-prose {
	max-width: 760px;
	padding-block: clamp(40px, 6vw, 72px);
}
.lc-prose h2,
.lc-prose h3,
.lc-prose h4 {
	font-family: var(--lc-display);
	font-weight: 400;
	line-height: 1.05;
	color: var(--lc-navy);
}
.lc-prose h2 { font-size: 44px; margin: 1.4em 0 .4em; }
.lc-prose h3 { font-size: 34px; margin: 1.3em 0 .4em; }
.lc-prose blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 24px;
	border-left: 6px solid var(--lc-lilac);
	font-family: var(--lc-script);
	font-size: 24px;
	line-height: 1.5;
	color: var(--lc-navy);
}
.lc-prose__hero img { width: 100%; border-radius: var(--lc-r-lg); margin-bottom: 32px; }
.lc-prose .alignwide { max-width: 1100px; margin-inline: calc((760px - 1100px) / 2); }
.lc-prose .alignfull { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); }

.lc-listing { padding-block: clamp(40px, 6vw, 72px); }
.lc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 28px;
}
.lc-card {
	overflow: hidden;
	border-radius: var(--lc-r-lg);
	background: var(--lc-blush);
}
.lc-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lc-card__body { padding: 24px 28px 28px; }
.lc-card__date { margin: 0 0 6px; font-size: 14px; color: var(--lc-royal); }
.lc-card__title { margin: 0 0 8px; font-family: var(--lc-display); font-size: 32px; font-weight: 400; line-height: 1.05; }
.lc-card__title a { color: var(--lc-navy); text-decoration: none; }
.lc-card__title a:hover { color: var(--lc-royal); text-decoration: underline; }
.lc-card__excerpt p { margin: 0; font-size: 16px; }

.nav-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 40px; }
.nav-links .page-numbers {
	display: inline-flex;
	min-width: 44px;
	padding: 10px 16px;
	justify-content: center;
	border-radius: 999px;
	background: var(--lc-blush);
	color: var(--lc-navy);
	text-decoration: none;
}
.nav-links .page-numbers.current { background: var(--lc-navy); color: var(--lc-white); }

.lc-empty { padding: 24px 0; }
.lc-empty p { font-size: 18px; }

.lc-404 { padding-block: clamp(80px, 12vw, 160px); position: relative; overflow: hidden; background: var(--lc-navy); color: var(--lc-white); }
.lc-404__plus { position: absolute; right: 6%; top: 12%; width: 260px; }
.lc-404__title { margin: 0 0 .2em; font: 400 clamp(64px, 10vw, 140px)/.9 var(--lc-display); color: var(--lc-lilac); }
.lc-404 .lc-script { font-size: 24px; max-width: 30ch; }
.lc-404 .lc-search { margin: 28px 0; }

/* Elementor --------------------------------------------------------------- */
/* Classes used by the bundled Elementor home page (and available to you):
   lc-el-section, lc-diag, lc-el-light, lc-el-navy, lc-el-navyframe,
   lc-sheet, lc-el-photo, lc-el-mono, lc-statement(--lg|--sm|--on-dark),
   lc-display-sub, lc-values__line, lc-values__inset. */

.lc-elementor-page .lc-main,
.lc-canvas { overflow-x: clip; }

.e-con.lc-el-section {
	--padding-top: var(--lc-section);
	--padding-bottom: var(--lc-section);
	--padding-left: var(--lc-gutter);
	--padding-right: var(--lc-gutter);
}
.e-con.lc-el-light { background-color: var(--lc-white); }
.e-con.lc-el-navy { background-color: var(--lc-navy); color: var(--lc-white); }
.e-con.lc-el-navyframe {
	--padding-top: clamp(48px, 7vw, 120px);
	--padding-right: clamp(24px, 4vw, 56px);
	--padding-bottom: 0px;
	--padding-left: clamp(24px, 4vw, 56px);
	background-color: var(--lc-navy);
	border-bottom-left-radius: clamp(60px, 10vw, 160px);
	overflow: hidden;
}
.e-con.lc-sheet {
	--padding-top: clamp(28px, 4vw, 56px);
	--padding-right: clamp(28px, 4vw, 56px);
	--padding-bottom: clamp(28px, 4vw, 56px);
	--padding-left: clamp(28px, 4vw, 56px);
}
.lc-el-photo img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--lc-r-xl);
}
.lc-el-navyframe .lc-el-photo img { aspect-ratio: 3 / 4; border-radius: 0; object-position: var(--lc-focus, 50%) center; }
.lc-el-mono img { filter: grayscale(1) contrast(1.05); }
.elementor-widget.lc-values__inset img { aspect-ratio: 3 / 2; object-fit: cover; }

/* Responsive ---------------------------------------------------------- */

@media (max-width: 900px) {
	.lc-hero__grid,
	.lc-band__grid,
	.lc-contact__grid,
	.lc-split,
	.lc-slant { grid-template-columns: 1fr; }

	.lc-band__grid--flip > :first-child { order: 0; }

	.lc-hero__art { max-width: 520px; margin-top: 24px; }

	.lc-split__text { margin-left: 0; max-width: none; padding-bottom: 48px; }
	.lc-split::before { height: 40%; top: 0; bottom: auto; border-radius: 0 0 48px 0; }
	.lc-split__media--navy { border-bottom-left-radius: 0; border-top-left-radius: 80px; margin-left: var(--lc-gutter); }

	.lc-slant__media { padding: 48px var(--lc-gutter) 24px clamp(32px, 8vw, 72px); }
	.lc-slant__text { clip-path: polygon(0 6%, 100% 0, 100% 100%, 0 100%); padding: 96px var(--lc-gutter) 72px; }
}

@media (max-width: 600px) {
	body { font-size: 16px; }
	.lc-infobar { flex-direction: column; align-items: stretch; padding: 0; border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, .35), var(--lc-ink)); }
	.lc-infobar__btn { text-align: center; }
	.lc-infobar__note { margin: 10px 20px 12px; text-align: center; }
	.lc-capsule { width: 140px; height: 58px; }
	.lc-capsule__logo { width: 50px; height: 50px; }
	.lc-capsule__plus { width: 66px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

.elementor-widget.lc-contact__lead,
.elementor-widget.lc-contact__lead p { color: var(--lc-white); font-family: var(--lc-body); font-size: 18px; }
.elementor-widget.lc-contact__lead strong { color: var(--lc-lilac); font-weight: 600; }

.lc-comments { margin-top: 48px; }
.lc-comments__title { font: 400 40px/1 var(--lc-display); color: var(--lc-navy); }
.lc-comments__list { padding-left: 0; list-style: none; }
.lc-comments__list .comment-body { padding: 20px 24px; margin-bottom: 16px; border-radius: 24px; background: var(--lc-blush); }
.lc-comments__list .children { list-style: none; padding-left: 24px; }

/* Where the people are in each bundled photo. */
#about { --lc-focus: 18%; }
#mission { --lc-focus: 40%; }

.lc-values__inset img { border-radius: var(--lc-r-lg); }
.lc-footer__widgets h2,
.lc-footer__widgets .wp-block-heading {
	margin: 0 0 12px;
	font-family: var(--lc-display);
	font-size: 28px;
	font-weight: 400;
	color: var(--lc-lilac);
}
