:root {
	--lnet-ocean: #073b5a;
	--lnet-forest: #176b4d;
	--lnet-sunset: #f28c28;
	--lnet-cream: #f8f4ea;
	--lnet-charcoal: #202124;
	--lnet-sky: #d8eef7;
	--lnet-clay: #c96b4b;
	--lnet-white: #ffffff;
	--lnet-border: rgba(32, 33, 36, 0.14);
	--lnet-shadow: 0 18px 50px rgba(7, 59, 90, 0.18);
}

* {
	box-sizing: border-box;
}

body {
	background: var(--lnet-cream);
	color: var(--lnet-charcoal);
	margin: 0;
}

a {
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

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

.lnet-wrap {
	margin-inline: auto;
	max-width: 1180px;
	padding-inline: 1rem;
	width: 100%;
}

.lnet-site-header {
	background: rgba(248, 244, 234, 0.96);
	border-bottom: 1px solid var(--lnet-border);
	position: sticky;
	top: 0;
	z-index: 50;
}

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

.lnet-header-inner {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: auto 1fr auto;
	min-height: 76px;
}

.lnet-brand {
	color: var(--lnet-ocean);
	display: inline-flex;
	flex-direction: column;
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.05;
	text-decoration: none;
}

.lnet-brand span {
	color: var(--lnet-forest);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-top: 0.2rem;
	text-transform: uppercase;
}

.lnet-brand:focus-visible {
	border-radius: 6px;
	outline: 2px solid var(--lnet-sunset);
	outline-offset: 4px;
}

.lnet-header-brand {
	align-items: center;
	flex: 0 0 auto;
	flex-direction: row;
	line-height: 1;
}

.lnet-brand-logo {
	display: block;
	height: auto;
	width: 11.25rem;
}

.lnet-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 0.8rem;
	justify-content: center;
}

.lnet-nav a {
	border-radius: 6px;
	color: var(--lnet-charcoal);
	font-size: 0.94rem;
	font-weight: 700;
	padding: 0.55rem 0.4rem;
	text-decoration: none;
}

.lnet-nav a:focus-visible,
.lnet-nav a:hover {
	background: var(--lnet-sky);
	color: var(--lnet-ocean);
	outline: 2px solid transparent;
}

.lnet-header-actions {
	align-items: center;
	display: flex;
	gap: 0.6rem;
	justify-content: flex-end;
}

.lnet-search-link {
	align-items: center;
	aspect-ratio: 1;
	background: var(--lnet-ocean);
	border-radius: 999px;
	color: var(--lnet-white);
	display: inline-grid;
	font-weight: 800;
	justify-content: center;
	min-width: 2.4rem;
	text-decoration: none;
}

.lnet-search-link::before {
	content: "\1F50D";
	font-size: 1rem;
	line-height: 1;
}

.lnet-mobile-menu {
	display: none;
}

.lnet-language-switcher {
	align-items: center;
	--lnet-language-accent: var(--lnet-ocean);
	display: inline-flex;
	position: relative;
	z-index: 40;
}

.lnet-language-menu {
	position: relative;
}

.lnet-language-current {
	align-items: center;
	background: var(--lnet-white);
	border: 1px solid var(--lnet-border);
	border-radius: 999px;
	box-shadow: 0 10px 26px rgba(7, 34, 52, 0.14);
	color: var(--lnet-charcoal);
	cursor: pointer;
	display: inline-flex;
	gap: 0.45rem;
	list-style: none;
	min-height: 2.4rem;
	padding: 0.38rem 0.7rem;
}

.lnet-language-current::-webkit-details-marker {
	display: none;
}

