/*
Theme Name: Lucent
Theme URI: https://example.com/lucent
Author: Lucent Themes
Author URI: https://example.com
Description: A premium, Apple-grade WordPress theme built on fluid-interface principles: translucent materials, spring-based motion, velocity-aware gestures and optically tuned typography. No build step, no external dependencies, no framework lock-in.
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lucent
Tags: blog, portfolio, business, full-width-template, block-patterns, block-styles, custom-colors, custom-logo, custom-menu, dark-mode, editor-style, featured-images, rtl-language-support, sticky-post, threaded-comments, translation-ready, accessibility-ready, wide-blocks
*/

/* =========================================================================
   Lucent — Table of contents
   1.  Tokens (color, type, space, motion, material)
   2.  Reset & base
   3.  Typography (size-specific tracking + leading)
   4.  Layout primitives
   5.  Buttons & controls (press feedback on pointer-down)
   6.  Header — translucent material + scroll edge effect
   7.  Navigation — desktop popovers + mobile sheet
   8.  Hero & tiles
   9.  Post content & blocks
   10. Comments & forms
   11. Footer
   12. Motion utilities (reveal, marquee-free)
   13. Accessibility preferences (motion, transparency, contrast)
   14. Print
   ====================================================================== */

/* -------------------------------------------------------------------------
   1. Tokens
   ---------------------------------------------------------------------- */

:root {
	/* Platform-first type stack. SF on Apple hardware, native elsewhere.
	   Per apple-design §15: default to the system face — it already ships
	   optical sizing, tracking tables and legibility tuning. */
	--lc-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, Inter, Arial, sans-serif;
	--lc-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

	/* Neutrals */
	--lc-white: #fff;
	--lc-black: #000;

	/* Semantic colour — light appearance */
	--lc-bg: #fff;
	--lc-bg-elevated: #fff;
	--lc-bg-alt: #f5f5f7;
	--lc-bg-inset: #fafafc;
	--lc-ink: #1d1d1f;
	--lc-ink-2: #6e6e73;
	--lc-ink-3: #86868b;
	--lc-accent: #0071e3;
	--lc-accent-hover: #0077ed;
	--lc-link: #06c;
	--lc-hairline: rgba(0, 0, 0, .12);
	--lc-hairline-soft: rgba(0, 0, 0, .06);
	--lc-scrim: rgba(0, 0, 0, .48);

	/* Material — translucent chrome (apple-design §12) */
	--lc-material-thick: rgba(255, 255, 255, .72);
	--lc-material-thin: rgba(255, 255, 255, .58);
	--lc-material-blur: saturate(180%) blur(20px);
	--lc-material-blur-lg: saturate(180%) blur(30px);
	--lc-material-edge: rgba(255, 255, 255, .5);

	/* Elevation. Bigger surfaces read as thicker. */
	--lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 1px rgba(0, 0, 0, .04);
	--lc-shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .05);
	--lc-shadow-lg: 0 18px 48px rgba(0, 0, 0, .14), 0 4px 12px rgba(0, 0, 0, .06);

	/* Radii — Apple's pill is a very large radius, not 50% */
	--lc-radius-xs: 8px;
	--lc-radius-sm: 12px;
	--lc-radius-md: 18px;
	--lc-radius-lg: 28px;
	--lc-radius-pill: 980px;

	/* Space — rem so layout scales with the user's text size (§15) */
	--lc-space-1: .25rem;
	--lc-space-2: .5rem;
	--lc-space-3: .75rem;
	--lc-space-4: 1rem;
	--lc-space-5: 1.5rem;
	--lc-space-6: 2rem;
	--lc-space-7: 3rem;
	--lc-space-8: 4.5rem;
	--lc-space-9: 6.5rem;

	/* Measure */
	--lc-width-content: 42rem;
	--lc-width-wide: 62rem;
	--lc-width-max: 80rem;
	--lc-gutter: clamp(1.25rem, 4vw, 2.75rem);

	/* Chrome */
	--lc-header-height: 48px;

	/* Motion. Non-gesture transitions only; anything the user can touch
	   is driven by the spring engine in assets/js/motion.js (§4). */
	--lc-ease-out: cubic-bezier(.25, .1, .25, 1);
	--lc-ease-in: cubic-bezier(.4, 0, .68, .06);
	--lc-ease-standard: cubic-bezier(.4, 0, .2, 1);
	--lc-dur-press: 100ms;
	--lc-dur-fast: 200ms;
	--lc-dur-base: 320ms;
	--lc-dur-slow: 500ms;
}

