/* CGM Power - pagina: contact */
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr .95fr;gap:24px;align-items:stretch;padding-top:88px;padding-bottom:0}
.hero-links{padding-bottom:88px}
.hero .toptag{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--oranje);background:rgba(247,148,29,.12);border:1px solid rgba(247,148,29,.35);padding:8px 16px;border-radius:999px;margin-bottom:24px}
.hero h1{font-size:clamp(38px,5vw,60px);font-weight:900;color:#fff;margin-bottom:22px;max-width:560px}
.hero p.lead{color:rgba(255,255,255,.82);font-size:17.5px;max-width:480px;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.hero .btn{padding:16px 30px;font-size:15.5px;border-radius:12px}
.hero-usps{display:flex;gap:24px 40px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:28px}
.hero-rechts{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:520px}
.hero-rechts .gen{position:relative;z-index:2;width:100%;max-width:640px;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
.hero-specs{position:absolute;top:5%;right:0;z-index:3;background:rgba(10,37,64,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:18px;overflow:hidden;min-width:340px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.hero-spec{display:flex;align-items:center;gap:17px;padding:20px 26px;border-bottom:1px solid rgba(255,255,255,.1)}
.hero-spec strong{display:block;font-size:17px;color:#fff;font-weight:800;line-height:1.3}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
/* ===== CONTACTPAGINA ===== */
.page-hero{background:linear-gradient(115deg,var(--navy) 0%,var(--navy-2) 60%,var(--navy-3) 100%);color:#fff;padding:64px 0;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(115deg,transparent 45%,#000 100%);pointer-events:none}
.page-hero .crumb{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:block}
.page-hero .crumb a:hover{color:#fff}
.page-hero h1{font-size:clamp(32px,4vw,46px);font-weight:900}
.page-hero p{color:rgba(255,255,255,.75);max-width:520px;margin-top:12px;font-size:16.5px}
.page-hero .hero-bar-abs{position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--oranje),var(--blauw))}
.contact-sec{padding:72px 0}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.form-card{background:#fff;border:1px solid var(--grijs-200);border-radius:20px;padding:44px}
.form-card h2{font-size:24px;font-weight:900;margin-bottom:8px}
.form-card .sub{color:var(--grijs-500);font-size:14.5px;margin-bottom:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.veld{display:flex;flex-direction:column;gap:8px}
.veld.vol{grid-column:1/-1}
.veld label{font-size:13px;font-weight:800;letter-spacing:.02em}
.veld label em{font-style:normal;color:var(--oranje)}
.veld input,.veld select,.veld textarea{font:inherit;font-size:14.5px;padding:14px 16px;border:1.5px solid var(--grijs-200);border-radius:12px;background:var(--grijs-50);color:var(--navy);transition:border-color .15s,background .15s;width:100%}
.veld input:focus,.veld select:focus,.veld textarea:focus{outline:none;border-color:var(--blauw);background:#fff}
.veld textarea{min-height:140px;resize:vertical}
.form-grid .btn{grid-column:1/-1;justify-self:start;padding:16px 34px}
.form-ok{display:none;grid-column:1/-1;background:#EAF7EE;border:1px solid #BEE5C8;color:#166534;font-weight:700;font-size:14.5px;padding:16px 20px;border-radius:12px}
.form-ok.zichtbaar{display:block}
.info-stack{display:flex;flex-direction:column;gap:24px}
.info-card{border-radius:20px;padding:36px}
.info-card.donker{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.info-card.licht{background:var(--grijs-50);border:1px solid var(--grijs-200)}
.info-card h3{font-size:19px;font-weight:900;margin-bottom:22px}
.info-rij{display:flex;gap:15px;align-items:flex-start;padding:11px 0}
.info-rij + .info-rij{border-top:1px solid rgba(255,255,255,.1)}
.info-card.licht .info-rij + .info-rij{border-top:1px solid var(--grijs-200)}
.info-rij .ib{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(247,148,29,.15);border:1px solid rgba(247,148,29,.3)}
.info-rij .ib svg{width:19px;height:19px;color:var(--oranje)}
.info-rij small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:2px}
.info-card.licht .info-rij small{color:var(--grijs-500)}
.info-rij strong{display:block;font-size:15px;font-weight:800;line-height:1.45}
.info-rij a strong:hover{color:var(--oranje)}
.info-card.licht .info-rij a strong:hover{color:var(--blauw)}
.info-rij span.zacht{font-size:13px;color:rgba(255,255,255,.6);line-height:1.5;display:block}
.info-card.licht .info-rij span.zacht{color:var(--grijs-500)}
.gegevens-tabel{width:100%;font-size:14px}
.gegevens-tabel td{padding:9px 0;border-bottom:1px solid var(--grijs-200);vertical-align:top}
.gegevens-tabel tr:last-child td{border-bottom:0}
.gegevens-tabel td:first-child{color:var(--grijs-500);font-weight:700;width:88px}
.gegevens-tabel td:last-child{font-weight:800}
.map-sec{padding:0 0 80px}
.map-wrap{border-radius:20px;overflow:hidden;border:1px solid var(--grijs-200);height:440px;box-shadow:0 16px 40px rgba(10,37,64,.08)}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:1080px){.contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.form-card{padding:26px}.form-grid{grid-template-columns:1fr}.info-card{padding:26px}.map-wrap{height:320px}}
.hp-veld{position:absolute!important;left:-9999px!important;top:-9999px!important;height:0;overflow:hidden}
