/*
Theme Name: GISGrip
Theme URI: https://gisgrip.nl
Author: Averde
Author URI: https://averde.nl
Description: Professioneel WordPress-thema voor de openbare GISGrip-website.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gisgrip
*/

:root{--ink:#18312b;--soft:#526a63;--forest:#0b2f28;--green:#2b8067;--bright:#54c492;--mint:#dff4e8;--lime:#c9ef89;--cloud:#f6f8f5;--line:#dfe7e2;--white:#fff;--shadow:0 28px 80px rgba(12,52,42,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cloud);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.gg-page{overflow:hidden;background:radial-gradient(circle at 82% 5%,rgba(201,239,137,.22),transparent 23rem),var(--cloud)}
.gg-wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.gg-header{display:flex;width:min(1180px,calc(100% - 48px));height:82px;margin:auto;align-items:center;justify-content:space-between}
.gg-logo{display:inline-flex;align-items:center;gap:10px;color:var(--forest);font-size:21px;font-weight:800;letter-spacing:-.04em}
.gg-mark{display:inline-grid;width:29px;height:29px;padding:5px;grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;border-radius:8px 8px 8px 2px;background:var(--green);transform:rotate(-2deg)}
.gg-mark i{display:block;border-radius:3px 3px 1px 1px;background:#fff}.gg-mark i:nth-child(1){height:42%}.gg-mark i:nth-child(2){height:70%}.gg-mark i:nth-child(3){height:100%}
.gg-header nav{display:flex;gap:32px;color:#4e665f;font-size:14px;font-weight:600}.gg-header nav a:hover{color:var(--green)}
.gg-button{display:inline-flex;min-height:48px;padding:0 20px;align-items:center;justify-content:center;gap:9px;border-radius:12px;background:var(--green);color:#fff;font-size:14px;font-weight:750;transition:.2s}
.gg-button:hover{transform:translateY(-2px);background:#246f5a}.gg-button.small{min-height:40px;padding:0 16px;border-radius:10px;background:var(--forest);font-size:13px}.gg-button.light{background:#fff;color:var(--forest)}
.gg-hero{position:relative;display:grid;width:min(1180px,calc(100% - 48px));min-height:650px;margin:auto;grid-template-columns:.92fr 1.08fr;align-items:center;gap:56px}
.gg-eyebrow,.gg-label{margin:0 0 20px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.gg-hero h1{margin:0;color:var(--forest);font-size:clamp(48px,5vw,70px);font-weight:800;letter-spacing:-.065em;line-height:1.04}.gg-hero h1 em{color:var(--green);font-style:normal}
.gg-lead{max-width:560px;margin:28px 0 0;color:var(--soft);font-size:17px;line-height:1.75}.gg-actions{display:flex;margin-top:34px;gap:8px}.gg-link{display:inline-flex;align-items:center;padding:0 14px;font-size:14px;font-weight:750}
.gg-trust{display:flex;margin-top:32px;flex-wrap:wrap;gap:22px;color:#678078;font-size:12px;font-weight:600}.gg-trust span:before{content:"✓";margin-right:6px;color:var(--green);font-weight:900}
.gg-preview-wrap{position:relative;padding:38px 0 26px}.gg-preview{display:grid;min-height:472px;overflow:hidden;grid-template-columns:132px 1fr;border:7px solid rgba(255,255,255,.84);border-radius:24px;background:#fff;box-shadow:var(--shadow);transform:rotate(.4deg)}
.gg-side{padding:24px 17px;background:var(--forest);color:#fff}.gg-side .gg-logo{color:#fff;font-size:14px}.gg-side .gg-mark{width:21px;height:21px;padding:4px;background:var(--lime)}.gg-side .gg-mark i{background:var(--forest)}
.gg-menu{display:grid;margin-top:42px;gap:8px}.gg-menu span{padding:10px;border-radius:8px;color:#a9c1b9;font-size:10px}.gg-menu span:first-child{background:rgba(201,239,137,.12);color:var(--lime)}
.gg-dash{padding:22px;background:#f5f7f4}.gg-top{display:flex;align-items:center;justify-content:space-between}.gg-top div{display:grid;gap:3px}.gg-top small,.gg-stat small{color:#84958f;font-size:9px}.gg-top strong{font-size:17px}.gg-avatar{display:grid;width:31px;height:31px;place-items:center;border-radius:10px;background:var(--mint);color:var(--green);font-size:9px;font-weight:800}
.gg-stats{display:grid;margin-top:20px;grid-template-columns:repeat(3,1fr);gap:9px}.gg-stat{display:grid;padding:12px;gap:4px;border:1px solid #e5eae6;border-radius:10px;background:#fff}.gg-stat strong{font-size:20px}.gg-stat span{color:#82948d;font-size:8px}
.gg-project{margin-top:12px;padding:14px;border:1px solid #e5eae6;border-radius:12px;background:#fff}.gg-project-head{display:flex;align-items:center;justify-content:space-between}.gg-project-head div{display:grid;gap:3px}.gg-project-head small{color:#84958f;font-size:8px}.gg-project-head strong{font-size:11px}.gg-status{padding:4px 7px;border-radius:99px;background:var(--mint);color:var(--green);font-size:8px;font-weight:700}
.gg-map{position:relative;height:235px;margin-top:12px;overflow:hidden;border-radius:9px;background:linear-gradient(32deg,transparent 48%,rgba(255,255,255,.72) 49% 52%,transparent 53%),linear-gradient(118deg,#dce9dc 25%,#edf1e5 25% 52%,#d5e6d8 52% 70%,#e7ebdc 70%)}
.gg-road{position:absolute;top:90px;left:-20px;width:350px;height:7px;border:1px solid #fff;background:#d5d6cc;transform:rotate(-19deg)}.gg-road.two{top:145px;left:100px;width:260px;transform:rotate(53deg)}
.gg-parcel{position:absolute;top:38px;left:42px;width:115px;height:48px;border:2px solid rgba(39,126,98,.8);background:rgba(84,196,146,.35);transform:rotate(-18deg)}.gg-parcel.two{top:auto;left:auto;right:35px;bottom:38px;width:90px;height:62px;transform:rotate(9deg)}
.gg-float{position:absolute;z-index:2;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(18,63,53,.13);font-size:10px}.gg-float strong{display:block}.gg-float.top{top:12px;right:-18px}.gg-float.bottom{bottom:0;left:26px;color:var(--green);font-weight:800}
.gg-strip{display:flex;min-height:76px;align-items:center;justify-content:space-between;color:#8a9a94;font-size:10px;font-weight:800;letter-spacing:.14em}.gg-strip i{width:4px;height:4px;border-radius:50%;background:#c2cec8}
.gg-section{padding:110px 0}.gg-intro{display:grid;grid-template-columns:1.1fr .7fr;align-items:end;gap:100px}.gg-intro h2,.gg-work h2,.gg-audience h2,.gg-cta h2{margin:0;font-size:clamp(34px,4vw,52px);font-weight:800;letter-spacing:-.055em;line-height:1.12}.gg-intro>p,.gg-work>p,.gg-card p,.gg-role p{margin:0;color:var(--soft);font-size:15px;line-height:1.75}
.gg-grid{display:grid;margin-top:58px;grid-template-columns:repeat(3,1fr);gap:16px}.gg-card{position:relative;min-height:300px;padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff}.gg-num{position:absolute;top:25px;right:29px;color:#d7e1dc;font-size:13px;font-weight:800}.gg-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--mint);color:var(--green);font-size:22px}.gg-card h3{margin:40px 0 10px;font-size:20px}.gg-more{display:block;margin-top:26px;color:var(--green);font-size:12px;font-weight:800}
.gg-work-section{width:100%;padding:110px max(48px,calc((100vw - 1120px)/2));background:radial-gradient(circle at 25% 105%,rgba(84,196,146,.18),transparent 35%),var(--forest);color:#fff}.gg-work-inner{display:grid;grid-template-columns:.8fr 1.1fr;align-items:center;gap:120px}.gg-label.light{color:var(--lime)}.gg-work>p{margin-top:24px;color:#b6cbc4}.gg-work .gg-button{margin-top:30px}
.gg-steps{border-top:1px solid rgba(255,255,255,.13)}.gg-step{display:grid;padding:27px 0;grid-template-columns:62px 1fr;border-bottom:1px solid rgba(255,255,255,.13)}.gg-step>span{color:var(--lime);font-size:11px;font-weight:800}.gg-step h3{margin:0 0 8px;font-size:19px}.gg-step p{margin:0;color:#a9c0b8;font-size:13px;line-height:1.6}
.gg-audience{display:grid;grid-template-columns:.76fr 1.2fr;gap:90px}.gg-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gg-role{padding:27px 23px;border:1px solid var(--line);border-radius:17px;background:#fff}.gg-role b{color:var(--green);font-size:21px}.gg-role h3{margin:46px 0 10px;font-size:16px}.gg-role p{font-size:12px}
.gg-cta{display:flex;min-height:250px;margin-bottom:60px;padding:56px 65px;align-items:center;justify-content:space-between;border-radius:24px;background:linear-gradient(120deg,transparent 0 55%,rgba(201,239,137,.12) 55%),var(--green);color:#fff}.gg-cta h2{max-width:630px}
.gg-footer{display:grid;min-height:230px;padding:60px max(48px,calc((100vw - 1120px)/2));grid-template-columns:1fr 1fr;background:var(--forest);color:#8fac9f;font-size:12px}.gg-footer .gg-logo{color:#fff}.gg-footer>p{text-align:right}.gg-footer>div{display:flex;grid-column:1/-1;align-self:end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
@media(max-width:1020px){.gg-hero{padding:65px 0 90px;grid-template-columns:1fr}.gg-preview-wrap{max-width:720px}.gg-intro,.gg-audience,.gg-work-inner{grid-template-columns:1fr;gap:45px}}
@media(max-width:760px){.gg-header,.gg-hero,.gg-wrap{width:min(100% - 28px,1120px)}.gg-header nav{display:none}.gg-hero{padding-top:44px;gap:32px}.gg-hero h1{font-size:43px}.gg-actions{align-items:stretch;flex-direction:column}.gg-preview{min-height:400px;grid-template-columns:82px 1fr}.gg-side{padding:19px 10px}.gg-side .gg-logo span:last-child{display:none}.gg-menu span{text-align:center;font-size:0}.gg-menu span:first-letter{font-size:15px}.gg-dash{padding:14px}.gg-stats strong{font-size:16px}.gg-float.top{right:-6px}.gg-strip{display:grid;padding:25px 0;grid-template-columns:1fr 1fr;gap:14px;text-align:center}.gg-strip i{display:none}.gg-section,.gg-work-section{padding-top:78px;padding-bottom:78px}.gg-grid,.gg-roles{grid-template-columns:1fr}.gg-cta{min-height:auto;padding:40px 28px;align-items:flex-start;flex-direction:column;gap:28px}.gg-footer{padding:50px 22px;grid-template-columns:1fr;gap:18px}.gg-footer>p{text-align:left}.gg-footer>div{align-items:flex-start;flex-direction:column;gap:9px}}

