/* DSM WordPress theme — warme redactionele basis. */
:root{--page:#F5F1E8;--paper:#FCFAF5;--cement:#DBDBDB;--ink:#171816;--muted:#686A63;--accent:#BAFF12;--lead:#3F413C;--green:#314F2A;--selected:#F3FFD5;--portrait:#DED8CB;--line:rgba(23,24,22,.18);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--page);color:var(--ink);font:1rem/1.65 var(--sans);overflow-wrap:break-word}::selection{background:var(--accent);color:var(--ink)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.24em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 5px var(--accent)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;text-wrap:pretty;margin:0 0 1.2rem;letter-spacing:-.045em}h1{font-size:clamp(3rem,7vw,6.6rem)}h2{font-size:clamp(2.1rem,4.5vw,4.5rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.025em}.container{width:min(100% - 8vw,1240px);margin-inline:auto}.narrow{max-width:930px}.skip{position:fixed;left:1rem;top:-100px;z-index:100;background:var(--accent);padding:.8rem}.skip:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,232,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:210px}.main-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.main-nav a:not(.button){font-size:.88rem;text-decoration:none;border-bottom:2px solid transparent;padding:.6rem 0}.main-nav a[aria-current],.main-nav a:hover{border-bottom-color:var(--ink)}.nav-toggle{display:none;background:var(--paper);border:1px solid var(--ink);padding:.65rem .9rem}.button,.actions a{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;padding:.9rem 1.15rem;border:1px solid var(--green);background:var(--green);color:#fff;text-decoration:none;font-weight:650;transition:background .16s ease,color .16s ease,transform .16s ease}.button:hover,.actions a:hover{background:var(--accent);color:var(--ink);transform:translateY(-1px)}.button:after{content:'→'}.actions a:after{content:''}.actions a.secondary-action,.actions a+a{background:transparent;color:var(--ink);border-color:transparent;padding-inline:.25rem}.actions a.secondary-action:hover,.actions a+a:hover{background:transparent;color:var(--green);text-decoration:underline;transform:none}.button-small{min-height:42px;padding:.7rem 1rem;font-size:.86rem}.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.section{padding:clamp(4.5rem,8vw,8rem) 0}.section-tight{padding:clamp(3rem,6vw,5rem) 0}.hero{padding-top:clamp(3rem,6vw,6rem)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);gap:clamp(2rem,5vw,5rem);align-items:end}.hero-card{background:var(--portrait);padding:1rem;transform:rotate(1.1deg)}.hero-card img{aspect-ratio:4/5;object-fit:cover;width:100%;filter:saturate(.92)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1rem;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.eyebrow:before{content:'';display:inline-block;width:1rem;height:.7rem;background:var(--accent);transform:rotate(-3deg)}.lead{font-size:clamp(1.18rem,2vw,1.55rem);line-height:1.5;color:var(--lead);max-width:780px}.micro{font-weight:750;color:var(--green)}.paper{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inverse{background:var(--green);color:#fff}.inverse .lead,.inverse .eyebrow{color:rgba(255,255,255,.82)}.inverse .button{background:#fff;color:var(--green);border-color:#fff}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card,.choice-card,.service-card,.article-card,.callout{background:var(--paper);border:1px solid var(--line);padding:clamp(1.25rem,2.5vw,2rem)}.choice-card{text-decoration:none;display:block}.choice-card:hover{background:var(--selected)}.service-card{margin-block:1.25rem;padding:clamp(1.6rem,3vw,3rem);background:#fffdf8;border-color:rgba(49,79,42,.28);box-shadow:0 18px 42px rgba(23,24,22,.07);position:relative;overflow:hidden}.service-card:before{content:'';position:absolute;inset:0 auto 0 0;width:.55rem;background:linear-gradient(var(--accent),rgba(186,255,18,.15))}.service-card .result{font-size:1.25rem;color:var(--lead);font-weight:650}#workshop .service-card{background:linear-gradient(135deg,var(--selected) 0,#fffdf8 34%,#fffdf8 100%)}.split-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:clamp(2rem,5vw,4rem);align-items:center}.split-media img,.hero-image-wrap img{width:100%;border-radius:0;object-fit:cover}.split-media img{aspect-ratio:4/3}.filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 1rem}.filters button{border:0;background:transparent;padding:.7rem 1rem;position:relative;isolation:isolate}.filters button:before{content:'';position:absolute;inset:.42rem .25rem;background:var(--paper);border:1px solid var(--line);z-index:-1;transform:rotate(-1deg);border-radius:999px}.filters button[aria-pressed="true"]{font-weight:750}.filters button[aria-pressed="true"]:before{background:var(--selected);border-color:var(--accent);box-shadow:inset 0 -.35em 0 rgba(186,255,18,.45)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.article-card{padding:0;overflow:hidden;background:var(--newspaper,#F5F2E8);border-color:rgba(49,79,42,.25);box-shadow:0 12px 28px rgba(23,24,22,.06)}.card-media img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--cement);filter:saturate(.9) contrast(.96)}.card-body{padding:1.3rem}.article-card h2{font-family:var(--serif);font-size:1.6rem;line-height:1.12}.article-card h2 a{text-decoration:none}.article-card .meta{text-transform:uppercase;letter-spacing:.09em}.read-link{font-weight:750;text-decoration:none}.meta{font-size:.82rem;color:var(--muted);letter-spacing:.02em}.page-head{border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}.contact-box{background:var(--green);color:#fff;padding:2rem}.contact-box a{display:block;font-size:1.25rem;margin:.6rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .full{grid-column:1/-1}label{font-weight:700;display:block;margin-bottom:.4rem}input,select,textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--ink);background:#fff}textarea{min-height:150px}.notice{padding:1rem;background:var(--selected);border:1px solid var(--line);margin-bottom:1rem}.article-hero{padding-bottom:2rem}.hero-image-wrap{margin-top:2rem}.hero-image-wrap img{aspect-ratio:16/7}.article-shell{display:grid;grid-template-columns:240px minmax(0,760px);gap:4rem;align-items:start}.toc{position:sticky;top:120px;border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted)}.toc summary{font-weight:800;color:var(--ink);margin-top:0;cursor:pointer;list-style:none}.toc summary::-webkit-details-marker{display:none}.toc a{display:block;text-decoration:none;margin:.55rem 0}.article-content{font-size:1.08rem}.article-content h2{font-size:2.4rem;margin-top:3rem}.article-content blockquote{margin:2rem 0;padding:1.35rem 1.5rem;background:var(--selected);border-left:5px solid var(--accent);font-family:var(--serif);font-size:1.14rem;line-height:1.55}.article-content sup,.article-content .footnote-ref{font-size:.68em;vertical-align:super;line-height:0}.cta-band{margin-top:3rem;background:var(--selected)}.site-footer{background:var(--green);color:#fff;padding:4rem 0}.footer-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.35fr);gap:clamp(2rem,6vw,5rem);align-items:start}.footer-brand{max-width:300px}.footer-logo{width:min(100%,260px);height:auto}.footer-logo-link{display:inline-block}.footer-wordmark{display:inline-block;color:#fff;text-decoration:none;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.55rem);line-height:1;letter-spacing:.015em}.footer-tagline{color:rgba(255,255,255,.78);margin-top:1rem}.site-footer address{font-style:normal}.footer-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem 2rem;align-items:start}.footer-details a{display:block}.footer-details span:first-child{font-weight:750}.footer-contact a{display:block;margin-bottom:.7rem}.wp-block-list li{margin-bottom:.55rem}.section strong{font-weight:750}mark,.accent-mark{background:linear-gradient(transparent 58%,rgba(186,255,18,.72) 58% 86%,transparent 86%);font-weight:inherit;color:inherit}.contact-box a[href^="tel:"]{font-size:clamp(1.8rem,4vw,2.6rem);font-family:var(--serif);line-height:1.08;text-decoration:none}.service-card>.container,.container.service-card{max-width:980px}.articles-feature{background:var(--newspaper,#F5F2E8);border-block:1px solid var(--line)}.single-post{background:var(--newspaper,#F5F2E8)}.contact-hero .lead{font-size:clamp(1.05rem,1.45vw,1.28rem);max-width:680px}.contact-section{background:var(--paper);border-bottom:1px solid var(--line)}.contact-form-panel{background:var(--page);border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.25rem)}.contact-box a[href^="tel:"]{font-size:1.25rem;font-family:var(--sans);line-height:1.65;text-decoration:underline;text-underline-offset:.24em}
.choice-card{display:flex;flex-direction:column;min-height:100%}.choice-card .actions{margin-top:auto;justify-content:flex-start}#workshop .service-card,#managementsessie .service-card,#maatwerk .service-card{background:var(--green);color:#fff;border-color:rgba(255,255,255,.22);box-shadow:0 18px 42px rgba(23,24,22,.16)}#workshop .service-card:before,#managementsessie .service-card:before,#maatwerk .service-card:before{display:none}#workshop .service-card .eyebrow,#managementsessie .service-card .eyebrow,#maatwerk .service-card .eyebrow,#workshop .service-card .lead,#managementsessie .service-card .lead,#maatwerk .service-card .lead,#workshop .service-card .result,#managementsessie .service-card .result,#maatwerk .service-card .result{color:rgba(255,255,255,.82)}#workshop .service-card h2,#managementsessie .service-card h2,#maatwerk .service-card h2,#workshop .service-card h3,#managementsessie .service-card h3,#maatwerk .service-card h3,#workshop .service-card p,#managementsessie .service-card p,#maatwerk .service-card p,#workshop .service-card li,#managementsessie .service-card li,#maatwerk .service-card li,#workshop .service-card strong,#managementsessie .service-card strong,#maatwerk .service-card strong{color:#fff}#workshop .service-card .actions a,#managementsessie .service-card .actions a,#maatwerk .service-card .actions a{background:#fff;color:var(--green);border-color:#fff}#workshop .service-card .actions a:hover,#managementsessie .service-card .actions a:hover,#maatwerk .service-card .actions a:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.over-hero,.selected-section{background:var(--selected);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.over-founder img{aspect-ratio:auto;object-fit:contain;background:var(--portrait)}
@media (max-width:900px){.header-inner{min-height:78px}.brand img{width:170px}.nav-toggle{display:inline-block}.main-nav{position:fixed;inset:78px 0 auto 0;background:var(--page);border-bottom:1px solid var(--line);padding:1.2rem 4vw;display:none;flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.hero-grid,.grid-2,.split-media,.contact-grid,.article-shell,.footer-grid{grid-template-columns:1fr}.footer-details{grid-template-columns:1fr}.footer-details span:empty{display:none}.grid-3,.article-grid{grid-template-columns:1fr}.toc{position:static}.form-grid{grid-template-columns:1fr}.hero-image-wrap img{aspect-ratio:4/3}h1{font-size:clamp(2.75rem,14vw,4.2rem)}}

/* Review tweak: inverse CTA buttons keep the accent-green selection layer. */
.inverse .button {
    box-shadow: inset 0 -0.42em 0 rgba(186, 255, 18, 0.48);
}

.inverse .button:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--ink);
}