/* Dark appearance. Applied by explicit choice or by system preference. */
:root[data-appearance="dark"] {
	--lc-bg: #000;
	--lc-bg-elevated: #1d1d1f;
	--lc-bg-alt: #101012;
	--lc-bg-inset: #161618;
	--lc-ink: #f5f5f7;
	--lc-ink-2: #a1a1a6;
	--lc-ink-3: #86868b;
	--lc-accent: #2997ff;
	--lc-accent-hover: #47a5ff;
	--lc-link: #2997ff;
	--lc-hairline: rgba(255, 255, 255, .16);
	--lc-hairline-soft: rgba(255, 255, 255, .08);
	--lc-scrim: rgba(0, 0, 0, .64);
	--lc-material-thick: rgba(22, 22, 23, .72);
	--lc-material-thin: rgba(22, 22, 23, .6);
	--lc-material-edge: rgba(255, 255, 255, .12);
	--lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);
	--lc-shadow-md: 0 4px 16px rgba(0, 0, 0, .55);
	--lc-shadow-lg: 0 18px 48px rgba(0, 0, 0, .65);
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	:root[data-appearance="auto"] {
		--lc-bg: #000;
		--lc-bg-elevated: #1d1d1f;
		--lc-bg-alt: #101012;
		--lc-bg-inset: #161618;
		--lc-ink: #f5f5f7;
		--lc-ink-2: #a1a1a6;
		--lc-ink-3: #86868b;
		--lc-accent: #2997ff;
		--lc-accent-hover: #47a5ff;
		--lc-link: #2997ff;
		--lc-hairline: rgba(255, 255, 255, .16);
		--lc-hairline-soft: rgba(255, 255, 255, .08);
		--lc-scrim: rgba(0, 0, 0, .64);
		--lc-material-thick: rgba(22, 22, 23, .72);
		--lc-material-thin: rgba(22, 22, 23, .6);
		--lc-material-edge: rgba(255, 255, 255, .12);
		--lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);
		--lc-shadow-md: 0 4px 16px rgba(0, 0, 0, .55);
		--lc-shadow-lg: 0 18px 48px rgba(0, 0, 0, .65);
		color-scheme: dark;
	}
}

/* Theme-on-a-section: invert a band without touching the document root. */
.lc-on-dark {
	--lc-bg: #000;
	--lc-bg-alt: #101012;
	--lc-ink: #f5f5f7;
	--lc-ink-2: #a1a1a6;
	--lc-ink-3: #86868b;
	--lc-link: #2997ff;
	--lc-accent: #2997ff;
	--lc-hairline: rgba(255, 255, 255, .16);
	background-color: #000;
	color: #f5f5f7;
}

/* -------------------------------------------------------------------------
   2. Reset & base
   ---------------------------------------------------------------------- */

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

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--lc-header-height) + 1.5rem);
}

body {
	margin: 0;
	background-color: var(--lc-bg);
	color: var(--lc-ink);
	font-family: var(--lc-font-sans);
	font-size: 1.0625rem;
	line-height: 1.5;
	letter-spacing: -.01em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis-weight: none;
	overflow-wrap: break-word;
}

/* Locked while a modal sheet owns the screen. */
body.lc-scroll-locked {
	overflow: hidden;
	touch-action: none;
}

img,
svg,
video,
canvas,
iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

figure {
	margin: 0;
}

a {
	color: var(--lc-link);
	text-decoration: none;
	transition: color var(--lc-dur-fast) var(--lc-ease-out);
}

a:hover {
	text-decoration: underline;
	text-underline-offset: .18em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--lc-accent);
	outline-offset: 3px;
	border-radius: var(--lc-radius-xs);
}

/* Never remove focus rings wholesale — only for pointer users. */
:where(a, button, input, select, textarea, summary):focus:not(:focus-visible) {
	outline: none;
}

hr {
	border: 0;
	border-top: 1px solid var(--lc-hairline);
	margin: var(--lc-space-7) 0;
}

::selection {
	background: var(--lc-accent);
	color: #fff;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.screen-reader-text:focus {
	background-color: var(--lc-bg-elevated);
	clip-path: none;
	color: var(--lc-ink);
	display: block;
	font-size: .875rem;
	font-weight: 600;
	height: auto;
	left: 1rem;
	line-height: normal;
	padding: .75rem 1.25rem;
	border-radius: var(--lc-radius-pill);
	box-shadow: var(--lc-shadow-md);
	text-decoration: none;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

.lc-skip-link:focus {
	position: fixed;
}

/* -------------------------------------------------------------------------
   3. Typography — tracking is size-specific, never one value for all sizes
   ---------------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6,
.lc-display, .lc-headline, .lc-title {
	margin: 0 0 .5em;
	font-weight: 600;
	color: var(--lc-ink);
	font-optical-sizing: auto;
	text-wrap: balance;
}

/* Large text: negative tracking, tight leading. */
.lc-display {
	font-size: clamp(2.75rem, 7.2vw, 5.5rem);
	line-height: 1.04;
	letter-spacing: -.025em;
	font-weight: 600;
}

h1,
.lc-headline {
	font-size: clamp(2.25rem, 5.2vw, 3.5rem);
	line-height: 1.07;
	letter-spacing: -.021em;
}

h2 {
	font-size: clamp(1.875rem, 3.6vw, 2.75rem);
	line-height: 1.1;
	letter-spacing: -.018em;
}

h3 {
	font-size: clamp(1.375rem, 2.4vw, 1.75rem);
	line-height: 1.16;
	letter-spacing: -.014em;
}

h4 {
	font-size: 1.3125rem;
	line-height: 1.24;
	letter-spacing: -.01em;
}

h5 {
	font-size: 1.0625rem;
	line-height: 1.4;
	letter-spacing: -.005em;
}

/* Small text wants slightly positive tracking for legibility. */
h6 {
	font-size: .8125rem;
	line-height: 1.4;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--lc-ink-2);
	font-weight: 600;
}

p {
	margin: 0 0 1.25em;
}

.lc-lede {
	font-size: clamp(1.1875rem, 2vw, 1.5rem);
	line-height: 1.42;
	letter-spacing: -.012em;
	color: var(--lc-ink-2);
	text-wrap: pretty;
}

.lc-eyebrow {
	font-size: .8125rem;
	line-height: 1.3;
	letter-spacing: .055em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--lc-accent);
	margin: 0 0 var(--lc-space-3);
}

.lc-caption,
.lc-meta,
figcaption,
.wp-element-caption {
	font-size: .8125rem;
	line-height: 1.42;
	letter-spacing: .005em;
	color: var(--lc-ink-3);
}

