@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#09090b;--panel:#131316;--text:#f6f5f7;--muted:#aaa7b0;--pink:#ee3688;--line:#303035}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--pink);outline-offset:7px}img{display:block;max-width:100%}.skip{position:fixed;left:10px;top:-80px;padding:12px;background:white;color:black;z-index:10}.skip:focus{top:10px}header{height:102px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{width:108px;height:84px;overflow:hidden}.brand img{width:108px;height:108px;max-width:none;object-fit:cover;transform:translateY(-12px)}nav{display:flex;gap:38px;align-items:center;font-size:14px;font-weight:600}nav a:hover,.text-link:hover,.email:hover{color:var(--pink)}.nav-contact{border:1px solid #55525b;padding:10px 20px}.nav-contact span{margin-left:24px}.hero{max-width:1440px;margin:auto;position:relative;padding:60px 6% 70px;display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700;line-height:1.03;letter-spacing:-.02em}h1{font-size:clamp(64px,7.8vw,112px);margin-bottom:26px}em{font-style:normal;color:var(--pink)}.intro{max-width:440px;color:#c3bfc9;font-size:17px;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:35px;background:var(--pink);padding:16px 24px;font-size:15px;font-weight:700;color:#0c0810;transition:background .2s,transform .2s}.button:hover{background:#ff61a6;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.hero-note{font-size:13px;color:var(--muted);margin-top:16px}.hero-image{position:relative;min-width:0;border:1px solid #34303b}.hero-image>img{width:100%;height:520px;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(transparent,#080713e6);padding:60px 22px 22px;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px}.scroll-link{position:absolute;bottom:22px;left:6%;font-size:11px;letter-spacing:1.7px;color:var(--muted)}.scroll-link span{margin-left:30px}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 6%;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;letter-spacing:1px}.ticker b{color:var(--pink);font-size:24px;font-weight:400}.section{max-width:1440px;margin:auto;padding:100px 6%;scroll-margin-top:20px}h2{font-size:clamp(44px,5vw,66px);margin-bottom:20px}.section-heading{display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:24px;align-items:start;margin-bottom:44px}.section-heading .eyebrow{margin-top:9px}.section-heading>p:last-child{color:var(--muted);font-size:15px;padding-top:10px;line-height:1.8}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.services article{background:var(--panel);padding:32px;min-width:0}.services article+article{border-left:1px solid var(--line)}.service-number{font-size:12px;letter-spacing:1.5px;color:var(--muted)}h3{font-size:38px;margin:25px 0 18px}.services p{color:var(--muted);font-size:15px;line-height:1.8}.equipment{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.equipment>span{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:16px}.equipment strong{font-size:15px}.equipment p{font-size:13px;margin:2px 0 15px}.services .service-pink{background:var(--pink);color:#100911}.service-pink .service-number,.service-pink p{color:#301423}.service-pink>a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #932352;padding-top:20px;margin-top:40px;font-size:14px;font-weight:700}.service-pink>a:hover{text-decoration:underline}.showcase{padding-top:10px}.showcase-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.text-link{font-size:14px;display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid #625969;padding-bottom:7px}.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.gallery figure{margin:0}.gallery img{width:100%;height:460px;object-fit:cover;object-position:center}.gallery figure:first-child img{object-position:50% 35%}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);gap:12px}.gallery figcaption span:first-child{font-size:19px}.gallery figcaption span:last-child{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.contact{border-top:1px solid var(--line);text-align:center;padding-top:88px;padding-bottom:90px;background:radial-gradient(ellipse at 50% 120%,#331022 0,transparent 65%)}.contact h2{font-size:clamp(48px,6vw,80px);margin-bottom:28px}.contact>p:not(.eyebrow){color:var(--muted)}.contact-actions{display:flex;gap:28px;justify-content:center;align-items:center;margin:30px 0 20px}.email{color:var(--muted);font-size:14px;overflow-wrap:anywhere}footer{padding:30px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted);max-width:1440px;margin:auto}footer p{margin:0}.footer-brand{font-size:26px;font-weight:700;color:white;letter-spacing:-1px}.footer-brand span{font-size:10px;letter-spacing:2px;color:var(--pink);margin-left:4px}footer>a:not(.footer-brand){font-size:14px}@media(min-width:1600px){.ticker{justify-content:center;gap:80px}}@media(max-width:950px){header{padding:0 5%}.hero{padding:45px 5% 65px;gap:4%}h1{font-size:72px}.hero-image>img{height:470px}.image-label{flex-direction:column;gap:2px}.section{padding:70px 5%}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.services article{padding:24px}h3{font-size:32px}.gallery img{height:380px}footer{flex-wrap:wrap}.ticker{font-size:23px;gap:15px}}@media(max-width:640px){header{height:84px}.brand{height:72px;width:90px}.brand img{width:90px;height:90px;transform:translateY(-9px)}nav{gap:18px;font-size:13px}nav>a:first-child{display:none}.nav-contact{padding:8px 12px}.nav-contact span{margin-left:12px}.hero{grid-template-columns:1fr;padding-top:32px;gap:25px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:19px}h1{font-size:clamp(60px,15.8vw,92px);margin-bottom:20px}.intro{font-size:16px;margin-bottom:24px;max-width:100%}.hero-image>img{height:340px;object-position:center 45%}.hero-note{margin-bottom:0}.image-label{flex-direction:row;font-size:9px;padding:45px 14px 14px}.ticker{font-size:18px;gap:8px;padding:17px 5%;letter-spacing:0}.ticker b{font-size:16px}.ticker span:last-child{display:none}.ticker b:nth-last-child(2){display:none}.section{padding:55px 5%}.section-heading{display:block;margin-bottom:28px}.section-heading>p:last-child{padding-top:0;font-size:16px}.services{grid-template-columns:1fr}.services article{padding:28px}.services article+article{border-left:0;border-top:1px solid var(--line)}h3{font-size:38px}.services p{font-size:16px}.service-pink>a{margin-top:26px}.showcase-top{display:block}.showcase-top .text-link{margin-top:4px}.gallery{grid-template-columns:1fr;gap:28px}.gallery img{height:380px}.contact h2{font-size:48px}.contact-actions{flex-direction:column;gap:24px}.contact>p:not(.eyebrow){font-size:16px}.contact br{display:none}.contact h2 br{display:block}footer{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:25px 5%}footer p{grid-column:1/-1;grid-row:2}footer>span{text-align:right;font-size:11px}footer>a:not(.footer-brand){text-align:right;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Layout zonder sfeerfoto’s, met rechtstreeks telefoon- en e-mailcontact. */
.hero{display:block;text-align:center;padding-top:75px;padding-bottom:80px}
.hero-copy{max-width:940px;margin:auto}.hero .intro{max-width:570px;margin-left:auto;margin-right:auto}
.hero .scroll-link{left:50%;transform:translateX(-50%);white-space:nowrap}
.contact-details{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:38px}
.contact-details a{font-size:20px;color:var(--text);max-width:100%;overflow-wrap:anywhere}
.contact-details a span{display:block;font-size:12px;letter-spacing:1.6px;color:var(--muted);margin-bottom:4px}
.contact-details .phone{font-size:30px}.contact-details a:hover{color:var(--pink)}
@media(max-width:640px){.hero{padding-top:42px;padding-bottom:65px}.contact-details a{font-size:17px}nav>a:first-child{display:block}}