/* Review tweak: articles overview combines intro and listing on a dark editorial field. */
.articles-overview {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.articles-overview .filters,
.articles-overview #filter-status,
.articles-overview .article-grid {
    margin-top: 1.5rem;
}

.articles-overview .filters button {
    color: var(--ink);
}

.articles-overview .article-card {
    color: var(--ink);
}

.articles-cta {
    background: var(--selected);
    border-bottom: 1px solid var(--line);
}

.articles-overview #filter-status {
    color: rgba(255, 255, 255, 0.72);
}

/* Review tweak: article cards keep dark readable text on the dark overview field. */
.articles-overview .article-card,
.articles-overview .article-card h2,
.articles-overview .article-card h2 a,
.articles-overview .article-card p,
.articles-overview .article-card .meta,
.articles-overview .article-card .read-link {
    color: var(--ink);
}

/* Review tweak: article filter labels use the same visual language as normal buttons. */
.articles-overview .filters {
    gap: 0.8rem;
}

.articles-overview .filters button {
    min-height: 48px;
    padding: 0.9rem 1.15rem;
    border: 1px solid #fff;
    background: #fff;
    color: var(--green);
    font-weight: 650;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.articles-overview .filters button:before {
    content: none;
}

.articles-overview .filters button:hover,
.articles-overview .filters button[aria-pressed="true"] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--ink);
    transform: translateY(-1px);
    box-shadow: inset 0 -0.42em 0 rgba(255, 255, 255, 0.38);
}