small {
	font-size: .8125rem;
	letter-spacing: .005em;
}

strong, b {
	font-weight: 600;
}

code, kbd, samp, pre {
	font-family: var(--lc-font-mono);
	font-size: .9em;
	letter-spacing: 0;
}

code {
	background: var(--lc-bg-alt);
	padding: .15em .4em;
	border-radius: 6px;
}

pre {
	background: var(--lc-bg-alt);
	border: 1px solid var(--lc-hairline-soft);
	border-radius: var(--lc-radius-sm);
	padding: var(--lc-space-5);
	overflow-x: auto;
	line-height: 1.55;
	-webkit-overflow-scrolling: touch;
}

pre code {
	background: none;
	padding: 0;
}

blockquote {
	margin: var(--lc-space-6) 0;
	padding-left: var(--lc-space-5);
	border-left: 3px solid var(--lc-accent);
	font-size: 1.25rem;
	line-height: 1.45;
	letter-spacing: -.014em;
	color: var(--lc-ink);
}

blockquote cite {
	display: block;
	margin-top: var(--lc-space-3);
	font-size: .875rem;
	font-style: normal;
	color: var(--lc-ink-3);
	letter-spacing: .005em;
}

/* -------------------------------------------------------------------------
   4. Layout primitives
   ---------------------------------------------------------------------- */

.lc-shell {
	width: 100%;
	max-width: var(--lc-width-max);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-shell--wide {
	max-width: var(--lc-width-wide);
}

.lc-shell--content {
	max-width: var(--lc-width-content);
}

.lc-section {
	padding-block: clamp(3.5rem, 9vw, var(--lc-space-9));
}

.lc-section--tight {
	padding-block: clamp(2.5rem, 6vw, var(--lc-space-7));
}

.lc-section--alt {
	background: var(--lc-bg-alt);
}

.lc-stack > * + * {
	margin-top: var(--lc-space-4);
}

.lc-grid {
	display: grid;
	gap: clamp(1rem, 2.2vw, 1.5rem);
}

.lc-grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
}

.lc-grid--3 {
	grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
}

.lc-center {
	text-align: center;
	margin-inline: auto;
}

.lc-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.lc-main {
	flex: 1 0 auto;
}

/* -------------------------------------------------------------------------
   5. Buttons & controls — feedback on pointer-down (§1)
   ---------------------------------------------------------------------- */

.lc-btn,
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"],
.wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	font-family: inherit;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -.01em;
	padding: .75em 1.35em;
	min-height: 44px; /* comfortable target, hit padding built in */
	border: 0;
	border-radius: var(--lc-radius-pill);
	background: var(--lc-accent);
	color: #fff;
	cursor: pointer;
	text-decoration: none;
	/* transform is compositor-friendly; the press reads instantly */
	transition: background-color var(--lc-dur-fast) var(--lc-ease-out),
		transform var(--lc-dur-press) var(--lc-ease-out),
		opacity var(--lc-dur-fast) var(--lc-ease-out);
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.lc-btn:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
	background: var(--lc-accent-hover);
	color: #fff;
	text-decoration: none;
}

/* Pressed state fires on pointer-down, not on release. */
.lc-btn:active,
.lc-btn.is-pressed,
.wp-block-button__link:active,
button:active,
input[type="submit"]:active {
	transform: scale(.97);
}

.lc-btn--secondary {
	background: transparent;
	color: var(--lc-accent);
	box-shadow: inset 0 0 0 1px currentColor;
}

.lc-btn--secondary:hover {
	background: color-mix(in srgb, var(--lc-accent) 8%, transparent);
	color: var(--lc-accent);
}

.lc-btn--quiet {
	background: var(--lc-bg-alt);
	color: var(--lc-ink);
	box-shadow: none;
}

.lc-btn--quiet:hover {
	background: color-mix(in srgb, var(--lc-ink) 10%, var(--lc-bg-alt));
	color: var(--lc-ink);
}

.lc-btn--link {
	background: none;
	color: var(--lc-link);
	padding: 0;
	min-height: 0;
	font-size: inherit;
}

.lc-btn--link:hover {
	background: none;
	color: var(--lc-link);
	text-decoration: underline;
	text-underline-offset: .18em;
}

.lc-btn--lg {
	font-size: 1.1875rem;
	padding: .9em 1.75em;
}

/* Chevron affordance that hints direction on hover. */
.lc-cta-link {
	display: inline-flex;
	align-items: center;
	gap: .3em;
	color: var(--lc-link);
	font-size: 1.0625rem;
	letter-spacing: -.01em;
}

.lc-cta-link:hover {
	text-decoration: none;
}

.lc-cta-link .lc-chevron {
	transition: transform var(--lc-dur-fast) var(--lc-ease-out);
}

.lc-cta-link:hover .lc-chevron {
	transform: translateX(3px);
}

/* Fields */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
select,
textarea {
	width: 100%;
	font-family: inherit;
	font-size: 1.0625rem;
	line-height: 1.4;
	letter-spacing: -.005em;
	color: var(--lc-ink);
	background: var(--lc-bg-elevated);
	border: 1px solid var(--lc-hairline);
	border-radius: var(--lc-radius-sm);
	padding: .8rem 1rem;
	min-height: 44px;
	transition: border-color var(--lc-dur-fast) var(--lc-ease-out),
		box-shadow var(--lc-dur-fast) var(--lc-ease-out);
}

textarea {
	min-height: 9rem;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--lc-accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--lc-accent) 18%, transparent);
	outline: none;
}

