:root{--plum:#482b42;--cream:#f8f3ea;--butter:#f3e6be;--line:rgb(72 43 66 / .2);--line-light:rgb(248 243 234 / .22);--sans:'DM Sans',system-ui,sans-serif;--serif:'DM Serif Display',Georgia,serif;--gutter:clamp(20px,5.5vw,100px);--arc:clamp(28px,3.6vw,56px);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--cream);color:var(--plum);font:400 18px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,p,figure,ol{margin:0}ol{padding:0;list-style:none}button{font:inherit}
/* Vier tekststijlen: label, kop, lopende tekst en de handtekening. */
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;line-height:1.6}
h2{font:400 clamp(44px,4.6vw,68px)/1.06 var(--serif);letter-spacing:-.03em;text-wrap:balance}
h3{font:400 24px/1.25 var(--serif);letter-spacing:-.01em}
.caption{font-size:13px;letter-spacing:.04em}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip-link{position:fixed;left:20px;top:16px;z-index:20;transform:translateY(-180%);padding:10px 16px;background:var(--cream);color:var(--plum)}.skip-link:focus{transform:translateY(0)}[hidden]{display:none!important}::selection{background:var(--butter);color:var(--plum)}.ai-label{position:absolute;right:12px;bottom:12px;z-index:1;padding:3px 10px;border-radius:999px;background:rgb(25 18 23 / .5);color:var(--cream);font:500 11px/1.5 var(--sans);letter-spacing:.04em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dish-photo .ai-label{right:auto;left:50%;bottom:16px;transform:translateX(-50%)}.hero-label{right:var(--gutter);bottom:calc(var(--arc) + 18px)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Knoppen */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border:1px solid currentColor;border-radius:999px;font:500 15px/1 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.button-light{background:var(--cream);border-color:var(--cream);color:var(--plum)}.button-light:hover{background:var(--butter);border-color:var(--butter)}
.button-outline{background:transparent;color:var(--plum)}.button-outline:hover{background:var(--plum);color:var(--cream)}
.header-button{background:transparent;color:var(--cream);border-color:rgb(248 243 234 / .6)}.header-button:hover{background:var(--cream);color:var(--plum);border-color:var(--cream)}

/* Kop */
.site-header{position:absolute;inset:0 0 auto;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:28px var(--gutter);color:var(--cream)}.small-logo{display:block;width:86px}.navbar{display:inline-flex;gap:2px;padding:5px;border-radius:999px;background:var(--cream)}.navbar a{color:var(--plum);font:500 15px/1 var(--sans);text-decoration:none;padding:11px 18px;border-radius:999px;transition:background .2s}.navbar a:hover,.navbar a:focus-visible{background:rgb(72 43 66 / .1)}.site-header nav a::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover::after{transform:scaleX(1)}.header-button{justify-self:end}

/* Opening: een zuivere boog aan de onderkant. */
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:640px;height:min(820px,92svh);padding:120px var(--gutter) 150px;color:var(--cream);overflow:hidden;background:var(--plum)}.hero::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:var(--arc);z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 200 100 0V100H0Z' fill='%23f8f3ea'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgb(25 18 23 / .66),rgb(25 18 23 / .58) 45%,rgb(25 18 23 / .74))}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:photo-arrive 1.8s cubic-bezier(.2,.65,.3,1) both}
.hero-copy{text-align:center;margin:0 auto;max-width:760px}.hero-logo-wrap{margin:0;font-size:0}.hero-tag{display:inline-block;margin-top:28px;padding:12px 30px 14px;border-radius:999px;background:var(--butter);color:var(--plum);font:400 clamp(20px,2vw,27px)/1 var(--serif)}.hero h1{font:500 clamp(15px,1.3vw,18px)/1.5 var(--sans);letter-spacing:.06em;margin-bottom:26px}.hero-logo{width:min(100%,540px);margin:auto}.slogan{font:400 clamp(13px,1.2vw,16px)/1.6 var(--sans);margin-top:24px;letter-spacing:.2em;text-transform:uppercase}
.story-link{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;font-size:14px;white-space:nowrap}.arrow-circle{display:grid;place-items:center;border:1px solid rgb(248 243 234 / .55);width:50px;height:50px;border-radius:50%;font-size:20px;transition:background .25s,color .25s,transform .25s}.story-link:hover .arrow-circle{background:var(--cream);color:var(--plum);transform:translateY(4px)}

/* Verhaal */
.story{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(48px,7vw,120px);padding:110px var(--gutter) 120px}.story-photos{position:relative;min-width:0;height:480px}
.interior-photo{position:absolute;left:14%;top:0;width:74%;height:450px;border-radius:48% 48% 4px 4px;overflow:hidden}.interior-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.dish-photo{position:absolute;left:-2%;bottom:-6px;width:46%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:7px solid var(--cream);transform:rotate(9deg)}.dish-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 75%}
.story-copy{max-width:600px}.story-copy h2{margin:20px 0 30px}.story-copy p:not(.eyebrow):not(.signature)+p{margin-top:18px}.signature{display:flex;align-items:center;gap:16px;font:400 italic 26px/1.3 var(--serif);margin-top:32px}.signature>span{display:block;width:34px;height:1px;background:currentColor}

