/*
 * LOSTNOTE Dreamcore — built from the "Fumes" lyric video.
 * Saturated early-2000s dream scenes, lowercase pink condensed lyrics,
 * objects floating like old CGI, a little VHS softness over everything.
 * Loaded after the parent's main.css. Colours: --d-* tokens printed inline
 * for the active scene (Customize → LOSTNOTE Dreamcore → Scene).
 */

@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/roboto-condensed-latin-300-normal.woff2) format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-style: italic; font-weight: 300; font-display: swap; src: url(../fonts/roboto-condensed-latin-300-italic.woff2) format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-condensed-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/roboto-condensed-latin-500-normal.woff2) format("woff2"); }

/* Fallback tokens = "Fumes" scene (inline palette CSS overrides these). */
:root {
	--d-bg: #3f6fd8; --d-bg2: #8fb4f2; --d-sky1: #1f45b8; --d-sky1-rgb: 31, 69, 184; --d-sky2: #8db6f5; --d-sky2-rgb: 141, 182, 245;
	--d-ground1: #58a83a; --d-ground2: #2f7a22; --d-cloud: #ffffff; --d-cloud-rgb: 255, 255, 255;
	--d-card: #21409e; --d-card-rgb: 33, 64, 158; --d-text: #ffffff; --d-ptext: #ffffff; --d-ptext-rgb: 255, 255, 255; --d-muted: #c9d8ff;
	--d-title: #f4a5c4; --d-title-rgb: 244, 165, 196; --d-edge: #b0447a; --d-edge-rgb: 176, 68, 122; --d-caption: #ffe9f2;
	--d-accent: #f4a5c4; --d-accent-rgb: 244, 165, 196; --d-accent-ink: #2a1430; --d-link: #ffd1e3;
	--d-hot: #fff36b; --d-glow: #ffffff; --d-glow-rgb: 255, 255, 255; --d-aura: #f4a5c4; --d-aura-rgb: 244, 165, 196;
	--d-line: #ffffff; --d-line-rgb: 255, 255, 255; --d-fog: #ffffff;
	--d-card-a: .72; --d-line-a: .28;

	--ln-display: "Roboto Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	--d-lyric: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
	--ln-grain: .06;
	--d-radius: 28px;
	--d-ease: cubic-bezier(.25, .8, .25, 1);
}

/* ---------- The world behind everything ---------- */
html { background: var(--d-sky1); }
body.lnd { color: var(--d-text); background-attachment: fixed; }
/* Fumes: big blue sky with cumulus clouds */
body.lnd-fumes {
	background:
		radial-gradient(14vw 6vw at 18% 22%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%),
		radial-gradient(10vw 5vw at 26% 19%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%),
		radial-gradient(18vw 7vw at 80% 48%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 70%),
		radial-gradient(12vw 5vw at 72% 46%, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 70%),
		radial-gradient(16vw 6vw at 30% 82%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, var(--d-sky1) 0%, var(--d-bg) 45%, var(--d-sky2) 100%);
	background-attachment: fixed;
}
/* Afloat: underwater light */
body.lnd-afloat {
	background:
		radial-gradient(30vw 8vw at 20% 10%, rgba(191, 233, 255, .35), transparent 70%),
		radial-gradient(26vw 7vw at 75% 30%, rgba(191, 233, 255, .25), transparent 70%),
		repeating-radial-gradient(ellipse 120px 40px at 30% 20%, rgba(191, 233, 255, .07) 0 6px, transparent 6px 24px),
		linear-gradient(180deg, var(--d-sky1), var(--d-bg) 50%, var(--d-sky2));
	background-attachment: fixed;
}
/* So Dark In Here: yellow walls, fluorescent hum */
body.lnd-backrooms {
	background:
		radial-gradient(70vw 40vw at 50% 0%, rgba(255, 251, 232, .55), transparent 70%),
		repeating-linear-gradient(90deg, rgba(120, 90, 20, .07) 0 2px, transparent 2px 46px),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 23px),
		linear-gradient(180deg, var(--d-sky1), var(--d-bg) 55%, var(--d-bg2));
	background-attachment: fixed;
}
/* Brand Daydream */
body.lnd-brand {
	background:
		radial-gradient(60vw 50vw at 8% 12%, rgba(58, 126, 139, .28), transparent 70%),
		radial-gradient(55vw 45vw at 95% 60%, rgba(215, 140, 104, .3), transparent 70%),
		linear-gradient(180deg, var(--d-bg), var(--d-bg) 40%, var(--d-bg2) 140%);
	background-attachment: fixed;
}
/* VHS softness: faint scanlines over the whole page */
body.lnd::after {
	content: ""; position: fixed; inset: 0; z-index: 9996; pointer-events: none;
	background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .05) 0 1px, transparent 1px 3px);
	mix-blend-mode: multiply;
}