label {
	display: block;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .005em;
	color: var(--lc-ink-2);
	margin-bottom: var(--lc-space-2);
}

/* -------------------------------------------------------------------------
   6. Header — translucent material, content scrolls underneath (§12)
   ---------------------------------------------------------------------- */

.lc-header {
	position: sticky;
	top: 0;
	z-index: 900;
	height: var(--lc-header-height);
	background: var(--lc-material-thick);
	-webkit-backdrop-filter: var(--lc-material-blur);
	backdrop-filter: var(--lc-material-blur);
	/* No hard 1px divider: a soft scroll edge appears only once content
	   is actually underneath the chrome. */
	transition: background-color var(--lc-dur-base) var(--lc-ease-out);
}

/* Fallback for browsers without backdrop-filter — go opaque, not muddy. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.lc-header {
		background: var(--lc-bg);
		border-bottom: 1px solid var(--lc-hairline-soft);
	}
}

.lc-header::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 100%;
	height: 14px;
	pointer-events: none;
	opacity: 0;
	background: linear-gradient(to bottom, var(--lc-hairline-soft), transparent);
	transition: opacity var(--lc-dur-base) var(--lc-ease-out);
}

.lc-header.is-scrolled::after {
	opacity: 1;
}

.lc-header__inner {
	display: flex;
	align-items: center;
	gap: var(--lc-space-5);
	height: 100%;
	max-width: var(--lc-width-max);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-brand {
	display: flex;
	align-items: center;
	gap: .6rem;
	flex: 0 0 auto;
	color: var(--lc-ink);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -.015em;
}

.lc-brand:hover {
	color: var(--lc-ink);
	text-decoration: none;
	opacity: .72;
}

.lc-brand img,
.lc-brand .custom-logo {
	max-height: 28px;
	width: auto;
}

.lc-brand__tagline {
	display: none;
	font-size: .75rem;
	font-weight: 400;
	color: var(--lc-ink-3);
	letter-spacing: 0;
}

@media (min-width: 60em) {
	.lc-brand__tagline {
		display: inline;
	}
}

.lc-header__spacer {
	flex: 1 1 auto;
}

.lc-header__actions {
	display: flex;
	align-items: center;
	gap: var(--lc-space-2);
	flex: 0 0 auto;
}

.lc-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-height: 0;
	padding: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--lc-ink);
	cursor: pointer;
}

.lc-icon-btn:hover {
	background: var(--lc-hairline-soft);
	color: var(--lc-ink);
}

.lc-icon-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* -------------------------------------------------------------------------
   7. Navigation
   ---------------------------------------------------------------------- */

.lc-nav {
	display: none;
}

@media (min-width: 54em) {
	.lc-nav {
		display: block;
	}

	.lc-nav__list {
		display: flex;
		align-items: center;
		gap: clamp(.5rem, 2vw, 1.75rem);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.lc-nav__list a {
		display: inline-flex;
		align-items: center;
		height: var(--lc-header-height);
		padding-inline: .2rem;
		font-size: .75rem;
		letter-spacing: -.01em;
		color: var(--lc-ink);
		opacity: .84;
		transition: opacity var(--lc-dur-fast) var(--lc-ease-out);
	}

	.lc-nav__list a:hover,
	.lc-nav__list .current-menu-item > a {
		opacity: 1;
		text-decoration: none;
	}

	/* Sub-menus scale from their trigger, not their centre (§7). */
	.lc-nav .sub-menu {
		position: absolute;
		top: calc(var(--lc-header-height) - 4px);
		min-width: 15rem;
		margin: 0;
		padding: var(--lc-space-3);
		list-style: none;
		background: var(--lc-material-thick);
		-webkit-backdrop-filter: var(--lc-material-blur-lg);
		backdrop-filter: var(--lc-material-blur-lg);
		border: 1px solid var(--lc-material-edge);
		border-radius: var(--lc-radius-md);
		box-shadow: var(--lc-shadow-lg);
		transform-origin: top left;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: 20;
	}

	.lc-nav .menu-item-has-children {
		position: relative;
	}

	.lc-nav .sub-menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.lc-nav .sub-menu a {
		height: auto;
		padding: .55rem .75rem;
		border-radius: var(--lc-radius-xs);
		font-size: .875rem;
		width: 100%;
	}

	.lc-nav .sub-menu a:hover {
		background: var(--lc-hairline-soft);
	}

	.lc-nav .sub-menu li {
		display: flex;
	}
}

.lc-nav-toggle {
	display: inline-flex;
}

@media (min-width: 54em) {
	.lc-nav-toggle {
		display: none;
	}
}

/* Mobile sheet — enters and exits along the same path (§7),
   drag-to-dismiss handled by motion.js. */
.lc-sheet-scrim {
	position: fixed;
	inset: 0;
	z-index: 950;
	background: var(--lc-scrim);
	opacity: 0;
	visibility: hidden;
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.lc-sheet-scrim.is-active {
	visibility: visible;
}

.lc-sheet {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 960;
	max-height: 88dvh;
	padding: var(--lc-space-3) var(--lc-gutter) calc(var(--lc-space-6) + env(safe-area-inset-bottom));
	background: var(--lc-material-thick);
	-webkit-backdrop-filter: var(--lc-material-blur-lg);
	backdrop-filter: var(--lc-material-blur-lg);
	border-top: 1px solid var(--lc-material-edge);
	border-radius: var(--lc-radius-lg) var(--lc-radius-lg) 0 0;
	box-shadow: var(--lc-shadow-lg);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	transform: translate3d(0, 100%, 0);
	visibility: hidden;
	will-change: transform;
	touch-action: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.lc-sheet {
		background: var(--lc-bg);
	}
}

.lc-sheet.is-active {
	visibility: visible;
}

.lc-sheet__grabber {
	width: 42px;
	height: 5px;
	margin: 0 auto var(--lc-space-4);
	border-radius: 999px;
	background: var(--lc-ink-3);
	opacity: .45;
	flex: 0 0 auto;
}

.lc-sheet__list,
.lc-sheet__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lc-sheet__list a {
	display: block;
	padding: .9rem .25rem;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -.018em;
	color: var(--lc-ink);
	border-bottom: 1px solid var(--lc-hairline-soft);
}

.lc-sheet__list a:hover {
	text-decoration: none;
	opacity: .7;
}

.lc-sheet__list .sub-menu a {
	font-size: 1.0625rem;
	font-weight: 400;
	padding-left: var(--lc-space-4);
	color: var(--lc-ink-2);
}

/* -------------------------------------------------------------------------
   8. Hero & tiles
   ---------------------------------------------------------------------- */

.lc-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding-block: clamp(4rem, 11vw, 8.5rem);
	padding-inline: var(--lc-gutter);
	overflow: hidden;
	isolation: isolate;
}

.lc-hero--full {
	min-height: calc(100svh - var(--lc-header-height));
}

.lc-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.lc-hero__veil {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .1) 45%, rgba(0, 0, 0, .45));
}