/* Concept: tekst met genummerde punten naast een fotocompositie op botergeel. */
.concept{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(48px,7vw,120px);padding:40px var(--gutter) 130px}
.concept-copy h2{margin:20px 0 26px}.pillars{margin-top:44px;border-bottom:1px solid var(--line)}.pillars li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:22px 0;border-top:1px solid var(--line)}.pillar-number{font-size:13px;font-weight:500;letter-spacing:.14em;padding-top:5px}.pillars p{font-size:17px;margin-top:4px}
.concept-visual{position:relative;isolation:isolate;padding:44px 44px 44px 0}.concept-visual::before{content:'';position:absolute;top:0;right:0;bottom:0;left:20%;z-index:-1;background:var(--butter);border-radius:24px}
.stamp{position:absolute;right:-4%;bottom:-6%;width:150px;z-index:2;height:auto;color:var(--plum);transform:rotate(-8deg)}


/* Video: staand, opent in een overlay. */
.film{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(40px,7vw,110px);padding:30px var(--gutter) 140px;max-width:1440px;margin:auto}.film-heading{max-width:480px}.film-heading h2{margin:20px 0 24px}.film-heading .button{margin-top:34px}
.film-trigger{position:relative;display:block;width:min(360px,calc((85vh - 40px) * 9 / 16));aspect-ratio:9/16;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--plum);color:var(--cream);cursor:pointer}.film-poster,.film-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-placeholder{position:absolute;left:0;right:0;bottom:28px;text-align:center;font-size:15px;letter-spacing:.04em}
.play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--plum);transition:transform .25s}.play svg{width:30px;height:30px;margin-left:4px}.film-trigger:hover .play{transform:scale(1.08)}
.video-dialog{padding:0;border:0;background:transparent;overflow:visible;max-width:none;max-height:none}.video-dialog::backdrop{background:rgb(25 18 23 / .88)}.dialog-frame{width:min(92vw,calc(88svh * 9 / 16));aspect-ratio:9/16;display:grid;place-items:center;background:#130d11;border-radius:16px;overflow:hidden}.dialog-frame video{width:100%;height:100%;object-fit:contain}.dialog-placeholder{color:var(--cream);font-size:16px;text-align:center;padding:24px}
.dialog-close{position:fixed;top:20px;right:24px;width:48px;height:48px;border:0;border-radius:50%;background:var(--cream);color:var(--plum);font-size:28px;line-height:1;cursor:pointer}

/* Slot: groeit naar schermvullend en gaat over in de footer. */
.outro{position:relative;display:flex;flex-direction:column;min-height:80vh;background:var(--plum);color:var(--cream)}.outro::before{content:'';position:absolute;left:0;right:0;top:calc(1px - var(--arc));height:var(--arc);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100Q50 -100 100 100Z' fill='%23482b42'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.outro-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px var(--gutter) 56px}.outro h2{font-size:clamp(54px,6.4vw,94px);letter-spacing:-.04em;margin:20px 0 24px}.outro-copy{max-width:600px;font-size:19px;text-wrap:pretty}.outro-copy p+p{margin-top:6px}
.outro-actions{width:min(100%,520px);display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,72px);margin-top:56px;text-align:left}.block-title{display:block;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}.signup-row{display:flex;gap:10px}.signup input{flex:1;min-width:0;height:52px;padding:0 22px;border:1px solid rgb(248 243 234 / .45);border-radius:999px;background:transparent;color:var(--cream);font:400 17px var(--sans)}.signup input::placeholder{color:rgb(248 243 234 / .6)}.signup input:focus-visible{outline:2px solid var(--butter);outline-offset:3px}.signup .button{min-height:52px}.signup-status{min-height:1.6em;margin-top:12px;font-size:15px}
.link-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-light)}.link-list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 20px;padding:12px 0;border-bottom:1px solid var(--line-light);text-decoration:none}.link-name{font-size:18px;font-weight:500}.link-list small{grid-column:1;font-size:14px;opacity:.8}.link-arrow{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgb(248 243 234 / .45);border-radius:50%;font-size:18px;transition:background .25s,color .25s,transform .25s}.link-list a:hover .link-arrow{background:var(--cream);color:var(--plum);transform:rotate(45deg)}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:0 var(--gutter);padding:26px 0;border-top:1px solid var(--line-light);font-size:14px}.footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;width:100%;padding-bottom:18px;border-bottom:1px solid var(--line-light)}.socials{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 0 auto;padding:0;list-style:none}.socials a{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid rgb(248 243 234 / .5);border-radius:999px;font:500 14px/1 var(--sans);text-decoration:none;transition:background .2s,color .2s}.socials a:hover{background:var(--cream);color:var(--plum)}.impressie{position:relative;width:min(100%,480px);margin:0 0 0 auto;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgb(72 43 66 / .25)}.impressie img{width:100%;height:auto;display:block}.footer-logo{width:80px;flex-shrink:0}.site-footer p{margin-left:auto}.credits{text-underline-offset:4px}.site-footer .ai-note{order:5;width:100%;margin:0;font-size:13px;opacity:.7}.back-top{display:grid;place-items:center;width:44px;height:44px;text-decoration:none;font-size:20px}

