/* Gijs® v3 – ontwerp: ~/Downloads/gijs-studio-v3-html (Claude Design, 29-9-2026).
   Afgeronde secties met 16px inzet, zwevende pil-header, kaarten radius 24–28, knoppen/pills 999px. */
@font-face{font-family:'Taviraj';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/taviraj-300-latin.woff2) format('woff2')}
@font-face{font-family:'Taviraj';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/taviraj-300-italic-latin.woff2) format('woff2')}
@font-face{font-family:'Taviraj';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/taviraj-400-latin.woff2) format('woff2')}
@font-face{font-family:'Taviraj';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/taviraj-500-latin.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/montserrat-latin.woff2) format('woff2')}

:root{
	--zand:#E6E3DC;      /* Neve: pagina, tekst op donker */
	--zand-d:#D4D0C8;    /* Off: kaarten */
	--inkt:#222222;      /* Carvão */
	--barro:#7F3218;--barro-d:#6E2B14;
	--koffie:#3A1E14;    /* Café Torrado */
	--koffie-l:#4A2A1D;
	--nevel:#9FB3C2;     /* Névoa */
	--marge:64px;--inzet:16px;--sectie:70px;
	--r-sectie:28px;--r-kaart:24px;--r-klein:20px;
	--serif:'Taviraj',Georgia,serif;--sans:'Montserrat',system-ui,sans-serif;--ease:.3s ease;
	--top:calc(24px + var(--wp-admin--admin-bar--height,0px));
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--zand);color:var(--inkt);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--barro);text-decoration:none}a:hover{color:var(--koffie)}
button{font:inherit}
.gs-skip{position:absolute;left:-999px;top:0;background:var(--inkt);color:var(--zand);padding:12px 20px;z-index:200;border-radius:999px}.gs-skip:focus{left:16px;top:16px}
.gs-main{min-width:0;padding-bottom:1px}
.gs-main>:first-child:not(.gs-hero):not(.gs-paginakop){padding-top:170px}

