/* ============================================================
   Amado Zorg — homepageconcept
   Kleinschalig wonen bij dementie · warm, zacht, menselijk
   Palet uit het merk: koraal #df7871 + baksteenrood #d42217
   ============================================================ */

:root{
  --bg:      #fbf8f3;   /* warme crème */
  --bg-2:    #f5eee4;   /* zand */
  --blush:   #fceeea;   /* zachte koraal-wash */
  --ink:     #39312c;   /* warm houtskool */
  --ink-2:   #6b6158;   /* warm gedempt */
  --line:    #ece2d5;
  --coral:   #df7871;   /* merk-koraal (accent) */
  --coral-d: #b84a42;   /* text links + labels (AA on cream/blush) */
  --coral-btn:#c4524a;  /* filled buttons: white text AA */
  --red:     #d42217;   /* diep merkrood, spaarzaam */
  --sage:    #8a9e7c;   /* rustig groen, subtiel */
  --white:   #ffffff;
  --dark:    #3a322d;   /* warme donkere blokken/footer */

  --display:"Nunito", system-ui, sans-serif;
  --sans:   "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --r:   16px;
  --r-l: 26px;
  --r-xl:38px;
  --shadow-sm:0 6px 20px -10px rgba(57,49,44,.18);
  --shadow:   0 30px 60px -28px rgba(57,49,44,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}

/* ─── Type ─────────────────────────────────────── */
.display{
  font-family:var(--display); font-weight:800;
  line-height:1.08; letter-spacing:-0.02em;
  font-size:clamp(40px,5.2vw,68px); margin:0 0 .35em;
}
.h2{
  font-family:var(--display); font-weight:800;
  line-height:1.14; letter-spacing:-0.015em;
  font-size:clamp(30px,3.6vw,46px); margin:0 0 .4em;
}
.h3{ font-family:var(--display); font-weight:700; font-size:22px; letter-spacing:-.01em; margin:0 0 8px; }
.display .pop, .h2 .pop{ color:var(--coral); }
.kicker{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--display); font-size:14px; font-weight:700;
  letter-spacing:.04em; color:var(--coral);
  background:var(--blush); padding:8px 17px; border-radius:999px;
  margin-bottom:22px;
}
.kicker.light{ background:rgba(255,255,255,.14); color:#fff; }
.lede{ font-size:clamp(17px,1.3vw,20px); color:var(--ink-2); max-width:54ch; line-height:1.75; }
.section-head{ max-width:740px; margin:0 auto 60px; text-align:center; }
.section-head .lede{ margin:0 auto; }

/* ─── Buttons ──────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--display); font-size:16px; font-weight:700;
  padding:16px 30px; border-radius:999px; border:2px solid transparent;
  cursor:pointer; transition:transform .2s ease, background .2s, box-shadow .2s, color .2s, border-color .2s;
  white-space:nowrap;
}
.btn-coral{ background:var(--coral-btn); color:#fff; box-shadow:0 14px 30px -12px rgba(223,120,113,.6); }
.btn-coral:hover{ background:#a8413a; transform:translateY(-2px); }
.btn-line{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-line:hover{ background:#fff; border-color:var(--coral); color:var(--coral-d); }
.btn-white{ background:#fff; color:var(--coral-d); }
.btn-white:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.btn-ghost-light{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.4); }
.btn-ghost-light:hover{ background:rgba(255,255,255,.2); }
.btn-lg{ padding:18px 36px; font-size:17px; }
.arrow-link{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--display); font-weight:700; font-size:15px; color:var(--coral-d);
  transition:gap .2s ease;
}
.arrow-link:hover{ gap:14px; }

/* ─── Topbar ───────────────────────────────────── */
.topbar{
  background:var(--dark); color:#e7ddd0;
  font-size:14px; padding:9px 5vw;
  display:flex; justify-content:space-between; align-items:center;
}
.topbar a{ font-weight:600; color:#fff; }
.topbar .tb-right{ display:flex; gap:22px; align-items:center; }
.topbar .heart{ color:var(--coral); }

/* ─── Nav ──────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 5vw;
  background:#fbf8f3;
  border-bottom:1px solid var(--line);
}
.nav .logo img{ height:46px; width:auto; }
.nav-links{ display:flex; gap:32px; }
.nav-links a{ font-family:var(--display); font-size:16px; font-weight:600; color:var(--ink); transition:color .2s; }
.nav-links a:hover{ color:var(--coral-d); }
.nav-right{ display:flex; align-items:center; gap:18px; }
.nav-phone{ font-family:var(--display); font-weight:800; font-size:16px; color:var(--coral-d); display:inline-flex; align-items:center; gap:8px; }
.nav-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.nav-burger span{ width:25px; height:2px; background:var(--ink); border-radius:2px; }

/* ─── Hero ─────────────────────────────────────── */
.hero{ padding:60px 5vw 90px; position:relative; overflow:hidden; }
.hero::before{
  content:''; position:absolute; top:-140px; left:-120px;
  width:480px; height:480px; border-radius:50%;
  background:radial-gradient(circle,rgba(223,120,113,.12),transparent 62%); pointer-events:none;
}
.hero-grid{
  max-width:1280px; margin:0 auto; position:relative; z-index:1;
  display:grid; grid-template-columns:1.02fr .98fr; gap:60px; align-items:center;
}
.hero-pills{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; }
.hero-pill{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600; color:var(--ink);
  background:#fff; border:1px solid var(--line); padding:9px 16px; border-radius:999px;
  box-shadow:var(--shadow-sm);
}
.hero-pill .heart{ color:var(--coral); }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin:36px 0 0; }

.hero-visual{ position:relative; }
.hero-visual > img{
  width:100%; aspect-ratio:4/4.4; object-fit:cover; object-position:62% 22%;
  border-radius:var(--r-xl); box-shadow:var(--shadow);
}
.hero-badge{
  position:absolute; left:-30px; bottom:36px;
  background:#fff; border-radius:var(--r-l); box-shadow:var(--shadow);
  padding:20px 24px; display:flex; align-items:center; gap:16px; max-width:280px;
}
.hero-badge .hb-icon{
  flex-shrink:0; width:52px; height:52px; border-radius:50%;
  background:var(--blush); color:var(--coral);
  display:flex; align-items:center; justify-content:center;
}
.hero-badge b{ font-family:var(--display); font-weight:800; font-size:18px; display:block; }
.hero-badge span{ font-size:13.5px; color:var(--ink-2); }

/* ─── Values / belofte ─────────────────────────── */
.values{ background:var(--white); }
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.value{
  text-align:center; padding:14px 18px;
}
.value .ico{
  width:84px; height:84px; margin:0 auto 22px;
  background:var(--blush); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.value .ico img{ width:46px; height:46px; object-fit:contain; }
.value p{ color:var(--ink-2); font-size:15.5px; margin:0; }

/* ─── Section shell ────────────────────────────── */
.section{ padding:110px 5vw; max-width:1280px; margin:0 auto; }
.section.tint{ background:var(--bg-2); max-width:none; }
.section.tint > .inner{ max-width:1280px; margin:0 auto; }

/* ─── Split (onze zorg / over ons) ─────────────── */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split.flip .split-media{ order:2; }
.split-media{ position:relative; }
.split-media img{ width:100%; border-radius:var(--r-xl); box-shadow:var(--shadow); aspect-ratio:5/4; object-fit:cover; }
.split-text p{ color:var(--ink-2); font-size:17px; margin:0 0 18px; max-width:50ch; }
.split-list{ display:grid; gap:14px; margin:26px 0 0; }
.split-list li{ display:flex; align-items:flex-start; gap:13px; font-size:16px; }
.split-list .tick{
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  background:var(--coral); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:13px; margin-top:2px;
}

/* ─── Locaties ─────────────────────────────────── */
.locs{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.loc{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.loc:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.loc-img{ aspect-ratio:16/9; background-size:cover; background-position:center; }
.loc-body{ padding:28px 28px 30px; display:flex; flex-direction:column; flex:1; }
.loc .place{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--coral-d); margin-bottom:8px; }
.loc h3{ font-family:var(--display); font-weight:800; font-size:23px; margin:0 0 6px; }
.loc .addr{ color:var(--ink-2); font-size:15px; margin:0 0 16px; line-height:1.5; }
.loc .meta{ display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--line); margin-top:auto; }
.loc .meta .units{ font-family:var(--display); font-weight:700; color:var(--ink); font-size:15px; }

/* ─── Belofte band ─────────────────────────────── */
.promise{ padding:0 5vw; max-width:1280px; margin:0 auto; }
.promise-inner{
  background:var(--coral); color:#fff; border-radius:var(--r-xl);
  padding:72px 64px; text-align:center; position:relative; overflow:hidden;
}
.promise-inner::after{
  content:''; position:absolute; right:-60px; top:-60px; width:300px; height:300px; border-radius:50%;
  background:rgba(255,255,255,.10);
}
.promise-inner .big{ font-family:var(--display); font-weight:800; font-size:clamp(40px,5vw,72px); line-height:1; margin:0 0 14px; position:relative; }
.promise-inner p{ font-size:19px; color:rgba(255,255,255,.92); margin:0 auto; max-width:48ch; position:relative; }

/* ─── Testimonial ──────────────────────────────── */
.quote-sec{ text-align:center; }
.quote-sec .heart{ font-size:34px; color:var(--coral); display:block; margin-bottom:18px; }
.quote-sec blockquote{
  font-family:var(--display); font-weight:700;
  font-size:clamp(24px,2.9vw,36px); line-height:1.4; letter-spacing:-.01em;
  color:var(--ink); margin:0 auto 26px; max-width:24ch;
}
.quote-sec blockquote em{ color:var(--coral); font-style:normal; }
.quote-sec .cite{ font-family:var(--display); font-weight:700; font-size:16px; }
.quote-sec .cite span{ display:block; color:var(--ink-2); font-weight:400; font-size:14px; font-family:var(--sans); margin-top:3px; }

/* ─── CTA ──────────────────────────────────────── */
.cta-wrap{ padding:110px 5vw; max-width:1280px; margin:0 auto; }
.cta{ display:grid; grid-template-columns:1.05fr .95fr; gap:0; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow); }
.cta-text{ background:var(--dark); color:#e7ddd0; padding:72px 56px; }
.cta-text .h2{ color:#fff; }
.cta-text p{ color:#cdc2b4; font-size:17px; margin:0 0 34px; max-width:42ch; }
.cta-actions{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.cta-phone{ font-family:var(--display); font-weight:800; font-size:20px; color:#fff; display:inline-flex; align-items:center; gap:10px; }
.cta-visual{ background-size:cover; background-position:center; min-height:420px; }

/* ─── Footer ───────────────────────────────────── */
.footer{ background:var(--dark); color:#b3a695; padding:80px 5vw 34px; }
.footer-grid{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; }
.footer .logo img{ height:48px; margin-bottom:18px; }
.footer-brand p{ max-width:30ch; color:#9a8d7c; line-height:1.7; font-size:15px; }
.footer-badges{ display:flex; gap:14px; margin-top:24px; align-items:center; }
.footer-badges img{ height:54px; width:auto; background:#fff; border-radius:8px; padding:5px 8px; }
.footer h4{ color:#fff; font-family:var(--display); font-weight:700; font-size:16px; margin:0 0 16px; }
.footer-col p, .footer-col li{ font-size:14.5px; line-height:1.75; color:#bdb09e; }
.footer-col a:hover{ color:#fff; }
.footer-col .lname{ color:#fff; font-weight:600; }
.footer-bottom{
  max-width:1280px; margin:64px auto 0; padding-top:22px; border-top:1px solid #4c423b;
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:13px; color:#a89a88;
}
.footer-bottom a:hover{ color:#fff; }

/* ─── Responsive ───────────────────────────────── */
@media (max-width:1000px){
  .hero-grid{ grid-template-columns:1fr; gap:48px; }
  .hero-visual{ max-width:520px; }
  .values-grid{ grid-template-columns:1fr; gap:36px; max-width:440px; margin:0 auto; }
  .split{ grid-template-columns:1fr; gap:44px; }
  .split.flip .split-media{ order:0; }
  .split-media{ max-width:520px; }
  .locs{ grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .cta{ grid-template-columns:1fr; }
  .cta-visual{ min-height:280px; order:-1; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:680px){
  .topbar{ font-size:12.5px; padding:8px 5vw; }
  .topbar .tb-left{ display:none; }
  .nav-links{ display:none; }
  .nav-phone{ display:none; }
  .nav-burger{ display:flex; }
  .section{ padding:72px 6vw; }
  .section.tint{ padding:72px 6vw; }
  .hero{ padding:40px 6vw 64px; }
  .hero-badge{ left:0; right:0; margin:0 auto; bottom:-30px; position:relative; margin-top:-20px; }
  .promise-inner{ padding:52px 28px; }
  .cta-text{ padding:52px 30px; }
  .footer-grid{ grid-template-columns:1fr; gap:32px; }
  .footer-bottom{ flex-direction:column; }
  .section-head{ margin-bottom:44px; }
}

/* ============================================================
   Uitbreiding: alle pagina's (sub-hero, tekst, zijbalk, formulieren,
   vacatures, FAQ, galerij, mobiel menu). Zelfde tokens als het concept.
   ============================================================ */
figure,blockquote{margin:0}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.btn-sm{padding:11px 20px;font-size:15px}
.nav-links a[aria-current="page"]{color:var(--coral-d)}
.nav-links a[aria-current="page"]::after{content:'';display:block;height:2px;background:var(--coral);border-radius:2px;margin-top:2px}
.nav-links{gap:24px}
.nav-links a{font-size:15.5px}
.nav-vac-mobile{display:none}
.nav{position:sticky}

/* hero home: knoppen niet afbreken op smal scherm */
.hero-badge b{font-size:16.5px;line-height:1.35}
.split-cta{margin-top:30px}

/* sub-hero: photo on the right two-thirds, white title card overlapping its left edge
   (same motif as the home badge; keeps the 1000px client photos sharp) */
.phero{padding:48px 5vw 0;position:relative;overflow-x:clip}
.phero::before{content:'';position:absolute;top:-140px;left:-140px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(223,120,113,.13),transparent 62%);pointer-events:none}
.phero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.phero-img{grid-column:5 / 13;grid-row:1;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.phero-img img{width:100%;height:clamp(320px,30vw,440px);object-fit:cover}
.phero-card{grid-column:1 / 7;grid-row:1;position:relative;z-index:2;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow);
  padding:44px 48px 46px;min-height:clamp(220px,18vw,260px);display:flex;flex-direction:column;justify-content:center}
.phero-card::before{content:'';position:absolute;left:48px;top:26px;width:44px;height:4px;border-radius:4px;background:var(--coral)}
.phero-card::after{content:'';position:absolute;right:28px;bottom:26px;width:46px;height:46px;border-radius:50%;
  background:var(--blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='%23df7871'/%3E%3C/svg%3E") center/22px no-repeat}
.phero-card .display{font-size:clamp(32px,3.4vw,50px);margin:0;padding-right:40px}
.phero-card .lede{margin:12px 0 0;font-size:clamp(17px,1.3vw,19px);padding-right:56px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2);margin:0 0 16px}
.crumbs a{color:var(--coral-d);transition:color .2s}
.crumbs a:hover{color:var(--ink)}
.crumbs .sep{color:#cdbfae;font-weight:400}
.phero + .section{padding-top:72px}

/* tekstpagina's */
.section{padding:80px 5vw;max-width:calc(1280px + 10vw)}
.section.tint{max-width:none}
.section.values{padding:90px 5vw;max-width:none}
.section.values .values-grid{max-width:1180px;margin:0 auto}
.value .h3{font-size:20px;line-height:1.35;max-width:22ch;margin:0 auto}
.cols-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start}
.prose-wrap{max-width:820px}
.prose{min-width:0;max-width:780px}
.prose p{color:var(--ink-2);margin:0 0 18px;overflow-wrap:anywhere}
.prose a{color:var(--coral-d);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a.btn{text-decoration:none;color:#fff}
.prose h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.4vw,32px);line-height:1.2;margin:40px 0 14px;color:var(--ink)}
.prose h3,.prose h4,.prose h5{font-family:var(--display);font-weight:800;font-size:20px;line-height:1.3;margin:32px 0 10px;color:var(--ink)}
.prose > :first-child{margin-top:0}
.prose .subhead{font-size:20px}
.prose img.ph{width:100%;border-radius:var(--r-l);margin:10px 0 24px;box-shadow:var(--shadow-sm)}
.checks{display:grid;gap:12px;margin:8px 0 24px}
.checks li{display:flex;align-items:flex-start;gap:13px;color:var(--ink);font-size:16px}
.tick{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:3px}
.split-list li span:last-child{min-width:0}
.map{margin:24px 0 0;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--bg-2)}
.map iframe{display:block;width:100%;height:380px;border:0}

/* zijbalk */
.side{display:grid;gap:24px;position:sticky;top:100px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px;box-shadow:var(--shadow-sm)}
.side-card h3{font-family:var(--display);font-weight:800;font-size:19px;margin:4px 6px 12px}
.side-card .sb{display:block;padding:11px 14px;border-radius:12px;font-weight:600;font-size:15.5px;color:var(--ink);transition:background .2s,color .2s}
.side-card .sb:hover{background:var(--blush);color:var(--coral-d)}
.side-card .sb.on{background:var(--coral-btn);color:#fff}
.zorgkaart img{height:44px;width:auto;margin:0 0 14px}
.zorgkaart p{color:var(--ink-2);font-size:15.5px;margin:0 0 14px}
.zorgkaart p a{color:var(--coral-d);font-weight:600}

/* locatiekaarten (home + locaties) */
.locs{max-width:1280px;margin:0 auto}
.loc-img{aspect-ratio:16/10;overflow:hidden}
.loc-img img{width:100%;height:100%;object-fit:cover}
.loc h2{font-family:var(--display);font-weight:800;font-size:24px;margin:0 0 12px;line-height:1.2}
.loc-facts{display:grid;gap:6px;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid var(--line)}
.loc-facts li{font-size:15px;color:var(--ink);padding-left:20px;position:relative}
.loc-facts li::before{content:'';position:absolute;left:2px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--coral)}
.loc-facts a{color:var(--coral-d);font-weight:600}
.loc-body > p{color:var(--ink-2);font-size:15.5px;margin:0 0 16px}
.loc .meta{border-top:0;padding-top:4px}

/* galerij */
.car{position:relative;margin-top:10px}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-l)}
.car-track::-webkit-scrollbar{display:none}
.slide{scroll-snap-align:start}
.slide img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-l)}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:50px;height:50px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;padding-bottom:4px}
.car-btn:hover{background:var(--coral);color:#fff}
.car-prev{left:-22px}.car-next{right:-22px}
.addr-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.addr-grid .map{margin:0}
.addr-grid .map iframe{height:400px}

/* vacatures */
.vac-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.vac-meta li{display:inline-flex;gap:6px;align-items:baseline;background:var(--blush);border-radius:999px;padding:8px 16px;font-size:14.5px}
.vac-meta .k{font-weight:700;color:var(--coral-d)}
.vac-meta .v{color:var(--ink)}
.vac-list{display:grid;gap:16px;margin-top:30px}
.vac-card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:24px 70px 20px 26px;transition:transform .2s,box-shadow .2s,border-color .2s;text-decoration:none!important}
.vac-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#f3cfcb}
.vac-card h3{margin:0 0 14px!important;font-size:21px}
.vac-card .vac-meta{margin:0}
.vac-card .arrow-link{position:absolute;right:26px;top:50%;transform:translateY(-50%);font-size:24px}

/* formulieren */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:26px;box-shadow:var(--shadow-sm)}
.form-card h3{font-family:var(--display);font-weight:800;font-size:21px;margin:0 0 16px}
form.ep{display:grid;gap:14px}
form.ep label{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
form.ep label > input:not([type=radio]),form.ep label > textarea{display:block;margin-top:6px}
form.ep label span{color:var(--coral-d);margin-left:2px}
form.ep input:not([type=radio]),form.ep textarea{font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .2s,background .2s}
form.ep input[type=file]{padding:10px;font-size:14px}
form.ep input:focus,form.ep textarea:focus{outline:none;border-color:var(--coral);background:#fff}
form.ep textarea{resize:vertical;min-height:110px}
form.ep fieldset{border:0;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px}
form.ep legend{font-size:14.5px;font-weight:600;padding:0;margin-bottom:8px;width:100%}
form.ep .radio{display:inline-flex;grid-auto-flow:column;align-items:center;gap:8px;font-weight:500}
form.ep .radio input{accent-color:var(--coral);width:18px;height:18px}
form.ep button{justify-self:start;margin-top:6px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-ok{display:none;background:var(--blush);color:var(--ink);border-radius:12px;padding:16px 18px;font-weight:600}
.form-note{display:none;margin-top:12px;font-size:14px;color:var(--ink-2)}
/* formulier op de donkere kijkje-band */
.cta-text form.ep label,.cta-text form.ep legend{color:#fff}
.cta-text form.ep label span{color:#f6b4ae}
.cta-text form.ep input:not([type=radio]){background:#fff;border-color:transparent}
.cta-text p a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cta-text .form-ok{background:rgba(255,255,255,.12);color:#fff}
.cta-text .form-note{color:#cdc2b4}
.cta-text p{max-width:none}
.cta-text form.ep{margin-top:6px}

/* contact */
.cols-contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.lede-sm{color:var(--ink-2);font-size:18px;margin:0 0 26px}
.lede-sm a{color:var(--coral-d);font-weight:700}
.contact-card p{margin:0 0 16px;color:var(--ink-2);font-size:15.5px;line-height:1.65}
.contact-card strong{color:var(--ink)}
.contact-card a{color:var(--coral-d);font-weight:600}
.contact-card .map iframe{height:300px}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:0 0 12px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:#f3cfcb;box-shadow:var(--shadow-sm)}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 22px;font-family:var(--display);font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--blush);color:var(--coral-d);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1}
.faq details[open] summary::after{content:'\2013'}
.faq .faq-a{padding:0 22px 8px}
.faq .faq-a p{margin:0 0 14px}
.faq .faq-a h4{margin:18px 0 6px;font-size:17px}
.faq .faq-a .checks{margin:4px 0 16px}

/* footer: socials + keurmerken */
.socials{display:flex;gap:10px;margin:0 0 4px}
.socials a{width:36px;height:36px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;transition:background .2s}
.socials a:hover{background:var(--coral)}
.socials img{width:18px;height:18px;object-fit:contain}
.socials.dark{margin:4px 0 0}
.footer-badges{flex-wrap:wrap}
.footer-badges img{height:50px}
.footer-badges img.on-dark{background:transparent;padding:0}
.footer-col p{margin:0 0 16px}
.footer-col li{margin:0 0 4px}
.resite-credit{text-align:center;padding:14px 16px;font-size:12px;line-height:1.4;background:var(--dark);color:rgba(255,255,255,.55);border-top:1px solid #4c423b}
.resite-credit a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.resite-credit a:hover{color:rgba(255,255,255,.8);border-bottom-color:currentColor}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media (max-width:1180px){
  .nav-links{gap:18px}
  .nav-links a{font-size:14.5px}
  .nav-right .btn-line{display:none}
}
@media (max-width:1000px){
  .nav-right{margin-left:auto;margin-right:14px}
  .phero-img{grid-column:1 / -1;grid-row:1}
  .phero-card{grid-column:1 / -1;grid-row:2;margin:-64px 20px 0;min-height:0}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fbf8f3;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;padding:8px 5vw 18px}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:12px 0;font-size:17px;border-bottom:1px solid var(--line)}
  .nav-links a[aria-current="page"]::after{display:none}
  .nav-vac-mobile{display:block}
  .nav-burger{display:flex}
  .cols-main,.cols-contact{grid-template-columns:1fr;gap:40px}
  .side{position:static}
  .car-track{grid-auto-columns:calc((100% - 24px)/2)}
  .car-prev{left:8px}.car-next{right:8px}
}
@media (max-width:680px){
  .nav-right .btn{display:none}
  .section{padding:60px 6vw}
  .section.values{padding:64px 6vw}
  .phero{padding:24px 6vw 0}
  .phero-img img{height:230px}
  .phero-card{padding:26px 24px 28px}
  .phero-card{padding-top:34px}
  .phero-card::before{left:24px;top:18px}
  .phero-card::after{width:38px;height:38px;right:18px;bottom:18px;background-size:18px}
  .phero + .section{padding-top:44px}
  .car-track{grid-auto-columns:100%}
  .f-row{grid-template-columns:1fr}
  .vac-card{padding:22px 22px 20px}
  .vac-card .arrow-link{display:none}
  .hero-cta .btn{white-space:normal;justify-content:center;width:100%}
  .cta-text .btn{white-space:normal}
  .hero-badge{max-width:none}
}
@media (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:680px){
  .display,.phero .display{font-size:clamp(26px,7.6vw,38px);hyphens:manual}
  .h2{font-size:clamp(26px,7.4vw,34px);hyphens:manual}
  .hero-visual > img{aspect-ratio:4/3.6}
}

/* header.jpg has a white curve along its bottom edge: crop it inside a rounded frame */
.hero-photo{aspect-ratio:4/4.4;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:112%;object-fit:cover;object-position:62% 0}
@media (max-width:680px){.hero-photo{aspect-ratio:4/3.6}}

/* home hero badge: short line, set larger */
.hero-badge{padding:22px 30px 22px 22px;gap:18px;max-width:none}
.hero-badge b.hb-big{font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
.hero-badge .hb-icon{width:58px;height:58px}
@media (max-width:680px){.hero-badge b.hb-big{font-size:20px;white-space:normal}}

/* footer logo: the artwork's grey "zorg" disappears on the dark footer, render it fully white */
.footer .logo img{filter:brightness(0) invert(1);opacity:.95}
/* quote attribution source */
.quote-sec .cite span{font-style:italic}
/* over ons: director's quote as a sidebar card, like the pink block on the original */
.side-quote{background:var(--blush);border-radius:var(--r-l);padding:28px 26px 24px;position:relative}
.side-quote .heart{color:var(--coral);font-size:22px;display:block;margin-bottom:10px}
.side-quote p{font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.6;color:var(--ink);margin:0 0 12px}
.side-quote figcaption{font-weight:700;font-size:14.5px;color:var(--coral-d);text-align:right;margin-top:6px}
@media (max-width:1000px){
  .addr-grid{grid-template-columns:1fr;gap:28px}
  .addr-grid .map iframe{height:320px}
}
@media (max-width:680px){
  /* footer: brand and addresses full width, menu and contact side by side */
  .footer{padding:56px 6vw 28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-brand,.footer-grid > .footer-col:nth-child(2){grid-column:1 / -1}
  .footer-grid > .footer-col:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  .footer-grid > .footer-col:nth-child(2) p:last-child{grid-column:1 / -1}
  .footer-bottom{margin-top:36px;flex-direction:row;justify-content:space-between}
  .footer-badges img{height:44px}
}

@media (max-width:680px){
  /* the current page is the h1 right below: drop it from the breadcrumb */
  .crumbs [aria-current],.crumbs .sep:has(+ [aria-current]){display:none}
  .vac-meta li{border-radius:14px}
}
@media (max-width:1000px) and (min-width:681px){
  .hero-visual{max-width:none}
  .hero-photo{aspect-ratio:16/10}
  .hero-badge{left:24px;bottom:24px}
}
/* bigger tap targets on touch screens */
@media (max-width:680px){
  .topbar{padding:4px 5vw}
  .topbar a{display:inline-flex;align-items:center;min-height:36px;padding:0 4px}
  form.ep .radio{padding:6px 0;min-height:40px}
  form.ep .radio input{width:24px;height:24px}
  .resite-credit a{display:inline-block;padding:10px 0}
}
.prose strong,.prose b{color:var(--ink);font-weight:700}

/* honeypot (spam trap), invisible for people */
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-note{color:#a8413a;font-weight:600}
.cta-text .form-note{color:#f6b4ae}

/* phones: page titles never break inside a word. The heart in the title card goes, the card gets
   the full width, and the font scales down when the longest word (--ch letters) would not fit. */
@media (max-width:680px){
  .phero-card{margin:-56px 0 0;padding:30px 20px 24px}
  .phero-card::after{display:none}
  .phero-card .display,.phero-card .lede{padding-right:0}
  .phero-card .display{font-size:min(clamp(26px,7.6vw,38px),calc((88vw - 40px) / (var(--ch, 10) * .6)))}
  .prose h3,.prose h4{overflow-wrap:break-word}
}
@media (max-width:380px){
  .prose h3,.prose .subhead{font-size:18.5px}
}
@media (max-width:340px){
  .prose h3,.prose .subhead{font-size:17px}
}
