/* Huisloon website: ontwerp met de opbouw van TPH en de kleuren uit de Huisloon-huisstijl. */
:root{
  --navy:#204f4b;--navy2:#2b625d;--cyan:#e9a23b;--blue:#f7dcab;--accent-text:#a8650f;--ink:#1f2a28;--muted:#5d6b68;
  --light:#f3ecd9;--line:#e6dcc3;--white:#fff;--radius:22px;--shadow:0 16px 50px rgba(32,79,75,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;color:var(--ink);background:#faf6ec;line-height:1.55}
a{text-decoration:none;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,92vw);margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--cyan);display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:14px 22px;border-radius:999px;font-weight:800;font-size:1rem;font-family:inherit;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--cyan);color:#2a1c05;box-shadow:0 8px 24px rgba(233,162,59,.25)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-outline{border-color:#d9c9a3;color:var(--navy);background:#fff}

header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(230,220,195,.8)}
nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand img{height:46px;width:auto;display:block}
.navlinks{display:flex;gap:28px;align-items:center;color:#2f4a47;font-weight:700;font-size:.95rem}
.navlinks a:hover{color:var(--cyan)}

.hero{position:relative;overflow:hidden;padding:92px 0 80px;background:radial-gradient(circle at 85% 10%,rgba(233,162,59,.17),transparent 27%),radial-gradient(circle at 75% 60%,rgba(247,220,171,.12),transparent 26%),linear-gradient(135deg,#fff 15%,#fdf9f0 100%)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(32,79,75,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(32,79,75,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
h1{font-size:clamp(2.6rem,5.4vw,4.9rem);line-height:1;letter-spacing:-.05em;margin:18px 0 24px;color:var(--navy)}
h1 span{color:var(--accent-text)}
.lead{font-size:1.22rem;color:#4c5f5c;max-width:760px;margin-bottom:30px}
.lead strong{color:var(--navy)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.micro{font-size:.9rem;color:#6a7a77;margin-top:14px}
.hero-side{display:grid;gap:18px}
.logo-showcase,.hero-card{position:relative;overflow:hidden;border-radius:30px;box-shadow:0 30px 80px rgba(32,79,75,.14)}
.logo-showcase{background:#fff;border:1px solid rgba(230,220,195,.95);padding:28px}
.logo-showcase small{display:block;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--accent-text);margin-bottom:14px}
.logo-showcase img{width:min(100%,380px);height:auto;display:block}
.logo-showcase p{margin:18px 0 0;color:var(--muted);font-size:.96rem}
.hero-card{background:linear-gradient(155deg,var(--navy),#2a6560 72%,#33736d);color:#fff;padding:30px}
.hero-card h3{font-size:1.5rem;margin:0 0 18px}
.signal{display:grid;gap:14px}
.signal div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);padding:15px 16px;border-radius:16px;display:flex;gap:12px;align-items:flex-start}
.signal b{display:block}
.dot{width:11px;height:11px;border-radius:50%;background:var(--cyan);margin-top:7px;box-shadow:0 0 18px rgba(233,162,59,.9);flex:0 0 auto}

section{padding:88px 0}
.section-head{max-width:760px;margin-bottom:42px}
.section-head h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.04em;color:var(--navy);margin:14px 0}
.section-head p{font-size:1.08rem;color:var(--muted);margin:0}

.what{background:var(--light)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 20px;min-height:200px}
.pillar .icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;color:var(--navy);font-weight:900;margin-bottom:15px}
.pillar h3{color:var(--navy);margin:0 0 8px;font-size:1.1rem}
.pillar p{font-size:.95rem;color:var(--muted);margin:0}

.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case{border-radius:24px;padding:26px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;display:flex;flex-direction:column}
.case:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.case small{font-weight:800;color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em}
.case h3{color:var(--navy);font-size:1.25rem;margin:10px 0 14px}
.case p{color:var(--muted);margin:0 0 12px}
.case dl{margin:0 0 20px;flex:1}
.case .row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.97rem}
.case dt{color:var(--muted)}
.case dd{margin:0;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.amount{background:var(--light);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}
.amount small{display:block;font-size:.72rem;letter-spacing:.09em}
.amount strong{display:block;font-size:2.3rem;letter-spacing:-.04em;color:var(--navy);line-height:1.2;font-variant-numeric:tabular-nums}
.note{font-size:.9rem;color:#6a7a77;margin-top:22px}

.region{background:linear-gradient(135deg,var(--navy),#2b625d);color:#fff}
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.region .section-head{margin-bottom:28px}
.region .eyebrow,.cta .eyebrow,.region-box .eyebrow{color:var(--cyan)}
.region .section-head h2,.region .section-head p{color:#fff}
.region .section-head p{opacity:.78}
.calc-form{background:#fff;border-radius:22px;padding:24px;color:var(--ink)}
.region-box{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:24px;padding:30px}
.region-box .big{font-size:clamp(3rem,6vw,4.6rem);letter-spacing:-.05em;line-height:1.05;color:#fff;font-weight:800;font-variant-numeric:tabular-nums}
.region-box .big span{color:var(--cyan)}
.region-box p{margin:8px 0 0;opacity:.8}
.region-box ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.region-box li{display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.14);padding-top:10px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:.2s ease;min-height:170px}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e3c88f}
.card .tag{font-size:.78rem;font-weight:900;color:var(--accent-text);letter-spacing:.12em;text-transform:uppercase}
.card h3{margin:12px 0 8px;color:var(--navy);font-size:1.25rem}
.card p{margin:0;color:var(--muted)}

.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:38px}
.step{position:relative;padding:0 22px 0 0}
.step:not(:last-child):after{content:"";position:absolute;top:24px;right:0;width:48px;height:1px;background:#d9c9a3;transform:translateX(50%)}
.step .n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;margin-bottom:14px}
.step h3{font-size:1.05rem;color:var(--navy);margin:0 0 7px}
.step p{font-size:.93rem;color:var(--muted);margin:0}

.cta{background:linear-gradient(140deg,#17413d,var(--navy2));border-radius:30px;color:#fff;padding:48px;display:grid;grid-template-columns:1fr .8fr;gap:36px;align-items:center}
.cta-logo{display:inline-flex;background:#fff;padding:14px 16px;border-radius:18px;margin-bottom:18px}
.cta-logo img{height:44px;width:auto;display:block}
.cta h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 15px}
.cta p{opacity:.8;font-size:1.08rem}
.contact{display:grid;gap:2px;margin-top:20px;font-size:1.05rem}
.contact a{font-weight:800}
.contact a:hover{color:var(--blue)}
.form{background:#fff;border-radius:22px;padding:22px;color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;font-size:.82rem;font-weight:800;margin-bottom:5px;color:#36524f}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d6cdb4;border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:108px;resize:vertical}
.field{margin-bottom:12px}
.form .btn{width:100%}
.form-msg{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;background:#fbf0da;color:#5a3d08;font-weight:700;font-size:.92rem}
.form-msg.show{display:block}

footer{padding:34px 0 42px;border-top:1px solid var(--line);color:#6a7a77;font-size:.9rem}
.footer-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.footer-brand img{height:40px;width:auto;display:block;margin-bottom:10px}
.footer-row b{color:var(--navy)}
.fine{max-width:520px;margin:0;font-size:.82rem}

@media(max-width:980px){
  .navlinks a:not(.btn){display:none}
  .hero-grid,.region-grid,.cta,.duo{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .cases{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr;gap:22px}
  .step:not(:last-child):after{display:none}
}
@media(max-width:640px){
  nav{height:76px}.brand img{height:36px}
  .hero{padding:62px 0}
  .hero-grid{gap:34px}
  h1{font-size:2.7rem}
  .cards,.pillars,.form-row{grid-template-columns:1fr}
  .cta{padding:28px}
  .footer-row{flex-direction:column}
  .cta-logo img{height:34px}
  .navlinks .btn{padding:10px 14px;font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
  

/* pagina's na het versturen en tekstpagina's */
.page-narrow{width:min(760px,92vw);margin:0 auto;padding:64px 0 90px}
.page-narrow h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;color:var(--navy);line-height:1.1;margin:0 0 18px}
.page-narrow h2{font-size:1.4rem;color:var(--navy);margin:34px 0 8px}
.page-narrow p,.page-narrow li{color:#3d4f4c}
.page-narrow ul{padding-left:22px}
.thanks{background:#fff;border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:var(--shadow)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.field-error{color:#b3261e;font-size:.88rem;margin:5px 0 0}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.92rem;color:var(--ink)}
.form .check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--navy)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--navy);color:#fff;padding:8px 14px;z-index:99;border-radius:8px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
.footer-links a{text-decoration:underline}


.reg{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 4px;font-size:.95rem;color:var(--ink)}
.reg__name{font-weight:800;color:var(--navy);flex-basis:100%}
.reg__item{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px}
.reg__item b{color:var(--navy);letter-spacing:.04em}
