/* Gidsen hub + money-pages: Kaartenset-stijl (aug 2026) */
:root{
  --g-bg:#F3EFE3;
  --g-card:#FFFFFF;
  --g-ink:#16233A;
  --g-navy:#132339;
  --g-teal:#2D5A56;
  --g-teal-l:#9DC4BA;
  --g-soft:rgba(22,35,58,.62);
  --g-faint:rgba(22,35,58,.60);
  --g-hair:rgba(22,35,58,.32);
  --g-line:rgba(22,35,58,.11);
  --g-serif:"Newsreader",Georgia,serif;
  --g-sans:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--g-bg);
  color:var(--g-ink);
  font-family:var(--g-sans);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--g-teal);text-decoration:none}
a:hover{color:#1f403d}
a:focus-visible{outline:2px solid var(--g-teal);outline-offset:3px;border-radius:8px}
p{margin:0;font-size:16.5px;line-height:1.62;color:rgba(22,35,58,.80)}
img{display:block;max-width:100%;height:auto}

.shell{max-width:1000px;margin:0 auto;padding:0 20px}
.wrap{width:100%;max-width:1000px;margin:0 auto;padding:0 20px}
.serif{font-family:var(--g-serif);font-weight:400;letter-spacing:-.022em;line-height:1.12}

/* header */
header.site-header,
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(243,239,227,.88);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--g-line);
}
.hbar,
.site-header .nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px 0;min-height:52px;
}
.logo,
.brand{
  display:flex;align-items:center;gap:9px;
  font-weight:600;font-size:16px;color:var(--g-ink);
}
.logo:hover,
.brand:hover{color:var(--g-ink)}
.brand-mark{
  width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none;line-height:0;
}
.brand-mark img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.navlinks{
  display:none;gap:24px;font-size:14.5px;font-weight:500;color:var(--g-soft);
}
.navlinks a{color:var(--g-soft)}
.navlinks a:hover,
.navlinks a.is-active{color:var(--g-ink);font-weight:600}
.btn,
.guide-header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--g-navy);color:#fff!important;
  font-weight:600;font-size:14px;padding:12px 17px;border-radius:10px;
  min-height:44px;white-space:nowrap;
}
.btn:hover,.btn:active,
.guide-header-cta:hover,.guide-header-cta:active{
  color:#fff!important;background:#0d1a2c;
}

/* hero hub */
.hero{padding:34px 0 6px;display:flex;flex-direction:column;gap:18px}
.eyebrow,
.guide-eyebrow{
  font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--g-teal);display:flex;align-items:center;gap:10px;margin:0;
}
.eyebrow::before,
.guide-eyebrow::before{
  content:"";width:20px;height:1.5px;background:var(--g-teal);flex:none;
}
.guide-eyebrow i{display:none}
h1.hero-title,
.hero h1{
  font-family:var(--g-serif);font-weight:400;
  font-size:clamp(38px,10vw,58px);line-height:1.03;letter-spacing:-.028em;margin:0;
  color:var(--g-ink);
}
.sub{
  font-family:var(--g-serif);font-weight:400;
  font-size:clamp(19px,5vw,24px);line-height:1.35;letter-spacing:-.018em;
  color:var(--g-soft);margin:0;
}
.lede{max-width:520px}
.facts{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--g-faint);
}
.facts span::after{content:"·";margin-left:14px;color:var(--g-hair)}
.facts span:last-child::after{content:""}

