
:root{--navy:#071b35;--navy2:#0d2b4f;--orange:#f36c21;--ink:#17212b;--muted:#657383;--bg:#f4f7fa;--white:#fff;--line:#dfe6ec}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.top{background:var(--navy);color:#fff;font-size:14px;padding:8px 0}.top .container{display:flex;justify-content:space-between;gap:20px}
header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.logo{font-weight:900;font-size:26px;color:var(--navy);letter-spacing:-1px}.logo span{color:var(--orange)}.links{display:flex;gap:22px;align-items:center;font-weight:700;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:8px;background:var(--orange);color:#fff;font-weight:800;border:0}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:70px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}
.eyebrow{color:#ff9a5d;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:10px 0 18px;letter-spacing:-2px}.hero p{font-size:19px;color:#d8e3ee;max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.trust{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;font-weight:700}.hero-card{background:#fff;color:var(--ink);border-radius:18px;padding:28px;box-shadow:0 24px 60px #00142a66}.hero-card h2{margin-top:0;color:var(--navy)}.price{font-size:38px;font-weight:900;color:var(--orange)}
section{padding:72px 0}.soft{background:var(--bg)}h2{font-size:36px;line-height:1.1;color:var(--navy);letter-spacing:-1px;margin:0 0 16px}.lead{font-size:18px;color:var(--muted);max-width:800px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff}.card h3{color:var(--navy);margin:8px 0}.icon{font-size:28px}.tag{display:inline-block;background:#fff0e7;color:#a8440d;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:800}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.step b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;font-size:20px}
.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pricebox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.pricebox strong{font-size:29px;color:var(--navy)}
.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.blog{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.blog .ph{height:150px;background:linear-gradient(135deg,#173d66,#f36c21);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px}.blog .body{padding:20px}
.cta{background:var(--navy);color:#fff;border-radius:20px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{color:#fff}
footer{background:#051426;color:#cbd6e0;padding:50px 0 30px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer h3{color:#fff}
.mobilebar{display:none}
@media(max-width:850px){.links{display:none}.hero{padding:48px 0}.hero-grid{grid-template-columns:1fr}.cards,.steps,.pricegrid,.bloggrid{grid-template-columns:1fr}.foot{grid-template-columns:1fr}.top .container{font-size:12px}.cta{align-items:flex-start;flex-direction:column}section{padding:52px 0}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:8px;gap:8px}.mobilebar a{flex:1}.hero h1{letter-spacing:-1px}}

.breadcrumb{font-size:13px;color:var(--muted);padding:18px 0}.pagehero{background:var(--navy);color:#fff;padding:55px 0}.pagehero h1{font-size:clamp(34px,5vw,54px);line-height:1.05;margin:8px 0 15px}.pagehero p{max-width:800px;color:#d8e3ee;font-size:18px}
.twocol{display:grid;grid-template-columns:1.35fr .65fr;gap:36px;align-items:start}.aside{border:1px solid var(--line);border-radius:14px;padding:22px;position:sticky;top:100px}.check{padding:0;list-style:none}.check li{padding:7px 0}.check li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:9px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:800;color:var(--navy);cursor:pointer}.notice{border-left:4px solid var(--orange);background:#fff5ef;padding:14px 18px;border-radius:6px}.tablewrap{overflow:auto}table.clean{width:100%;border-collapse:collapse}table.clean th,table.clean td{padding:12px;border-bottom:1px solid var(--line);text-align:left}table.clean th{background:var(--navy);color:#fff}
@media(max-width:850px){.twocol{grid-template-columns:1fr}.aside{position:static}}

.toc{background:#f5f8fb;border:1px solid var(--line);border-radius:14px;padding:22px;margin:22px 0}.toc a{display:block;padding:5px 0}
.answer{font-size:19px;border-left:4px solid var(--orange);padding:10px 18px;background:#fff8f4;margin:18px 0}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:white}.guide-card h3{margin-top:0}
.problem{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}.problem b{color:var(--navy)}
@media(max-width:750px){.guide-grid{grid-template-columns:1fr}}

.price-table-wrap{overflow-x:auto;margin:20px 0 34px}.price-table{width:100%;border-collapse:collapse;background:#fff}
.price-table th,.price-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.price-table th{background:var(--navy);color:#fff;position:sticky;top:0}.price-table tr:nth-child(even) td{background:#f7f9fb}
.price-table tr.hot td{background:#fff2e9;font-weight:700}.quickanswer{border:2px solid var(--orange);border-radius:16px;padding:22px;background:#fff8f3;margin:22px 0}
.diameter-nav{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 25px}.diameter-nav a{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:white}
.qa-price{padding:18px 0;border-bottom:1px solid var(--line)}.qa-price h3{margin-bottom:7px}

.factbox{border:2px solid var(--orange);background:#fff8f3;border-radius:16px;padding:22px;margin:22px 0}
.info-table{width:100%;border-collapse:collapse;margin:18px 0 30px;background:white}.info-table th,.info-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.info-table th{background:var(--navy);color:white;text-align:left}
.jump{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 25px}.jump a{border:1px solid var(--line);padding:8px 11px;border-radius:999px;background:white}
.source-note{font-size:.9rem;opacity:.78}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.service-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.service-card h3{margin-top:0}.metric{font-size:1.35rem;font-weight:800}.cta-strip{border-radius:18px;padding:24px;background:var(--navy);color:white;margin:30px 0}.cta-strip a{color:white}.checklist li{margin-bottom:9px}@media(max-width:800px){.service-grid{grid-template-columns:1fr}}

/* Fase 13: SEO-afbeelding direct bij H1 */
.seo-hero-image{margin:18px 0 22px}
.seo-hero-image img{display:block;width:100%;max-width:1200px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.seo-hero-image figcaption{font-size:.9rem;opacity:.78;margin-top:7px}
.google-review-strip{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 18px;margin:18px 0;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.google-review-strip strong{font-size:1.05rem}

.related-services{margin:38px 0}
.related-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-service-card{display:block;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;text-decoration:none}
.related-service-card strong,.related-service-card span{display:block}
.related-service-card .price{font-weight:700;margin:6px 0}
@media(max-width:760px){.related-services-grid{grid-template-columns:1fr}}

/* Drillpro mobile-first safety layer */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

main,
header,
footer,
section {
  width: 100%;
  max-width: 100%;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

figure {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.seo-hero-image,
.seo-hero-image img {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 850px) {
  .container {
    width: calc(100% - 32px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .pagehero {
    width: 100%;
    max-width: 100%;
  }

  .seo-hero-image {
    width: 100%;
    max-width: 100%;
  }

  .seo-hero-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .google-review-strip {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
  }

  .service-grid,
  .related-services-grid {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
}

/* =========================================================
   DRILLPRO MOBILE QUALITY FIX
   Mobile priority - Phase 18
   ========================================================= */

@media (max-width: 850px) {

  body {
    padding-bottom: 84px;
  }

  .container {
    width: calc(100% - 32px);
    max-width: none;
  }

  /* Pagina hero */
  .pagehero {
    padding: 38px 0 42px;
  }

  .pagehero h1 {
    font-size: clamp(32px, 9vw, 44px);
    line-height: 1.06;
    letter-spacing: -1px;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .pagehero p {
    font-size: 17px;
    line-height: 1.55;
  }

  /* Hero foto's */
  .seo-hero-image {
    width: 100%;
    margin: 22px 0 18px;
  }

  .seo-hero-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 14px;
  }

  .seo-hero-image figcaption {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.4;
  }

  /* Related / Ook interessant */
  .related-services {
    width: calc(100% - 32px);
    max-width: none;
    margin: 42px auto;
    padding: 0;
  }

  .related-services h2 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.08;
    margin: 0 0 16px;
    overflow-wrap: break-word;
  }

  .related-services > p {
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 22px;
  }

  .related-services-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    width: 100%;
  }

  .related-service-card {
    width: 100%;
    min-width: 0;
    padding: 18px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .related-service-card strong,
  .related-service-card span {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .related-service-card .price {
    display: block;
    font-size: 26px;
    line-height: 1.1;
    margin: 8px 0;
  }

  /* Forms */
  input,
  select,
  textarea,
  button {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Sticky CTA mag niets bedekken */
  main,
  footer {
    padding-bottom: 12px;
  }
}

/* Extra compacte telefoons */
@media (max-width: 430px) {
  .pagehero h1 {
    font-size: 32px;
  }

  .related-services h2 {
    font-size: 30px;
  }

  .top .container {
    gap: 10px;
  }

  nav .btn {
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* Mobiele CTA: voldoende ruimte onder content */
@media (max-width: 850px) {
  body {
    padding-bottom: 110px;
  }

  .mobilebar {
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }
}
