:root{--red:#d83e2b;--black:#090909;--white:#fff;--soft:#f3f3f3;--line:#d8d8d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font:16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.top{background:var(--red);color:#fff;text-align:center;padding:9px 20px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font:1.03rem "Archivo Black";letter-spacing:-.04em}.logo span{display:block;font:700 .56rem Manrope;letter-spacing:.25em}.links{display:flex;align-items:center;gap:25px;font-weight:800;font-size:.86rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:var(--black);color:#fff;font-weight:800;border:1px solid var(--black)}.btn.red{background:var(--red);border-color:var(--red)}.menu{display:none;border:0;background:none;font-size:1.5rem}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:76px 0}.hero h1,.title{font:clamp(3.6rem,7vw,7.2rem)/.92 "Archivo Black";letter-spacing:-.055em;text-transform:uppercase;margin:0}.hero p{font-size:1.12rem;color:#4f4f4f;max-width:650px}.kicker{color:var(--red);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.17em;margin-bottom:18px}.hero img{width:100%;height:520px;object-fit:cover;border-radius:22px}.bar{background:var(--black);color:#fff;font-family:"Archivo Black";text-transform:uppercase;padding:17px 0;text-align:center;letter-spacing:.03em}.bar b{color:var(--red);padding:0 18px}.content{padding:90px 0}.content-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.content h2{font:clamp(2.2rem,4vw,4rem)/1 "Archivo Black";text-transform:uppercase;letter-spacing:-.04em;margin:0}.prose{font-size:1.08rem}.prose h2,.prose h3{font-family:"Archivo Black";text-transform:uppercase;letter-spacing:-.03em;margin-top:2.2em}.prose p{margin:0 0 1.25em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--black);padding:25px;min-height:250px;display:flex;flex-direction:column;transition:.2s}.card:hover{background:var(--red);color:#fff;transform:translateY(-5px)}.card h2,.card h3{font:1.55rem/1.05 "Archivo Black";text-transform:uppercase;margin:28px 0 15px}.card p{color:#555}.card:hover p{color:#fff}.card .arrow{margin-top:auto;font-size:1.5rem}.archive{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.story{border-top:4px solid var(--red);background:var(--soft);padding:24px;min-height:220px;display:flex;flex-direction:column}.story h2{font:1.35rem/1.15 "Archivo Black";text-transform:uppercase;margin:15px 0}.story .meta{font-size:.77rem;text-transform:uppercase;font-weight:800;color:var(--red)}.story .arrow{margin-top:auto}.cta{background:var(--red);color:#fff;padding:64px 0}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font:clamp(2.4rem,5vw,4.8rem)/.95 "Archivo Black";text-transform:uppercase;letter-spacing:-.04em;margin:0;max-width:800px}.cta .btn{background:#fff;color:var(--black);border-color:#fff;white-space:nowrap}.footer{background:var(--black);color:#fff;padding:35px 0}.footer-row{display:flex;justify-content:space-between;gap:25px;font-size:.84rem}.contact-list a{display:block;border-bottom:1px solid var(--line);padding:17px 0;font-weight:800}.back{display:inline-block;margin-bottom:25px;color:var(--red);font-weight:800}.article{width:min(820px,calc(100% - 40px));margin:auto;padding:75px 0 100px}.article h1{font:clamp(2.8rem,7vw,6rem)/.98 "Archivo Black";text-transform:uppercase;letter-spacing:-.05em;margin:0 0 30px}.article-body{font-size:1.08rem}.article-body p{margin:0 0 1.3em}.team-photo{object-position:center top}
@media(max-width:950px){.links{display:none}.menu{display:block}.hero,.content-grid{grid-template-columns:1fr}.hero img{height:420px}.cards,.archive{grid-template-columns:1fr 1fr}.cta-row{align-items:flex-start;flex-direction:column}}
@media(max-width:590px){.wrap,.article{width:calc(100% - 26px)}.nav{height:72px}.hero{padding:55px 0;gap:35px}.hero h1{font-size:3.7rem}.hero img{height:330px}.content{padding:65px 0}.cards,.archive{grid-template-columns:1fr}.footer-row{flex-direction:column}.top{font-size:.65rem}}

/* Mobile overflow guard */
html,body{max-width:100%;overflow-x:hidden}img{max-width:100%;height:auto}.hero>*,.content-grid>*,.cards>*,.archive>*{min-width:0}.prose,.article-body{overflow-wrap:anywhere}@media(max-width:590px){.wrap,.article{max-width:calc(100% - 26px)}.hero h1,.title,.article h1,.card h2,.story h2,.logo{overflow-wrap:anywhere;word-break:normal}}

/* Contact form */
.contact-grid{width:min(1160px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.contact-grid h2{margin-bottom:18px}.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:7px;font-weight:800}.contact-form label span,.form-note{font-weight:400;color:#666;font-size:.88rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid #aaa;border-radius:10px;padding:14px 15px;background:#fff;color:var(--black);font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(225,6,0,.18);border-color:var(--red)}.contact-form textarea{resize:vertical}.contact-form .btn{justify-self:start;cursor:pointer}.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-note,.form-status{margin:0}.form-status{font-weight:800}.contact-panel{background:var(--soft);padding:32px;border-top:5px solid var(--red);align-self:start}.contact-list>.email-link{display:block;border-bottom:1px solid var(--line);padding:17px 0;font-weight:800}@media(max-width:950px){.contact-grid{grid-template-columns:1fr;gap:40px}}@media(max-width:590px){.contact-grid{width:calc(100% - 26px);max-width:calc(100% - 26px)}.contact-panel{padding:22px}}
.service-card{padding:0;overflow:hidden}.service-card>img{width:100%;height:210px;object-fit:cover}.service-card>span,.service-card>h2,.service-card>p{margin-left:25px;margin-right:25px}.service-card>span:first-of-type{margin-top:22px}.service-card>.arrow{margin-bottom:22px}

/* Keep large headings inside their own column and give content columns room. */
.hero h1,.title{font-size:clamp(3rem,5.35vw,5.7rem);max-width:100%;overflow-wrap:break-word}
.content-grid{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(72px,8vw,120px)}
@media(max-width:950px){.content-grid{grid-template-columns:1fr;gap:32px}}

/* Persistent mobile contact choices */
.mobile-actions{display:none}
@media(max-width:590px){
  body{padding-bottom:76px}
  .mobile-actions{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:1.25fr .75fr;gap:8px;padding:10px 13px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.12);backdrop-filter:blur(10px)}
  .mobile-actions .btn{min-height:48px;padding:11px 14px;font-size:.84rem}
  .mobile-actions .whatsapp{background:#147a3d;border-color:#147a3d}
}
.whatsapp-link{color:#147a3d}
.form-status.success{padding:14px 16px;border-radius:10px;background:#eaf7ee;color:#115c30}
.form-status.error{padding:14px 16px;border-radius:10px;background:#fff0ef;color:#9f0904}

/* Success-story photography sourced from the original TrainingsstudioNL site. */
.story{padding:0;overflow:hidden}
.story>img{width:100%;height:190px;object-fit:cover}
.story>.meta,.story>h2,.story>.arrow{margin-left:24px;margin-right:24px}
.story>.meta{margin-top:20px}
.story>.arrow{margin-bottom:24px}
.story-hero{width:100%;height:min(54vw,520px);object-fit:cover;border-radius:22px;margin:4px 0 38px}
.article-body>div{margin-bottom:1.2em}
.article-body h2,.article-body h3{font:1.5rem/1.25 "Archivo Black";margin:1.8em 0 .7em}
.article-body img{max-width:100%;height:auto;border-radius:12px;margin:1rem 0}
.article-body a:not(.btn){color:var(--red);text-decoration:underline;text-underline-offset:3px}
@media(max-width:590px){.article h1{font-size:clamp(1.75rem,8vw,3.2rem);overflow-wrap:normal;word-break:normal}.story-hero{height:320px}}
.text-link{color:var(--red);text-decoration:underline;text-underline-offset:3px}
