@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --cream:#fbf5ef;
  --cream2:#f4ece5;
  --paper:#fffdfb;
  --ink:#2e2525;
  --muted:#726765;
  --plum:#4a1f2d;
  --wine:#7a3348;
  --rose:#c98796;
  --blush:#f1dadd;
  --taupe:#a99a8e;
  --sand:#d9cec4;
  --line:rgba(74,31,45,.13);
  --shadow:0 24px 70px rgba(74,31,45,.12);
  --soft-shadow:0 12px 34px rgba(74,31,45,.07);
  --r:34px;
  --r2:24px;
  --max:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(241,218,221,.95), transparent 31%),
    radial-gradient(circle at 92% 12%, rgba(217,206,196,.72), transparent 26%),
    linear-gradient(180deg,#fffaf7 0%, var(--cream) 48%, #f6eee8 100%);
  line-height:1.62;
  letter-spacing:-.01em;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
h1,h2,h3{font-family:"Fraunces", Georgia, serif;letter-spacing:-.045em;line-height:.98;margin:0 0 1rem;color:var(--plum)}
h1{font-size:clamp(3.5rem,8vw,7.2rem)}
h2{font-size:clamp(2.1rem,4.6vw,4rem)}
h3{font-size:clamp(1.35rem,2vw,1.85rem)}
ul{margin:0;padding:0}
.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;border-radius:999px;z-index:99}

.site-header{
  width:min(var(--max),calc(100% - 1.4rem));
  margin:.8rem auto 0;
  position:sticky;top:.8rem;z-index:50;
  background:rgba(255,253,251,.82);
  backdrop-filter: blur(18px);
  border:1px solid var(--line);
  border-radius:999px;
  padding:.55rem .65rem .55rem .6rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  box-shadow:0 10px 38px rgba(74,31,45,.08);
}
.header-brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.header-brand img{width:50px;height:50px;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 8px 22px rgba(74,31,45,.13)}
.header-brand strong{display:block;font-family:"Fraunces",Georgia,serif;color:var(--plum);font-size:1.05rem;letter-spacing:-.03em;white-space:nowrap}
.header-brand small{display:block;color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap}
.nav{display:flex;align-items:center;gap:.24rem}
.nav a{font-size:.86rem;color:var(--muted);font-weight:800;padding:.72rem .85rem;border-radius:999px;transition:.18s ease}
.nav a:hover{background:rgba(241,218,221,.55);color:var(--plum)}
.nav-button,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.92rem 1.25rem;font-weight:900;border:1px solid transparent;min-height:48px;transition:.2s ease;letter-spacing:-.02em}
.nav-button,.button.primary{background:var(--plum);color:#fff;box-shadow:0 16px 42px rgba(74,31,45,.21)}
.button.primary:hover,.nav-button:hover{transform:translateY(-2px);background:#3d1725}
.button.secondary{background:var(--paper);border-color:var(--line);color:var(--plum);box-shadow:var(--soft-shadow)}
.button.full{width:100%}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;border-radius:50%}.menu-toggle span{display:block;width:22px;height:2px;background:var(--plum);margin:6px auto;border-radius:999px}

.hero{
  width:min(var(--max),calc(100% - 2rem));
  margin:0 auto;
  min-height:730px;
  padding:5.2rem 0 3.8rem;
  display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:3.2rem;
}
.overline{
  display:inline-flex;align-items:center;gap:.72rem;
  color:var(--wine);font-size:.74rem;text-transform:uppercase;letter-spacing:.19em;font-weight:900;margin:0 0 1.05rem;
}
.overline::before{content:"";width:38px;height:9px;border-radius:99px;background:linear-gradient(90deg,var(--rose),rgba(201,135,150,.18))}
.hero-lead{font-size:clamp(1.12rem,1.55vw,1.32rem);max-width:38rem;color:var(--muted);font-weight:600;line-height:1.62}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0 1.2rem}
.micro-proof{font-size:.94rem;color:var(--muted);font-weight:800}
.hero-media{height:625px;position:relative}
.hero-logo,.hero-room,.hero-detail{position:absolute;object-fit:cover;box-shadow:var(--shadow)}
.hero-logo{right:0;top:12px;width:58%;max-width:350px;border-radius:50%;z-index:3;border:8px solid var(--cream)}
.hero-room{left:0;top:92px;width:76%;height:500px;border-radius:42px;border:1px solid rgba(255,255,255,.55)}
.hero-detail{right:0;bottom:10px;width:46%;height:245px;border-radius:30px;border:8px solid var(--cream)}