/* Review tweak: only useful filter labels are shown; article category moves onto the image. */
.articles-overview .article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 920px;
}

.articles-overview .article-grid.is-many {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
}

.articles-overview .card-media {
    position: relative;
    display: block;
    overflow: hidden;
}

.article-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.9rem 1.15rem;
    border: 1px solid var(--accent);
    background: var(--accent);
    color: var(--ink);
    font-weight: 750;
    line-height: 1;
    text-align: center;
    box-shadow: inset 0 -0.42em 0 rgba(255, 255, 255, 0.38), 0 12px 24px rgba(0, 0, 0, 0.18);
}

@media (max-width: 900px) {
    .articles-overview .article-grid,
    .articles-overview .article-grid.is-many {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

.articles-overview .article-card .meta {
    text-transform: none;
    letter-spacing: 0.02em;
}

/* Review tweak: article image labels become white tab labels at the lower-right edge. */
.article-label {
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    transform: none;
    min-height: 42px;
    border-color: var(--paper);
    background: var(--paper);
    color: var(--ink);
    box-shadow: none;
}

/* Review tweak: filter buttons no longer have the lower highlight layer. */
.articles-overview .filters button:hover,
.articles-overview .filters button[aria-pressed="true"] {
    box-shadow: none;
}

/* Review tweak: tab labels match the article body surface and meta typography. */
.article-label {
    min-height: 34px;
    padding: 0.55rem 0.85rem;
    background: var(--newspaper, #F5F2E8);
    border-color: var(--newspaper, #F5F2E8);
    border-top-left-radius: 12px;
    font-family: var(--sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.1;
}