/* ---------- Type: lyrics ---------- */
.lnd a { color: var(--d-link); }
.lnd a:hover { color: var(--d-title); }
.lnd ::selection { background: var(--d-title); color: var(--d-accent-ink); }
.lnd :focus-visible { outline: 2px solid var(--d-title); outline-offset: 4px; border-radius: 6px; }
.lnd h1, .lnd h2, .lnd h3, .lnd h4,
.lnd-lyric {
	font-family: var(--d-lyric); font-weight: 400; font-style: normal;
	text-transform: lowercase; letter-spacing: -.01em; word-spacing: .32em; line-height: .98;
	color: var(--d-title);
	text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9), 0 0 16px rgba(var(--d-title-rgb), .35);
}
.lnd hr { border-top: 1px solid rgba(var(--d-line-rgb), var(--d-line-a)); }
.lnd-caption, .lnd .ln-eyebrow {
	font-family: var(--d-lyric); font-size: .82rem; font-weight: 400; letter-spacing: .2em;
	text-transform: lowercase; color: var(--d-caption);
}
/* Words that arrive one at a time (dream.js wraps them) */
.lnd-w { display: inline-block; }
.js .lnd-lyric.is-typing .lnd-w { opacity: 0; filter: blur(8px); transform: translateY(.08em); }
.js .lnd-lyric .lnd-w.is-on { opacity: 1; filter: none; transform: none; transition: opacity .5s, filter .6s, transform .6s var(--d-ease); }