/* ---------- Typografie ---------- */
.gs-oog{margin:0 0 20px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--barro);line-height:1.4}
.gs-donker .gs-oog,.gs-oog--licht{color:var(--nevel)}
.gs-h1{margin:0;font:400 clamp(48px,6.2vw,104px)/.9 var(--serif);letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.gs-h1--pagina{font-size:clamp(64px,8vw,128px)}
.gs-h1--dienst{font-size:clamp(56px,7vw,112px)}
.gs-h1--over{font-size:clamp(64px,8.6vw,140px);line-height:.92}
.gs-h1--artikel{font-size:clamp(44px,5.4vw,84px);line-height:1;text-transform:none}
.gs-h1 sup{font-size:.25em;vertical-align:top;position:relative;top:.55em;margin-left:.1em;font-weight:500;color:var(--barro);letter-spacing:0}
.gs-h2{margin:0;font:400 clamp(44px,5vw,80px)/.95 var(--serif);letter-spacing:-.02em;text-transform:uppercase}
.gs-h2 sup{font-size:.28em;vertical-align:top;position:relative;top:.55em;font-weight:500;color:var(--barro)}
.gs-h2--zin{font-weight:300;font-size:clamp(34px,3.8vw,58px);line-height:1.12;text-transform:none;letter-spacing:0;text-wrap:pretty}
.gs-h2--case{font-size:clamp(34px,3.6vw,52px);line-height:1.05;text-transform:none;letter-spacing:0;text-wrap:balance}
.gs-h3{margin:0;font:400 28px/1.1 var(--serif)}
.gs-h1 em,.gs-h2 em,.gs-cta__titel em{font-style:normal;color:var(--barro)}
/* Koppen passend: main.js maakt een kop iets kleiner of zet afbreken aan als een woord uitsteekt. &shy; in de tekst gaat altijd voor. Zonder JS: gewoon afbreken. */
.gs-afbreken{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 4}
html:not(.js) :is(.gs-h1,.gs-h2,.gs-case__titel,.gs-cta__titel,.gs-dienst__titel){overflow-wrap:break-word;hyphens:auto}
.gs-donker .gs-h1 em,.gs-donker .gs-h2 em,.gs-hero .gs-h1 em{color:var(--nevel)}
.gs-intro{margin:0;font:300 clamp(24px,2.4vw,34px)/1.25 var(--serif);text-wrap:pretty}
.gs-klein{font-size:14px;opacity:.7}
.gs-leeg{opacity:.7}
.gs-leeg--groot{margin:48px;font:400 28px/1.3 var(--serif)}.gs-leeg--groot a{color:var(--inkt);text-decoration:underline;text-underline-offset:4px}
.gs-leeg[hidden]{display:none}
.gs-link{color:var(--inkt);font-weight:600;text-decoration:underline;text-underline-offset:4px}.gs-link:hover{color:var(--barro)}
.gs-terug{font-size:13px;font-weight:600;color:var(--inkt)}

/* ---------- Knoppen, pills, pijlen ---------- */
.gs-btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:16px 28px;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.gs-btn--primair{background:var(--barro);color:var(--zand)}.gs-btn--primair:hover{background:var(--koffie);color:var(--zand)}
.gs-hero .gs-btn--primair:hover{background:var(--zand);color:var(--barro)}
.gs-btn--outline{border-color:currentColor;color:inherit;background:transparent}.gs-btn--outline:hover{opacity:.75;color:inherit}
.gs-btn--outline-licht{border-color:var(--zand);color:var(--zand)}.gs-btn--outline-licht:hover{background:var(--zand);color:var(--inkt)}
.gs-btn--licht{background:var(--zand);color:var(--inkt)}.gs-btn--licht:hover{background:var(--zand-d);color:var(--inkt)}
.gs-btn--pijl{padding:6px 6px 6px 22px;gap:12px;font-size:14px}
.gs-knoppen{display:flex;gap:10px;flex-wrap:wrap}
.gs-pijl{flex:none;width:48px;height:48px;border-radius:999px;background:var(--zand);color:var(--inkt);display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
.gs-pijl--s{width:32px;height:32px;font-size:16px}.gs-pijl--m{width:40px;height:40px}.gs-pijl--h{width:36px;height:36px}
.gs-pijl--donker{background:var(--inkt);color:var(--zand)}
.gs-pijl--barro{color:var(--barro)}
.gs-pill{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:600;line-height:1.2;padding:7px 14px;border-radius:999px;background:var(--zand);color:var(--inkt)}
.gs-pill--glas{padding:9px 16px;background:rgba(230,227,220,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(230,227,220,.28);color:var(--zand)}
.gs-pill--nevel{background:var(--nevel);color:var(--inkt)}.gs-pill--barro{background:var(--barro);color:var(--zand)}
.gs-tag{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:600;line-height:1.2;padding:7px 14px;border-radius:999px;background:var(--zand);color:var(--inkt)}
.gs-tag--nevel{background:var(--nevel)}
.gs-pills{display:flex;gap:8px;flex-wrap:wrap}
.gs-portret{flex:none;width:44px;height:44px;border-radius:999px;background:var(--nevel);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(34,34,34,.6)}
.gs-portret img{width:100%;height:100%;object-fit:cover}
.gs-portret--52{width:52px;height:52px}.gs-portret--56{width:56px;height:56px}.gs-portret--72{width:72px;height:72px;font-size:10px}

/* ---------- Beeldvlakken ---------- */
.gs-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
.gs-placeholder span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(34,34,34,.55)}
.gs-vlak--koffie .gs-placeholder span,.gs-vlak--barro .gs-placeholder span,.gs-vlak--koffie-l .gs-placeholder span,.gs-donker .gs-placeholder span{color:rgba(230,227,220,.6)}
.gs-foto{width:100%;height:100%;object-fit:cover;display:block}
.gs-vlak--nevel{background:var(--nevel)}.gs-vlak--koffie{background:var(--koffie)}.gs-vlak--koffie-l{background:var(--koffie-l)}.gs-vlak--barro{background:var(--barro)}.gs-vlak--zand-d{background:var(--zand-d)}.gs-vlak--zand{background:var(--zand)}

/* ---------- Header (zwevende pil) ---------- */
.gs-header{position:fixed;top:var(--top);left:24px;right:24px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 16px 24px;border-radius:999px;color:var(--inkt);transition:background .3s,padding .3s,box-shadow .3s,color .3s}
.gs-header.is-klein{padding:10px 10px 10px 24px;background:rgba(230,227,220,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px -12px rgba(34,34,34,.25)}
.gs-header.is-donker{color:var(--zand)}
.gs-header.is-donker.is-klein{background:rgba(58,30,20,.55);box-shadow:none}
.gs-logo{flex:none;display:block;color:inherit;line-height:0}.gs-logo:hover{color:inherit}
.gs-logo__svg{height:40px;width:auto;display:block;overflow:hidden}
.gs-nav{display:flex;gap:2px;padding:6px;min-width:0;border-radius:999px;background:rgba(34,34,34,.06);transition:background .3s}
.gs-header.is-donker .gs-nav{background:rgba(230,227,220,.14)}
.gs-nav>li{list-style:none;margin:0;padding:0;position:relative}
.gs-nav a{display:block;padding:10px clamp(10px,1.2vw,18px);border-radius:999px;font-size:clamp(13px,1vw,14px);font-weight:600;white-space:nowrap;color:inherit;transition:background .2s}
.gs-nav>li>a:hover{background:rgba(127,50,24,.18);color:inherit}
.gs-nav>.current-menu-item>a,.gs-nav>.current-menu-ancestor>a,.gs-nav>.current_page_item>a,.gs-nav>.current-menu-parent>a{background:var(--barro);color:var(--zand)}
.gs-nav .menu-item-has-children>a::after{content:'';display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 8px;opacity:.7}
.gs-nav .sub-menu{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);min-width:260px;margin:0;padding:8px;list-style:none;background:var(--zand);border-radius:var(--r-klein);box-shadow:0 18px 50px -12px rgba(34,34,34,.3);opacity:0;visibility:hidden;transition:opacity var(--ease),transform var(--ease),visibility 0s .3s;z-index:60}
.gs-nav li:hover>.sub-menu,.gs-nav li:focus-within>.sub-menu,.gs-nav li.is-open>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,4px);transition-delay:0s}
.gs-nav .sub-menu::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.gs-nav .sub-menu li{list-style:none}
.gs-nav .sub-menu a{padding:12px 16px;border-radius:14px;color:var(--inkt);font-size:14px}
.gs-nav .sub-menu a:hover,.gs-nav .sub-menu .current-menu-item>a{background:var(--zand-d);color:var(--inkt)}
.gs-header__cta{flex:none}
.gs-header__cta .gs-pijl{width:36px;height:36px;color:var(--barro)}
.gs-menuknop{display:none;height:48px;padding:0 20px;border:0;border-radius:999px;background:rgba(34,34,34,.06);align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600;color:inherit}
.gs-header.is-donker .gs-menuknop{background:rgba(230,227,220,.14)}
.gs-menuknop__lijnen{width:18px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.gs-menu{position:fixed;inset:0;z-index:100;background:var(--koffie);color:var(--zand);display:flex;flex-direction:column;padding:20px 20px 32px;overflow:auto}
.gs-menu[hidden]{display:none}
.gs-menu__kop{display:flex;justify-content:space-between;align-items:center;height:48px}
.gs-menu__merk{color:var(--zand);line-height:0}.gs-menu__logo{height:34px;width:auto;display:block;overflow:hidden}
.gs-menu__sluit{width:48px;height:48px;border:0;border-radius:999px;background:rgba(230,227,220,.14);color:var(--zand);font-size:24px;line-height:1;cursor:pointer}
.gs-menu__links{margin:40px 0 auto;display:flex;flex-direction:column;gap:4px;font:400 40px/1.15 var(--serif);text-transform:uppercase;letter-spacing:-.01em}
.gs-menu__links li{list-style:none;position:relative}.gs-menu__links a{color:var(--zand);padding:6px 0;display:block}
.gs-menu__links .sub-menu{list-style:none;margin:0;padding:0 0 8px 20px;display:none;font:400 22px/1.3 var(--serif);text-transform:none;letter-spacing:0}
.gs-menu__links li.is-open>.sub-menu{display:block}
.gs-menu__links .sub-menu a{opacity:.85}
.gs-menu__toggle{position:absolute;right:0;top:6px;width:44px;height:44px;border:0;border-radius:999px;background:rgba(230,227,220,.14);color:var(--zand);font-size:24px;line-height:1;cursor:pointer;transition:transform var(--ease)}
.gs-menu__links li.is-open>.gs-menu__toggle{transform:rotate(45deg)}
.gs-menu__links .menu-item-has-children>a{padding-right:56px}
.gs-menu__onder{display:flex;flex-direction:column;gap:14px;margin-top:40px}
.gs-menu__onder .gs-btn{justify-content:center}
.gs-menu__tel{color:var(--zand);font:400 26px/1 var(--serif)}

/* ---------- Secties ---------- */
.gs-sectie{padding:var(--sectie) var(--marge)}
.gs-sectie--breed{padding-left:var(--inzet);padding-right:var(--inzet)}
.gs-hero+.gs-sectie,.gs-paginakop+.gs-sectie:not(.gs-sectie--breed){padding-top:124px}
.gs-rond{margin:var(--inzet);border-radius:var(--r-sectie)}
.gs-donker{background:var(--koffie);color:var(--zand)}
.gs-kop{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:48px}
.gs-kop__tekst{margin:0;max-width:420px;font-size:17px;line-height:1.6}
.gs-kop--los{display:block}.gs-kop--los .gs-kop__tekst{margin-top:20px;max-width:480px}
.gs-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}
.gs-split__links{position:sticky;top:140px}
.gs-split__tekst{margin:28px 0 0;max-width:380px;font-size:17px;line-height:1.6}
.gs-donker .gs-split__tekst{opacity:.85}
.gs-split__tekst a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.gs-split__knop{margin-top:32px}
.gs-kaart{background:var(--zand-d);border-radius:var(--r-kaart);padding:32px}
.gs-kaart--nevel{background:var(--nevel)}.gs-kaart--donker{background:var(--koffie);color:var(--zand)}.gs-kaart--barro{background:var(--barro);color:var(--zand)}
.gs-rij-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gs-glas{background:rgba(230,227,220,.07);border-radius:var(--r-klein);padding:28px;display:flex;flex-direction:column;gap:14px}
.gs-glas__nr{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gs-glas__nr span:first-child{font:400 52px/1 var(--serif);color:var(--nevel)}
.gs-glas__nr span+span{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.6;text-align:right}
.gs-glas h3{margin:8px 0 0;font:400 28px/1.1 var(--serif)}
.gs-glas p{margin:0;font-size:15px;line-height:1.6;opacity:.85}

/* ---------- Hero ---------- */
.gs-hero{position:relative;margin:var(--inzet);height:calc(100vh - 32px);height:calc(100svh - 32px);min-height:780px;max-height:1000px;border-radius:var(--r-sectie);overflow:hidden;background:var(--koffie);color:var(--zand)}
.gs-hero--kaart{height:82vh;min-height:640px}
.gs-hero--case{height:86vh;min-height:660px}
.gs-hero__foto{position:absolute;inset:0;background:var(--koffie-l);transform:scale(1.08);will-change:transform}
.gs-hero__foto .gs-placeholder{align-items:flex-start;justify-content:flex-end;padding:130px 48px 0 0}
.gs-hero--kaart .gs-hero__foto .gs-placeholder,.gs-hero--case .gs-hero__foto .gs-placeholder{justify-content:center;padding:190px 24px 0}
.gs-hero__foto .gs-placeholder span{color:rgba(230,227,220,.6)}
.gs-hero__verloop{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(58,30,20,.45) 0%,rgba(58,30,20,0) 28%,rgba(58,30,20,0) 45%,rgba(58,30,20,.9) 100%)}
/* Labels in de casekop: donker glas, zodat ze ook op een lichte schermafdruk leesbaar zijn. */
.gs-hero--case .gs-pill--glas{background:rgba(58,30,20,.6)}
/* Labels in de casekop op laptop en desktop: lopen door naar een tweede regel voordat ze het venster in het kopbeeld raken.
   Rekent met de huidige kopbeelden: venster begint op 28,5% van de beeldbreedte; beeld vult de kop (86vh, 660-1000px) en is 1.08 vergroot. */