.statement-band{
  width:min(var(--max),calc(100% - 2rem));
  margin:0 auto 5.6rem;
  padding:1.3rem;
  border-radius:38px;
  background:var(--plum);color:#fff;
  display:grid;grid-template-columns:.86fr 1.14fr;gap:1rem;align-items:center;
  box-shadow:var(--shadow);
}
.statement-band p{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.55rem,2.8vw,2.8rem);line-height:1.01;margin:0;letter-spacing:-.045em}
.statement-band span{color:rgba(255,255,255,.78);font-size:1.02rem;font-weight:600}

.section{width:min(var(--max),calc(100% - 2rem));margin:0 auto 6rem}
.section-intro{max-width:760px;margin-bottom:1.7rem}.section-intro.centered{text-align:center;margin-inline:auto}.section-intro.centered .overline{justify-content:center}
.section-intro p:last-child{color:var(--muted);font-weight:600;font-size:1.02rem}
.problem{background:rgba(255,253,251,.58);border:1px solid var(--line);border-radius:46px;padding:2rem;box-shadow:var(--soft-shadow)}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.problem-grid article,.service-card,.step-list div,.qr-card,.steps-copy,.about-card{
  background:rgba(255,253,251,.94);border:1px solid var(--line);border-radius:30px;box-shadow:var(--soft-shadow)
}
.problem-grid article{padding:1.3rem;min-height:260px}
.problem-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--blush);color:var(--plum);font-weight:900;margin-bottom:1rem;font-size:.9rem}
.problem-grid p,.method-copy p,.service-card p,.step-list p,.qr-card p,.about-card p,.final-cta p{color:var(--muted);font-weight:600}

.method{display:grid;grid-template-columns:.94fr 1.06fr;gap:1.15rem;align-items:stretch}
.method-image{border-radius:42px;overflow:hidden;box-shadow:var(--shadow);min-height:560px;border:1px solid var(--line)}
.method-image img{width:100%;height:100%;object-fit:cover}
.method-copy{background:rgba(255,253,251,.9);border:1px solid var(--line);border-radius:42px;padding:2.25rem;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--soft-shadow)}
.tick-list{display:grid;gap:.62rem;list-style:none;margin-top:.85rem}.tick-list li{position:relative;padding-left:1.65rem;color:var(--muted);font-weight:700}.tick-list li::before{content:"";position:absolute;left:0;top:.58rem;width:10px;height:10px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 5px rgba(201,135,150,.17)}

.proof-grid{display:grid;grid-template-columns:1.18fr .82fr .82fr;gap:.85rem;grid-auto-rows:300px}
.proof-grid figure{position:relative;margin:0;border-radius:34px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line)}
.proof-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(34,21,24,.68))}
.proof-grid img{width:100%;height:100%;object-fit:cover}.proof-large{grid-row:span 2}.proof-grid figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;color:#fff;font-weight:900;z-index:1;font-size:.98rem}