.lc-hero__content {
	max-width: 52rem;
	margin-inline: auto;
}

.lc-hero .lc-lede {
	max-width: 40rem;
	margin-inline: auto;
}

.lc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-4) var(--lc-space-6);
	justify-content: center;
	margin-top: var(--lc-space-5);
}

/* Tile — the bread-and-butter Apple-style content card. */
.lc-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: var(--lc-space-3);
	text-align: center;
	min-height: 26rem;
	padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 3vw, 2rem);
	background: var(--lc-bg-alt);
	border-radius: var(--lc-radius-lg);
	overflow: hidden;
	isolation: isolate;
	/* Scale is compositor-friendly; the whole tile is one press target. */
	transition: transform var(--lc-dur-base) var(--lc-ease-out),
		box-shadow var(--lc-dur-base) var(--lc-ease-out);
}

.lc-tile:hover {
	box-shadow: var(--lc-shadow-md);
}

.lc-tile.is-pressed {
	transform: scale(.985);
}

.lc-tile__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--lc-dur-slow) var(--lc-ease-out);
}

.lc-tile:hover .lc-tile__media {
	transform: scale(1.035);
}

.lc-tile:has(.lc-tile__media)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, .12) 55%, rgba(0, 0, 0, .3));
}

.lc-tile--on-media,
.lc-tile--on-media h2,
.lc-tile--on-media h3 {
	color: #fff;
}

.lc-tile--on-media .lc-tile__excerpt {
	color: rgba(255, 255, 255, .86);
}

.lc-tile__title {
	font-size: clamp(1.5rem, 2.6vw, 2.125rem);
	line-height: 1.12;
	letter-spacing: -.018em;
	margin: 0;
}

.lc-tile__excerpt {
	color: var(--lc-ink-2);
	font-size: 1.0625rem;
	line-height: 1.45;
	max-width: 30rem;
	margin: 0;
}

.lc-tile__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-4);
	justify-content: center;
	margin-top: var(--lc-space-2);
}

/* Whole-tile click target without nesting interactive elements. */
.lc-tile__overlay-link {
	position: absolute;
	inset: 0;
	z-index: 3;
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
}

.lc-tile__links a {
	position: relative;
	z-index: 4;
}

.lc-tile--tall {
	min-height: 34rem;
}

.lc-tile--left {
	align-items: flex-start;
	text-align: left;
}

.lc-tile--left .lc-tile__links {
	justify-content: flex-start;
}

/* Horizontal, drag-scrollable rail with momentum + snapping. */
.lc-rail {
	position: relative;
}

.lc-rail__track {
	display: flex;
	gap: clamp(1rem, 2vw, 1.5rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-block: var(--lc-space-2) var(--lc-space-5);
	padding-inline: var(--lc-gutter);
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	cursor: grab;
}

.lc-rail__track::-webkit-scrollbar {
	display: none;
}

.lc-rail__track.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.lc-rail__item {
	flex: 0 0 clamp(16rem, 74vw, 22rem);
	scroll-snap-align: center;
}

.lc-rail__nav {
	display: flex;
	gap: var(--lc-space-2);
	justify-content: flex-end;
	max-width: var(--lc-width-max);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-rail__nav .lc-icon-btn {
	background: var(--lc-bg-alt);
}

.lc-rail__nav .lc-icon-btn[disabled] {
	opacity: .35;
	cursor: default;
}

/* -------------------------------------------------------------------------
   9. Post content & blocks
   ---------------------------------------------------------------------- */

.lc-entry-header {
	padding-block: clamp(3rem, 7vw, 5rem) var(--lc-space-5);
	text-align: center;
}

.lc-entry-header .lc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2) var(--lc-space-4);
	justify-content: center;
	align-items: center;
	margin-top: var(--lc-space-4);
}

.lc-entry-thumb {
	margin-block: var(--lc-space-5) var(--lc-space-7);
	border-radius: var(--lc-radius-lg);
	overflow: hidden;
	background: var(--lc-bg-alt);
}

.lc-entry-content {
	font-size: 1.1875rem;
	line-height: 1.62;
	letter-spacing: -.008em;
}

.lc-entry-content > * {
	max-width: var(--lc-width-content);
	margin-inline: auto;
}