/* waaier */
.fan{position:relative;height:132px;margin:6px 0 2px;pointer-events:none}
.fan i{
  position:absolute;top:0;width:104px;height:130px;border-radius:12px;
  box-shadow:0 12px 28px rgba(22,35,58,.12);display:block;
}
.fan i:nth-child(1){left:0;transform:rotate(-7deg);background:linear-gradient(150deg,#122E2B,#2D5A56)}
.fan i:nth-child(2){left:44px;top:-5px;transform:rotate(1deg);background:linear-gradient(150deg,#1D4A46,#9DC4BA)}
.fan i:nth-child(3){left:90px;top:3px;transform:rotate(8deg);background:var(--g-card);border:1px solid var(--g-line)}

/* deck cards */
.deck{display:flex;flex-direction:column;gap:14px;padding:26px 0 0}
.c{
  background:var(--g-card);border-radius:20px;padding:22px 22px 20px;
  display:flex;flex-direction:column;gap:16px;
  box-shadow:0 12px 30px rgba(22,35,58,.07);
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s;
  color:var(--g-ink);
}
.c:nth-child(odd){transform:rotate(-.4deg)}
.c:nth-child(even){transform:rotate(.34deg)}
.c:active{transform:rotate(0) scale(.988);box-shadow:0 8px 20px rgba(22,35,58,.10)}
.c .th{
  height:96px;border-radius:12px;flex:none;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#122E2B,#2D5A56 48%,#BFD6CC);
}
.c .th.d{background:linear-gradient(150deg,#0D1A22,#1D4A46 52%,#9DC4BA)}
.c .th.n{background:linear-gradient(150deg,#101E2E,#23504C 55%,#A8CCC2)}
.c .th::after{
  content:attr(data-l);position:absolute;left:12px;bottom:10px;
  font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.kk{display:flex;align-items:center;gap:10px;margin-bottom:9px;flex-wrap:wrap}
.kk b{font-size:10.5px;font-weight:600;letter-spacing:.17em;color:var(--g-teal)}
.kk s{width:3px;height:3px;border-radius:50%;background:var(--g-hair);text-decoration:none}
.kk em{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--g-faint)}
.c h2{
  font-family:var(--g-serif);font-weight:400;font-size:26px;
  letter-spacing:-.024em;line-height:1.14;margin:0 0 8px;color:var(--g-ink);
}
.c .teaser{font-size:15.5px;line-height:1.55;color:var(--g-soft)}
.c .go{
  margin-top:14px;display:inline-flex;align-items:center;gap:8px;
  font-size:14.5px;font-weight:600;color:var(--g-teal);min-height:24px;
}

/* navy CTA */
.cta,
.guide-cta{
  margin:30px 0 0;background:var(--g-navy);color:#F5F2EA;border-radius:22px;
  padding:30px 26px;display:flex;flex-direction:column;gap:14px;
}
.cta h2,
.guide-cta-title{
  font-family:var(--g-serif);font-weight:400;font-size:27px;
  letter-spacing:-.022em;margin:0;color:#F5F2EA;
}
.cta p,
.guide-cta p{
  color:rgba(245,242,234,.70);font-size:16.5px;max-width:460px;margin:0;
}
.cta .b,
.guide-cta .btn{
  background:#fff;color:var(--g-navy)!important;align-self:stretch;text-align:center;
  padding:15px 24px;border-radius:12px;font-weight:600;font-size:15.5px;
  min-height:48px;display:inline-flex;align-items:center;justify-content:center;
}
.cta .b:hover,.cta .b:active,
.guide-cta .btn:hover,.guide-cta .btn:active{
  color:var(--g-navy)!important;background:#F5F2EA;
}
.cta .q,
.guide-cta .reassure{
  color:rgba(245,242,234,.45);font-size:13.5px;margin:0;
}
.disc,
.guide-note{
  font-size:13px;color:var(--g-faint);line-height:1.55;padding:26px 0 0;max-width:620px;margin:0;
}

/* footer */
footer,
footer.site-foot{
  margin-top:34px;border-top:1px solid var(--g-line);padding:24px 0 34px;background:transparent;
}
.fbar,
.foot-top{
  display:flex;flex-direction:column;gap:18px;
}
.flinks,
.foot-links{
  display:flex;flex-wrap:wrap;gap:18px;font-size:14px;
}
.flinks a,
.foot-links a{color:var(--g-soft)}
.flinks a:hover,
.foot-links a:hover{color:var(--g-ink)}
.fsmall,
.foot-bottom{
  display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--g-faint);margin:0;padding:0;border:0;
}
.fsmall a,
.foot-bottom a{color:var(--g-faint)}
.fsmall a:hover,
.foot-bottom a:hover{color:var(--g-soft)}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:16px}

.verified-dr-badge{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);
  white-space:nowrap;border:0;
}

/* article pages */
.guide-main{
  max-width:720px;margin:0 auto;padding:34px 20px 60px;
}
.guide-top{
  display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin:0 0 8px;
}
.guide-back{
  display:inline-flex;align-items:center;gap:6px;width:fit-content;
  font-size:14px;font-weight:600;color:var(--g-soft);
}
.guide-back:hover{color:var(--g-teal);text-decoration:underline;text-underline-offset:2px}
.guide-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%}
.guide-main h1,
.guide-article h1{
  margin:0;font-family:var(--g-serif);font-weight:400;
  font-size:clamp(32px,7vw,46px);letter-spacing:-.026em;line-height:1.08;color:var(--g-ink);
  text-wrap:balance;
}
.guide-answer{
  margin:20px 0 28px;padding:18px 18px;border-radius:16px;
  background:rgba(45,90,86,.07);border:1px solid rgba(45,90,86,.14);
  font-size:15.5px;color:var(--g-ink);line-height:1.55;
}
.guide-prose h2{
  margin:2.2rem 0 .75rem;font-size:1.35rem;font-weight:400;
  font-family:var(--g-serif);letter-spacing:-.018em;color:var(--g-ink);
}
.guide-prose h3{
  margin:1.4rem 0 .5rem;font-size:1rem;font-weight:700;color:var(--g-ink);
}
.guide-prose p{
  margin:0 0 1rem;color:rgba(22,35,58,.80);font-size:16px;line-height:1.65;
}
.guide-prose ul,.guide-prose ol{
  margin:0 0 1.1rem;padding-left:1.2rem;color:rgba(22,35,58,.80);font-size:16px;
}
.guide-prose li{margin:0 0 .45rem;line-height:1.55}
.guide-prose a{text-decoration:underline;text-underline-offset:2px}

.guide-related{
  margin:2.6rem 0 0;padding-top:1.6rem;border-top:1px solid var(--g-line);
}
.guide-related-title{
  margin:0 0 14px;font-family:var(--g-serif);font-size:1.25rem;font-weight:400;color:var(--g-ink);
}
.guide-related ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.guide-related a{
  display:block;padding:16px 18px;border-radius:16px;
  background:var(--g-card);box-shadow:0 8px 22px rgba(22,35,58,.06);
  color:var(--g-ink);font-size:15.5px;font-weight:500;
  transition:transform .2s ease,box-shadow .2s ease;
}
.guide-related a:hover{
  transform:translateY(-2px);box-shadow:0 16px 34px rgba(22,35,58,.10);color:var(--g-teal);
}
.guide-related a span{
  display:block;margin-top:4px;font-size:13.5px;font-weight:400;color:var(--g-soft);
}

.guide-faq{margin:2.4rem 0 0}
.guide-faq h2{
  margin:0 0 14px;font-family:var(--g-serif);font-size:1.35rem;font-weight:400;
}
.guide-faq details{
  border:1px solid var(--g-line);border-radius:14px;background:var(--g-card);
  padding:14px 16px;margin:0 0 8px;
}
.guide-faq summary{
  cursor:pointer;font-weight:650;font-size:14.5px;color:var(--g-ink);
}
.guide-faq details p{
  margin:10px 0 0;font-size:14.5px;color:rgba(22,35,58,.78);line-height:1.55;
}

.guide-verantwoording{margin:2rem 0 0}
.guide-verantwoording details{
  border:1px solid var(--g-line);border-radius:14px;background:var(--g-card);
  padding:14px 16px;
}
.guide-verantwoording summary{
  cursor:pointer;font-weight:650;font-size:14.5px;color:var(--g-ink);
}
.guide-verantwoording p{
  margin:10px 0 0;font-size:14px;color:rgba(22,35,58,.78);line-height:1.55;
}
.guide-verantwoording ul{margin:10px 0 0;padding-left:18px}
.guide-verantwoording li{
  margin:0 0 8px;font-size:13.5px;color:rgba(22,35,58,.78);line-height:1.5;
}
.guide-verantwoording a{color:var(--g-teal);word-break:break-word}

@media (hover:hover){
  .c:hover{transform:rotate(0) translateY(-4px);box-shadow:0 24px 50px rgba(22,35,58,.13)}
  .c .go{opacity:.85}
  .c:hover .go{opacity:1}
}

@media (min-width:640px){
  .shell,.wrap,.guide-main{padding-left:32px;padding-right:32px}
  .hero{padding:48px 0 0;gap:20px}
  .deck{gap:16px;padding:34px 0 0}
  .c{padding:26px 30px;display:grid;grid-template-columns:1fr 132px;gap:26px;align-items:center}
  .c .th{height:112px;order:2}
  .c > div:first-child{order:1}
  .c h2{font-size:29px}
  .cta,.guide-cta{
    padding:34px 38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px;
  }
  .cta .b,.guide-cta .btn{align-self:center}
  .fbar,.foot-top{flex-direction:row;justify-content:space-between;align-items:center}
  .foot-bottom{justify-content:space-between;margin-top:18px}
}

@media (min-width:900px){
  .navlinks{display:flex}
  .hbar,.site-header .nav{padding:14px 0}
  .hero{
    display:grid;grid-template-columns:1fr 280px;gap:44px;align-items:end;padding:60px 0 0;
  }
  .heroText{display:flex;flex-direction:column;gap:18px}
  .fan{height:172px;margin:0}
  .fan i{width:136px;height:170px}
  .fan i:nth-child(2){left:56px}
  .fan i:nth-child(3){left:116px}
  .c h2{font-size:31px}
  .disc,.guide-note{padding-top:30px}
}

@media (max-width:720px){
  .shell,.wrap,.guide-main{
    padding-left:max(20px,env(safe-area-inset-left,0px));
    padding-right:max(20px,env(safe-area-inset-right,0px));
  }
  .guide-header-cta,.btn{padding:10px 14px;font-size:13px}
}
