:root{--bg:#f6f2ea;--ink:#1f2529;--muted:#66727a;--brand:#b9894f;--dark:#29231e;--card:#fffaf4;--line:#e5dacb;--ok:#2f7d59;--bad:#9f332e;--shadow:0 22px 70px rgba(35,28,20,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 0,#fff9ed 0,#f6f2ea 42%,#eee6da 100%);color:var(--ink)}a{color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}.nav{position:sticky;top:0;z-index:10;background:rgba(246,242,234,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,218,203,.8)}.navin{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.logo{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--brand),#d8bb86);display:grid;place-items:center;color:#fff;font-weight:950;box-shadow:var(--shadow)}.brand b{font-size:18px}.links{display:flex;gap:10px;align-items:center}.links a,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 15px;text-decoration:none;font-weight:850;border:1px solid var(--line);background:rgba(255,255,255,.62)}.btn{background:var(--dark);border-color:var(--dark);color:#fff}.btn.light{background:#fff;color:var(--dark);border-color:var(--line)}.hero{padding:58px 0 34px;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#efe0c8;color:#6c4a1d;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(42px,7vw,76px);line-height:.92;letter-spacing:-.07em;margin:18px 0 16px}.lead{font-size:19px;line-height:1.65;color:var(--muted);margin:0}.panel,.card{background:rgba(255,250,244,.86);border:1px solid rgba(229,218,203,.95);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.panel{padding:24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:21px}.card h3{margin:0 0 8px;font-size:22px;letter-spacing:-.035em}.card p{margin:0;color:var(--muted);line-height:1.55}.section{padding:28px 0}.section h2{font-size:clamp(30px,4.8vw,52px);letter-spacing:-.055em;margin:0 0 14px}.steps{counter-reset:step;display:grid;gap:12px}.step{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:22px}.step:before{counter-increment:step;content:counter(step);width:34px;height:34px;border-radius:12px;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:950}.step h3{margin:0 0 5px}.step p,.small{color:var(--muted);line-height:1.55}.warning{background:#fff2df;border:1px solid #e8c58c;color:#704500;border-radius:22px;padding:18px}.okbox{background:#ebf7f0;border:1px solid #b8dbc7;color:#225d40;border-radius:22px;padding:18px}.list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.list li{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form{display:grid;gap:13px}.field label{display:block;font-weight:850;margin:0 0 6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.field textarea{min-height:100px}.sig{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.sig canvas{width:100%;height:170px;border-radius:14px;background:#fff;display:block;border:1px dashed #cdbda9}.footer{padding:34px 0 50px;color:var(--muted);font-size:14px}.doclink{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none}.doclink span{color:var(--muted);font-size:14px}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px}.table td:first-child{border-left:1px solid var(--line);border-radius:15px 0 0 15px;font-weight:850}.table td:last-child{border-right:1px solid var(--line);border-radius:0 15px 15px 0;color:var(--muted)}@media(max-width:860px){.hero,.two,.grid{grid-template-columns:1fr}.links{display:none}.navin{height:66px}.panel{padding:18px}.hero{padding-top:34px}.table td{display:block;border:1px solid var(--line)!important;border-radius:14px!important;margin-bottom:0}.table tr{display:block;margin-bottom:10px}}
@media print{.nav,.footer,.no-print{display:none!important}body{background:#fff}.wrap{width:100%}.panel,.card{box-shadow:none}.hero{display:block;padding:0}.section{padding:12px 0}}

/* QA fixes: voorkom horizontale overflow en rare uitlijning op mobiel/tablet */
img,svg,canvas,video{max-width:100%;height:auto}input,select,textarea,button{max-width:100%;min-width:0}.panel,.card,.step,.doclink,.field,.table,.steps,.list,.option,.q{min-width:0}.two>*,.grid>*,.optiongrid>*{min-width:0}.doclink{flex-wrap:wrap;align-items:flex-start}.doclink b{overflow-wrap:anywhere}.lead,p,li,h1,h2,h3,label,td,th{overflow-wrap:anywhere}.section{overflow-x:clip}.table{table-layout:auto}.btn{white-space:normal;text-align:center}.links a{white-space:nowrap}
@media(max-width:860px){.wrap{width:min(100% - 24px,1160px)}.hero h1{letter-spacing:-.045em}.section h2{letter-spacing:-.035em}.doclink{display:block}.doclink span{display:block;margin-top:4px}.btn{width:auto}.optiongrid{grid-template-columns:1fr!important}.qtable-wrap,.matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.qtable,.matrix{min-width:720px}.sticky{position:static!important;flex-direction:column;align-items:stretch!important}.sticky .btn{width:100%}}
@media(max-width:520px){.wrap{width:min(100% - 18px,1160px)}.panel,.card{border-radius:20px;padding:16px}.hero h1{font-size:40px}.lead{font-size:17px}.section h2{font-size:30px}.links{display:none}.btn{width:100%;margin-bottom:6px}.table td{word-break:break-word}}

/* 2026-05-18 global alignment pass hypotheeksite */
body{overflow-x:hidden}.navin{min-width:0}.brand{min-width:0}.brand b{white-space:nowrap}.links{min-width:0;flex-wrap:wrap;justify-content:flex-end}.links a{white-space:nowrap}.hero{align-items:stretch}.hero>*,.two>*,.grid>*{min-width:0}.hero .panel{height:100%;display:flex;flex-direction:column;justify-content:center}.grid,.two{align-items:stretch}.card,.panel{height:100%}.card{display:flex;flex-direction:column}.card p{flex:1}.section{clear:both}.btn,.links a{line-height:1.15;min-height:42px}.center-actions,.btnrow,.navbtns,.mini-actions{align-items:center}.field{min-width:0}.field label{line-height:1.25}.field input,.field select,.field textarea{display:block;min-height:46px}.field textarea{resize:vertical}.table td{vertical-align:top}.doclink{min-height:72px}.doclink b,.doc b{line-height:1.25}.doclink span,.doc span{line-height:1.45}.list li{line-height:1.45}.warning,.okbox,.notice,.ok{line-height:1.5}.sig label{display:block;font-weight:900;margin-bottom:8px}.footer{line-height:1.5}
/* calculator / aanvraag shared alignment */
.calc-shell,.panelx,.fresh-panel,.quick,.result-card,.side{min-width:0}.calcgrid,.qgrid,.summary,.quicklinks,.apply-steps,.metrics,.fieldrow{align-items:stretch}.calcfield,.apply-step,.quick,.summary div,.metric,.scenario-row{min-width:0}.calcfield label{line-height:1.25}.amountrow{align-items:center}.scenario-row{align-items:center}.scenario-row span{min-width:0;line-height:1.35}.scenario-row strong{text-align:right}.flow{align-items:start}.stepsnav button{line-height:1.25}.navbtns .next,.navbtns .prev,.navbtns .cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px}.doc{min-height:72px}.doc .badge{flex:0 0 auto}.flow-step .lead{margin-bottom:16px}.mini-title{line-height:1.2}.mini-title .hint{font-weight:650}.result-card .btnrow .btn{flex:1 1 220px}
@media(max-width:1100px){.links{gap:6px}.links a,.btn{padding:10px 12px;font-size:14px}.hero{gap:18px}}
@media(max-width:920px){.hero{align-items:start}.hero .panel{justify-content:flex-start}.center-actions,.btnrow,.navbtns{align-items:stretch}.navbtns{flex-direction:column-reverse}.navbtns button,.navbtns a{width:100%}.scenario-row{align-items:flex-start}.scenario-row strong{text-align:left}.quick,.apply-step,.summary div{height:auto}.side{margin-bottom:12px}.doc{display:block}.doc .badge{margin-top:8px}.result-card .btnrow .btn{flex-basis:100%}}
@media(max-width:860px){.brand b{font-size:17px}.hero,.two,.grid{gap:12px}.section{padding:18px 0}.panel,.card{height:auto}.links{display:none!important}.table{border-spacing:0}.table tr{display:block}.table td+td{margin-top:-1px}.doclink{min-height:0}.footer{text-align:center}}
@media(max-width:520px){.logo{width:40px;height:40px;border-radius:13px}.navin{height:62px}.hero{padding-top:24px}.hero h1,.home-hero h1,.hero-mini h1{word-break:normal;hyphens:auto}.lead{line-height:1.5}.calc-shell,.panelx{padding:14px;border-radius:22px}.calc-head{padding-bottom:12px}.calcfield,.field input,.field select,.field textarea{font-size:16px}.metrics{gap:8px}.metric{padding:11px}.big{letter-spacing:-.045em}.qgrid{gap:10px}.field.full{grid-column:auto}.doc,.scenario-row{padding:12px}.stepsnav{grid-template-columns:1fr}.side{padding:13px}.btn,.navbtns button,.navbtns a{width:100%;margin-bottom:0}.footer{padding-bottom:34px}}
/* 2026-05-20 LWM rente-ticker */
.rate-tape{position:sticky;top:74px;z-index:9;background:linear-gradient(90deg,#12213f,#1769ff 55%,#10b981);color:#fff;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 10px 28px rgba(18,33,63,.13);overflow:hidden}
.rate-tape-inner{width:min(1160px,calc(100% - 32px));margin:auto;display:flex;align-items:center;gap:14px;min-height:46px;white-space:nowrap}
.rate-tape-label{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(255,255,255,.16);padding:7px 10px;font-weight:950;letter-spacing:.01em;flex:0 0 auto}.rate-tape-track{display:flex;gap:12px;align-items:center;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.rate-tape-items{display:flex;gap:12px;align-items:center;animation:rateTape 34s linear infinite}.rate-tape:hover .rate-tape-items{animation-play-state:paused}.rate-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.13);border-radius:999px;padding:7px 11px;font-weight:850}.rate-chip b{font-size:16px}.rate-chip span{opacity:.9}.rate-chip em{font-style:normal;opacity:.75}.rate-tape-note{opacity:.78;font-size:12px;flex:0 0 auto}
@keyframes rateTape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:860px){.rate-tape{top:62px}.rate-tape-inner{width:min(100% - 18px,1160px);min-height:44px}.rate-tape-note{display:none}.rate-tape-label{font-size:13px}.rate-chip{font-size:13px;padding:7px 10px}}

/* 2026-06-12 hypotheek klantdashboard: alle onderdelen blijven strak binnen vakken. */
body .hk-main,
body .hk-main * {
  min-width: 0;
}

body .hk-main {
  width: min(1160px, calc(100% - 24px)) !important;
  overflow-x: clip;
}

body .hk-phone,
body .hk-main .panel,
body .hk-main .hk-block,
body .hk-main .simple-step,
body .hk-main .document-card,
body .hk-main .uploadbox,
body .hk-main .followup-question,
body .hk-main .decision-box {
  max-width: 100%;
  overflow: hidden;
  border-radius: 18px !important;
}

body .hk-main .hk-phone {
  display: grid;
  gap: 12px;
}

body .hk-main .hk-head,
body .hk-main .hk-brand,
body .hk-main .actions,
body .hk-main .doc-actions {
  max-width: 100%;
}

body .hk-main .hk-brand {
  min-height: 48px;
}

body .hk-main .hk-brand img {
  flex: 0 0 auto;
}

body .hk-main .hk-title,
body .hk-main h1,
body .hk-main h2,
body .hk-main h3,
body .hk-main p,
body .hk-main b,
body .hk-main small,
body .hk-main label,
body .hk-main summary,
body .hk-main textarea,
body .hk-main select {
  overflow-wrap: anywhere;
  letter-spacing: 0 !important;
}

body .hk-main .hk-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body .hk-main .hk-metric {
  height: 100%;
  align-content: center;
}

body .hk-main .hk-row {
  grid-template-columns: 48px minmax(0, 1fr) 20px !important;
  width: 100%;
}

body .hk-main .simple-step summary {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
}

body .hk-main .step-detail {
  max-width: 100%;
}

body .hk-main .document-preview {
  display: block;
  width: 100%;
  max-width: 100%;
  height: clamp(280px, 58vh, 680px) !important;
}

body .hk-main .document-kv {
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr) !important;
}

body .hk-main .doc-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .hk-main .doc-action,
body .hk-main .btn,
body .hk-main .hk-cta {
  white-space: normal;
  text-align: center;
}

body .hk-main .question-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body .hk-main .question-grid > div,
body .hk-main .uploadbox label,
body .hk-main .field {
  min-width: 0;
  border-radius: 14px;
}

body .hk-main input,
body .hk-main select,
body .hk-main textarea {
  max-width: 100%;
}

body .hk-bottom-nav {
  max-width: 100vw;
}

@media(max-width:760px) {
  body .hk-main {
    width: min(100% - 18px, 1160px) !important;
    padding-bottom: 96px !important;
  }

  body .hk-main .hk-phone,
  body .hk-main .panel {
    padding: 14px !important;
  }

  body .hk-main .hk-head {
    align-items: center;
  }

  body .hk-main .hk-brand img:first-child {
    width: 44px !important;
    height: 44px !important;
  }

  body .hk-main .hk-brand img:last-child {
    width: 104px !important;
  }

  body .hk-main .hk-title {
    font-size: 29px !important;
    line-height: 1.08 !important;
  }

  body .hk-main .hk-metrics,
  body .hk-main .question-grid {
    grid-template-columns: 1fr !important;
  }

  body .hk-main .hk-metric {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    justify-items: start !important;
    text-align: left !important;
    min-height: 74px !important;
  }

  body .hk-main .hk-metric span {
    grid-row: 1 / 3 !important;
  }

  body .hk-main .hk-status-line {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(74px, 1fr);
    overflow-x: auto;
    padding-bottom: 4px;
  }

  body .hk-main .simple-step summary {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }

  body .hk-main .simple-step summary strong {
    grid-column: 2;
    justify-self: start;
  }

  body .hk-main .step-detail {
    padding-left: 0 !important;
  }

  body .hk-main .document-kv,
  body .hk-main .doc-actions,
  body .hk-main .actions {
    grid-template-columns: 1fr !important;
  }

  body .hk-main .document-preview {
    height: 320px !important;
  }
}
