:root{--red:#f31930;--red-dark:#c90f25;--ink:#0d1316;--ink-soft:#151d21;--grey:#667078;--light:#f4f5f5;--white:#fff;--line:#dfe3e5;--radius:8px;--shadow:0 18px 45px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Barlow,Arial,sans-serif;color:var(--ink);background:var(--white);font-size:18px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:.01em;margin:0 0 .65em}h1{font-size:clamp(3.7rem,8vw,7.8rem);max-width:850px}h2{font-size:clamp(2.6rem,5vw,4.8rem)}h3{font-size:1.7rem}p{margin:0 0 1.15em}.ghz-container{width:calc(100% - 80px);max-width:none;margin-inline:auto}.content-narrow{max-width:900px}.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(9,14,16,.82);backdrop-filter:blur(14px);transition:.25s}.site-header.is-scrolled{background:rgba(9,14,16,.97);box-shadow:0 8px 30px rgba(0,0,0,.18)}.site-header__inner{height:92px;display:flex;align-items:center;gap:34px}.site-logo{width:112px;flex:0 0 auto}.site-logo img{width:100%}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.primary-nav a{color:#fff;font-family:"Barlow Condensed";text-transform:uppercase;font-weight:700;font-size:1rem;letter-spacing:.03em}.primary-nav .current-menu-item>a,.primary-nav a:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:4px;font-family:"Barlow Condensed";font-size:1.13rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;transition:.2s}.button:hover{transform:translateY(-2px);background:var(--red-dark);border-color:var(--red-dark)}.button--small{min-height:46px;padding:10px 20px}.button--outline{background:transparent;border-color:rgba(255,255,255,.62)}.menu-toggle{display:none}.hero{min-height:850px;background:linear-gradient(110deg,#111a1e 0%,#1e2a2f 58%,#0b1013 100%);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;padding-top:150px}.hero__content{margin-bottom:90px}.hero__content h1{max-width:760px}.hero__intro{font-size:1.3rem;max-width:650px;color:#d9dfe1}.eyebrow{color:var(--red);text-transform:uppercase;font-family:"Barlow Condensed";font-weight:800;letter-spacing:.08em;margin-bottom:14px}.button-row{display:flex;gap:14px;flex-wrap:wrap}.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(0,0,0,.68);border-top:1px solid rgba(255,255,255,.1)}.trust-bar>div{padding:26px;border-right:1px solid rgba(255,255,255,.1)}.trust-bar strong,.trust-bar span{display:block}.trust-bar strong{text-transform:uppercase;font-family:"Barlow Condensed";font-size:1.25rem}.trust-bar span{font-size:.95rem;color:#cbd1d3}.section{padding:100px 0}.section--light{background:var(--light)}.section--dark{background:var(--ink);color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.text-link{color:var(--red);font-family:"Barlow Condensed";text-transform:uppercase;font-weight:800}.card-grid{display:grid;gap:24px}.card-grid--services{grid-template-columns:repeat(6,minmax(0,1fr))}.card-grid--projects{grid-template-columns:repeat(3,1fr)}.service-card,.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.05);transition:.22s}.service-card:hover,.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card__image,.project-card__image{width:100%;aspect-ratio:16/10;object-fit:cover}.service-card__body,.project-card__body{padding:24px}.service-card__body h3,.project-card__body h3{margin-bottom:10px}.service-card--placeholder{min-height:260px;display:flex;align-items:end;background:linear-gradient(145deg,#fff,#e7eaeb)}.project-card__meta{color:var(--red);text-transform:uppercase;font-size:.8rem;font-weight:700}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.check-list{list-style:none;padding:0;margin:30px 0}.check-list li{padding:9px 0 9px 30px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:800}.industrial-panel{min-height:480px;padding:50px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#25333a,#0c1114);border:1px solid #33434b;box-shadow:var(--shadow)}.industrial-panel strong{font-family:"Barlow Condensed";font-size:3rem;text-transform:uppercase;color:var(--red)}.page-hero{padding:190px 0 95px;background:linear-gradient(120deg,#0a1013,#1c292f);color:#fff}.page-hero h1{font-size:clamp(3.8rem,7vw,6.5rem)}.page-hero--image{background-size:cover;background-position:center}.entry-content>*+*{margin-top:1.25em}.entry-content h2,.entry-content h3{margin-top:1.1em}.project-detail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:65px}.project-facts{background:#fff;padding:35px;border-top:5px solid var(--red);box-shadow:var(--shadow);align-self:start}.footer-cta{background:#171f23;color:#fff;padding:48px 0;border-top:1px solid #29343a}.footer-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-cta h2{font-size:3.2rem;margin:0}.site-footer{background:#0a0f12;color:#cbd0d2;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:55px}.footer-logo{width:120px;margin-bottom:25px}.site-footer h3{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:7px 0}.site-footer a:hover{color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #273036;margin-top:55px;padding-top:20px;font-size:.9rem}.ghz-block-cta{padding:50px!important;background:#121a1e;color:#fff}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1500px){.card-grid--services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.header-cta{display:none}.card-grid--services{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-bar{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.primary-nav ul{gap:18px}.project-detail{grid-template-columns:1fr}}
@media(max-width:780px){body{font-size:17px}.ghz-container{width:calc(100% - 30px);max-width:none}.site-header__inner{height:76px}.site-logo{width:88px}.menu-toggle{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:8px 12px;text-transform:uppercase;font-weight:700}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0b1114;padding:24px}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{margin:12px 0}.hero{min-height:720px;padding-top:110px}.hero__content{margin-bottom:55px}.trust-bar{width:100%;grid-template-columns:1fr 1fr}.trust-bar>div{padding:18px}.section{padding:70px 0}.card-grid--services,.card-grid--projects,.split-grid{grid-template-columns:1fr}.section-heading,.footer-cta__inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.industrial-panel{min-height:350px}.page-hero{padding:145px 0 70px}}
.industrial-panel{background-size:cover;background-position:center;position:relative}.industrial-panel>*{position:relative;z-index:1}

