/* Designtokens, typografie, containers, secties, buttons, animaties en responsive breakpoints. */
:root{
 --bg:#fffaf2;--paper:#fffdf8;--cream:#f3e9dc;--sand:#dfc9ae;--gold:#bd9252;--sun:#dd9368;
 --coral:#c9786d;--blue:#748d9b;--ink:#252420;--ink2:#625b52;--line:rgba(37,36,32,.14);
 --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
 --sans:"Avenir Next","Helvetica Neue",Inter,Arial,sans-serif;
 --page:min(1280px,calc(100vw - 96px));--section:clamp(88px,9vw,140px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fffdf8 0%,#fff8ef 54%,#fffdf8 100%);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;width:100%}main{overflow:hidden}
.wrap{width:var(--page);margin:auto}.eyebrow{font-size:11px;letter-spacing:.21em;text-transform:uppercase;font-weight:700}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.93;margin:0}
.lead{font-family:var(--serif);font-size:clamp(22px,2.1vw,30px);line-height:1.48;color:var(--ink2)}
.text{font-size:16px;line-height:1.78;color:#524c45}.text p{margin:0 0 20px}
.link{display:inline-flex;gap:9px;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.hero{min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#d8d0c7}
.hero img{position:absolute;inset:0;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,19,17,.62),rgba(20,19,17,.18) 58%,rgba(20,19,17,.03))}
.hero-copy{position:relative;z-index:2;width:var(--page);margin:0 auto;padding:0 0 78px;color:#fff}
.hero-copy .eyebrow{opacity:.75;margin-bottom:18px}.hero-title{font-size:clamp(68px,7.5vw,118px);max-width:900px}
.hero-copy .lead{color:#fff;max-width:680px;margin:24px 0 0}
.intro{padding:var(--section) 0}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,120px);align-items:start}
.intro-title{font-size:clamp(48px,5.5vw,84px)}.intro-copy{padding-top:10px}
.split{padding-bottom:var(--section)}.split-grid{width:min(1400px,calc(100vw - 42px));margin:auto;display:grid;grid-template-columns:1fr 1fr}
.split-media{min-height:680px}.split-media img{height:100%;object-fit:cover}
.split-copy{min-height:680px;background:#292a27;color:#f8f2e9;padding:clamp(48px,6vw,82px);display:flex;flex-direction:column;justify-content:flex-end}
.split-copy .eyebrow{color:#bfb4a7;margin-bottom:18px}.split-title{font-size:clamp(52px,5.8vw,90px)}
.split-copy p{font-family:var(--serif);font-size:23px;line-height:1.5;color:#ddd2c5;max-width:540px}
.cards{padding-bottom:var(--section)}.cards-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:46px}
.cards-head h2{font-size:clamp(54px,6vw,94px)}.cards-head p{max-width:460px;font-family:var(--serif);font-size:21px;line-height:1.5;color:var(--ink2)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;min-height:470px;overflow:hidden;background:#ddd}
.card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}.card:hover img{transform:scale(1.025)}
.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,18,16,.62))}
.card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.card-title{font-family:var(--serif);font-size:44px;font-weight:400;line-height:1;margin:0 0 11px}
.band{padding-bottom:var(--section)}.band-box{background:#efe3d5;padding:clamp(54px,7vw,92px);text-align:center}
.band-box h2{font-size:clamp(44px,5.4vw,82px);max-width:980px;margin:0 auto 22px}.band-box p{font-family:var(--serif);font-style:italic;color:#766d63;font-size:22px;margin:0 auto;max-width:720px}
.form-section{padding:var(--section) 0}.form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.form-title{font-size:clamp(52px,6vw,92px)}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
input,textarea,select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 0;font:inherit;color:var(--ink);outline:none}
textarea{min-height:130px;resize:vertical}.btn{border:1px solid var(--ink);border-radius:999px;background:transparent;padding:14px 20px;font-weight:700;cursor:pointer}
.btn:hover{background:var(--ink);color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){
 :root{--page:calc(100vw - 36px);--section:80px}.hero{min-height:640px}.hero:after{background:linear-gradient(180deg,rgba(18,18,16,.05) 26%,rgba(18,18,16,.72) 100%)}
 .hero-copy{padding-bottom:48px}.hero-title{font-size:clamp(52px,14vw,76px)}.hero-copy .lead{font-size:20px}
 .intro-grid,.split-grid,.form-grid{grid-template-columns:1fr}.intro-grid{gap:36px}.split-grid{width:100%}.split-media,.split-copy{min-height:520px}.split-copy{padding:50px 20px}
 .cards-head{display:block}.cards-head p{margin-top:20px;font-size:19px}.grid3{grid-template-columns:1fr;gap:12px}.card{min-height:440px}
 .form-grid{gap:40px}form{grid-template-columns:1fr}.full{grid-column:auto}
}