@media (min-width:901px){.gs-hero--case .gs-pills{max-width:calc(50vw - 76px - .2322 * max(100vw - 32px, clamp(1173px, 152.9vh, 1778px)))}}
.gs-hero__tekst{position:absolute;left:48px;right:48px;bottom:48px}
.gs-hero__groot{max-width:980px;display:flex;flex-direction:column;gap:28px}
.gs-hero__intro{margin:0;max-width:520px;font-size:17px;line-height:1.55}
.gs-hero__rooster{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:end}
.gs-hero__links{display:flex;flex-direction:column;gap:24px}
.gs-hero__kaart{background:var(--zand);color:var(--inkt);border-radius:var(--r-kaart);padding:28px;display:flex;flex-direction:column;gap:20px}
.gs-hero__kaart p{margin:0;font-size:16px;line-height:1.55}
.gs-hero__kaart .gs-hero__zin{font:300 24px/1.3 var(--serif)}
.gs-hero__kaart .gs-btn--primair:hover{background:var(--koffie);color:var(--zand)}

/* ---------- Statement (intro, voor wie, afspraken) ---------- */
.gs-statement__rooster{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;align-items:end}
.gs-statement__zin{max-width:1000px}
.gs-metportret{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:600;color:var(--inkt);justify-self:start}
.gs-metportret:hover{color:var(--barro)}
.gs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:72px}
.gs-stat{background:var(--zand-d);border-radius:var(--r-kaart);padding:32px;display:flex;flex-direction:column;gap:40px}
.gs-stat:last-child{background:var(--nevel)}
.gs-stat__label{font-size:13px;font-weight:600;opacity:.7}
.gs-stat__getal{font:400 80px/.9 var(--serif)}
.gs-genummerd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:64px}
.gs-genummerd__kaart{background:var(--zand-d);border-radius:var(--r-kaart);padding:32px;display:flex;flex-direction:column;gap:56px}
.gs-genummerd__kaart:last-child{background:var(--nevel)}
.gs-genummerd__nr{font:400 44px/1 var(--serif);color:var(--barro)}
.gs-genummerd__kaart p{margin:12px 0 0;font-size:15px;line-height:1.6}

/* ---------- Logowand ---------- */
.gs-logowand{padding:0 0 var(--sectie);overflow:hidden}
.gs-logowand__label{margin:0 var(--marge) 24px;font-size:13px;font-weight:600;opacity:.7}
.gs-logowand__band{display:flex;gap:12px;width:max-content;animation:gs-marquee 60s linear infinite}
.gs-logowand__band:hover{animation-play-state:paused}
.gs-logowand__pil{flex:none;padding:18px 32px;border-radius:999px;background:var(--zand-d);font:400 22px/1.2 var(--serif);white-space:nowrap}
.gs-logowand__logo{height:28px;width:auto;filter:grayscale(1);opacity:.75}
@keyframes gs-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Diensten (bento) ---------- */
.gs-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;gap:16px}
.gs-dienst{position:relative;border-radius:var(--r-kaart);overflow:hidden;background:var(--zand-d);color:var(--inkt);padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;transition:transform var(--ease)}
.gs-dienst:hover{transform:translateY(-4px);color:var(--inkt)}
.gs-dienst--nevel{background:var(--nevel)}
.gs-dienst--breed{grid-column:span 2}
.gs-dienst__boven{display:flex;justify-content:space-between;align-items:flex-start}
.gs-dienst__icoon{width:52px;height:52px;border-radius:999px;background:var(--zand);display:flex;align-items:center;justify-content:center;color:var(--barro)}
.gs-dienst__icoon svg{width:24px;height:24px}
.gs-dienst__titel{margin:0;font:400 28px/1.1 var(--serif)}
.gs-dienst__tekst{margin:10px 0 0;font-size:15px;line-height:1.55}
.gs-dienst--groot{grid-column:span 2;grid-row:span 2;background:var(--koffie);color:var(--zand);padding:0}
.gs-dienst--groot:hover{color:var(--zand)}
.gs-dienst--groot .gs-dienst__beeld{position:absolute;inset:0;background:var(--koffie-l)}
.gs-dienst--groot .gs-dienst__beeld .gs-placeholder span{color:rgba(230,227,220,.6)}
.gs-dienst--groot::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,30,20,0) 35%,rgba(58,30,20,.92) 100%);pointer-events:none}
.gs-dienst--groot .gs-dienst__boven{position:absolute;top:24px;left:24px;right:24px;z-index:1}
.gs-dienst--groot .gs-dienst__onder{position:absolute;left:32px;right:32px;bottom:32px;z-index:1}
.gs-dienst--groot .gs-dienst__titel{font-size:48px;line-height:1}
.gs-dienst--groot .gs-dienst__tekst{margin-top:14px;max-width:440px;font-size:16px}
.gs-dienst--cta{grid-column:span 2;background:var(--barro);color:var(--zand);padding:32px}
.gs-dienst--cta:hover{background:var(--barro-d);color:var(--zand)}
.gs-dienst__wie{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600}
.gs-dienst__cta{display:flex;justify-content:space-between;align-items:end;gap:24px}
.gs-dienst__cta .gs-dienst__titel{font-size:36px;line-height:1.05}