.lc-entry-content > .alignwide {
	max-width: var(--lc-width-wide);
}

.lc-entry-content > .alignfull {
	max-width: none;
	width: 100%;
}

.lc-entry-content h2,
.lc-entry-content h3,
.lc-entry-content h4 {
	margin-top: 1.6em;
}

.lc-entry-content ul,
.lc-entry-content ol {
	padding-left: 1.35em;
}

.lc-entry-content li + li {
	margin-top: .4em;
}

.lc-entry-content img {
	border-radius: var(--lc-radius-sm);
}

.alignleft {
	float: left;
	margin: .35em var(--lc-space-5) var(--lc-space-4) 0;
}

.alignright {
	float: right;
	margin: .35em 0 var(--lc-space-4) var(--lc-space-5);
}

.aligncenter {
	margin-inline: auto;
	display: block;
}

.lc-entry-footer {
	max-width: var(--lc-width-content);
	margin: var(--lc-space-7) auto 0;
	padding-top: var(--lc-space-5);
	border-top: 1px solid var(--lc-hairline);
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-4);
	align-items: center;
	justify-content: space-between;
}

.lc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2);
}

.lc-tags a {
	display: inline-block;
	padding: .32rem .8rem;
	font-size: .8125rem;
	letter-spacing: .01em;
	border-radius: var(--lc-radius-pill);
	background: var(--lc-bg-alt);
	color: var(--lc-ink-2);
}

.lc-tags a:hover {
	background: var(--lc-accent);
	color: #fff;
	text-decoration: none;
}

/* Post navigation — symmetric, direction-hinting */
.lc-post-nav {
	display: grid;
	gap: var(--lc-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
	max-width: var(--lc-width-wide);
	margin: var(--lc-space-8) auto 0;
	padding-inline: var(--lc-gutter);
}

.lc-post-nav__item {
	display: block;
	padding: var(--lc-space-5);
	border-radius: var(--lc-radius-md);
	background: var(--lc-bg-alt);
	color: var(--lc-ink);
	transition: transform var(--lc-dur-base) var(--lc-ease-out);
}

.lc-post-nav__item:hover {
	text-decoration: none;
	color: var(--lc-ink);
}

.lc-post-nav__item.is-pressed {
	transform: scale(.985);
}

.lc-post-nav__dir {
	display: block;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--lc-ink-3);
	margin-bottom: var(--lc-space-2);
}

.lc-post-nav__item--next {
	text-align: right;
}

/* Pagination */
.lc-pagination {
	display: flex;
	justify-content: center;
	margin-top: var(--lc-space-8);
}

.lc-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2);
	align-items: center;
}

.lc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding-inline: .7rem;
	border-radius: var(--lc-radius-pill);
	color: var(--lc-ink);
	font-size: .9375rem;
	background: var(--lc-bg-alt);
}

.lc-pagination .page-numbers:hover {
	text-decoration: none;
	background: color-mix(in srgb, var(--lc-ink) 10%, var(--lc-bg-alt));
}

.lc-pagination .page-numbers.current {
	background: var(--lc-ink);
	color: var(--lc-bg);
}

.lc-pagination .dots {
	background: none;
}

/* Sidebar / widgets */
.lc-sidebar {
	font-size: .9375rem;
}

.lc-widget + .lc-widget {
	margin-top: var(--lc-space-6);
}

.lc-widget__title {
	font-size: .8125rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--lc-ink-3);
	margin-bottom: var(--lc-space-3);
}

.lc-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lc-widget li + li {
	margin-top: var(--lc-space-2);
}

.lc-widget a {
	color: var(--lc-ink);
}

.lc-widget a:hover {
	color: var(--lc-link);
}

.lc-with-sidebar {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: 1fr;
}

@media (min-width: 62em) {
	.lc-with-sidebar {
		grid-template-columns: minmax(0, 1fr) 17rem;
	}
}

/* Block editor alignment support in the front end */
.wp-block-image figcaption,
.wp-block-embed figcaption {
	margin-top: var(--lc-space-3);
	text-align: center;
}

.wp-block-separator {
	border-top: 1px solid var(--lc-hairline);
	border-bottom: 0;
}

.wp-block-pullquote,
.wp-block-quote {
	border-color: var(--lc-accent);
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9375rem;
}

.wp-block-table td,
.wp-block-table th {
	border: 1px solid var(--lc-hairline);
	padding: .7rem .9rem;
}

/* -------------------------------------------------------------------------
   10. Comments & forms
   ---------------------------------------------------------------------- */

.lc-comments {
	max-width: var(--lc-width-content);
	margin: var(--lc-space-8) auto 0;
	padding-inline: var(--lc-gutter);
}

.lc-comments__title {
	font-size: 1.5rem;
	letter-spacing: -.016em;
	margin-bottom: var(--lc-space-5);
}

.comment-list,
.comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list .children {
	margin-left: var(--lc-space-5);
	padding-left: var(--lc-space-5);
	border-left: 1px solid var(--lc-hairline-soft);
}

.comment-body {
	padding: var(--lc-space-5) 0;
	border-bottom: 1px solid var(--lc-hairline-soft);
}

.comment-author {
	display: flex;
	align-items: center;
	gap: var(--lc-space-3);
	font-weight: 600;
	font-size: .9375rem;
}

.comment-author img {
	border-radius: 50%;
}

.comment-metadata {
	font-size: .8125rem;
	color: var(--lc-ink-3);
	margin: var(--lc-space-2) 0 var(--lc-space-3);
}

