/* ═══════════════════════════════════════════
   TEMPLATE: CRAFT — Ambachtelijk / Warm
   Textured, organische vormen, serif-first
   ═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Nunito+Sans:wght@400;600;700;800&display=swap');

:root {
  --c: #b45309;
  --c-light: #d97706;
  --c-10: rgba(180,83,9,.06);
  --cream: #fdf8f0;
  --warm: #f5ebe0;
  --brown: #3c2415;
  --brown-light: #78563a;
  --text: #2c1810;
  --text-muted: #7c6354;
  --border: #e8dcc8;
  --ease: cubic-bezier(.25,.8,.25,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito Sans',system-ui,sans-serif; background:var(--cream); color:var(--text); line-height:1.75; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }

/* Typography — serif dominant */
h1,h2,h3 { font-family:'Libre Baskerville',Georgia,serif; font-weight:700; letter-spacing:-.01em; color:var(--brown); }
.display { font-size:clamp(2.4rem,6vw,4rem); line-height:1.05; }
.h2 { font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.15; }
em { font-family:'Libre Baskerville',Georgia,serif; font-style:italic; font-weight:400; color:var(--c); }
.tag { font-family:'Nunito Sans',sans-serif; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; color:var(--c); }
.muted { color:var(--text-muted); }

.w { max-width:1080px; margin:0 auto; padding:0 28px; }

/* Nav — warm, organic */
.nav { position:sticky; top:0; z-index:100; background:var(--cream); border-bottom:1px solid var(--border); padding:14px 28px; display:flex; justify-content:space-between; align-items:center; }
.nav-logo { font-family:'Libre Baskerville',serif; font-size:1.3rem; font-weight:700; color:var(--brown); }
.nav-logo em { color:var(--c); }
.nav-links { display:flex; gap:20px; }
.nav-links a { font-size:.84rem; font-weight:600; color:var(--text-muted); transition:color .2s; }
.nav-links a:hover,.nav-links a.active { color:var(--c); }
.nav-cta { background:var(--c); color:#fff; padding:10px 24px; border-radius:8px; font-size:.82rem; font-weight:700; transition:all .3s; }
.nav-cta:hover { background:var(--brown); }

/* Hero — editorial, centered */
.hero { padding:clamp(6rem,14vw,10rem) 0 clamp(4rem,8vw,6rem); text-align:center; position:relative; }
.hero::before { content:''; position:absolute; top:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg, transparent, var(--border), transparent); }
.hero .tag { margin-bottom:16px; }
.hero .display { max-width:800px; margin:0 auto; }
.hero p { max-width:520px; margin:20px auto 32px; font-size:1.05rem; color:var(--text-muted); }
.hero-img { max-width:900px; margin:48px auto 0; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(44,24,16,.12); }
.hero-img img { width:100%; height:360px; object-fit:cover; }

/* Buttons */
.btn-warm { display:inline-flex; align-items:center; gap:10px; background:var(--c); color:#fff; padding:14px 32px; border-radius:8px; font-weight:700; font-size:.88rem; transition:all .3s var(--ease); }
.btn-warm:hover { background:var(--brown); transform:translateY(-2px); box-shadow:0 8px 24px rgba(44,24,16,.15); }
.btn-text { display:inline-flex; align-items:center; gap:8px; color:var(--c); font-weight:700; font-size:.88rem; transition:gap .2s; }
.btn-text:hover { gap:14px; }

/* Sections */
.sec { padding:clamp(4rem,8vw,6rem) 0; }
.sec-alt { background:var(--warm); }
.sec-header { text-align:center; max-width:580px; margin:0 auto clamp(2rem,4vw,3rem); }

/* Cards — paper feel */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.card { background:#fff; border:1px solid var(--border); border-radius:12px; padding:28px; transition:all .3s var(--ease); }
.card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(44,24,16,.08); border-color:var(--c); }
.card-icon { width:48px; height:48px; border-radius:50%; background:var(--c-10); color:var(--c); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:16px; }
.card h3 { font-size:1rem; margin-bottom:6px; }
.card p { font-size:.84rem; color:var(--text-muted); }

/* Process — timeline */
.timeline { position:relative; max-width:600px; margin:0 auto; }
.timeline::before { content:''; position:absolute; left:24px; top:0; bottom:0; width:2px; background:var(--border); }
.timeline-item { position:relative; padding-left:64px; margin-bottom:32px; }
.timeline-dot { position:absolute; left:16px; top:4px; width:18px; height:18px; border-radius:50%; background:var(--c); border:3px solid var(--cream); }
.timeline-item h4 { font-family:'Nunito Sans',sans-serif; font-weight:800; font-size:.92rem; margin-bottom:4px; }
.timeline-item p { font-size:.86rem; color:var(--text-muted); }

/* Testimonial — handwritten feel */
.testimonial { background:#fff; border:1px solid var(--border); border-radius:16px; padding:36px; max-width:640px; margin:0 auto; text-align:center; position:relative; }
.testimonial::before { content:'"'; font-family:'Libre Baskerville',serif; font-size:5rem; color:var(--c-10); position:absolute; top:0; left:50%; transform:translateX(-50%); line-height:1; }
.testimonial blockquote { font-family:'Libre Baskerville',serif; font-style:italic; font-size:1.1rem; line-height:1.7; color:var(--brown); margin-bottom:20px; }
.testimonial cite { font-style:normal; font-family:'Nunito Sans',sans-serif; font-weight:700; font-size:.86rem; display:block; }
.testimonial .role { font-size:.76rem; color:var(--text-muted); }

/* CTA — warm */
.cta-warm { background:var(--brown); color:#fff; padding:clamp(4rem,8vw,6rem) 0; text-align:center; border-radius:24px; margin:0 24px clamp(2rem,4vw,3rem); }
.cta-warm h2 { color:#fff; margin-bottom:12px; }
.cta-warm p { color:rgba(255,255,255,.7); max-width:460px; margin:0 auto 28px; }
.btn-cream { background:var(--cream); color:var(--brown); padding:14px 32px; border-radius:8px; font-weight:700; font-size:.88rem; display:inline-flex; align-items:center; gap:10px; transition:all .3s; }
.btn-cream,.btn-cream * { color:var(--brown) !important; -webkit-text-fill-color:var(--brown) !important; }
.btn-cream:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.2); }

/* Footer */
.footer { padding:40px 0; text-align:center; font-size:.78rem; color:var(--text-muted); border-top:1px solid var(--border); }
.footer a { color:var(--c); }

/* Reveals */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }

/* Responsive */
@media(max-width:768px) { .nav-links{display:none} .hero-img img{height:240px} }
