/* ==========================================================================
   Fonts
   ========================================================================== */
@font-face {
	font-family: "Acumin Wide";
	src: url("../FW_ Lettertypes Duvel/AcuminProWide-Regular.otf") format("opentype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Acumin Wide";
	src: url("../FW_ Lettertypes Duvel/AcuminProWide-Medium.otf") format("opentype");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "Acumin Wide";
	src: url("../FW_ Lettertypes Duvel/AcuminProWide-Semibold.otf") format("opentype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Acumin Wide";
	src: url("../FW_ Lettertypes Duvel/AcuminProWide-Light.otf") format("opentype");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Trade Gothic Cn";
	src: url("../FW_ Lettertypes Duvel/TradeGothicNextLTPro-Cn.otf") format("opentype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Archer";
	src: url("../FW_ Lettertypes Duvel/Archer-Medium.otf") format("opentype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Archer";
	src: url("../FW_ Lettertypes Duvel/Archer-Semibold.otf") format("opentype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Archer";
	src: url("../FW_ Lettertypes Duvel/Archer-Bold.otf") format("opentype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Trade Gothic BdCn";
	src: url("../FW_ Lettertypes Duvel/TradeGothicNextLTPro-BdCn.otf") format("opentype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Acumin ExtraCond";
	src: url("../FW_ Lettertypes Duvel/AcuminProExtraCond-Bold.otf") format("opentype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}
@font-face{font-family:Westmount;src:url(../../fonts/westmount-regular-webfont.woff2) format("woff2"),url(../../fonts/westmount-regular-webfont.woff) format("woff");font-weight:400;font-style:400}

/* ==========================================================================
   Reset & Base
   ========================================================================== */
* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #ffffff;
}

/* ==========================================================================
   Root Container
   ========================================================================== */
.duvel-day {
	--dd-red: #e4002b;
	--dd-blue: #2d5177;
	--dd-blue-dark: #0d1f38;
	--dd-blue-mid: #17365a;
	--dd-blue-accent: #1e4470;
	--dd-white: #ffffff;

	position: relative;
	overflow: hidden;
	font-family: "Acumin Wide", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--dd-white);
}

/* Background & overlay */
.duvel-day__bg,
.duvel-day__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top center;
}

.duvel-day__bg {
	z-index: 0;
}

.duvel-day__overlay {
	z-index: 4;
	pointer-events: none;
	mask-image: linear-gradient(to bottom, black 0%, black 70%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, black 0%, black 70%, transparent 100%);
}

/* Vanaf breedtes > 1662px valt de overlay niet meer exact over de background:
   verberg hem — de background toont alsnog dezelfde scène zonder de hand. */
@media (min-width: 1663px) {
	.duvel-day__overlay {
		display: none;
	}
}


/* ==========================================================================
   Hero Section — unchanged from V1
   ========================================================================== */
.dd-hero {
	position: relative;
	z-index: 1;
	min-height: 660px;
	padding: 26px 0 74px;
}

.dd-hero__top-logo-wrap {
	position: relative;
	z-index: 2;
	width: min(92%, 1080px);
	margin: 0 auto;
	text-align: center;
}

.dd-hero__top-logo {
	width: clamp(220px, 31vw, 360px);
	max-width: 100%;
}

.dd-hero__red-card {
	position: relative;
	z-index: 2;
	width: min(94%, 1080px);
	margin: 24px 0 0;
	padding: 72px 58px 40px 28px;
	background: var(--dd-red);
	border-radius: 0 160px 160px 0;
}

.dd-hero__red-card > :not(.dd-badge--red) {
	position: relative;
	z-index: 6;
	max-width: min(56.5vw, 920px);
}

.dd-badge {
	display: block;
	transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-badge--red {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: clamp(58px, 9vw, 82px);
	margin: 0;
}

.dd-badge--red:hover {
	transform: translate(-50%, -50%) scale(1.08);
}

.dd-title {
	margin: 0;
	letter-spacing: -0.01em;
}

.dd-title--hero {
	max-width: min(25ch, 56.5vw);
	font-family: "Westmount", sans-serif;
	font-size: clamp(30px, 3.3vw, 44px);
	line-height: 1.12;
	font-weight: 600;
}

.dd-lead {
	margin: 22px 0 34px;
	max-width: min(31ch, 56.5vw);
	font-family: "Archer", Georgia, serif;
	font-size: clamp(20px, 2.25vw, 32px);
	line-height: 1.2;
	font-weight: 600;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.dd-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 254px;
	min-height: 64px;
	padding: 12px 30px;
	border-radius: 999px;
	text-decoration: none;
	font-family: "Acumin Wide", sans-serif;
	font-size: clamp(18px, 1.9vw, 28px);
	line-height: 1.1;
	font-weight: 600;
	transition: color 320ms ease;
	will-change: transform;
}
.dd-btn.frBE {
	min-width: 420px;
}

.dd-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 860ms cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 0;
}

.dd-btn__label,
.dd-btn__icon {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
}

.dd-btn__label {
	transform: translate(-50%, -50%);
	white-space: nowrap;
	transition: opacity 260ms ease;
}

.dd-btn__icon {
	width: 44px;
	height: 56px;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity 260ms ease;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

/* White button (hero) */
.dd-btn--light {
	color: var(--dd-red);
	background: var(--dd-white);
}

.dd-btn--light::before {
	background: #c60328;
}

.dd-btn--light .dd-btn__icon {
	background-image: url("../images/compressed/Duvel_Day_Glas-reversed.png");
}

.dd-btn--light:hover {
	color: #ffffff;
}

/* Red button (story CTA) */
.dd-btn--red {
	color: var(--dd-white);
	background: var(--dd-red);
}

.dd-btn--red::before {
	background: #c60328;
}

.dd-btn--red .dd-btn__icon {
	background-image: url("../images/compressed/Duvel_Day_Glas-reversed.png");
}

.dd-btn--red:hover {
	color: var(--dd-white);
}

/* Shared hover states */
@media (hover: hover) {

	.dd-btn:hover::before {
		transform: scaleX(1);
	}
	.dd-btn:hover .dd-btn__label {
		opacity: 0;
	}
	.dd-btn:hover .dd-btn__icon {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}




/* ==========================================================================
   Story Section — V2 redesign
   ========================================================================== */
.dd-story {
	position: relative;
	z-index: 2;
	background: #ffffff;
	overflow: hidden;
}

.dd-story::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 28px;
	background-repeat: repeat-x;
	background-color: #ffffff;
	mix-blend-mode: multiply;
	z-index: 1;
}

.dd-story__container {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 clamp(24px, 5vw, 64px);
}

/* Two-column split: text + glass visual */
.dd-story__split {
	display: grid;
	grid-template-columns: 55% 45%;
	align-items: center;
	gap: clamp(24px, 3vw, 48px);
	padding: 60px 0 36px;
}

.dd-story__badge {
	width: clamp(62px, 7.5vw, 92px);
	margin: 0 0 16px;
	display: block;
	transition: transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-story__badge:hover {
	transform: scale(1.08) translateY(-3px);
}

.dd-title--story {
	font-family: "Westmount", sans-serif;
	font-size: clamp(28px, 2.8vw, 44px);
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 18px;
	letter-spacing: -0.01em;
	color: var(--dd-blue-dark);
}

.dd-story__text p {
	font-family: "Archer", Georgia, serif;
	font-size: clamp(16px, 1.2vw, 20px);
	line-height: 1.6;
	font-weight: 400;
	margin: 0 0 12px;
	color: var(--dd-blue-dark);
	opacity: 1;
}

.dd-story__visual {
	display: flex;
	justify-content: center;
	align-items: center;
}

.dd-story__glass-img {
	width: clamp(200px, 28vw, 370px);
	transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-story__glass-img:hover {
	transform: translateY(-12px) scale(1.03);
}

/* Step cards */
.dd-steps {
	border-top: 1px solid rgba(13, 31, 56, 0.12);
	padding: 36px 0 0;
	display: grid;
	grid-template-columns: 1fr clamp(220px, 26vw, 380px);
	gap: clamp(32px, 4vw, 64px);
	align-items: end;
}

.dd-steps__content {
	padding-bottom: 52px;
}

.dd-steps__glass {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.dd-steps__glass img {
	width: 100%;
	height: auto;
	display: block;
	mix-blend-mode: screen;
}

.dd-steps__title {
	font-family: "Trade Gothic BdCn", "Acumin Wide", sans-serif;
	font-size: clamp(22px, 2vw, 32px);
	font-weight: 700;
	text-align: center;
	color: var(--dd-blue-dark);
	margin: 0 0 28px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.dd-steps__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 28px);
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
}

.dd-step {
	background: rgba(13, 31, 56, 0.04);
	border: 1px solid rgba(13, 31, 56, 0.1);
	border-radius: 22px;
	padding: clamp(22px, 2.2vw, 34px) clamp(16px, 1.8vw, 28px);
	text-align: center;
	transition:
		background 280ms ease,
		border-color 280ms ease,
		transform 380ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-step:hover {
	background: rgba(13, 31, 56, 0.07);
	border-color: rgba(228, 0, 43, 0.3);
	transform: translateY(-6px);
}

.dd-step__icon {
	width: clamp(54px, 7vw, 90px);
	margin: 0 auto clamp(14px, 1.6vw, 20px);
	display: block;
	transition: transform 380ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-step:hover .dd-step__icon {
	transform: scale(1.12) translateY(-4px);
}

.dd-step p {
	font-family: "Archer", Georgia, serif;
	font-size: clamp(15px, 1.1vw, 18px);
	line-height: 1.55;
	font-weight: 400;
	margin: 0;
	color: var(--dd-blue-dark);
	opacity: 0.85;
}

.dd-step p strong {
	font-family: "Archer", Georgia, serif;
	font-weight: 700;
	opacity: 1;
	color: var(--dd-blue-dark);
}

.dd-steps__cta {
	text-align: center;
}

/* ==========================================================================
   Support Section — V2 redesign
   ========================================================================== */
/* ==========================================================================
   Support Section — Clean & Simple V3
   ========================================================================== */
.dd-support {
    position: relative;
    z-index: 2;
    background-color: #ffffff; /* Volledig wit voor rust */
    padding: 80px 0;
    border-top: 1px solid rgba(13, 31, 56, 0.1);
}

.dd-support__inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 clamp(24px, 5vw, 64px);
}

.dd-support__header {
    text-align: center;
    margin-bottom: 50px;
}

.dd-support__badge {
    display: block;
    width: 80px;
    margin: 0 auto 20px;
}

.dd-title--support {
    font-family: "Acumin Wide", sans-serif;
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 600;
    line-height: 1.2;
    color: #0d1f38;
    max-width: 25ch;
    margin: 0 auto;
}

/* Grid met simpele kaarten */
.dd-support__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    list-style: none;
    margin: 0 0 50px 0;
    padding: 0;
}

.dd-support__card {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 30px;
    background: #f9f9f9; /* Heel lichte grijstint */
    border: 1px solid #eeeeee;
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.dd-support__card:hover {
    transform: translateY(-4px);
    border-color: #e4002b; /* Subtiel rood accent bij hover */
}

.dd-support__card-icon {
    width: 50px;
    height: auto;
    flex-shrink: 0;
}

.dd-support__card p {
    margin: 0;
    font-family: "Archer", Georgia, serif;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    color: #17365a;
}

.dd-support__card p strong {
    font-weight: 700;
}

/* Tekst onderaan */
.dd-support__body {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    border-top: 1px solid #eeeeee;
    padding-top: 40px;
}

.dd-support__body p {
    font-family: "Archer", Georgia, serif;
    font-size: clamp(16px, 1.2vw, 19px);
    line-height: 1.7;
    color: #444444;
    margin-bottom: 1.5em;
}

.dd-support__highlight {
    font-size: clamp(18px, 1.5vw, 22px) !important;
    font-weight: 600 !important;
    color: var(--dd-red) !important;
}

/* Mobile optimalisatie */
@media (max-width: 850px) {
    .dd-support__grid {
        grid-template-columns: 1fr;
    }
    
    .dd-support__card {
        padding: 20px;
    }
}

/* ==========================================================================
   Closing Section — V2 redesign
   ========================================================================== */
.dd-closing {
	position: relative;
	z-index: 6;
	background: linear-gradient(140deg, #0a1826 0%, #0e2240 45%, #0f2645 65%, #08111e 100%);
	padding: 80px clamp(24px, 5vw, 64px) 88px;
	overflow: hidden;
}


.dd-closing__inner {
	position: relative;
	z-index: 1;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.dd-closing__glass {
	display: block;
	width: clamp(44px, 5.5vw, 68px);
	margin: 0 auto 36px;
	opacity: 0.45;
	filter: brightness(0) invert(1);
	transition: opacity 320ms ease, transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-closing__glass:hover {
	opacity: 0.72;
	transform: translateY(-4px) scale(1.06);
}

.dd-closing p {
	font-family: "Trade Gothic Cn", "Acumin Wide", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: clamp(22px, 2.7vw, 44px);
	line-height: 1.38;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0;
	color: var(--dd-white);
}

/* ==========================================================================
   Scroll Glass — decoratief glas dat meeloopt van steps t.e.m. support
   ========================================================================== */
/* Lane = absolute container die van steps tot footer loopt */
.dd-glass-lane {
	position: absolute;
	right: 0;
	width: clamp(240px, 28vw, 420px);
	pointer-events: none;
	z-index: 8;
	/* top + height worden gezet via JS na window.load */
}

/* Glas plakt aan bovenkant viewport terwijl je door de lane scrolt */
.dd-scroll-glass {
	position: sticky;
	top: 0;
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	object-position: bottom center;
}

@media (max-width: 960px) {
	.dd-steps {
		grid-template-columns: 1fr;
	}
	.dd-steps__glass {
		display: none;
	}
}

/* ==========================================================================
   Reveal Animations
   ========================================================================== */
.dd-reveal {
	opacity: 0;
	backface-visibility: hidden;
	will-change: transform, opacity;
	transition:
		opacity 1000ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 1400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dd-reveal--from-left {
	transform: translateX(-72px);
}

.dd-reveal--from-right {
	transform: translateX(72px);
}

.dd-reveal--from-bottom {
	transform: translateY(56px);
}

.dd-reveal.is-visible {
	opacity: 1;
	transform: none;
}

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

	.dd-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.dd-btn::before,
	.dd-btn__label,
	.dd-btn__icon,
	.dd-badge,
	.dd-story__glass-img,
	.dd-story__badge,
	.dd-step,
	.dd-step__icon,
	.dd-support__badge,
	.dd-support__card,
	.dd-support__card-icon,
	.dd-closing__glass {
		transition: none;
	}
}

/* ==========================================================================
   Responsive — Tablet (≤ 960px)
   ========================================================================== */
@media (max-width: 960px) {
	.dd-hero {
		min-height: 560px;
	}

	.dd-hero__red-card {
		width: 98%;
		padding: 44px 20px 30px;
		border-radius: 0 96px 96px 0;
	}

	.dd-hero__red-card > :not(.dd-badge--red) {
		max-width: min(60vw, 700px);
	}

	.dd-btn {
		min-width: 188px !important;
		min-height: 65px;
		padding: 10px 24px;
		font-size: clamp(16px, 2.5vw, 22px);
	}
	.dd-btn__label.frBE {
	
		white-space: break-spaces;

	}

	/* Story: collapse to single column, hide visual */
	.dd-story__split {
		grid-template-columns: 1fr;
		padding: 56px 0 40px;
		gap: 0;
	}

	.dd-story__visual {
		display: none;
	}

	/* Steps: vertical cards with icon left + text right */
	.dd-steps__list {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 44px;
	}

	.dd-step {
		display: flex;
		align-items: center;
		gap: 22px;
		text-align: left;
		padding: 22px 26px;
		border-radius: 18px;
	}

	.dd-step:hover {
		transform: translateY(-3px);
	}

	.dd-step__icon {
		width: 52px;
		margin: 0;
		flex-shrink: 0;
	}

	.dd-step:hover .dd-step__icon {
		transform: scale(1.08) translateY(-2px);
	}

	.dd-title--support {
		font-size: clamp(24px, 3.2vw, 36px);
	}

	.dd-support__grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Responsive — Mobile (≤ 620px)
   ========================================================================== */
@media (max-width: 620px) {
	.duvel-day__overlay {
		object-position: 60% 12%;
	}

	.dd-hero {
		min-height: 490px;
		padding-top: 24px;
	}

	.dd-hero__red-card > :not(.dd-badge--red),
	.dd-lead {
		max-width: 100%;
	}

	.dd-story__split {
		padding: 44px 0 36px;
	}

	.dd-steps {
		padding: 44px 0 64px;
	}

	.dd-title--support {
		font-size: clamp(26px, 7vw, 34px);
		max-width: 100%;
	}

	.dd-closing {
		padding-top: 64px;
		padding-bottom: 72px;
	}

	.dd-closing p {
		font-size: clamp(17px, 5vw, 26px);
	}

	
}

@media (max-width: 527.78px) {
	.duvel-day__overlay {
		object-position: 60% 13%;
	}

	.dd-hero {
		min-height: 490px;
		padding-top: 24px;
	}

	.dd-hero__red-card > :not(.dd-badge--red),
	.dd-lead {
		max-width: 100%;
	}

	.dd-story__split {
		padding: 44px 0 36px;
	}

	.dd-steps {
		padding: 44px 0 64px;
	}

	.dd-title--support {
		font-size: clamp(26px, 7vw, 34px);
		max-width: 100%;
	}

	.dd-closing {
		padding-top: 64px;
		padding-bottom: 72px;
	}

	.dd-closing p {
		font-size: clamp(17px, 5vw, 26px);
	}

	
}


@media (max-width: 394.44px) {
	.duvel-day__overlay {
		object-position: 60% 14%;
	}

	.dd-hero {
		min-height: 490px;
		padding-top: 24px;
	}

	.dd-hero__red-card > :not(.dd-badge--red),
	.dd-lead {
		max-width: 100%;
	}

	.dd-story__split {
		padding: 44px 0 36px;
	}

	.dd-steps {
		padding: 44px 0 64px;
	}

	.dd-title--support {
		font-size: clamp(26px, 7vw, 34px);
		max-width: 100%;
	}

	.dd-closing {
		padding-top: 64px;
		padding-bottom: 72px;
	}

	.dd-closing p {
		font-size: clamp(17px, 5vw, 26px);
	}

	
}