@keyframes photo-arrive{from{transform:scale(1.05)}to{transform:scale(1)}}
@media(max-width:1000px){.site-header{grid-template-columns:auto 1fr auto}.site-header .navbar{justify-self:center}.navbar a{padding:10px 14px;font-size:14px}.story,.concept{gap:56px}.story-photos{height:400px}.interior-photo{height:380px;left:8%;width:82%}.concept{grid-template-columns:1fr}.concept-visual{max-width:680px;width:100%;margin:0 auto}}
@media(max-width:650px){body{font-size:17px}html{scroll-padding-top:24px}.site-header{display:flex;justify-content:space-between;padding-top:20px}.site-header .navbar{display:none}.footer-row{flex-direction:column;align-items:flex-start}.socials{margin-left:0}.navbar{flex-wrap:wrap;justify-content:center}.small-logo{width:72px}.header-button{min-height:42px;padding:0 18px;font-size:14px}
.hero{min-height:600px;height:90svh;max-height:760px;padding-top:110px;padding-bottom:150px}.hero h1{font-size:14px;letter-spacing:.04em;max-width:280px;margin:0 auto 22px}.hero-logo{width:min(100%,340px)}.slogan{font-size:12px;letter-spacing:.16em}.story-link{bottom:52px;font-size:13px}.arrow-circle{width:44px;height:44px}
h2{font-size:clamp(38px,10vw,52px)}.eyebrow{font-size:12px}.story{grid-template-columns:1fr;padding-top:64px;padding-bottom:80px;gap:44px}.story-copy{grid-row:1}.story-photos{height:340px;width:100%;max-width:420px;margin:0 auto}.interior-photo{height:320px;width:68%;left:22%}.dish-photo{width:46%;left:0;border-width:6px}.signature{font-size:24px}
.concept{padding-top:10px;padding-bottom:110px}.pillars li{grid-template-columns:44px 1fr}h3{font-size:22px}.concept-visual{padding:24px 24px 24px 0}.stamp{width:84px;right:-3%;top:-4%}
.film{grid-template-columns:1fr;gap:36px;padding-bottom:110px}.film-trigger{width:min(100%,330px);justify-self:center}
.outro-inner{padding-top:120px;padding-bottom:70px}.outro h2{font-size:clamp(48px,13vw,64px)}.outro-copy{font-size:17px}.outro{min-height:auto}.outro-actions{grid-template-columns:1fr;margin-top:44px}.signup-row{flex-direction:column}.signup input{flex:none;width:100%}.signup .button{width:100%}
.site-footer{flex-wrap:wrap;gap:12px 20px}.site-footer p{margin-left:0;order:3;width:100%}.credits{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