.comment-respond {
	margin-top: var(--lc-space-6);
}

.comment-form p {
	margin-bottom: var(--lc-space-4);
}

.comment-form .form-submit {
	margin-bottom: 0;
}

.comment-reply-title small {
	margin-left: var(--lc-space-3);
	font-weight: 400;
}

/* Search form */
.lc-search-form {
	display: flex;
	gap: var(--lc-space-2);
	max-width: 30rem;
}

.lc-search-form input[type="search"] {
	border-radius: var(--lc-radius-pill);
	padding-inline: 1.15rem;
}

.lc-search-form button {
	flex: 0 0 auto;
}

/* -------------------------------------------------------------------------
   11. Footer
   ---------------------------------------------------------------------- */

.lc-footer {
	background: var(--lc-bg-alt);
	color: var(--lc-ink-2);
	font-size: .75rem;
	line-height: 1.6;
	letter-spacing: 0;
	padding-block: var(--lc-space-7) var(--lc-space-6);
	margin-top: auto;
}

.lc-footer__cols {
	display: grid;
	gap: var(--lc-space-6);
	grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
	padding-bottom: var(--lc-space-6);
	border-bottom: 1px solid var(--lc-hairline);
}

.lc-footer a {
	color: var(--lc-ink-2);
}

.lc-footer a:hover {
	color: var(--lc-ink);
}

.lc-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lc-footer li + li {
	margin-top: var(--lc-space-2);
}

.lc-footer__heading {
	color: var(--lc-ink);
	font-weight: 600;
	font-size: .75rem;
	margin-bottom: var(--lc-space-3);
}

.lc-footer__base {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-3) var(--lc-space-5);
	align-items: center;
	justify-content: space-between;
	padding-top: var(--lc-space-5);
}

/* -------------------------------------------------------------------------
   12. Motion utilities
   ---------------------------------------------------------------------- */

/* Scroll reveal. The class is added by JS only when JS is available, so
   content is never hidden from a no-JS visitor. */
.js .lc-reveal {
	opacity: 0;
	transform: translate3d(0, 18px, 0);
	will-change: transform, opacity;
}

.js .lc-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition: opacity 700ms var(--lc-ease-out), transform 700ms var(--lc-ease-out);
}

.js .lc-reveal[data-reveal-delay="1"].is-visible { transition-delay: 80ms; }
.js .lc-reveal[data-reveal-delay="2"].is-visible { transition-delay: 160ms; }
.js .lc-reveal[data-reveal-delay="3"].is-visible { transition-delay: 240ms; }

/* -------------------------------------------------------------------------
   13. Accessibility preferences (§14)
   ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	/* Reduced motion is not "no feedback" — keep a gentle cross-fade. */
	.js .lc-reveal {
		transform: none;
	}

	.js .lc-reveal.is-visible {
		transition: opacity 220ms ease !important;
		transform: none !important;
	}

	.lc-sheet,
	.lc-sheet-scrim {
		transition: opacity 200ms ease !important;
	}

	.lc-tile:hover .lc-tile__media {
		transform: none;
	}
}

@media (prefers-reduced-transparency: reduce) {
	.lc-header,
	.lc-sheet,
	.lc-nav .sub-menu {
		background: var(--lc-bg) !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	.lc-header {
		border-bottom: 1px solid var(--lc-hairline);
	}

	.lc-sheet-scrim {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (prefers-contrast: more) {
	:root {
		--lc-ink-2: #3a3a3c;
		--lc-ink-3: #48484a;
		--lc-hairline: rgba(0, 0, 0, .4);
	}

	.lc-header,
	.lc-sheet,
	.lc-nav .sub-menu {
		background: var(--lc-bg);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border: 1px solid var(--lc-ink);
	}

	a {
		text-decoration: underline;
	}
}

/* -------------------------------------------------------------------------
   14. Print
   ---------------------------------------------------------------------- */

@media print {
	.lc-header,
	.lc-footer,
	.lc-sheet,
	.lc-sheet-scrim,
	.lc-post-nav,
	.lc-comments,
	.lc-rail__nav {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 12pt;
	}

	.lc-entry-content > * {
		max-width: none;
	}
}

/* WordPress core required classes */
.sticky {
	position: relative;
}

.bypostauthor > .comment-body .comment-author::after {
	content: "";
}

.gallery-caption {
	display: block;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	font-size: .8125rem;
	color: var(--lc-ink-3);
	text-align: center;
	margin-top: var(--lc-space-2);
}

/* Admin bar offset for the sticky header */
.admin-bar .lc-header {
	top: 32px;
}

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

/* -------------------------------------------------------------------------
   15. Components used by the templates
   ---------------------------------------------------------------------- */

/* Stacked archive list */
.lc-list > * + * {
	margin-top: var(--lc-space-6);
	padding-top: var(--lc-space-6);
	border-top: 1px solid var(--lc-hairline-soft);
}

.lc-list-item {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: center;
	grid-template-columns: 1fr;
}

@media (min-width: 48em) {
	.lc-list-item:has(.lc-list-item__media) {
		grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
	}
}

.lc-list-item__media {
	display: block;
	border-radius: var(--lc-radius-md);
	overflow: hidden;
	background: var(--lc-bg-alt);
}

.lc-list-item__media img {
	width: 100%;
	transition: transform var(--lc-dur-slow) var(--lc-ease-out);
}

.lc-list-item:hover .lc-list-item__media img {
	transform: scale(1.03);
}

.lc-list-item__title {
	font-size: clamp(1.375rem, 2.6vw, 1.875rem);
	line-height: 1.14;
	letter-spacing: -.016em;
	margin: 0 0 var(--lc-space-3);
}

.lc-list-item__title a {
	color: var(--lc-ink);
}

.lc-list-item__title a:hover {
	color: var(--lc-link);
	text-decoration: none;
}

.lc-list-item__excerpt {
	color: var(--lc-ink-2);
	margin: 0 0 var(--lc-space-3);
}

/* Meta rows */
.lc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2) var(--lc-space-4);
	align-items: center;
	font-size: .8125rem;
	letter-spacing: .005em;
	color: var(--lc-ink-3);
}

.lc-meta a {
	color: var(--lc-ink-2);
}

.lc-meta > * + *::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	margin-right: var(--lc-space-4);
	opacity: .55;
}