/* ---------- Werk / cases (beeldkaarten) ---------- */
.gs-cases{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.gs-cases--rij{grid-template-columns:repeat(3,minmax(0,1fr))}
.gs-case{position:relative;display:block;border-radius:var(--r-kaart);overflow:hidden;color:var(--zand);height:520px;background:var(--zand-d)}
.gs-case:hover{color:var(--zand)}
.gs-case__beeld{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gs-case:hover .gs-case__beeld{transform:scale(1.03)}
.gs-case::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,34,34,0) 45%,rgba(34,34,34,.72) 100%);pointer-events:none}
.gs-case__boven{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:1}
.gs-case__onder{position:absolute;left:24px;right:24px;bottom:24px;z-index:1}
.gs-case__titel{margin:0;font:400 32px/1 var(--serif)}
.gs-case--m .gs-case__titel{font-size:40px}.gs-case--l .gs-case__titel{font-size:48px}.gs-case--xl .gs-case__titel{font-size:56px}.gs-case--xxl .gs-case__titel{font-size:72px}
.gs-cases--rij .gs-case__titel{font-size:36px}
.gs-case__diensten{margin:8px 0 0;font-size:13px;font-weight:600;opacity:.85}
.gs-case[hidden]{display:none}
.gs-case--alle{background:var(--inkt);color:var(--zand);padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:background var(--ease)}
.gs-case--alle::after{display:none}
.gs-case--alle:hover{background:var(--koffie)}
.gs-case--alle .gs-case__titel{font-size:40px}

/* ---------- Werkwijze (donker) ---------- */
.gs-werkwijze{padding:96px var(--marge)}
.gs-stappen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}

