/* Header: sticky cream bar with a soft wavy bottom edge. */
.lmn-header {
	position: sticky; top: 0; z-index: 900;
	background: var(--lmn-cream);
	transition: box-shadow 0.25s;
}
.lmn-header::after {
	content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14' preserveAspectRatio='none'%3E%3Cpath d='M0 0h120v4c-15 0-15 8-30 8S75 4 60 4 45 12 30 12 15 4 0 4z' fill='%23f6f1ea'/%3E%3C/svg%3E") repeat-x;
	background-size: 120px 14px;
}
.lmn-header.is-scrolled { box-shadow: 0 6px 24px rgba(22, 22, 22, 0.08); }
.lmn-header__inner {
	width: min(100% - 2 * var(--lmn-gutter), var(--lmn-container)); margin-inline: auto;
	min-height: var(--lmn-header-h); display: flex; align-items: center; gap: 1rem;
}
.lmn-header__brand { flex: none; }
.lmn-header__brand .custom-logo-link { display: block; line-height: 0; }
.lmn-header__brand .custom-logo { width: auto; max-height: 52px; }
.lmn-header__actions { margin-left: auto; display: flex; align-items: center; gap: 0.75rem; }
.lmn-header__actions .lmn-btn { display: none; }

/* Hamburger */
.lmn-site .lmn-header__toggle {
	display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; min-height: 2.75rem;
	background: transparent; border: 2px solid var(--lmn-black); border-radius: var(--lmn-radius-pill); color: var(--lmn-black); font: inherit; font-weight: 700; cursor: pointer;
}
.lmn-header__toggle-icon { display: inline-flex; flex-direction: column; gap: 4px; width: 20px; }
.lmn-header__toggle-icon span { display: block; height: 2px; background: currentColor; border-radius: 2px; transition: transform 0.25s var(--lmn-ease), opacity 0.2s; }
.lmn-header__toggle[aria-expanded="true"] .lmn-header__toggle-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.lmn-header__toggle[aria-expanded="true"] .lmn-header__toggle-icon span:nth-child(2) { opacity: 0; }
.lmn-header__toggle[aria-expanded="true"] .lmn-header__toggle-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Navigation: full-screen panel on small screens */
.lmn-nav {
	position: fixed; inset: var(--lmn-header-h) 0 0 0; z-index: 890;
	background: var(--lmn-cream); padding: 1.5rem var(--lmn-gutter) calc(var(--lmn-mobile-bar-h) + 2rem);
	overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform 0.3s var(--lmn-ease), visibility 0s 0.3s;
}
.lmn-nav.is-open { transform: none; visibility: visible; transition: transform 0.3s var(--lmn-ease); }
.lmn-nav:focus, .lmn-nav:focus-visible { outline: none; }
.lmn-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.lmn-nav__list li { border-bottom: 2px solid var(--lmn-cream-deep); }
.lmn-nav__list a {
	display: block; padding: 1rem 0.25rem; font-family: var(--lmn-font-display); font-size: clamp(1.75rem, 6vw, 2.25rem); line-height: 1.1;
	color: var(--lmn-black); text-decoration: none;
}
.lmn-nav__list a:hover, .lmn-nav__list .current-menu-item > a { color: var(--lmn-coral-deep); }
.lmn-nav__extra { margin-top: 1.5rem; display: grid; gap: 1rem; }

html.lmn-nav-open { overflow: hidden; }

@media (min-width: 900px) {
	.lmn-site .lmn-header__toggle { display: none; }
	.lmn-header__actions .lmn-btn { display: inline-flex; }
	.lmn-nav {
		position: static; inset: auto; transform: none; visibility: visible; background: none; padding: 0; overflow: visible;
		margin-left: auto; transition: none;
	}
	.lmn-nav__list { flex-direction: row; gap: 0.25rem; }
	.lmn-nav__list li { border: 0; }
	.lmn-nav__list a {
		font-family: var(--lmn-font-text); font-size: 1.0625rem; font-weight: 700; padding: 0.5rem 0.9rem; border-radius: var(--lmn-radius-pill);
		position: relative;
	}
	.lmn-nav__list a::after {
		content: ""; position: absolute; left: 0.9rem; right: 0.9rem; bottom: 0.25rem; height: 3px; border-radius: 3px; background: var(--lmn-yellow);
		transform: scaleX(0); transform-origin: left; transition: transform 0.25s var(--lmn-ease);
	}
	.lmn-nav__list a:hover::after, .lmn-nav__list .current-menu-item > a::after { transform: scaleX(1); }
	.lmn-nav__list a:hover, .lmn-nav__list .current-menu-item > a { color: var(--lmn-black); }
	.lmn-nav__extra { display: none; }
}
@media (min-width: 1100px) {
	.lmn-header__brand .custom-logo { max-height: 60px; }
}