/* Breadcrumb */
.lc-breadcrumb {
	margin-bottom: var(--lc-space-4);
}

.lc-breadcrumb a {
	color: var(--lc-ink-3);
}

.lc-breadcrumb a:hover {
	color: var(--lc-link);
}

/* Menu chevron */
.lc-menu-chevron {
	display: inline-flex;
	align-items: center;
	margin-left: .25em;
	opacity: .55;
	transform: rotate(90deg);
}

.lc-nav .lc-menu-chevron svg {
	width: 11px;
	height: 11px;
}

.lc-sheet__list .lc-menu-chevron {
	display: none;
}

/* Full-width article canvas */
.lc-entry-content--full > * {
	max-width: var(--lc-width-content);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-entry-content--full > .alignwide {
	max-width: var(--lc-width-wide);
}

.lc-entry-content--full > .alignfull {
	max-width: none;
	width: 100%;
	padding-inline: 0;
}

.lc-article--full .lc-entry-content {
	padding-block: var(--lc-space-6) var(--lc-space-8);
}

/* Page links (paginated posts) */
.lc-page-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2);
	align-items: center;
	margin-top: var(--lc-space-6);
	font-size: .875rem;
	color: var(--lc-ink-2);
}

.lc-page-links a,
.lc-page-links > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding-inline: .5rem;
	border-radius: var(--lc-radius-pill);
	background: var(--lc-bg-alt);
	color: var(--lc-ink);
}

.lc-page-links a:hover {
	text-decoration: none;
	background: var(--lc-accent);
	color: #fff;
}

/* Edit link */
.lc-edit-link a {
	font-size: .8125rem;
	color: var(--lc-ink-3);
}

/* Embeds */
.lc-embed {
	position: relative;
	margin-block: var(--lc-space-5);
}

.lc-embed iframe {
	width: 100%;
	border-radius: var(--lc-radius-sm);
}

/* Footer legal row */
.lc-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-space-2) var(--lc-space-5);
	list-style: none;
	margin: 0;
	padding: 0;
}

.lc-footer__legal-list li + li {
	margin-top: 0;
}

.lc-footer__copy,
.lc-footer__note p {
	margin: 0;
}

/* No-results block */
.lc-no-results {
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

/* Comments navigation */
.comment-navigation .nav-links,
.comments-pagination {
	display: flex;
	gap: var(--lc-space-4);
	justify-content: space-between;
	margin-block: var(--lc-space-5);
	font-size: .875rem;
}

/* Post navigation titles */
.lc-post-nav__title {
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -.012em;
	line-height: 1.3;
}

/* Search form on dark bands */
.lc-on-dark input[type="search"] {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .24);
	color: #f5f5f7;
}

.lc-on-dark input::placeholder {
	color: rgba(255, 255, 255, .6);
}

/* Appearance toggle icon swap without extra requests */
.lc-appearance-toggle[data-mode="dark"] svg {
	transform: rotate(-18deg);
}

.lc-appearance-toggle svg {
	transition: transform var(--lc-dur-base) var(--lc-ease-out);
}

/* Custom logo link inherits brand layout */
.custom-logo-link.lc-brand img {
	max-height: 28px;
	width: auto;
}

/* Widget search block alignment */
.lc-widget .wp-block-search__inside-wrapper {
	gap: var(--lc-space-2);
}

/* Gallery */
.wp-block-gallery img {
	border-radius: var(--lc-radius-sm);
}

/* -------------------------------------------------------------------------
   16. No-JavaScript fallbacks
   
   The sheet is a progressive enhancement. Without scripts it becomes a plain
   static navigation list under the header, and the toggle disappears rather
   than sitting there doing nothing.
   ---------------------------------------------------------------------- */

.no-js .lc-nav-toggle,
.no-js .lc-appearance-toggle,
.no-js .lc-sheet-scrim,
.no-js .lc-sheet__grabber {
	display: none;
}

.no-js .lc-sheet {
	position: static;
	max-height: none;
	transform: none;
	visibility: visible;
	border-radius: 0;
	box-shadow: none;
	background: var(--lc-bg-alt);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-top: 1px solid var(--lc-hairline);
	touch-action: auto;
	padding-block: var(--lc-space-4) var(--lc-space-5);
}

@media (min-width: 54em) {
	/* The desktop menu already covers it. */
	.no-js .lc-sheet {
		display: none;
	}
}

.no-js .lc-sheet__list a {
	font-size: 1.0625rem;
	padding-block: .6rem;
}

/* Sub-menus open on hover and focus without scripts. */
.no-js .lc-nav .sub-menu {
	opacity: 1;
	visibility: hidden;
	transform: none;
	pointer-events: auto;
}

.no-js .lc-nav .menu-item-has-children:hover > .sub-menu,
.no-js .lc-nav .menu-item-has-children:focus-within > .sub-menu {
	visibility: visible;
}