.contact-form{max-width:760px;margin:40px auto 0;padding:32px;text-align:left;background:var(--panel);border:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{display:block;font-size:16px;font-weight:600;min-width:0}.form-grid label>span{font-size:13px;color:var(--muted);font-weight:400}.form-grid .wide{grid-column:1/-1}
.form-grid input,.form-grid textarea{display:block;width:100%;min-width:0;margin-top:8px;border:1px solid #55515c;border-radius:0;background:#09090b;color:var(--text);font:inherit;font-weight:400;font-size:16px;padding:12px;box-sizing:border-box}.form-grid input{min-height:50px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus{outline:2px solid var(--pink);outline-offset:2px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#aaa7b0;opacity:1}
.form-note,.form-fallback{font-size:14px;line-height:1.65;color:var(--muted);margin:22px 0}.form-fallback{margin-bottom:0;overflow-wrap:anywhere}.form-fallback a{text-decoration:underline}.contact-form button{border:0;cursor:pointer;font-family:inherit}.contact-form button:focus-visible{outline:3px solid white;outline-offset:5px}
@media(max-width:640px){.contact-form{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:18px}.contact-form .button{width:100%;justify-content:space-between}}

/* Compact contactblok: uitleg en contactgegevens naast het formulier. */
.compact-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;text-align:left;padding-top:55px;padding-bottom:55px;align-items:start}
.compact-contact .contact-summary h2{font-size:clamp(38px,4vw,54px);margin-bottom:18px}.contact-summary>p:not(.eyebrow){color:var(--muted);font-size:16px}
.compact-contact .contact-details{align-items:flex-start;margin-top:25px;gap:16px}.compact-contact .contact-details .phone{font-size:24px}.compact-contact .contact-details .email{font-size:16px}
.compact-contact .contact-form{width:100%;margin:0;padding:22px}.compact-contact .form-grid{gap:12px 16px}.compact-contact .form-grid label{font-size:14px}.compact-contact .form-grid input{min-height:44px;padding:9px 10px;margin-top:5px}.compact-contact .form-grid textarea{margin-top:5px;padding:9px 10px}.compact-contact .form-note{font-size:13px;margin:14px 0}.compact-contact .button{padding:12px 18px}
@media(max-width:800px){.compact-contact{grid-template-columns:1fr;gap:24px}.compact-contact .contact-summary h2{font-size:40px}.compact-contact .contact-details{flex-direction:row;flex-wrap:wrap;gap:15px 30px}.compact-contact .contact-form{max-width:none}}
@media(min-width:481px) and (max-width:640px){.compact-contact .form-grid{grid-template-columns:1fr 1fr}}