/* ---------- Header ---------- */
.lnd .ln-header { background: transparent; border-bottom: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.lnd .ln-header::before { display: none; }
.lnd .ln-header.is-scrolled, .lnd.ln-header-transparent .ln-header.is-scrolled {
	background: rgba(var(--d-card-rgb), .72);
	-webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
	border-bottom: 1px solid rgba(var(--d-line-rgb), var(--d-line-a));
}
.lnd .ln-header.is-scrolled .ln-menu a, .lnd .ln-header.is-scrolled .ln-social a, .lnd .ln-header.is-scrolled .ln-burger { color: var(--d-text); }
.lnd .ln-topbar { border-bottom: 0; }
.lnd .ln-topbar__line { font-family: var(--d-lyric); font-size: .74rem; letter-spacing: .2em; text-transform: lowercase; color: var(--d-ptext); text-shadow: 0 0 6px rgba(var(--d-sky1-rgb), .8); }
.lnd .ln-dot { background: var(--d-title); box-shadow: 0 0 10px var(--d-title); }
.lnd .ln-logo__img { filter: drop-shadow(0 0 10px rgba(var(--d-title-rgb), .55)) drop-shadow(2px 1px 0 rgba(var(--d-title-rgb), .45)); }
.lnd .ln-menu a { font-family: var(--d-lyric); font-size: .86rem; font-weight: 400; letter-spacing: .16em; text-transform: lowercase; color: var(--d-ptext); text-shadow: 0 0 6px rgba(var(--d-sky1-rgb), .9), 0 0 14px rgba(var(--d-sky1-rgb), .6); }
.lnd .ln-menu > li > a::after { background: var(--d-title); box-shadow: 0 0 8px var(--d-title); }
.lnd .ln-menu .sub-menu { background: rgba(var(--d-card-rgb), .9); border-radius: 18px; }
.lnd .ln-social a, .lnd .ln-burger { color: var(--d-ptext); }
.lnd .ln-header__cta .ln-btn { color: var(--d-ptext); }
@media (max-width: 960px) {
	.lnd .ln-nav { background: rgba(var(--d-card-rgb), .94); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
	.lnd .ln-nav::before { background: radial-gradient(70% 40% at 50% 100%, rgba(var(--d-title-rgb), .25), transparent 70%); }
	.lnd .ln-menu a { font-family: var(--d-lyric); font-weight: 400; font-size: clamp(2.4rem, 11vw, 3.6rem); letter-spacing: -.01em; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
	.lnd .ln-social--nav a { color: var(--d-text); }
}

/* ---------- Buttons ---------- */
.lnd .ln-btn, .lnd .wp-block-button__link, .lnd .wp-element-button {
	border-radius: 999px; min-height: 48px; padding: .8em 1.7em;
	font-family: var(--d-lyric); font-size: .95rem; font-weight: 500; letter-spacing: .08em; text-transform: lowercase;
	border: 1px solid rgba(var(--d-line-rgb), calc(var(--d-line-a) * 2.2));
	transition: box-shadow .4s var(--d-ease), background-color .3s, color .3s, transform .4s var(--d-ease);
}
.lnd .ln-btn--solid, .lnd .wp-block-button__link {
	background: var(--d-accent); color: var(--d-accent-ink); border-color: transparent;
	box-shadow: 0 8px 24px -10px rgba(var(--d-edge-rgb), .9), inset 0 1px 0 rgba(255, 255, 255, .45);
}
.lnd .ln-btn--outline { background: rgba(var(--d-card-rgb), .35); color: var(--d-text); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.lnd .ln-btn:hover, .lnd .ln-btn:focus-visible { transform: translateY(-2px); box-shadow: 0 0 0 5px rgba(var(--d-title-rgb), .25), 0 0 34px rgba(var(--d-glow-rgb), .55); }
.lnd .ln-btn--solid:hover { color: var(--d-accent-ink); }
.lnd .ln-btn--outline:hover { background: rgba(var(--d-card-rgb), .7); color: var(--d-text); }
.lnd .ln-link { font-family: var(--d-lyric); font-weight: 500; text-transform: lowercase; letter-spacing: .12em; border-bottom: 1px solid var(--d-title); }

/* ---------- Hero: the dream scene ---------- */
.lnd .lnd-hero {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: 100vh; min-height: 100svh;
	display: flex; flex-direction: column; justify-content: flex-end;
	background: var(--d-sky1);
}
.lnd-scene { position: absolute; inset: 0; z-index: 0; filter: saturate(1.15); }
.lnd-scene > * { position: absolute; }
.lnd-sky { inset: 0; background: linear-gradient(180deg, var(--d-sky1) 0%, var(--d-bg) 40%, var(--d-sky2) 78%, var(--d-sky2) 100%); }
.lnd-clouds { left: 0; top: 0; width: 100%; height: 72%; }
.lnd-cl { animation: lnd-drift 80s ease-in-out infinite alternate; }
.lnd-cl__under { fill: rgb(var(--d-sky2-rgb)); opacity: .9; }
.lnd-cl__body { fill: var(--d-cloud); }
.lnd-cl--2 { animation-duration: 110s; animation-direction: alternate-reverse; }
.lnd-cl--3 { animation-duration: 95s; }
.lnd-cl--4 { animation-duration: 70s; animation-direction: alternate-reverse; }
@keyframes lnd-drift { from { transform: translateX(-60px); } to { transform: translateX(90px); } }
.lnd-rainbow {
	left: -6%; bottom: 14%; width: 62vw; aspect-ratio: 2 / 1; opacity: .62; filter: blur(2.5px);
	background: radial-gradient(circle at 50% 100%, transparent 54%, #ff3d3d 54.5%, #ff9a2e 57%, #ffe94a 59.5%, #46d35b 62%, #3fa2ff 64.5%, #5b4bff 67%, #c04bff 69.5%, transparent 72%);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 70%, transparent); mask-image: linear-gradient(90deg, transparent, #000 20%, #000 70%, transparent);
}
.lnd-hills { left: 0; bottom: 0; width: 100%; height: 44%; }
.lnd-lights { display: none; }
.lnd-floor { display: none; }
.lnd-water { display: none; }

/* Afloat: deep pool, rippling light, tiled edge */
.lnd-hero--afloat .lnd-clouds, .lnd-hero--afloat .lnd-hills, .lnd-hero--afloat .lnd-rainbow { display: none; }
.lnd-hero--afloat .lnd-sky { background: linear-gradient(180deg, var(--d-sky1), var(--d-bg) 55%, var(--d-sky2)); }
.lnd-hero--afloat .lnd-water {
	display: block; inset: -20%;
	background:
		repeating-radial-gradient(ellipse 160px 52px at 30% 30%, rgba(191, 233, 255, .14) 0 5px, transparent 5px 30px),
		repeating-radial-gradient(ellipse 120px 40px at 70% 60%, rgba(191, 233, 255, .1) 0 4px, transparent 4px 26px);
	filter: blur(1.5px);
	animation: lnd-caustics 18s ease-in-out infinite alternate;
}
@keyframes lnd-caustics { from { transform: translate(-2%, -1%) rotate(-1deg); } to { transform: translate(2%, 1.5%) rotate(1deg); } }
.lnd-hero--afloat .lnd-floor, .lnd-hero--brand .lnd-floor, .lnd-hero--backrooms .lnd-floor {
	display: block; left: -60%; right: -60%; bottom: -2%; height: 40%;
	transform: perspective(520px) rotateX(64deg); transform-origin: 50% 100%;
	-webkit-mask-image: linear-gradient(to top, #000 20%, transparent 95%); mask-image: linear-gradient(to top, #000 20%, transparent 95%);
}
.lnd-hero--afloat .lnd-floor { background: linear-gradient(rgba(156, 196, 238, .9) 0 4px, transparent 4px) 0 0 / 60px 60px, linear-gradient(90deg, rgba(156, 196, 238, .9) 0 4px, transparent 4px) 0 0 / 60px 60px, var(--d-ground1); }
.lnd-hero--brand .lnd-floor { background: repeating-conic-gradient(var(--d-ground1) 0 25%, var(--d-ground2) 0 50%) 0 0 / 90px 90px; opacity: .85; animation: lnd-walk 14s linear infinite; }
@keyframes lnd-walk { to { background-position: 0 180px; } }
.lnd-hero--brand .lnd-hills { display: none; }
.lnd-hero--brand .lnd-rainbow { opacity: .28; }

/* So Dark In Here: yellow room, ceiling panels, damp carpet */
.lnd-hero--backrooms .lnd-clouds, .lnd-hero--backrooms .lnd-hills, .lnd-hero--backrooms .lnd-rainbow { display: none; }
.lnd-hero--backrooms .lnd-sky {
	background:
		repeating-linear-gradient(90deg, rgba(120, 90, 20, .1) 0 2px, transparent 2px 46px),
		linear-gradient(180deg, #efe0a0 0 14%, var(--d-sky1) 14%, var(--d-sky1) 60%, var(--d-sky2) 100%);
}
.lnd-hero--backrooms .lnd-lights { display: flex; justify-content: space-around; left: 0; right: 0; top: 2%; height: 10%; perspective: 600px; }
.lnd-hero--backrooms .lnd-lights span { width: 12%; height: 46%; margin-top: 2%; background: #fffdf2; box-shadow: 0 0 30px 10px rgba(255, 252, 230, .9), 0 0 120px 40px rgba(255, 250, 220, .45); border-radius: 2px; animation: lnd-flicker 7s steps(1) infinite; }
.lnd-hero--backrooms .lnd-lights span:nth-child(3) { animation-duration: 4.3s; }
.lnd-hero--backrooms .lnd-lights span:nth-child(5) { animation-duration: 9.1s; }
@keyframes lnd-flicker { 0%, 96%, 100% { opacity: 1; } 97% { opacity: .35; } 98% { opacity: 1; } 99% { opacity: .55; } }
.lnd-hero--backrooms .lnd-floor { background: radial-gradient(circle at 30% 30%, rgba(120, 95, 40, .25) 0 1px, transparent 1.5px) 0 0 / 7px 7px, radial-gradient(circle at 70% 60%, rgba(255, 245, 210, .2) 0 1px, transparent 1.5px) 0 0 / 9px 9px, var(--d-ground1); }

/* The door standing in the scene, your photo through it */
.lnd-door { position: absolute; z-index: 2; right: 19%; bottom: 23%; width: clamp(150px, 15vw, 240px); animation: lnd-float 9s ease-in-out infinite; }
.lnd-door__frame {
	position: relative; aspect-ratio: 1 / 2.05; overflow: hidden; border-radius: 3px;
	background: var(--d-glow);
	box-shadow: 0 0 0 8px #f4f1ea, 0 0 0 9px rgba(0, 0, 0, .12), 10px 14px 0 8px rgba(0, 0, 0, .12), 0 0 80px 10px rgba(var(--d-glow-rgb), .5);
}
.lnd-door__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; filter: saturate(1.25) contrast(1.05) brightness(1.05); animation: lnd-breathe 12s ease-in-out infinite; }
.lnd-door__light { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(255, 255, 255, .35), transparent 30%), radial-gradient(80% 50% at 50% 100%, rgba(var(--d-glow-rgb), .5), transparent 70%); }
.lnd-door__shadow { position: absolute; left: -40%; right: -20%; bottom: -10%; height: 14%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .28), transparent); filter: blur(4px); }
@keyframes lnd-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes lnd-breathe { 0%, 100% { transform: scale(1.02); } 50% { transform: scale(1.08); } }

/* Fumes you can part, and the lyric hidden underneath */
.lnd-secret {
	position: absolute; z-index: 3; left: 38%; top: 38%; width: min(84vw, 760px); transform: translate(-50%, -50%);
	margin: 0; text-align: center; font-size: clamp(2rem, 5.4vw, 4.6rem); pointer-events: none;
}
.lnd-fog { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; pointer-events: none; }

.lnd-hero__inner { position: relative; z-index: 5; padding-top: 170px; padding-bottom: clamp(90px, 12vh, 140px); }
.lnd-hero__content { max-width: 760px; }
.lnd-caption--hero { margin: 0 0 .4rem; color: var(--d-ptext); text-shadow: 0 1px 10px rgba(0, 0, 0, .25); }
.lnd-hero__title { margin: 0 0 .12em; font-size: clamp(5rem, 15vw, 12rem); line-height: .84; letter-spacing: -.02em; -webkit-text-stroke: 1px rgba(var(--d-edge-rgb), .35); }
.lnd-hero__sub { max-width: 44ch; margin: 0; font-size: clamp(1.02rem, 1.4vw, 1.18rem); color: var(--d-ptext); text-shadow: 0 1px 12px rgba(0, 0, 0, .3); }
.lnd-hero__sub { text-shadow: 0 0 8px rgba(var(--d-sky1-rgb), .9), 0 1px 14px rgba(0, 0, 0, .3); }
.lnd-backrooms .lnd-hero__sub, .lnd-brand .lnd-hero__sub, .lnd-backrooms .lnd-caption--hero, .lnd-brand .lnd-caption--hero { text-shadow: 0 0 14px rgba(255, 255, 255, .6); }
.lnd-hero .ln-btn--outline { color: var(--d-ptext); border-color: rgba(var(--d-ptext-rgb), .6); background: rgba(var(--d-ptext-rgb), .08); }

/* A record floating outside the door (only while one is for sale) */
.lnd-float-vinyl {
	position: absolute; z-index: 5; right: 3%; bottom: 6%;
	display: flex; align-items: center; gap: 14px; width: min(370px, 40vw); padding: 10px 20px 10px 10px;
	border-radius: 999px; text-decoration: none; color: var(--d-text) !important;
	background: rgba(var(--d-card-rgb), .78);
	border: 1px solid rgba(var(--d-line-rgb), var(--d-line-a));
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	box-shadow: 0 0 50px rgba(var(--d-title-rgb), .45), 0 18px 40px -20px rgba(0, 0, 0, .5);
	animation: lnd-float 7s ease-in-out infinite;
}
.lnd-float-vinyl .ln-vinyl-mock { flex: none; width: 108px; }
.lnd-float-vinyl .ln-vinyl-mock__disc { animation: lnd-spin 8s linear infinite; }
.lnd-float-vinyl__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lnd-float-vinyl__text .lnd-caption { font-size: .7rem; }
.lnd-float-vinyl__title { font-family: var(--d-lyric); font-size: 1.6rem; line-height: 1; text-transform: lowercase; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd-float-vinyl__cta { font-family: var(--d-lyric); font-size: .82rem; letter-spacing: .08em; text-transform: lowercase; color: var(--d-hot); }
.lnd-float-vinyl:hover { box-shadow: 0 0 0 5px rgba(var(--d-title-rgb), .3), 0 0 70px rgba(var(--d-title-rgb), .7); }
@keyframes lnd-spin { to { transform: rotate(360deg); } }

.lnd-whisper { position: absolute; z-index: 5; left: var(--ln-gutter); bottom: 22px; margin: 0; font-family: var(--d-lyric); font-size: .9rem; letter-spacing: .08em; word-spacing: .3em; text-transform: lowercase; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd-whisper span { display: inline-block; transition: opacity 1.2s, filter 1.2s; }
.lnd-whisper span.is-out { opacity: 0; filter: blur(6px); }
.lnd-scroll { position: absolute; z-index: 5; left: 50%; bottom: 20px; transform: translateX(-50%); font-family: var(--d-lyric); font-size: .8rem; letter-spacing: .2em; text-transform: lowercase; text-decoration: none; color: var(--d-ptext) !important; opacity: .8; animation: lnd-pulse 3.5s ease-in-out infinite; }
@keyframes lnd-pulse { 50% { opacity: .3; } }
.lnd-anchor { position: absolute; bottom: 0; }
.lnd-vhs { position: absolute; inset: 0; z-index: 6; pointer-events: none; background: linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 12%, transparent 88%, rgba(0, 0, 0, .12)); box-shadow: inset 0 0 120px rgba(0, 0, 0, .18); }
.lnd .ln-hero__vinyl { display: none; }

/* ---------- Sections: scenes from the video ---------- */
.lnd .ln-section, .lnd .ln-section--alt, .lnd .ln-section--accent { background: transparent; color: var(--d-text); padding-block: clamp(24px, 4vw, 50px); }
.lnd .ln-section--alt + .ln-section--alt { padding-top: clamp(24px, 4vw, 50px); }
.lnd .ln-section--alt::before, .lnd .ln-section--accent::before { display: none; }
.lnd .ln-section > .ln-wrap {
	position: relative;
	width: min(var(--ln-wrap), calc(100% - 2 * var(--ln-gutter))); max-width: none;
	padding: clamp(28px, 5vw, 66px);
	background: rgba(var(--d-card-rgb), var(--d-card-a));
	border: 1px solid rgba(var(--d-line-rgb), var(--d-line-a));
	border-radius: var(--d-radius);
	-webkit-backdrop-filter: blur(12px) saturate(1.3); backdrop-filter: blur(12px) saturate(1.3);
	box-shadow: 0 30px 70px -40px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.lnd .ln-head { margin-bottom: clamp(22px, 3vw, 40px); }
.lnd .ln-eyebrow { gap: .5em; }
.lnd .ln-eyebrow__num { color: var(--d-muted); }
.lnd .ln-eyebrow__num::before { content: "scene "; }
.lnd .ln-eyebrow__num::after { content: "  ·"; white-space: pre; }
.lnd .ln-title { font-size: clamp(2.8rem, 6.6vw, 5.8rem); line-height: .92; }
.lnd .ln-prose, .lnd .ln-prose p { color: var(--d-text); }
.lnd .ln-meta, .lnd .ln-tag { font-family: var(--d-lyric); text-transform: lowercase; letter-spacing: .1em; }
.lnd .ln-tag { border-radius: 999px; border-color: rgba(var(--d-line-rgb), .5); color: var(--d-text); }
.lnd .ln-tag--accent { border-color: var(--d-title); color: var(--d-title); }

/* Lyric fragments drifting beside the sections (added by dream.js) */
.lnd-frag { position: absolute; z-index: 1; font-family: var(--d-lyric); font-size: clamp(1rem, 1.5vw, 1.4rem); letter-spacing: 0; word-spacing: .3em; text-transform: lowercase; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); opacity: .75; white-space: nowrap; pointer-events: none; animation: lnd-float 10s ease-in-out infinite; }

/* ---------- Artwork as floating CGI objects ---------- */
.lnd .ln-split__media { perspective: 900px; }
.lnd .ln-taped { transform: rotateY(-10deg) rotateX(3deg); border-radius: 6px; box-shadow: 24px 30px 0 -6px rgba(0, 0, 0, .18), 0 0 60px rgba(var(--d-glow-rgb), .35); animation: lnd-bob3d 9s ease-in-out infinite; -webkit-box-reflect: below 14px linear-gradient(transparent 70%, rgba(255, 255, 255, .25)); }
.lnd .ln-taped::before, .lnd .ln-taped::after { display: none; }
.lnd .ln-taped img { border-radius: 6px; filter: saturate(1.15); }
@keyframes lnd-bob3d { 0%, 100% { transform: rotateY(-10deg) rotateX(3deg) translateY(0); } 50% { transform: rotateY(-4deg) rotateX(1deg) translateY(-12px); } }

.lnd .ln-releases .ln-grid { perspective: 1000px; }
.lnd .ln-release__cover { overflow: visible; background: transparent; border-radius: 6px; box-shadow: none; transform: rotateY(-8deg); animation: lnd-float 8s ease-in-out infinite; }
.lnd .ln-release__cover::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: -26px; height: 16px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .35), transparent); filter: blur(3px); animation: lnd-shadow 8s ease-in-out infinite; }
@keyframes lnd-shadow { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(.85); opacity: .55; } }
.lnd .ln-release:nth-child(2) .ln-release__cover, .lnd .ln-release:nth-child(2) .ln-release__cover::after { animation-delay: -2.6s; }
.lnd .ln-release:nth-child(3) .ln-release__cover, .lnd .ln-release:nth-child(3) .ln-release__cover::after { animation-delay: -5.1s; }
.lnd .ln-release:nth-child(4) .ln-release__cover, .lnd .ln-release:nth-child(4) .ln-release__cover::after { animation-delay: -1.3s; }
.lnd .ln-release__cover img { border-radius: 6px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .25); }
.lnd .ln-release__cover:hover img { transform: none; }
.lnd .ln-release__cover:hover { animation-play-state: paused; }
.lnd .ln-release__blank { border-radius: 6px; background: linear-gradient(180deg, var(--d-sky1), var(--d-sky2) 70%, var(--d-ground1) 70%); border: 0; }
.lnd .ln-release__blank span { font-family: var(--d-lyric); text-transform: lowercase; color: var(--d-title); -webkit-text-stroke: 0; text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd .ln-release__type { font-family: var(--d-lyric); text-transform: lowercase; letter-spacing: .14em; color: var(--d-caption); }
.lnd .ln-release__title { margin-top: 30px; font-size: clamp(1.8rem, 2.6vw, 2.4rem); }
.lnd .ln-release__tracks { font-family: var(--d-lyric); font-size: .95rem; color: var(--d-muted); }
.lnd .ln-release__tracks li { border-bottom: 1px dotted rgba(var(--d-line-rgb), var(--d-line-a)); }
.lnd .ln-release__tracks li::before { color: var(--d-title); }

/* Bio: a snapshot from an old disposable camera */
.lnd .ln-polaroid { background: #fbf8f2; color: #2a2a2a; border-radius: 2px; transform: rotate(-3deg); box-shadow: 14px 18px 0 -4px rgba(0, 0, 0, .2); }
.lnd .ln-polaroid img { filter: saturate(1.3) contrast(1.05); }
.lnd .ln-polaroid figcaption { font-family: var(--d-lyric); font-size: 1rem; letter-spacing: .06em; text-transform: lowercase; color: #b0447a; }

/* Video: a screen with a rainbow edge */
.lnd .ln-frame { border: 0; border-radius: 22px; padding: 4px; background: linear-gradient(90deg, #ff3d3d, #ff9a2e, #ffe94a, #46d35b, #3fa2ff, #5b4bff, #c04bff); box-shadow: 0 0 60px rgba(var(--d-glow-rgb), .35); }
.lnd .ln-frame > * { border-radius: 18px; overflow: hidden; }
.lnd .ln-frame iframe { position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); border-radius: 18px; }
.lnd .ln-video__poster { inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); border-radius: 18px; }
.lnd .ln-video__poster img { filter: saturate(1.2) blur(.4px); }
.lnd .ln-play { background: var(--d-title); color: var(--d-accent-ink); box-shadow: 0 0 40px rgba(var(--d-title-rgb), .7); }
.lnd .ln-video__label { font-family: var(--d-lyric); text-transform: lowercase; letter-spacing: .12em; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); font-size: 1.1rem; }

.lnd .ln-listen__player { border-radius: 22px; background: rgba(var(--d-card-rgb), .5); border-color: rgba(var(--d-line-rgb), var(--d-line-a)); }
.lnd .ln-platforms, .lnd .ln-platforms a { border-color: rgba(var(--d-line-rgb), var(--d-line-a)); }
.lnd .ln-platforms a { font-family: var(--d-lyric); font-size: 1.05rem; font-weight: 400; text-transform: lowercase; letter-spacing: .08em; }
.lnd .ln-platforms a:hover { color: var(--d-title); }

/* Vinyl */
.lnd .ln-vinyl.is-live > .ln-wrap { box-shadow: 0 0 0 2px rgba(var(--d-title-rgb), .7), 0 0 90px rgba(var(--d-title-rgb), .45), 0 30px 70px -40px rgba(0, 0, 0, .5); }
.lnd .ln-record { padding: 20px; border-radius: 24px; background: rgba(255, 255, 255, .06); }
.lnd .ln-record__status { font-family: var(--d-lyric); letter-spacing: .14em; text-transform: lowercase; color: var(--d-hot); }
.lnd .ln-record__title { font-size: clamp(2rem, 3vw, 2.8rem); }
.lnd .ln-record__meta { font-family: var(--d-lyric); color: var(--d-muted); }
.lnd .ln-record__price { font-family: var(--d-lyric); font-size: 2.4rem; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd .ln-record .ln-vinyl-mock { filter: drop-shadow(16px 22px 0 rgba(0, 0, 0, .18)); }
.lnd .ln-record--available .ln-vinyl-mock__disc, .lnd .ln-record--preorder .ln-vinyl-mock__disc { animation: lnd-peek 9s var(--d-ease) infinite; }
@keyframes lnd-peek { 0%, 100% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10%) rotate(70deg); } }

/* Merch, shows, press, insta, newsletter, forms */
.lnd .ln-product__img { border-radius: 18px; background: rgba(255, 255, 255, .85); }
.lnd .ln-product__title { font-family: var(--d-lyric); font-weight: 400; text-transform: lowercase; font-size: 1.4rem; color: var(--d-text); }
.lnd .ln-product__price { font-family: var(--d-lyric); color: var(--d-title); }
.lnd .ln-empty { border: 1px dashed rgba(var(--d-line-rgb), .55); border-radius: 22px; }
.lnd .ln-empty p { color: var(--d-muted); }
.lnd .ln-empty__big { font-family: var(--d-lyric); text-transform: lowercase; word-spacing: .3em; color: var(--d-title) !important; -webkit-text-stroke: 0; text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd .ln-shows { border-top-color: rgba(var(--d-line-rgb), var(--d-line-a)); }
.lnd .ln-show { border-bottom: 1px dotted rgba(var(--d-line-rgb), .4); }
.lnd .ln-show:hover { background: rgba(255, 255, 255, .07); }
.lnd .ln-show__mon { font-family: var(--d-lyric); color: var(--d-title); text-transform: lowercase; }
.lnd .ln-show__day { font-family: var(--d-lyric); }
.lnd .ln-show__venue { font-family: var(--d-lyric); text-transform: lowercase; font-size: 1.7rem; }
.lnd .ln-show__city { font-family: var(--d-lyric); }
.lnd .ln-quote p { font-family: var(--d-lyric); font-weight: 400; text-transform: lowercase; word-spacing: .3em; line-height: 1.02; color: var(--d-title); text-shadow: 0 0 1px rgba(var(--d-edge-rgb), .9); }
.lnd .ln-quote figcaption { font-family: var(--d-lyric); font-weight: 400; text-transform: lowercase; color: var(--d-caption); }
.lnd .ln-quote__logo { filter: grayscale(1) invert(1); mix-blend-mode: screen; }
.lnd.lnd-brand .ln-quote__logo { filter: grayscale(1); mix-blend-mode: multiply; }
.lnd .ln-insta__band { border: 1px solid rgba(var(--d-line-rgb), .5); border-radius: 24px; }
.lnd .ln-insta__band::after { border: 2px solid var(--d-title); border-radius: 24px; }
.lnd .ln-news__bg img { filter: saturate(1.2) blur(2px); opacity: .3; }
.lnd .ln-news__bg::after { background: radial-gradient(70% 70% at 50% 50%, rgba(var(--d-card-rgb), .35), rgba(var(--d-card-rgb), .92)); }
.lnd .ln-form input, .lnd .ln-form select, .lnd .ln-form textarea,
.lnd .ln-news-form input[type="email"], .lnd .ln-news-form input[type="text"], .lnd .ln-search input[type="search"],
.lnd .ln-comments input[type="text"], .lnd .ln-comments input[type="email"], .lnd .ln-comments input[type="url"], .lnd .ln-comments textarea,
.lnd .lns-form input[type="email"], .lnd .lns-form input[type="text"] {
	border: 1px solid rgba(var(--d-line-rgb), .45); border-radius: 18px;
	background: rgba(255, 255, 255, .12); color: var(--d-text); color-scheme: dark;
}
.lnd.lnd-brand .ln-form input, .lnd.lnd-brand .ln-form select, .lnd.lnd-brand .ln-form textarea, .lnd.lnd-brand .ln-news-form input { color-scheme: light; background: rgba(255, 255, 255, .5); }
.lnd .ln-form input:focus, .lnd .ln-form textarea:focus, .lnd .ln-news-form input:focus { border-color: var(--d-title); background: rgba(255, 255, 255, .2); }
.lnd .ln-news-form { gap: 8px; }
.lnd .ln-news-form input[type="email"], .lnd .ln-news-form input[type="text"] { border-radius: 999px; border-right: 1px solid rgba(var(--d-line-rgb), .45); }
.lnd .ln-field > span, .lnd .ln-comments label { font-family: var(--d-lyric); font-weight: 400; letter-spacing: .1em; text-transform: lowercase; color: var(--d-caption); }
.lnd .ln-notice { border-radius: 16px; }

/* Inner pages */
.lnd .ln-pagehead { border-bottom: 0; text-align: center; }
.lnd .ln-pagehead .ln-title { font-size: clamp(3.2rem, 10vw, 7.5rem); }
.lnd .ln-pagehead .lnseo-breadcrumbs, .lnd .ln-pagehead .lnseo-breadcrumbs a { color: var(--d-ptext); }
.lnd .ln-page > .ln-wrap.ln-content, .lnd .ln-content:not(.ln-content--full):not(.ln-section .ln-content) {
	background: rgba(var(--d-card-rgb), var(--d-card-a)); border: 1px solid rgba(var(--d-line-rgb), var(--d-line-a)); border-radius: var(--d-radius);
	padding: clamp(24px, 5vw, 56px); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); margin-bottom: 40px;
}
.lnd .ln-content blockquote, .lnd .wp-block-quote { font-family: var(--d-lyric); text-transform: lowercase; color: var(--d-title); border-left-color: var(--d-title); }
.lnd .lnseo-breadcrumbs { text-transform: lowercase; }
.lnd .ln-comment-list .comment-body { border-bottom-color: rgba(var(--d-line-rgb), var(--d-line-a)); }

/* ---------- Waking up ---------- */
.lnd-wake { position: relative; padding: clamp(60px, 11vw, 150px) var(--ln-gutter) clamp(40px, 6vw, 80px); text-align: center; }
.lnd-eye { display: block; width: 78px; margin: 0 auto 18px; color: var(--d-title); filter: drop-shadow(0 0 10px rgba(var(--d-title-rgb), .7)); }
.lnd-eye circle:last-of-type { fill: var(--d-sky1); }
.lnd-eye__lid { fill: var(--d-sky2); transform-origin: 50% 50%; transform: scaleY(0); animation: lnd-blink 6s infinite; }
@keyframes lnd-blink { 0%, 92%, 100% { transform: scaleY(0); } 95% { transform: scaleY(1); } }
.lnd-eye__iris { animation: lnd-look 9s ease-in-out infinite; }
@keyframes lnd-look { 0%, 100% { transform: translateX(0); } 30% { transform: translateX(-6px); } 65% { transform: translateX(6px); } }
.lnd-wake__line { margin: 0; font-size: clamp(2.4rem, 7vw, 5.2rem); }

/* ---------- Footer ---------- */
.lnd .ln-footer { background: rgba(var(--d-card-rgb), .55); border-top: 1px solid rgba(var(--d-line-rgb), var(--d-line-a)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.lnd .ln-footer__line, .lnd .ln-socket__inner { font-family: var(--d-lyric); letter-spacing: .14em; text-transform: lowercase; color: var(--d-muted); }
.lnd .ln-footer .ln-social a { color: var(--d-text); }
.lnd .ln-social--footer a { border-radius: 50%; border-color: rgba(var(--d-line-rgb), .45); }
.lnd .ln-socket { border-top-color: rgba(var(--d-line-rgb), var(--d-line-a)); }

/* ---------- Cursor halo ---------- */
.lnd-halo { position: fixed; left: 0; top: 0; z-index: 9997; width: 380px; height: 380px; margin: -190px 0 0 -190px; border-radius: 50%; pointer-events: none; background: radial-gradient(closest-side, rgba(var(--d-title-rgb), .22), transparent); mix-blend-mode: screen; opacity: 0; transition: opacity .8s; will-change: transform; }
.lnd-halo.is-on { opacity: 1; }
.lnd-brand .lnd-halo { background: radial-gradient(closest-side, rgba(255, 255, 255, .5), transparent); mix-blend-mode: soft-light; }

/* ---------- Reveal: scenes fade in from a blur ---------- */
.js .lnd .ln-reveal { opacity: 0; transform: translateY(18px) scale(.985); filter: blur(12px); transition: opacity 1.2s var(--d-ease), transform 1.2s var(--d-ease), filter 1.2s var(--d-ease); }
.js .lnd .ln-reveal.is-in { opacity: 1; transform: none; filter: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.lnd-door { right: 12%; }
	.lnd-float-vinyl { width: min(340px, 46vw); }
}
@media (max-width: 800px) {
	.lnd-door { right: 10%; bottom: auto; top: 18%; width: 30vw; }
	.lnd-hills { height: 34%; }
	.lnd-rainbow { width: 120vw; left: -30%; bottom: 22%; }
	.lnd-hero__inner { padding-top: 58vh; padding-bottom: 80px; }
	.lnd-hero__title { font-size: clamp(4.4rem, 24vw, 7.4rem); }
	.lnd-secret { top: 30%; left: 50%; }
	.lnd-float-vinyl { position: relative; right: auto; bottom: auto; z-index: 5; width: auto; margin: -40px var(--ln-gutter) 70px; animation: none; }
	.lnd-whisper { display: none; }
	.lnd .ln-section > .ln-wrap { border-radius: 22px; width: calc(100% - 20px); padding: 28px 20px; }
	.lnd-frag { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.lnd-cl, .lnd-floor, .lnd-door, .lnd-door__img, .lnd-water, .lnd-lights span, .lnd-float-vinyl, .lnd-float-vinyl .ln-vinyl-mock__disc,
	.lnd .ln-taped, .lnd .ln-release__cover, .lnd .ln-release__cover::after, .lnd-scroll, .lnd-frag, .lnd-eye__lid, .lnd-eye__iris, .lnd .ln-record .ln-vinyl-mock__disc { animation: none !important; }
	.js .lnd .ln-reveal { filter: none; }
	.js .lnd-lyric.is-typing .lnd-w { opacity: 1; filter: none; transform: none; }
	.lnd-halo { display: none; }
}