/* ---------- Reviews ---------- */
.gs-reviews{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:stretch}
.gs-reviews__links{display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.gs-reviews__nav{display:flex;align-items:center;gap:12px}
.gs-reviews__knop{width:56px;height:56px;border-radius:999px;border:1.5px solid var(--inkt);background:transparent;font-size:20px;cursor:pointer;color:var(--inkt)}
.gs-reviews__knop--vol{border:0;background:var(--inkt);color:var(--zand)}
.gs-reviews__teller{margin-left:12px;font-size:14px;font-weight:600;opacity:.7}
.gs-reviews__kaart{background:var(--zand-d);border-radius:var(--r-sectie);padding:56px}
.gs-review{margin:0;display:none;flex-direction:column;justify-content:space-between;gap:48px;min-height:380px}
.gs-review.is-actief{display:flex}
.gs-review__tekst{margin:0;font:300 clamp(28px,2.8vw,42px)/1.25 var(--serif);text-wrap:pretty}
.gs-review__naam{display:flex;align-items:center;gap:16px;font-size:15px;line-height:1.45}
.gs-review__naam strong{font-weight:600}.gs-review__naam .gs-dim{opacity:.7}
.gs-avatar{width:52px;height:52px;border-radius:999px;background:var(--zand);flex:none;overflow:hidden;display:block}
.gs-avatar img,.gs-avatar__img{width:100%;height:100%;object-fit:cover}

/* ---------- Artikelkaarten ---------- */
.gs-artikelen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gs-artikel{display:flex;flex-direction:column;background:var(--zand-d);border-radius:var(--r-kaart);overflow:hidden;color:var(--inkt);transition:transform var(--ease)}
.gs-artikel:hover{transform:translateY(-4px);color:var(--inkt)}
.gs-artikel__foto{aspect-ratio:16/10;overflow:hidden}
.gs-artikel__body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.gs-artikel__titel{margin:0;font:400 26px/1.15 var(--serif);text-wrap:pretty}
.gs-artikel__leestijd{margin-top:auto;font-size:13px;opacity:.7}
.gs-artikel[hidden]{display:none}
.gs-uitgelicht{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-radius:var(--r-sectie);overflow:hidden;background:var(--koffie);color:var(--zand);min-height:480px}
.gs-uitgelicht:hover{color:var(--zand)}
.gs-uitgelicht__tekst{padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.gs-uitgelicht__titel{margin:0;font:400 clamp(34px,3.4vw,52px)/1.05 var(--serif);text-wrap:balance}
.gs-uitgelicht__samenvatting{margin:20px 0 0;font-size:16px;line-height:1.6;max-width:440px;opacity:.85}
.gs-uitgelicht__link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600}
.gs-uitgelicht__foto{background:var(--koffie-l);min-height:320px}

/* ---------- Checklist ---------- */
.gs-checklist{background:var(--zand-d);border-radius:var(--r-sectie);padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;list-style:none}
.gs-checklist li{background:var(--zand);border-radius:18px;padding:22px;display:flex;gap:16px;align-items:flex-start}
.gs-checklist__vink{flex:none;width:32px;height:32px;border-radius:999px;background:var(--barro);color:var(--zand);display:flex;align-items:center;justify-content:center}
.gs-checklist__vink svg{width:16px;height:16px}
.gs-checklist strong{font-weight:600;font-size:16px}.gs-checklist p{margin:6px 0 0;font-size:14px;line-height:1.55;opacity:.8}
.gs-notitie{margin:28px 0 0;max-width:380px;font-size:16px;line-height:1.6;opacity:.8}

/* ---------- FAQ ---------- */
.gs-faq{display:flex;flex-direction:column;gap:8px}
.gs-faq__item{background:var(--zand-d);border-radius:var(--r-klein);padding:0 28px}
.gs-faq__vraag{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;background:none;border:0;cursor:pointer;text-align:left;font:400 24px/1.2 var(--serif);color:var(--inkt)}
.gs-faq__plus{flex:none;width:40px;height:40px;border-radius:999px;background:var(--zand);display:flex;align-items:center;justify-content:center;font:400 22px/1 var(--sans);transition:transform var(--ease)}
.gs-faq__vraag[aria-expanded="true"] .gs-faq__plus{transform:rotate(45deg)}
.gs-faq__antwoord{padding:0 64px 26px 0;font-size:16px;line-height:1.6}
.gs-faq__antwoord[hidden]{display:none}

/* ---------- CTA ---------- */
.gs-cta{padding:64px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:stretch}
.gs-cta__links{display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.gs-cta__wie{display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.45}
.gs-cta__wie strong{font-weight:600}.gs-cta__wie .gs-dim{opacity:.75}
.gs-cta__titel{margin:0;font:400 clamp(48px,5.4vw,84px)/.95 var(--serif);letter-spacing:-.02em;text-transform:uppercase}
.gs-cta__tekst{margin:24px 0 0;max-width:440px;font-size:17px;line-height:1.6;text-wrap:pretty}
.gs-cta__rechts{display:flex;flex-direction:column;justify-content:center;gap:10px}
.gs-cta__kaart{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 22px 22px 28px;border-radius:var(--r-klein);background:var(--zand-d);color:var(--inkt);transition:background .2s}
.gs-cta__kaart:hover{background:var(--nevel);color:var(--inkt)}
.gs-cta__kaart--primair{background:var(--barro);color:var(--zand)}.gs-cta__kaart--primair:hover{background:var(--koffie);color:var(--zand)}
.gs-cta__kaart>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.gs-cta__klein{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.gs-cta__groot{font:400 30px/1.05 var(--serif);overflow-wrap:anywhere}

/* ---------- Contact ---------- */
.gs-contact{padding:170px var(--inzet) var(--inzet);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}
.gs-contact__kop{padding:0 48px 48px}
.gs-contact__intro{margin:28px 0 0;max-width:540px;font-size:18px;line-height:1.6}
.gs-contact__formkaart{background:var(--zand-d);border-radius:var(--r-sectie);padding:40px}
.gs-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gs-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.gs-form input:not([type=checkbox]),.gs-form select,.gs-form textarea{height:56px;padding:0 24px;border:1.5px solid transparent;border-radius:999px;background:var(--zand);font:400 16px var(--sans);color:var(--inkt);outline:none;width:100%}
.gs-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23222' stroke-width='1.5'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px center}
.gs-form textarea{height:auto;padding:18px 24px;border-radius:var(--r-kaart);line-height:1.5;resize:vertical}
.gs-form input:focus,.gs-form select:focus,.gs-form textarea:focus{border-color:var(--inkt)}
.gs-form .is-fout{border-color:var(--barro)}
.gs-form__vol{grid-column:1/-1}
.gs-form__chips{display:flex;flex-direction:column;gap:12px;font-size:14px;font-weight:600}
.gs-chips{display:flex;gap:8px;flex-wrap:wrap}
.gs-chip{flex-direction:row!important;align-items:center;padding:12px 20px;border-radius:999px;background:var(--zand);cursor:pointer;font-size:15px!important;font-weight:500!important;user-select:none;transition:background var(--ease),color var(--ease)}
.gs-chip input{position:absolute;opacity:0;width:0;height:0}
.gs-chip:has(input:checked){background:var(--inkt);color:var(--zand)}
.gs-chip:has(input:focus-visible){outline:2px solid var(--barro);outline-offset:2px}
.gs-form__acties{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.gs-form__acties>span{font-size:14px;opacity:.7}
.gs-form__verstuur{display:inline-flex;align-items:center;gap:12px;background:var(--barro);color:var(--zand);padding:8px 8px 8px 28px;border-radius:999px;font:600 16px var(--sans);border:0;cursor:pointer;transition:background .2s}
.gs-form__verstuur:hover{background:var(--koffie)}
.gs-form__verstuur .gs-pijl{width:40px;height:40px;color:var(--barro)}
.gs-form__hp{position:absolute;left:-9999px}
.gs-form__fout{grid-column:1/-1;margin:0;color:var(--barro);font-size:14px;font-weight:600}
.gs-bedankt h2{margin:0;font:400 40px/1.1 var(--serif)}.gs-bedankt p{margin:16px 0 0}.gs-bedankt a{color:var(--inkt);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.gs-contact__zij{position:sticky;top:140px;display:flex;flex-direction:column;gap:16px}
.gs-agenda{background:var(--koffie);color:var(--zand);border-radius:var(--r-sectie);padding:36px;display:flex;flex-direction:column;gap:24px}
.gs-agenda__wie{display:flex;align-items:center;gap:16px;font-size:15px;line-height:1.45}.gs-agenda__wie strong{font-weight:600}.gs-agenda__wie .gs-dim{opacity:.7}
.gs-agenda__titel{margin:0;font:400 32px/1.15 var(--serif)}.gs-agenda p{margin:0;font-size:15px;line-height:1.6;opacity:.85}.gs-agenda .gs-btn{align-self:flex-start}
.gs-gegevens{background:var(--zand-d);border-radius:var(--r-sectie);padding:16px;display:flex;flex-direction:column;gap:8px}
.gs-gegeven{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--zand);border-radius:18px;padding:18px 18px 18px 22px;color:var(--inkt);font-size:15px;line-height:1.6}
a.gs-gegeven:hover{color:var(--inkt);background:#EFEDE8}
.gs-gegeven__label{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--barro)}
.gs-gegeven__groot{font:400 26px/1.3 var(--serif);overflow-wrap:anywhere}
.gs-contact__kaartje{border-radius:18px;overflow:hidden;aspect-ratio:4/3}

/* ---------- Paginakop (titelkaart) ---------- */
.gs-paginakop{margin:var(--inzet);border-radius:var(--r-sectie);background:var(--zand-d);padding:160px 48px 48px}
.gs-paginakop--over{padding-top:180px}
.gs-paginakop__rij{display:flex;justify-content:space-between;align-items:end;gap:48px;flex-wrap:wrap}
.gs-paginakop__intro{margin:0;max-width:420px;font-size:17px;line-height:1.6}
.gs-paginakop__kolommen{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;margin-top:56px;align-items:end}
.gs-paginakop__kolommen .gs-intro{max-width:680px}
.gs-paginakop__tekst{margin:0;font-size:17px;line-height:1.65;max-width:480px}
.gs-paginakop__chips{justify-content:flex-end}
.gs-h1 .gs-portret--titel{display:inline-block;font-size:1em;width:.82em;height:.82em;vertical-align:-.1em;border-radius:999px}
.gs-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:48px}
.gs-chipknop{padding:12px 20px;border-radius:999px;border:0;background:var(--zand);color:var(--inkt);font:600 14px var(--sans);cursor:pointer;transition:background var(--ease),color var(--ease)}
.gs-chipknop:hover{background:#EFEDE8}
.gs-chipknop.is-actief{background:var(--inkt);color:var(--zand)}
.gs-cases.is-gefilterd .gs-case{grid-column:span 4!important;height:460px!important}

/* ---------- Verhaal + tijdlijn ---------- */
.gs-verhaal{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.gs-verhaal__tekst{max-width:640px;font-size:18px;line-height:1.7;display:flex;flex-direction:column;gap:24px}.gs-verhaal__tekst p{margin:0}
.gs-verhaal__tekst .gs-oog{margin-bottom:0}
.gs-tijdlijn{background:var(--zand-d);border-radius:var(--r-sectie);padding:16px;display:flex;flex-direction:column;gap:8px}
.gs-tijdlijn__rij{background:var(--zand);border-radius:18px;padding:18px 22px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:baseline}
.gs-tijdlijn__jaar{font:400 28px/1 var(--serif);color:var(--barro)}.gs-tijdlijn__tekst{font-size:15px;line-height:1.5}
.gs-tijdlijn__rij.is-placeholder{opacity:.45}

/* ---------- Genummerde punten ---------- */
.gs-punten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.gs-punt{background:var(--zand-d);border-radius:var(--r-kaart);padding:32px;display:flex;flex-direction:column;gap:64px;min-height:340px}
.gs-punt:last-child{background:var(--koffie);color:var(--zand)}
.gs-punt__nr{font:400 56px/1 var(--serif);color:var(--barro)}.gs-punt:last-child .gs-punt__nr{color:var(--nevel)}
.gs-punt h3{margin:0;font:400 30px/1.1 var(--serif)}.gs-punt p{margin:12px 0 0;font-size:15px;line-height:1.6}

/* ---------- Werkwijze-rijen (pagina Werkwijze) ---------- */
.gs-staprijen{display:flex;flex-direction:column;gap:16px}
.gs-staprij{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.gs-staprij__tekst{background:var(--zand-d);border-radius:var(--r-sectie);padding:48px;display:flex;flex-direction:column}
.gs-staprij--omgekeerd .gs-staprij__tekst{order:2}
.gs-staprij__icoon{width:56px;height:56px;border-radius:999px;background:var(--zand);color:var(--barro);display:flex;align-items:center;justify-content:center}
.gs-staprij__icoon svg{width:28px;height:28px}
.gs-staprij__label{margin:32px 0 0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--barro)}
.gs-staprij__titel{margin:12px 0 0;font:400 clamp(40px,4.6vw,72px)/1 var(--serif);text-transform:uppercase}
.gs-staprij__body{margin:28px 0 0;font-size:17px;line-height:1.65;max-width:480px;text-wrap:pretty}
.gs-staprij__levert{margin:auto 0 0;padding-top:28px;font-size:15px;line-height:1.6;opacity:.75;max-width:480px}.gs-staprij__levert strong{font-weight:600}
.gs-staprij__foto{border-radius:var(--r-sectie);overflow:hidden;min-height:560px}

/* ---------- Case ---------- */
.gs-resultaatcijfers{padding:var(--inzet) var(--inzet) 0}
.gs-resultaatcijfer{background:var(--zand-d);border-radius:var(--r-kaart);padding:36px;display:flex;flex-direction:column;gap:48px}
.gs-resultaatcijfer:first-child{background:var(--barro);color:var(--zand)}
.gs-resultaatcijfer__getal{font:400 clamp(72px,7vw,112px)/.9 var(--serif)}
.gs-resultaatcijfer__tekst{font-size:16px;line-height:1.5;max-width:280px}
.gs-tekstfoto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.gs-tekstfoto--los{grid-template-columns:minmax(0,900px)}
.gs-tekstfoto--quote{align-items:start}
.gs-tekstfoto__tekst{margin-top:28px;font-size:17px;line-height:1.65;max-width:520px;text-wrap:pretty}.gs-tekstfoto__tekst p{margin:0 0 20px}.gs-tekstfoto__tekst p:last-child{margin:0}
.gs-tekstfoto__foto{height:560px;border-radius:var(--r-kaart);overflow:hidden}
.gs-quotekaart{margin:0;background:var(--zand-d);border-radius:var(--r-sectie);padding:44px;display:flex;flex-direction:column;gap:36px}
.gs-quotekaart blockquote{margin:0;font:300 32px/1.25 var(--serif);text-wrap:pretty}
.gs-quotekaart figcaption{display:flex;align-items:center;gap:14px;font-size:15px;line-height:1.45}.gs-quotekaart strong{font-weight:600}.gs-quotekaart .gs-dim{opacity:.7}
.gs-aanpak{padding:96px var(--marge)}
.gs-aanpak__kop{max-width:900px}
.gs-aanpak .gs-rij-3{margin-top:56px}
.gs-aanpak__fotos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-top:16px}
.gs-aanpak__foto{height:440px;border-radius:var(--r-klein);overflow:hidden}
.gs-galerij{padding:0 var(--inzet) var(--inzet)}
.gs-galerij__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.gs-galerij__item{border-radius:var(--r-kaart);overflow:hidden}
.gs-dienstenlijst__kaart{background:var(--zand-d);border-radius:var(--r-sectie);padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gs-dienstlink{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--zand);border-radius:18px;padding:18px 18px 18px 22px;color:var(--inkt)}
.gs-dienstlink:hover{color:var(--inkt);background:#EFEDE8}
.gs-dienstlink__titel{display:block;font:400 24px/1.15 var(--serif)}
.gs-dienstlink__tekst{display:block;margin-top:4px;font-size:14px;line-height:1.5;opacity:.75}
.gs-volgende{padding:124px var(--inzet) 0}
.gs-volgende .gs-oog{margin:0 48px 20px}
.gs-volgende .gs-case{height:480px}
.gs-volgende .gs-foto{object-position:50% 40%} /* kopfoto: venster met adresbalk blijft in beeld in deze brede kaart */

/* ---------- Artikelpagina ---------- */
.gs-artikelkop{padding:170px var(--marge) 56px;max-width:1100px}
.gs-artikelkop__meta{display:flex;gap:12px;align-items:center;margin-top:28px;font-size:13px}.gs-artikelkop__meta>span:last-child{opacity:.7}
.gs-artikelkop .gs-h1{margin-top:24px}
.gs-artikelkop__intro{margin:28px 0 0;max-width:760px;font:300 clamp(22px,2.2vw,30px)/1.3 var(--serif)}
.gs-artikelbeeld{margin:0 var(--inzet);height:520px;border-radius:var(--r-sectie);overflow:hidden}
.gs-artikelgrid{padding:96px var(--marge) 140px;display:grid;grid-template-columns:240px minmax(0,680px) minmax(0,1fr);gap:64px;align-items:start}
.gs-inhoudsopgave{position:sticky;top:140px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.gs-inhoudsopgave a{color:var(--inkt);padding:8px 14px;border-radius:999px;line-height:1.4}.gs-inhoudsopgave a:hover{background:var(--zand-d);color:var(--inkt)}
.gs-hulp{position:sticky;top:140px;background:var(--zand-d);border-radius:var(--r-kaart);padding:24px;display:flex;flex-direction:column;gap:10px}
.gs-hulp .gs-dienstlink{border-radius:16px;padding:16px 16px 16px 20px}
.gs-hulp .gs-dienstlink__titel{font-size:20px}
.gs-hulp__wie{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:14px;line-height:1.45}
.gs-prose{font-size:18px;line-height:1.7;display:flex;flex-direction:column;gap:22px}
.gs-prose>*{margin:0}
.gs-prose h2{margin-top:24px;font:400 34px/1.15 var(--serif);scroll-margin-top:140px}
.gs-prose h3{margin-top:16px;font:400 26px/1.2 var(--serif)}
.gs-prose ul,.gs-prose ol{padding-left:24px;display:flex;flex-direction:column;gap:8px}
.gs-prose blockquote{margin:12px 0;padding:36px;background:var(--zand-d);border-radius:var(--r-kaart);font:300 28px/1.3 var(--serif)}.gs-prose blockquote p{margin:0}
.gs-prose img{border-radius:var(--r-kaart)}
.gs-prose a{color:var(--inkt);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.gs-tekstpagina{padding:170px var(--marge) 124px}
.gs-tekstpagina .gs-prose{max-width:760px;margin-top:48px}

/* ---------- Footer ---------- */
.gs-footer{margin:var(--inzet) var(--inzet) 64px;border-radius:var(--r-sectie);background:var(--koffie);color:var(--zand);padding:64px 48px 32px}
.gs-footer a{color:var(--zand)}.gs-footer a:hover{color:var(--nevel)}
.gs-footer__grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:48px;font-size:15px;line-height:1.6}
.gs-footer__grid p{margin:0}
.gs-footer__zin{max-width:320px;font:300 26px/1.25 var(--serif)}
.gs-footer__kop{margin:0 0 12px!important;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.gs-footer__menu,.gs-footer__volgen{display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.gs-footer__menu li{list-style:none}
.gs-footer__onder{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-top:72px}
.gs-woordmerk{line-height:0;color:var(--zand)}.gs-woordmerk__svg{height:48px;width:auto;display:block;overflow:hidden}
.gs-colofon{display:flex;gap:28px;flex-wrap:wrap;font-size:12px;opacity:.55;padding-bottom:4px}

/* ---------- Placeholder-melding (alleen editor) ---------- */
.gs-editor-notice{background:#7F3218;color:#E6E3DC;font:600 13px/1.4 var(--sans);padding:10px 16px;border-radius:12px;margin:16px}

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion:no-preference){
	.reveal-klaar [data-reveal]:not(.is-zichtbaar){opacity:0;transform:translateY(24px)}
	.reveal-klaar [data-reveal]{transition:opacity .8s ease,transform .8s ease}
	.reveal-klaar [data-reveal]:nth-child(2){transition-delay:.1s}.reveal-klaar [data-reveal]:nth-child(3){transition-delay:.2s}
}
@media (prefers-reduced-motion:reduce){.gs-logowand__band{animation:none}.gs-hero__foto{transform:none!important}}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
	.gs-nav a{padding:10px 12px}
}
@media (max-width:1100px){
	.gs-header__cta .gs-header__cta-tekst{display:none}.gs-header__cta{padding-left:6px}
	.gs-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gs-dienst--groot{grid-column:span 2}
	.gs-artikelgrid{grid-template-columns:minmax(0,1fr) 280px}.gs-inhoudsopgave{display:none}
}
@media (max-width:900px){
	:root{--marge:24px;--inzet:10px;--sectie:48px;--r-sectie:22px;--r-kaart:20px;--top:calc(10px + var(--wp-admin--admin-bar--height,0px))}
	.gs-main>:first-child:not(.gs-hero):not(.gs-paginakop){padding-top:112px}
	.gs-header{left:10px;right:10px;padding:10px 10px 10px 20px}
	.gs-header.is-klein{padding:8px 8px 8px 20px}
	.gs-nav,.gs-header__cta{display:none}.gs-menuknop{display:flex}
	.gs-logo__svg{height:34px}
	.gs-h1{font-size:clamp(40px,11vw,64px)}.gs-h1--pagina,.gs-h1--dienst,.gs-h1--over{font-size:clamp(40px,12vw,72px)}.gs-h1--artikel{font-size:clamp(34px,9vw,52px)}
	.gs-h2{font-size:clamp(36px,10vw,52px)}.gs-h2--zin{font-size:clamp(26px,7vw,36px)}.gs-h2--case{font-size:clamp(28px,7.5vw,40px)}
	.gs-hero+.gs-sectie,.gs-paginakop+.gs-sectie:not(.gs-sectie--breed){padding-top:72px}
	.gs-kop{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px}
	.gs-split,.gs-reviews,.gs-verhaal,.gs-tekstfoto,.gs-statement__rooster,.gs-cta,.gs-contact,.gs-paginakop__kolommen,.gs-uitgelicht,.gs-staprij,.gs-artikelgrid,.gs-hero__rooster{grid-template-columns:minmax(0,1fr);gap:32px}
	.gs-split__links,.gs-contact__zij,.gs-hulp{position:static}
	.gs-rij-3,.gs-stats,.gs-genummerd,.gs-punten,.gs-artikelen,.gs-stappen,.gs-checklist,.gs-form,.gs-dienstenlijst__kaart,.gs-footer__grid,.gs-aanpak__fotos{grid-template-columns:minmax(0,1fr)}
	.gs-stats,.gs-genummerd{margin-top:40px}.gs-stat__getal{font-size:64px}.gs-stat,.gs-genummerd__kaart{gap:28px}
	/* Hero */
	.gs-hero,.gs-hero--kaart,.gs-hero--case{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;justify-content:flex-end}
	.gs-hero{min-height:calc(100svh - 20px)}
	.gs-hero--kaart,.gs-hero--case{min-height:0}
	/* Casekop op de telefoon: labels en titel staan midden in het beeld, dus overal gelijkmatig donker. */
	.gs-hero--case .gs-hero__verloop{background:linear-gradient(180deg,rgba(58,30,20,.78) 0,rgba(58,30,20,.76) 50%,rgba(58,30,20,.9) 100%)}
	.gs-hero__tekst{position:relative;left:auto;right:auto;bottom:auto;padding:112px 20px 20px}
	.gs-hero__groot{gap:20px}
	.gs-hero__rooster{gap:20px}
	.gs-hero__kaart{padding:22px}
	.gs-hero .gs-knoppen{flex-direction:column}.gs-hero .gs-btn{justify-content:center}
	.gs-hero__foto .gs-placeholder{padding:96px 20px 0!important;justify-content:center}
	/* Bento */
	.gs-bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
	.gs-dienst,.gs-dienst--breed,.gs-dienst--cta,.gs-dienst--groot{grid-column:auto;grid-row:auto}
	.gs-dienst{min-height:220px}
	.gs-dienst--groot{min-height:420px}
	.gs-dienst--groot .gs-dienst__titel{font-size:36px}
	.gs-dienst__cta .gs-dienst__titel{font-size:28px}
	/* Cases */
	.gs-cases,.gs-cases--rij{grid-template-columns:minmax(0,1fr)}
	.gs-case{grid-column:auto!important;height:420px!important}
	.gs-case__titel,.gs-case--m .gs-case__titel,.gs-case--l .gs-case__titel,.gs-case--xl .gs-case__titel,.gs-case--xxl .gs-case__titel,.gs-cases--rij .gs-case__titel{font-size:34px}
	.gs-cases.is-gefilterd .gs-case{height:420px!important}
	/* Reviews, werkwijze, aanpak */
	.gs-werkwijze,.gs-aanpak{padding:56px 20px}
	.gs-reviews__kaart{padding:28px}.gs-review{min-height:0;gap:32px}
	.gs-reviews__links{gap:24px}
	/* Lijsten */
	.gs-faq__item{padding:0 20px}.gs-faq__vraag{font-size:20px;padding:20px 0}.gs-faq__antwoord{padding-right:0}
	.gs-checklist{padding:10px}
	/* CTA, contact */
	.gs-cta{padding:40px 20px}.gs-cta__groot{font-size:24px}.gs-cta__kaart{padding:18px 18px 18px 22px}
	.gs-contact{padding-top:104px}.gs-contact__kop{padding:0 14px 28px}.gs-contact__formkaart{padding:22px}
	.gs-agenda{padding:26px}
	/* Paginakop */
	.gs-paginakop,.gs-paginakop--over{padding:112px 22px 28px}
	.gs-paginakop__chips{justify-content:flex-start}
	.gs-filters{margin-top:28px}
	/* Case, artikel */
	.gs-resultaatcijfer{padding:28px;gap:28px}
	.gs-tekstfoto__foto{height:360px}
	.gs-quotekaart{padding:28px}.gs-quotekaart blockquote{font-size:24px}
	.gs-galerij__grid{grid-template-columns:minmax(0,1fr)}.gs-galerij__item{grid-column:auto!important}
	.gs-aanpak__foto{height:280px}
	.gs-volgende{padding-top:72px}.gs-volgende .gs-oog{margin:0 14px 16px}
	.gs-uitgelicht__tekst{padding:28px}
	.gs-staprij--omgekeerd .gs-staprij__tekst{order:0}.gs-staprij__tekst{padding:28px}.gs-staprij__foto{min-height:320px}
	.gs-artikelkop{padding:112px var(--marge) 32px}.gs-artikelbeeld{height:280px}.gs-artikelgrid{padding:48px var(--marge) 72px}
	.gs-prose{font-size:17px}.gs-prose h2{font-size:28px}
	.gs-tekstpagina{padding:112px var(--marge) 72px}
	/* Footer */
	.gs-footer{padding:40px 24px 24px;margin-bottom:24px}.gs-footer__grid{gap:28px}.gs-footer__onder{margin-top:40px;flex-direction:column;align-items:flex-start}
	.gs-logowand__pil{padding:14px 24px;font-size:18px}
}
.navigation.pagination{margin-top:48px}.navigation.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.navigation.pagination a,.navigation.pagination span{padding:12px 20px;border-radius:999px;background:var(--zand-d);color:var(--inkt);font-size:14px;font-weight:600}.navigation.pagination .current{background:var(--inkt);color:var(--zand)}.navigation.pagination h2{display:none}
.gs-tekstpagina .gs-prose h2:first-child{margin-top:0}
@media (max-width:900px){.gs-strook{width:auto!important;overflow-x:auto;transform:none!important;scroll-snap-type:x mandatory;padding-bottom:8px}.gs-strook>*{scroll-snap-align:start}}
@media (max-width:900px){.gs-h2--zin,.gs-h2--case,.gs-intro{hyphens:manual}}

/* ===== Iconen in beweging, in de stijl van Animate UI (Hugeicons): kort, rustig, ease-in-out, kleine afstanden.
   Alles in CSS, geen extra script. Uit bij "beweging beperken". */
:root{--io:cubic-bezier(.42,0,.58,1)}
/* Pijl rechtsboven (Hugeicons arrow-up-right-01) als masker: de kleur loopt mee met de knop. */
.gs-pijl{font-size:0;overflow:hidden}
.gs-pijl::before{content:'';width:44%;height:44%;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6.65C9 6.65 15.94 6.11 16.92 7.08C17.89 8.06 17.35 15 17.35 15M16.5 7.5L6.5 17.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6.65C9 6.65 15.94 6.11 16.92 7.08C17.89 8.06 17.35 15 17.35 15M16.5 7.5L6.5 17.5'/%3E%3C/svg%3E") center/contain no-repeat}
/* "out": de pijl schiet rechtsboven weg en komt linksonder weer binnen. */
@keyframes gs-pijl-uit{0%{transform:translate(0,0)}50%{transform:translate(170%,-170%)}50.01%{transform:translate(-170%,170%)}100%{transform:translate(0,0)}}
/* Menuknop: twee lijnen die los bewegen. */
.gs-menuknop__lijnen{position:relative;border:0}
.gs-menuknop__lijnen::before,.gs-menuknop__lijnen::after{content:'';position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transform-origin:0 50%;transition:transform .3s var(--io)}
.gs-menuknop__lijnen::before{top:0}.gs-menuknop__lijnen::after{bottom:0;transition-delay:.06s}
/* Sluitknop in het menu: bij openen draaien de twee menulijnen naar een kruis. */
.gs-menu__sluit{position:relative;font-size:0}
.gs-menu__sluit::before,.gs-menu__sluit::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:1.5px;margin:-.75px 0 0 -9px;border-radius:2px;background:currentColor;transition:transform .4s var(--io)}
.gs-menu__sluit::before{transform:rotate(45deg)}.gs-menu__sluit::after{transform:rotate(-45deg);transition-delay:.1s}
@keyframes gs-kruis-a{from{transform:translateY(-5px) rotate(0)}to{transform:rotate(45deg)}}
@keyframes gs-kruis-b{from{transform:translateY(5px) rotate(0)}to{transform:rotate(-45deg)}}
/* Plus (veelgestelde vragen, submenu): twee lijnen; open is een kruis. */
.gs-faq__plus{position:relative}
.gs-faq__plus,.gs-menu__toggle{font-size:0;transition:transform .3s var(--io)}
.gs-faq__plus::before,.gs-faq__plus::after,.gs-menu__toggle::before,.gs-menu__toggle::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;border-radius:2px;background:currentColor;transition:transform .4s var(--io)}
.gs-faq__plus::before,.gs-menu__toggle::before{transition-delay:.1s}
.gs-faq__plus::after,.gs-menu__toggle::after{transform:rotate(90deg)}
/* Dienst-, stap- en vinkjesiconen tekenen zichzelf als ze in beeld komen. */
.gs-icoon path,.gs-checklist__vink path{stroke-dasharray:1;stroke-dashoffset:0}
@keyframes gs-teken{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes gs-wiebel{0%{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(4deg)}80%{transform:rotate(-1deg)}100%{transform:rotate(0)}}
@media (prefers-reduced-motion:no-preference){
	.reveal-klaar [data-reveal].is-zichtbaar :is(.gs-icoon,.gs-checklist__vink) path{animation:gs-teken .9s var(--io) .15s both}
	.reveal-klaar [data-reveal].is-zichtbaar .gs-icoon path:nth-child(2){animation-delay:.27s}
	.reveal-klaar [data-reveal].is-zichtbaar .gs-icoon path:nth-child(3){animation-delay:.39s}
	.reveal-klaar [data-reveal].is-zichtbaar .gs-icoon path:nth-child(n+4){animation-delay:.51s}
	.gs-menu:not([hidden]) .gs-menu__sluit::before{animation:gs-kruis-a .3s var(--io)}
	.gs-menu:not([hidden]) .gs-menu__sluit::after{animation:gs-kruis-b .3s var(--io)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
	:is(a,button):hover .gs-pijl::before{animation:gs-pijl-uit .6s var(--io)}
	.gs-menuknop:hover .gs-menuknop__lijnen::before{transform:scaleX(.55)}
	.gs-menuknop:hover .gs-menuknop__lijnen::after{transform:scaleX(.8)}
	.gs-menu__sluit:hover::before{transform:rotate(135deg)}.gs-menu__sluit:hover::after{transform:rotate(45deg)}
	.gs-faq__vraag:hover .gs-faq__plus::before,.gs-menu__toggle:hover::before{transform:rotate(90deg)}
	.gs-faq__vraag:hover .gs-faq__plus::after,.gs-menu__toggle:hover::after{transform:rotate(180deg)}
	a:hover .gs-icoon,.gs-staprij:hover .gs-icoon{animation:gs-wiebel .8s var(--io);transform-origin:50% 60%}
}
@media (prefers-reduced-motion:reduce){.gs-faq__plus,.gs-menu__toggle,.gs-faq__plus::before,.gs-faq__plus::after,.gs-menu__toggle::before,.gs-menu__toggle::after,.gs-menu__sluit::before,.gs-menu__sluit::after,.gs-menuknop__lijnen::before,.gs-menuknop__lijnen::after{transition:none}}