.lnet-language-current-label {
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.lnet-language-arrow {
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	display: inline-block;
	height: 0.38rem;
	margin-top: -0.16rem;
	transform: rotate(45deg);
	transition: transform 160ms ease, margin-top 160ms ease;
	width: 0.38rem;
}

.lnet-language-menu[open] .lnet-language-arrow {
	margin-top: 0.18rem;
	transform: rotate(-135deg);
}

.lnet-language-options {
	background: var(--lnet-white);
	border: 1px solid var(--lnet-border);
	border-radius: 8px;
	box-shadow: 0 16px 40px rgba(7, 34, 52, 0.18);
	display: grid;
	gap: 0.15rem;
	min-width: 11.5rem;
	padding: 0.55rem;
	position: absolute;
	right: 0;
	top: calc(100% + 0.55rem);
	z-index: 80;
}

.lnet-language-switcher.is-footer .lnet-language-options,
.lnet-language-switcher.is-mobile .lnet-language-options {
	left: 0;
	right: auto;
}

.lnet-language-switcher.is-footer .lnet-language-options {
	bottom: calc(100% + 0.55rem);
	top: auto;
}

.lnet-language-option {
	align-items: center;
	border-radius: 6px;
	color: var(--lnet-charcoal);
	display: grid;
	font-size: 0.88rem;
	font-weight: 800;
	gap: 0.7rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	min-height: 2.45rem;
	padding: 0.45rem 0.6rem;
	text-decoration: none;
	text-transform: uppercase;
}

.lnet-language-current:focus-visible,
.lnet-language-current:hover,
.lnet-language-option:focus-visible,
.lnet-language-option:hover {
	background: rgba(0, 126, 167, 0.12);
	outline: 2px solid transparent;
}

.lnet-language-option.is-active {
	background: rgba(0, 126, 167, 0.08);
	color: var(--lnet-charcoal);
}

.lnet-lang-flag {
	background: #d8eef7;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(7, 34, 52, 0.16);
	display: inline-block;
	flex: 0 0 auto;
	height: 0.9rem;
	overflow: hidden;
	position: relative;
	width: 1.35rem;
}

.lnet-lang-flag img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.lnet-lang-flag.is-en {
	background:
		linear-gradient(90deg, transparent 42%, #ffffff 42%, #ffffff 58%, transparent 58%),
		linear-gradient(0deg, transparent 36%, #ffffff 36%, #ffffff 64%, transparent 64%),
		linear-gradient(90deg, transparent 47%, #c8102e 47%, #c8102e 53%, transparent 53%),
		linear-gradient(0deg, transparent 44%, #c8102e 44%, #c8102e 56%, transparent 56%),
		#012169;
}

.lnet-lang-flag.is-fr {
	background: linear-gradient(90deg, #0055a4 0 33.33%, #ffffff 33.33% 66.66%, #ef4135 66.66%);
}

.lnet-lang-flag.is-es {
	background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%);
}

.lnet-lang-flag.is-it {
	background: linear-gradient(90deg, #008c45 0 33.33%, #ffffff 33.33% 66.66%, #cd212a 66.66%);
}

.lnet-language-check {
	border-bottom: 3px solid #4d8a6a;
	border-left: 3px solid #4d8a6a;
	height: 0.38rem;
	opacity: 0;
	transform: rotate(-45deg);
	width: 0.72rem;
}

.lnet-language-option.is-active .lnet-language-check {
	opacity: 1;
}

.lnet-hero {
	background:
		linear-gradient(90deg, rgba(7, 34, 52, 0.88) 0%, rgba(7, 34, 52, 0.72) 42%, rgba(7, 34, 52, 0.16) 100%),
		url("../images/limbenet-hero.png") center/cover no-repeat;
	color: var(--lnet-white);
	min-height: 680px;
	position: relative;
}

.lnet-hero-inner {
	display: grid;
	gap: 2rem;
	min-height: 680px;
	padding-block: 5.5rem 3rem;
}

.lnet-hero-copy {
	align-self: center;
	max-width: 760px;
}

.lnet-kicker {
	color: #ffe2b8;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 0.9rem;
	text-transform: uppercase;
}

.lnet-hero h1 {
	font-size: clamp(2.45rem, 3.5rem, 3.5rem);
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	max-width: 820px;
}

.lnet-hero p {
	font-size: 1.16rem;
	line-height: 1.65;
	margin: 1.1rem 0 0;
	max-width: 680px;
}

.lnet-hero .lnet-search-panel {
	margin-top: 2rem;
	max-width: 900px;
}

.lnet-hero-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.lnet-button,
.lnet-button-outline {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.72rem 1rem;
	text-decoration: none;
}

.lnet-button {
	background: var(--lnet-sunset);
	color: var(--lnet-charcoal);
}

.lnet-button-outline {
	border: 1px solid rgba(255, 255, 255, 0.68);
	color: var(--lnet-white);
}

.lnet-section {
	padding-block: 4rem;
}

.lnet-section.is-tinted {
	background: #ffffff;
}

.lnet-section.is-deep {
	background: var(--lnet-ocean);
	color: var(--lnet-white);
}

.lnet-section-header {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

.lnet-section-header h2 {
	font-size: 2rem;
	line-height: 1.16;
	margin: 0;
}

.lnet-section-header p {
	color: rgba(32, 33, 36, 0.72);
	margin: 0.45rem 0 0;
	max-width: 660px;
}

.is-deep .lnet-section-header p {
	color: rgba(255, 255, 255, 0.78);
}

.lnet-trust-strip {
	background: var(--lnet-white);
	border-bottom: 1px solid var(--lnet-border);
}

.lnet-trust-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-block: 1rem;
}

.lnet-trust-grid strong {
	color: var(--lnet-ocean);
	display: block;
	font-size: 0.95rem;
}

.lnet-trust-grid span {
	color: rgba(32, 33, 36, 0.72);
	display: block;
	font-size: 0.88rem;
	margin-top: 0.1rem;
}

.lnet-editorial-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: 1.1fr 0.9fr;
}

.lnet-plan-card {
	background: var(--lnet-white);
	border: 1px solid var(--lnet-border);
	border-radius: 8px;
	padding: 1.4rem;
}

.lnet-plan-card h3 {
	margin: 0 0 0.4rem;
}

.lnet-plan-card p {
	color: rgba(32, 33, 36, 0.75);
	margin: 0;
}

.lnet-site-footer {
	background: #071f30;
	color: var(--lnet-white);
	padding-block: 3rem 2rem;
}

.lnet-footer-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.1fr repeat(4, minmax(0, 0.7fr));
}

.lnet-site-footer a {
	color: #ffffff;
}

.lnet-footer-title {
	color: #ffe2b8;
	font-size: 0.85rem;
	font-weight: 800;
	text-transform: uppercase;
}

.lnet-footer-links {
	display: grid;
	gap: 0.45rem;
	margin-top: 0.8rem;
}

.lnet-footer-note {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.86rem;
	margin-top: 2rem;
	padding-top: 1.2rem;
}

.lnet-archive-hero,
.lnet-single-hero {
	background: var(--lnet-ocean);
	color: var(--lnet-white);
	padding-block: 4rem;
}

.lnet-archive-hero h1,
.lnet-single-hero h1 {
	margin: 0;
	max-width: 880px;
}

.lnet-main {
	padding-block: 3rem;
}

.wp-block-post-template {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-block-post {
	background: var(--lnet-white);
	border: 1px solid var(--lnet-border);
	border-radius: 8px;
	overflow: hidden;
}

.wp-block-post .wp-block-post-title,
.wp-block-post .wp-block-post-excerpt {
	padding-inline: 1rem;
}

.wp-block-post .wp-block-post-title {
	font-size: 1.15rem;
}

.wp-block-post .wp-block-post-excerpt {
	padding-bottom: 1rem;
}

@media (max-width: 980px) {
	.admin-bar .lnet-site-header {
		top: 0;
	}

	.lnet-header-inner {
		grid-template-columns: auto 1fr auto;
	}

	.lnet-nav,
	.lnet-header-actions {
		display: none;
	}

	.lnet-mobile-menu {
		display: block;
		justify-self: end;
		position: relative;
	}

	.lnet-mobile-menu summary {
		background: var(--lnet-ocean);
		border-radius: 6px;
		color: var(--lnet-white);
		cursor: pointer;
		font-weight: 800;
		list-style: none;
		padding: 0.55rem 0.78rem;
	}

	.lnet-mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.lnet-mobile-panel {
		background: var(--lnet-white);
		border: 1px solid var(--lnet-border);
		border-radius: 8px;
		box-shadow: var(--lnet-shadow);
		min-width: min(84vw, 340px);
		padding: 1rem;
		position: absolute;
		right: 0;
		top: calc(100% + 0.7rem);
	}

	.lnet-mobile-panel .lnet-nav {
		align-items: stretch;
		display: grid;
		justify-content: stretch;
	}

	.lnet-mobile-panel .lnet-nav a {
		padding-inline: 0;
	}

	.lnet-hero,
	.lnet-hero-inner {
		min-height: 620px;
	}

	.lnet-hero {
		background:
			linear-gradient(90deg, rgba(7, 34, 52, 0.94) 0%, rgba(7, 34, 52, 0.78) 100%),
			url("../images/limbenet-hero.png") center/cover no-repeat;
	}

	.lnet-section-header,
	.lnet-editorial-grid,
	.lnet-footer-grid,
	.lnet-trust-grid {
		grid-template-columns: 1fr;
	}

	.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.lnet-wrap {
		padding-inline: 0.85rem;
	}

	.lnet-header-inner {
		min-height: 68px;
	}

	.lnet-brand {
		font-size: 1.25rem;
	}

	.lnet-brand-logo {
		width: 9.75rem;
	}

	.lnet-hero,
	.lnet-hero-inner {
		min-height: 590px;
	}

	.lnet-hero-inner {
		padding-block: 3.8rem 2rem;
	}

	.lnet-hero h1 {
		font-size: 2.35rem;
	}

	.lnet-hero p {
		font-size: 1rem;
	}

	.lnet-section {
		padding-block: 2.75rem;
	}

	.wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* Coastwave variant: vivid coastal travel energy. */
:root {
	--lnet-ocean: #006b8f;
	--lnet-forest: #00a878;
	--lnet-sunset: #ff7a1a;
	--lnet-cream: #fff8ea;
	--lnet-charcoal: #10212b;
	--lnet-sky: #b9f3ff;
	--lnet-clay: #ff4d6d;
	--lnet-border: rgba(0, 107, 143, 0.2);
	--lnet-shadow: 0 22px 56px rgba(0, 107, 143, 0.24);
}

body {
	background:
		linear-gradient(180deg, #fff8ea 0%, #eefcff 42%, #fff8ea 100%);
}

.lnet-site-header {
	background: rgba(255, 248, 234, 0.98);
	border-bottom-color: rgba(0, 107, 143, 0.22);
}

.lnet-brand {
	color: #005c85;
}

.lnet-brand span {
	color: #ff5f3d;
}

.lnet-nav a:focus-visible,
.lnet-nav a:hover {
	background: rgba(185, 243, 255, 0.9);
	color: #005c85;
}

.lnet-search-link,
.lnet-mobile-menu summary {
	background: linear-gradient(135deg, #006b8f, #00a878);
}

.lnet-language-switcher {
	--lnet-language-accent: #ff7a1a;
}

.lnet-language-current:focus-visible,
.lnet-language-current:hover,
.lnet-language-option:focus-visible,
.lnet-language-option:hover,
.lnet-language-option.is-active {
	background: rgba(255, 122, 26, 0.14);
	color: #10212b;
}

.lnet-hero {
	background:
		linear-gradient(90deg, rgba(2, 35, 55, 0.9) 0%, rgba(0, 107, 143, 0.58) 43%, rgba(0, 168, 120, 0.08) 100%),
		url("../images/limbenet-hero.png") center/cover no-repeat;
}

.lnet-kicker {
	color: #ffdf8b;
}

.lnet-button {
	background: linear-gradient(135deg, #ffcf33, #ff7a1a 72%, #ff4d6d);
	color: #10212b;
}

.lnet-search-primary button,
.lnet-submit,
.lnet-newsletter-form button {
	background: linear-gradient(135deg, #ffcf33, #ff7a1a 72%, #ff4d6d);
	color: #10212b;
}

.lnet-button-outline {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.78);
}

.lnet-button-outline-dark {
	border-color: rgba(0, 107, 143, 0.42);
	color: #006b8f;
}

.lnet-card-eyebrow span {
	background: #e7fbff;
	color: #005c85;
}

.lnet-badge-row span {
	background: #fff0d8;
	color: #b84700;
}

.lnet-ticket-help,
.lnet-newsletter,
.lnet-form-wrap,
.lnet-card,
.lnet-style-card,
.lnet-info-card {
	border-color: rgba(0, 107, 143, 0.18);
	box-shadow: 0 14px 32px rgba(0, 107, 143, 0.08);
}

.lnet-section.is-tinted,
.lnet-trust-strip {
	background: #ffffff;
}

.lnet-section.is-deep,
.lnet-site-footer,
.lnet-archive-hero,
.lnet-single-hero {
	background:
		linear-gradient(135deg, #005c85 0%, #007f91 48%, #006d5c 100%);
}

.lnet-plan-card,
.wp-block-post {
	box-shadow: 0 14px 32px rgba(0, 107, 143, 0.08);
}

@media (max-width: 980px) {
	.lnet-hero {
		background:
			linear-gradient(90deg, rgba(2, 35, 55, 0.94) 0%, rgba(0, 107, 143, 0.78) 100%),
			url("../images/limbenet-hero.png") center/cover no-repeat;
	}
}