.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.service-card{padding:1.15rem;display:flex;flex-direction:column;min-height:275px;transition:.18s ease}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.service-card div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.service-label{display:inline-flex;background:var(--blush);color:var(--plum);border-radius:999px;padding:.42rem .75rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap}.service-card h3{font-size:2.05rem;color:var(--plum);margin:0;white-space:nowrap}.service-card ul{display:flex;gap:.38rem;flex-wrap:wrap;list-style:none;margin-top:auto}.service-card li{font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:.32rem .58rem;color:var(--muted);background:rgba(255,255,255,.62);font-weight:800}.service-card.highlight{background:#fff5f7;border-color:rgba(111,38,62,.28)}.service-card.add-on{background:linear-gradient(135deg,#fffdfb,#f7ebe8);border-style:dashed}.service-card.wide{grid-column:span 2}.service-card.home{background:linear-gradient(135deg,#fffdfb,#f3dee3)}

.steps{display:grid;grid-template-columns:1.15fr .85fr;gap:1.15rem;align-items:stretch}.steps-copy,.qr-card,.about-card{padding:1.85rem;border-radius:42px}.step-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.2rem}.step-list div{border-radius:26px;padding:1rem;background:rgba(244,236,229,.62);box-shadow:none}.step-list span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--plum);color:#fff;font-weight:900;margin-bottom:.7rem}.qr-card{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.qr-card img{width:205px;border-radius:24px;margin-bottom:1.15rem;border:1px solid var(--line);box-shadow:0 12px 30px rgba(74,31,45,.08)}
.about-card{display:grid;grid-template-columns:275px 1fr;gap:1.8rem;align-items:center}.about-card > img{width:275px;border-radius:50%;box-shadow:var(--shadow)}.signature-line{font-family:"Fraunces",Georgia,serif!important;font-size:1.8rem!important;color:var(--wine)!important;margin-top:1rem!important;font-style:italic;letter-spacing:-.04em}

