.front-content > * { margin-block-start: 0; }
.front-content > .wp-block-group { margin: 0; padding: clamp(75px, 10vw, 140px) max(20px, calc((100vw - 1180px) / 2)); }
.front-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

.njut-hero {
	align-items: flex-end;
	background-color: var(--njut-forest);
	background-image: linear-gradient(90deg, rgba(6,20,17,.84) 0%, rgba(6,20,17,.56) 48%, rgba(6,20,17,.08) 100%), url('../images/njut-hero.webp');
	background-position: center;
	background-size: cover;
	color: #fff;
	display: flex;
	isolation: isolate;
	min-height: calc(100svh - 88px);
	padding: clamp(80px, 11vw, 150px) max(20px, calc((100vw - 1180px) / 2)) clamp(70px, 10vw, 130px) !important;
	position: relative;
}
.njut-hero:after { background: linear-gradient(180deg, transparent 60%, rgba(8,24,20,.45)); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.njut-hero-inner { max-width: 850px; }
.njut-hero .eyebrow { color: var(--njut-honey); }
.njut-hero h1 { font-size: clamp(4.2rem, 11vw, 9.4rem); letter-spacing: -.055em; margin-bottom: .22em; max-width: 920px; text-shadow: 0 5px 40px rgba(0,0,0,.34); }
.njut-hero .hero-lead { color: rgba(255,255,255,.9); font-family: var(--njut-serif); font-size: clamp(1.3rem, 2.4vw, 1.75rem); line-height: 1.48; max-width: 760px; }
.njut-hero .wp-block-buttons { margin-top: 32px; }
.njut-hero-quiet { align-items: center; bottom: 26px; color: rgba(255,255,255,.68); display: flex; font-size: .75rem; gap: 10px; letter-spacing: .12em; position: absolute; right: max(20px, calc((100vw - 1180px) / 2)); text-transform: uppercase; }
.njut-hero-quiet:before { border: 1px solid rgba(255,255,255,.45); border-radius: 99px; content: ""; height: 28px; width: 16px; }

.njut-choice-section { background: var(--njut-paper); }
.njut-choice-intro { align-items: end; display: grid; gap: 55px; grid-template-columns: 1.2fr .8fr; margin-bottom: 55px; }
.njut-choice-intro > p:last-child { color: var(--njut-muted); font-size: 1.08rem; }
.njut-choice-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.njut-choice-card { align-items: flex-end; background-position: center; background-size: cover; border-radius: var(--njut-radius); box-shadow: var(--njut-shadow-soft); color: #fff; display: flex; min-height: 430px; overflow: hidden; padding: 28px; position: relative; text-decoration: none; transition: box-shadow .3s ease, transform .3s ease; }
.njut-choice-card:before { background: linear-gradient(180deg, transparent 28%, rgba(8,24,20,.88)); content: ""; inset: 0; position: absolute; }
.njut-choice-card:after { border: 1px solid rgba(255,255,255,.35); border-radius: 50%; content: "→"; display: grid; height: 42px; place-items: center; position: absolute; right: 22px; top: 22px; transition: background .2s ease, color .2s ease; width: 42px; }
.njut-choice-card:hover { box-shadow: var(--njut-shadow); color: #fff; transform: translateY(-7px); }
.njut-choice-card:hover:after { background: #fff; color: var(--njut-forest); }
.njut-choice-card > span { position: relative; z-index: 1; }
.njut-choice-card strong { display: block; font-family: var(--njut-serif); font-size: 2rem; font-weight: 500; line-height: 1.04; margin-bottom: 10px; }
.njut-choice-card small { color: rgba(255,255,255,.78); display: block; font-size: .84rem; line-height: 1.5; }
.njut-choice-somn { background-image: url('../images/njut-somn.webp'); }
.njut-choice-upplevelse { background-image: url('../images/njut-upplevelse.webp'); }
.njut-choice-bastu { background-image: url('../images/njut-hero.webp'); }
.njut-choice-vila { background-image: url('../images/njut-vila.webp'); }

.njut-manifesto { align-items: stretch; background: var(--njut-plum); color: #fff; display: grid; grid-template-columns: 1fr 1fr; padding: 0 !important; }
.njut-manifesto-image { background-image: url('../images/njut-vila.webp'); background-position: center; background-size: cover; min-height: 760px; }
.njut-manifesto-copy { align-self: center; max-width: 710px; padding: clamp(65px, 9vw, 130px) clamp(30px, 8vw, 110px); }
.njut-manifesto-copy .eyebrow { color: var(--njut-honey); }
.njut-manifesto-copy > p:not(.eyebrow) { color: rgba(255,255,255,.8); font-size: 1.07rem; }
.njut-manifesto-list { border-top: 1px solid rgba(255,255,255,.17); display: grid; gap: 0; margin-top: 42px; }
.njut-manifesto-list p { border-bottom: 1px solid rgba(255,255,255,.17); font-family: var(--njut-serif); font-size: 1.25rem; margin: 0; padding: 18px 0; }

.njut-tool-section { background: var(--njut-cream); }
.njut-tool-section > .wp-block-group__inner-container, .njut-stories > .wp-block-group__inner-container, .njut-method > .wp-block-group__inner-container { margin-inline: auto; max-width: 1180px; }
.njut-section-intro { max-width: 780px; }
.njut-section-intro > p:last-child { color: var(--njut-muted); font-size: 1.08rem; }

.njut-stories { background: var(--njut-paper); }
.njut-stories .guide-grid { margin-top: 48px; }

.njut-gift-section {
	align-items: flex-end;
	background-color: var(--njut-lake);
	background-image: linear-gradient(90deg, rgba(10,32,36,.82), rgba(10,32,36,.28)), url('../images/njut-upplevelse.webp');
	background-position: center;
	background-size: cover;
	color: #fff;
	display: flex;
	min-height: 760px;
}
.njut-gift-copy { max-width: 750px; }
.njut-gift-copy .eyebrow { color: var(--njut-honey); }
.njut-gift-copy > p:not(.eyebrow) { color: rgba(255,255,255,.86); font-size: 1.15rem; max-width: 620px; }

.njut-method { background: var(--njut-mist); }
.njut-method-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 48px; }
.njut-method-card { background: rgba(255,255,255,.68); border: 1px solid rgba(24,58,50,.13); border-radius: var(--njut-radius-small); padding: 30px; }
.njut-method-card span { color: var(--njut-terracotta); display: block; font-family: var(--njut-serif); font-size: 2.4rem; margin-bottom: 16px; }
.njut-method-card h3 { font-size: 1.65rem; }
.njut-method-card p { color: var(--njut-muted); font-size: .94rem; margin-bottom: 0; }
.njut-fallback-hero { align-items: center; background-image: linear-gradient(90deg, rgba(8,24,20,.8), rgba(8,24,20,.2)), url('../images/njut-hero.webp'); background-position: center; background-size: cover; color: #fff; display: flex; min-height: calc(100svh - 88px); }
.njut-fallback-hero .site-shell { padding-block: 100px; }
.njut-fallback-hero p:not(.eyebrow) { font-size: 1.25rem; max-width: 720px; }

@media (max-width: 1050px) {
	.njut-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.njut-choice-card { min-height: 390px; }
}

@media (max-width: 800px) {
	.njut-choice-intro { gap: 10px; grid-template-columns: 1fr; }
	.njut-manifesto { grid-template-columns: 1fr; }
	.njut-manifesto-image { min-height: 520px; }
	.njut-method-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.front-content > .wp-block-group { padding-inline: 15px; }
	.njut-hero { min-height: calc(100svh - 76px); padding-inline: 15px !important; }
	.njut-hero h1 { font-size: clamp(4rem, 22vw, 6.4rem); }
	.njut-hero .hero-lead { font-size: 1.18rem; }
	.njut-hero-quiet { display: none; }
	.njut-choice-grid { grid-template-columns: 1fr; }
	.njut-choice-card { min-height: 390px; }
	.njut-manifesto { padding: 0 !important; }
	.njut-manifesto-image { min-height: 440px; }
	.njut-manifesto-copy { padding-inline: 22px; }
	.njut-gift-section { min-height: 680px; }
}