/* Full-width layout refinement v1.1 */
.site-header__inner{width:calc(100% - 80px)}
.hero{min-height:clamp(720px,78vh,940px);background-position:center center}
.hero__content{padding-left:clamp(0px,2vw,32px)}
.section-heading h2{max-width:1100px}
.service-card__body p,.project-card__body p{font-size:.94rem;line-height:1.5}
.split-grid{grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)}
.industrial-panel{min-height:560px}
@media(min-width:1900px){
  .ghz-container,.site-header__inner{width:calc(100% - 140px)}
  body{font-size:19px}
  .hero__content{padding-left:2vw}
  .card-grid{gap:28px}
}
@media(max-width:1200px){.split-grid{grid-template-columns:1fr 1fr}.ghz-container,.site-header__inner{width:calc(100% - 48px)}}
@media(max-width:780px){.site-header__inner{width:calc(100% - 30px)}.split-grid{grid-template-columns:1fr}.hero__content{padding-left:0}}
/* v1.2 clean service photography and complete subpages */
.service-card__image{aspect-ratio:3/2;object-fit:cover;object-position:center;border-bottom:1px solid var(--line)}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.value-grid article{padding:32px;border:1px solid #334047;background:#11191d}.contact-grid{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:70px}.form-panel{background:#fff;padding:38px;box-shadow:var(--shadow);border-top:5px solid var(--red)}.ghz-form label{display:block;font-weight:700;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ghz-form input,.ghz-form textarea{width:100%;margin-top:7px;padding:14px 16px;border:1px solid #cfd5d8;background:#f7f8f8;font:inherit}.form-success{padding:14px 18px;background:#e8f6ed;border-left:4px solid #24924d;margin-bottom:20px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.ghz-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ghz-form .g-recaptcha{margin:4px 0 20px}.form-notice{padding:15px 18px;margin:0 0 22px;border-left:4px solid;font-weight:600}.form-error{background:#fcebed;border-color:#d52438;color:#861424}
.ghz-form-anchor{scroll-margin-top:125px}
@media(max-width:900px){.value-grid,.archive-grid,.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* GHZ v1.3 */
.service-card>a{display:flex;flex-direction:column;height:100%}
.service-card__image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.service-card__body{display:flex;flex-direction:column;flex:1}
.service-card__body .text-link{margin-top:auto;padding-top:12px}
.footer-bottom__right{display:flex;align-items:center;gap:28px}
.digifresh-credit{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.digifresh-credit span{color:#cbd0d2}
.digifresh-credit img{display:block;width:92px;height:auto;max-height:28px;object-fit:contain}
.digifresh-credit:hover span{color:var(--red)}
@media(max-width:780px){.footer-bottom__right{flex-wrap:wrap;gap:14px 22px}.digifresh-credit img{width:84px}}

/* =========================================================
   GHZ header v1.5 - menu links / logo midden / telefoon rechts
   ========================================================= */
.site-header{
  z-index:10000;
  background:rgba(8,12,14,.96);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.035) 38.2% 38.5%,transparent 38.7% 100%),
    linear-gradient(60deg,transparent 0 68%,rgba(255,255,255,.025) 68.2% 68.45%,transparent 68.7% 100%);
}
.site-header.is-scrolled{
  background:rgba(8,12,14,.985);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.site-header__inner{
  position:relative;
  z-index:2;
  height:102px;
  width:calc(100% - 80px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:24px;
}

/* Desktop header: logo links, menu exact in het midden, telefoon rechts */
.primary-nav{
  grid-column:2;
  grid-row:1;
  margin-left:0;
  justify-self:center;
  min-width:0;
}
.primary-nav ul{
  display:flex;
  align-items:center;
  gap:clamp(10px,1.05vw,30px);
  list-style:none;
  margin:0;
  padding:0;
  white-space:nowrap;
}
.primary-nav li{margin:0;padding:0}
.primary-nav a,
.header-tagline,
.header-phone{
  font-family:"Barlow Condensed",Arial,sans-serif;
  font-size:25px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
}
.primary-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:#fff;
  text-transform:uppercase;
  transition:color .2s ease;
}
.primary-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.primary-nav .current-menu-item>a,
.primary-nav .current_page_item>a,
.primary-nav a:hover,
.primary-nav a:focus-visible{color:var(--red)}
.primary-nav .current-menu-item>a::after,
.primary-nav .current_page_item>a::after,
.primary-nav a:hover::after,
.primary-nav a:focus-visible::after{transform:scaleX(1)}

/* Logo links */
.header-brand{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  display:flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
}
.site-logo{
  display:block;
  width:116px;
  flex:0 0 auto;
}
.site-logo img{display:block;width:100%;height:auto}
.header-tagline{
  color:#fff;
  text-transform:uppercase;
}

/* Instagram + telefoon rechts */
.header-actions{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:14px;
}
.header-instagram{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  color:#fff;
  flex:0 0 auto;
  transition:color .2s ease,transform .2s ease;
}
.header-instagram:hover,.header-instagram:focus-visible{
  color:var(--red);
  transform:translateY(-1px);
}
.header-instagram__icon{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-instagram__icon circle:last-child{
  fill:currentColor;
  stroke:none;
}
.header-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  white-space:nowrap;
  transition:color .2s ease;
}
.header-phone:hover,.header-phone:focus-visible{color:var(--red)}
.header-phone__icon{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

/* Desktop: hamburger en mobiel paneel uit */
.menu-toggle{display:none}
.mobile-menu-panel{display:none}

/* Compactere desktop tussenmaten */
@media(max-width:1500px) and (min-width:1181px){
  .site-header__inner{width:calc(100% - 48px);column-gap:18px}
  .primary-nav ul{gap:clamp(10px,1.05vw,30px)}
  .primary-nav a,.header-tagline,.header-phone{font-size:25px}
  .site-logo{width:105px}
  .header-brand{gap:12px}
  .header-phone{gap:8px}
  .header-phone__icon{width:22px;height:22px}
}

/* Tablet + mobiel: logo midden, hamburger links, telefoonicoon rechts */
@media(max-width:1180px){
  .site-header__inner{
    height:76px;
    width:calc(100% - 30px);
    display:grid;
    grid-template-columns:1fr auto 1fr;
    column-gap:12px;
  }
  .primary-nav{display:none}
  .header-brand{grid-column:2;grid-row:1;gap:0}
  .site-logo{width:88px}
  .header-tagline{display:none}

  .menu-toggle{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    display:flex;
    width:42px;
    height:42px;
    margin:0;
    padding:10px 8px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
  }
  .menu-toggle__line{
    display:block;
    width:25px;
    height:2px;
    margin:0 auto;
    background:currentColor;
    border-radius:2px;
    transition:transform .25s ease,opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .header-actions{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    gap:4px;
  }
  .header-instagram,
  .header-phone{
    width:38px;
    height:42px;
    justify-content:center;
  }
  .header-instagram__icon{width:24px;height:24px}
  .header-phone__number{display:none}
  .header-phone__icon{width:27px;height:27px}

  .mobile-menu-panel{
    display:block;
    position:fixed;
    z-index:9999;
    top:76px;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:calc(100vh - 76px);
    height:calc(100dvh - 76px);
    background:#0a0e10;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
    overflow-y:auto;
  }
  .mobile-menu-panel::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.2;
    background:
      linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.035) 42.2% 42.5%,transparent 42.7% 100%);
  }
  .mobile-menu-panel.is-open,
  .mobile-menu-panel[aria-hidden="false"],
  body.ghz-menu-open .mobile-menu-panel{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-menu-panel__inner{
    position:relative;
    z-index:1;
    width:calc(100% - 46px);
    max-width:680px;
    min-height:calc(100dvh - 76px);
    padding:42px 0 32px;
    display:flex;
    flex-direction:column;
  }
  .mobile-primary-nav ul{
    list-style:none;
    margin:0;
    padding:0;
  }
  .mobile-primary-nav li{
    margin:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .mobile-primary-nav a{
    position:relative;
    display:block;
    padding:19px 0;
    color:#fff;
    font-family:"Barlow Condensed",Arial,sans-serif;
    font-size:30px;
    line-height:1;
    font-weight:700;
    letter-spacing:.025em;
    text-transform:uppercase;
  }
  .mobile-primary-nav .current-menu-item>a,
  .mobile-primary-nav .current_page_item>a,
  .mobile-primary-nav a:hover,
  .mobile-primary-nav a:focus-visible{color:var(--red)}
  .mobile-primary-nav .current-menu-item>a::after,
  .mobile-primary-nav .current_page_item>a::after{
    content:"";
    display:block;
    width:62px;
    height:3px;
    margin-top:13px;
    background:var(--red);
  }
  .mobile-menu-phone{
    margin-top:auto;
    min-height:62px;
    padding:15px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    font-family:"Barlow Condensed",Arial,sans-serif;
    font-size:25px;
    line-height:1;
    font-weight:700;
    letter-spacing:.02em;
  }
  .mobile-menu-phone svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body.ghz-menu-open{overflow:hidden}
}

@media(max-width:480px){
  .mobile-menu-panel__inner{padding-top:28px}
  .mobile-primary-nav a{font-size:26px;padding:17px 0}
  .mobile-menu-phone{font-size:23px}
}


/* TikTok in header + social icons in footer */
.header-tiktok{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  color:#fff;
  flex:0 0 auto;
  transition:color .2s ease,transform .2s ease;
}
.header-tiktok:hover,.header-tiktok:focus-visible{
  color:var(--red);
  transform:translateY(-1px);
}
.header-tiktok__icon{
  width:24px;
  height:24px;
  fill:currentColor;
}
.footer-socials{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
}
.footer-social{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-social:hover,.footer-social:focus-visible{
  color:var(--red);
  border-color:var(--red);
  transform:translateY(-2px);
}
.footer-social svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social .footer-social__dot{
  fill:currentColor;
  stroke:none;
}
.footer-social--tiktok svg{
  fill:currentColor;
  stroke:none;
}
@media(max-width:1180px){
  .header-tiktok{
    width:38px;
    height:42px;
  }
  .header-tiktok__icon{width:23px;height:23px}
}
@media(max-width:480px){
  .site-logo{width:80px}
  .header-actions{gap:1px}
  .header-instagram,.header-tiktok{width:29px}
  .header-phone{width:32px}
  .header-instagram__icon,.header-tiktok__icon{width:21px;height:21px}
  .header-phone__icon{width:23px;height:23px}
}