.final-cta{width:min(var(--max),calc(100% - 2rem));margin:0 auto 3rem;padding:3rem 2rem;border-radius:42px;background:linear-gradient(135deg,var(--plum),#7a3149);color:#fff;text-align:center;box-shadow:var(--shadow)}.final-cta h2{color:#fff}.final-cta .overline{color:#fff}.final-cta .overline::before{background:rgba(255,255,255,.42)}.final-cta p{color:rgba(255,255,255,.78);max-width:36rem;margin:0 auto 1.5rem}.final-cta .button.primary{background:#fff;color:var(--plum)}
.site-footer{padding:0 0 2rem}.footer-inner{width:min(var(--max),calc(100% - 2rem));margin:0 auto;padding:1.5rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr .9fr 1.35fr;gap:1.1rem;align-items:center}.footer-signature strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.45rem;color:var(--plum)}.footer-signature span,.footer-contact span,.footer-contact a{display:block;color:var(--muted);font-size:.95rem;font-weight:700}.footer-signature em{display:block;font-family:"Fraunces",Georgia,serif;color:var(--wine);font-size:1.5rem;font-style:italic;margin-top:.25rem}.brush-mark{width:54px;height:54px;margin-top:.7rem;filter:drop-shadow(0 10px 18px rgba(74,31,45,.12))}.footer-contact{display:grid;gap:.3rem}.socials{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.socials a{min-height:82px;border:1px solid var(--line);background:rgba(255,253,251,.88);border-radius:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.34rem;color:var(--muted);font-size:.8rem;font-weight:900;box-shadow:var(--soft-shadow);transition:.18s ease}.socials svg{width:28px;height:28px;stroke:var(--plum);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.socials a:hover{transform:translateY(-2px);border-color:rgba(74,31,45,.3);background:#fff}

@media (max-width: 1040px){.hero,.method,.steps,.about-card{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{height:620px}.problem-grid,.service-list{grid-template-columns:1fr 1fr}.proof-grid{grid-template-columns:1fr 1fr}.proof-large{grid-row:span 1}.footer-inner{grid-template-columns:1fr}.socials{max-width:620px}.statement-band{grid-template-columns:1fr}.service-card.wide{grid-column:span 1}}
@media (max-width: 760px){.site-header{top:.5rem;border-radius:26px}.header-brand small{display:none}.menu-toggle{display:block}.nav{position:absolute;display:none;left:0;right:0;top:calc(100% + .45rem);background:rgba(255,253,251,.98);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:.7rem;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:.75rem .95rem}.nav-button{justify-content:center}.hero{padding-top:3.2rem;gap:1.6rem}.hero-media{height:510px}.hero-logo{width:50%;right:0;top:0;border-width:5px}.hero-room{width:88%;height:390px;top:70px}.hero-detail{width:48%;height:190px;border-width:5px}.problem{padding:1rem;border-radius:34px}.problem-grid,.service-list,.proof-grid,.step-list,.socials{grid-template-columns:1fr}.proof-grid{grid-auto-rows:290px}.method-image{min-height:380px}.steps-copy,.qr-card,.about-card,.method-copy{padding:1.3rem}.about-card > img{width:210px;margin:auto}.statement-band{margin-bottom:4rem}.section{margin-bottom:4rem}}
@media (max-width: 480px){.hero h1{font-size:clamp(2.7rem,16vw,4.4rem)}.hero-media{height:440px}.hero-logo{width:54%}.hero-room{height:340px}.hero-detail{height:155px}.service-card div:first-child{display:block}.service-card h3{margin-top:.4rem}.footer-signature em{font-size:1.35rem}.header-brand strong{font-size:.96rem}}

/* v8: cleaner marketing layer */
.identity-note{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:1.1rem;
  align-items:center;
  padding:1.55rem;
  border:1px solid var(--line);
  border-radius:42px;
  background:linear-gradient(135deg,rgba(255,253,251,.9),rgba(241,218,221,.48));
  box-shadow:var(--soft-shadow);
}
.identity-note h2{margin-bottom:0}
.identity-note > p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  font-size:1.03rem;
}
.social-video{
  margin-top:-1rem;
}
.social-video-card{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:1rem;
  padding:1.15rem;
  background:rgba(255,253,251,.75);
  border:1px solid var(--line);
  border-radius:44px;
  box-shadow:var(--soft-shadow);
  align-items:stretch;
}
.video-preview{
  min-height:420px;
  position:relative;
  overflow:hidden;
  border-radius:34px;
  background:var(--plum);
  box-shadow:var(--shadow);
}
.video-preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(.98)}
.video-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(74,31,45,.03),rgba(74,31,45,.56))}
.play-button{
  position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,253,251,.9);
  color:var(--plum);
  font-size:1.65rem;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  z-index:1;
  padding-left:.14rem;
}
.reel-label{
  position:absolute;left:1rem;bottom:1rem;z-index:1;
  background:rgba(255,253,251,.92);
  color:var(--plum);
  border-radius:999px;
  padding:.48rem .8rem;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.05em;
}
.video-copy{
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.video-copy p:not(.overline){color:var(--muted);font-weight:700;max-width:38rem}
.aanvraag-card{
  background:
    radial-gradient(circle at 50% 0%, rgba(241,218,221,.86), transparent 42%),
    rgba(255,253,251,.96);
}
.qr-frame{
  padding:.62rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 12px 30px rgba(74,31,45,.09);
  margin-bottom:1.05rem;
}
.qr-frame img{
  margin:0;
  width:190px;
  border:0;
  box-shadow:none;
  border-radius:22px;
}
.mini-contact-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.45rem;
  margin-top:.85rem;
}
.mini-contact-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  min-height:40px;
  padding:.45rem .72rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--muted);
  font-size:.82rem;
  font-weight:900;
}
.mini-contact-links svg{
  width:18px;
  height:18px;
  stroke:var(--plum);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-contact strong{
  display:block;
  color:var(--plum);
  font-family:"Fraunces", Georgia, serif;
  font-size:1.1rem;
  margin-bottom:.2rem;
}
@media (max-width: 1040px){
  .identity-note,.social-video-card{grid-template-columns:1fr}
  .video-preview{min-height:360px}
}
@media (max-width: 760px){
  .identity-note{padding:1.15rem;border-radius:32px}
  .social-video-card{padding:.75rem;border-radius:34px}
  .video-copy{padding:.85rem .25rem .25rem}
  .video-preview{min-height:310px;border-radius:28px}
  .play-button{width:62px;height:62px;font-size:1.35rem}
}
