@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=Manrope:wght@500;600;650;700;750;800&display=swap');

:root{--blue:#064ad8;--navy:#071d49;--cyan:#a7d8ff;--ink:#112749;--text:#53627a;--line:#dce5ef;--pale:#f1f6fc;--white:#fff;--heading:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #e99600;outline-offset:6px}::selection{background:#b7d8ff;color:var(--navy)}.wrap{max-width:1300px;width:calc(100% - 112px);margin-inline:auto}.skip-link{position:fixed;z-index:30;top:8px;left:8px;background:white;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{background:#fff;position:relative;z-index:10}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-family:var(--heading);font-weight:800;font-size:2.4rem;letter-spacing:-.16rem;line-height:1;color:var(--blue)}.brand-dot{color:var(--navy)}.brand-name{display:block;font-family:var(--heading);font-size:1.32rem;line-height:1.25;letter-spacing:.14rem;font-weight:800;border-left:1px solid var(--line);padding-left:14px}.brand-name>span{display:block;font-family:var(--body);font-size:.76rem;font-weight:450;letter-spacing:0;color:var(--text);margin-top:4px}nav{display:flex;align-items:center;gap:33px;font-size:.9rem;font-weight:600}nav>a:not(.nav-button):hover{color:var(--blue)}.nav-button{border:1px solid var(--line);border-radius:5px;padding:12px 17px;display:flex;align-items:center;gap:19px}.nav-button:hover{border-color:var(--blue);color:var(--blue)}.hero{background:var(--blue);color:#fff;padding:64px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:48px;align-items:stretch}.eyebrow{font-weight:650;letter-spacing:.14em;color:var(--blue);font-size:.76rem;margin:0 0 20px;line-height:1.6}.eyebrow.light{color:#bfdfff}.eyebrow span{margin:0 12px;opacity:.65}h1,h2,h3{font-family:var(--heading);line-height:1.12;letter-spacing:-.045em;font-weight:750;margin:0}h1{font-size:clamp(3.2rem,5.4vw,5rem);line-height:1.055}h1>span{color:var(--cyan)}.hero-intro{font-size:1.1rem;max-width:355px;line-height:1.75;margin:25px 0 28px;color:#e1ecff}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 22px;font-size:.95rem;font-weight:650;border-radius:5px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#e5f2ff}.button-white{color:var(--blue);background:white}.button>span{font-size:1.35rem;line-height:1}.hero-bottom{display:flex;flex-wrap:wrap;gap:0;margin:45px 0 31px;font-size:.81rem;color:#d5e6ff}.hero-bottom>span+span{border-left:1px solid #ffffff59;margin-left:14px;padding-left:14px}.hero-image{margin:0;position:relative;min-height:574px;overflow:hidden;border-radius:8px 8px 0 0;background:#052e81}.hero-image img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:54% center}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#071d49b8);pointer-events:none}.hero-image figcaption{position:absolute;z-index:1;bottom:26px;left:26px;right:26px;display:flex;align-items:center;gap:14px;font-size:.69rem;font-weight:600;letter-spacing:.09em;color:white}.image-caption-rule{height:1px;flex:1;background:#ffffff88}.service-strip{background:var(--navy);color:#fff}.strip-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px;gap:24px;font-size:.95rem}.strip-inner>span{display:flex;gap:17px;align-items:center}.strip-inner>span+span{border-left:1px solid #ffffff27;padding-left:30px}.strip-number{color:#72b5ff;font-family:var(--heading);font-size:.74rem;letter-spacing:.07em}.section-space{padding-block:94px}.services{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}h2{font-size:clamp(2.1rem,3.5vw,3.1rem);line-height:1.18}.section-heading>p{font-size:1rem;max-width:380px;line-height:1.75;margin:0 0 4px;color:var(--text)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{background:#fff;border:1px solid #e1e9f3;border-radius:7px;padding:30px 28px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#80afea;transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.card-top svg{width:34px;height:34px;color:var(--blue)}.card-top>span{font-size:.76rem;color:#7c8ca2;letter-spacing:.04em}.service-card h3{font-size:1.32rem;line-height:1.3;letter-spacing:-.025em;font-weight:750}.service-card p{color:var(--text);font-size:1rem;line-height:1.7;margin:14px 0 25px}.card-tag{font-size:.875rem;font-weight:550;color:var(--blue);padding-top:18px;border-top:1px solid #e6edf6;margin-top:auto}.company{background:var(--blue);color:#fff;padding:74px 0}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.company h2{font-size:clamp(2rem,3.2vw,2.7rem)}.company-copy p{margin:0 0 18px;color:#e1ecff;line-height:1.8}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid #ffffff80;padding-bottom:7px;font-size:.95rem;font-weight:550;margin-top:12px}.text-link:hover{color:var(--cyan)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.muted-title{color:#8b9bb2}.details-intro{color:var(--text);line-height:1.8;margin:25px 0 0}.details-list{margin:0;padding:0}.details-list>div{display:grid;grid-template-columns:1fr 1.3fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.details-list>div:first-child{padding-top:0}.details-list dt{color:var(--text);font-size:.93rem}.details-list dd{margin:0;font-size:1rem;font-weight:550;overflow-wrap:anywhere}footer{background:var(--navy);color:#c7d2e5}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}.footer-brand{font-family:var(--heading);font-size:1.2rem;font-weight:800;letter-spacing:-.035em;color:#fff}.footer-brand>span{color:#65b5ff}.footer-inner p,.footer-inner>a:last-child{font-size:.8rem;margin:0}.footer-inner>a:last-child span{margin-left:15px}.footer-inner>a:hover{color:#fff}
@media(min-width:1500px){.hero-image{min-height:590px}.hero-grid{gap:70px}.hero{padding-top:70px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:21px}.hero-grid{gap:30px}.hero-image{min-height:550px}h1{font-size:clamp(3rem,5.7vw,4.5rem)}.hero-image figcaption{font-size:.6rem;left:18px;right:18px;gap:9px}.service-card{padding:25px 22px}.company-grid,.details-grid{gap:45px}.strip-inner{font-size:.86rem;gap:15px}.strip-inner>span+span{padding-left:20px}}
@media(max-width:800px){.header-inner{min-height:94px}.brand-name>span{font-size:.7rem}nav{gap:16px;font-size:.83rem}nav>a[href="#bedrijf"]{display:none}.nav-button{padding:10px 13px;gap:10px}.hero{padding-top:46px}.hero-grid{gap:24px;grid-template-columns:1.08fr 1fr}.hero h1{font-size:clamp(2.7rem,6.2vw,3.5rem)}.hero-intro{font-size:1rem}.hero-image{min-height:495px}.hero-bottom{font-size:.73rem}.hero-bottom>span+span{margin-left:9px;padding-left:9px}.hero-image figcaption{display:block;font-size:.63rem}.hero-image figcaption>span:last-child{display:none}.strip-inner{gap:12px;font-size:.8rem}.strip-inner>span{gap:8px}.strip-inner>span+span{padding-left:12px}.section-space{padding-block:66px}.section-heading{gap:30px}.section-heading>p{max-width:280px;font-size:.94rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-grid,.details-grid{gap:35px}.company{padding-block:56px}.details-list>div{grid-template-columns:1fr;gap:5px;padding-block:17px}.details-list dd{font-size:.96rem}}
@media(max-width:600px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:0;padding:20px 0 16px;display:block}.brand-mark{font-size:2.15rem}.brand-name{font-size:1.17rem}.brand-name>span{font-size:.72rem}nav{margin-top:20px;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.86rem}nav>a[href="#bedrijf"]{display:block}.nav-button{border:0;padding:0;gap:5px;color:var(--blue)}.hero{padding-top:39px}.hero-grid{grid-template-columns:1fr;gap:0}.eyebrow{font-size:.73rem;margin-bottom:18px}.hero h1{font-size:clamp(2.75rem,11.9vw,4.35rem);letter-spacing:-.05em}.hero-intro{max-width:330px;margin-top:23px;font-size:1.04rem;line-height:1.7}.button{padding:15px 20px}.hero-bottom{margin:31px 0 26px;font-size:.79rem}.hero-image{height:300px;min-height:0;border-radius:6px 6px 0 0}.hero-image img{object-position:50% 58%}.hero-image figcaption{display:flex;font-size:.64rem;bottom:20px;left:20px;right:20px}.hero-image figcaption>span:last-child{display:block}.strip-inner{grid-template-columns:1fr;padding-block:21px;gap:12px;font-size:.87rem}.strip-inner>span{gap:15px}.strip-inner>span+span{border-left:0;padding-left:0}.section-space{padding-block:52px}.section-heading{display:block;margin-bottom:29px}h2{font-size:2.1rem}.section-heading>p{margin-top:22px;max-width:100%;font-size:1rem}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:26px}.card-top{margin-bottom:20px}.service-card h3{font-size:1.35rem}.service-card p{margin-bottom:22px}.card-tag{font-size:.875rem}.company{padding-block:47px}.company-grid,.details-grid{grid-template-columns:1fr;gap:29px}.company h2{font-size:2.06rem}.company-copy p{font-size:1rem}.details-intro{margin-top:18px}.details-list>div{grid-template-columns:1fr 1.5fr;gap:16px;padding-block:20px}.details-list>div:first-child{padding-top:20px;border-top:1px solid var(--line)}.details-list dt{font-size:.88rem}.details-list dd{font-size:.94rem}.footer-inner{flex-wrap:wrap;gap:18px;padding-block:26px}.footer-brand{width:100%}.footer-inner p,.footer-inner>a:last-child{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.button{transition:none}.service-card:hover,.button:hover{transform:none}}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.hero-services-link{font-size:.95rem;font-weight:550;text-decoration:underline;text-underline-offset:5px}.hero-services-link:hover{color:var(--cyan)}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.contact-actions .button{gap:19px;padding:14px 19px}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:#073bad}.button-pale{background:#eaf2ff;color:var(--blue)}.button-pale:hover{background:#d7e7ff}.details-list dd a{color:var(--blue);text-decoration:underline;text-decoration-color:#9cbdeb;text-underline-offset:4px}.details-list dd a:hover{text-decoration-color:var(--blue)}

/* Service photography and language navigation. */
.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}
.language-switcher{display:flex;align-items:center;gap:3px;background:#f1f6fc;padding:4px;border:1px solid var(--line);border-radius:7px;flex-shrink:0}
.language-switcher button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:59px;padding:7px 9px;font:600 .875rem var(--body);color:var(--text);border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}
.language-switcher button>span{font-size:1.15rem;line-height:1}.language-switcher button:hover{color:var(--blue);background:#e4edfa}.language-switcher button[aria-pressed="true"]{background:#fff;border-color:#cedcf0;color:var(--blue);box-shadow:0 1px 3px #07245b0a}.language-switcher button:focus-visible{outline:3px solid #e99600;outline-offset:3px}
.hero h1 .headline-line{display:block;color:white}.hero h1 .headline-accent{color:var(--cyan)}.button>[data-i18n]{font-size:inherit;line-height:1.4}
.service-card{padding:0;overflow:hidden}.service-photo{width:100%;aspect-ratio:1.6;position:relative;background:#d8e4f1;flex-shrink:0;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-number{position:absolute;left:18px;bottom:16px;background:var(--blue);color:white;padding:5px 10px;border:1px solid #ffffff60;border-radius:4px;font-size:.8rem;letter-spacing:.04em}.service-card-body{padding:27px 26px;display:flex;flex-direction:column;flex:1}.photos-note{font-size:.875rem;line-height:1.6;color:var(--text);margin:22px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[lang="pl"] .hero h1,html[lang="en"] .hero h1{font-size:clamp(2.7rem,4.5vw,4.15rem)}
@media(max-width:1100px){.header-controls{gap:16px}.header-controls nav{gap:18px}.header-controls nav>a[href="#bedrijf"]{display:none}.header-inner{gap:20px}.service-card-body{padding:25px 23px}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;padding-block:21px;gap:20px}.header-controls{width:100%;justify-content:space-between}.header-controls nav{margin:0}.header-controls nav>a[href="#bedrijf"]{display:block}.hero h1{font-size:clamp(2.7rem,6.2vw,3.5rem)}html[lang="pl"] .hero h1,html[lang="en"] .hero h1{font-size:clamp(2.3rem,5.1vw,3.1rem)}.service-card{padding:0}.service-card h3{font-size:1.25rem}.language-switcher button{min-width:54px;padding-inline:7px}.contact-actions .button{max-width:100%}}
@media(max-width:600px){.header-inner{display:flex;padding-block:20px 16px}.header-controls{flex-wrap:wrap;gap:15px}.header-controls nav{order:2;width:100%;justify-content:space-between;gap:10px;font-size:.875rem}.language-switcher{margin-left:auto}.header-controls{display:contents}.brand{max-width:100%;min-width:0}.header-controls nav{flex-basis:100%}.brand-name>span{font-size:.72rem}.language-switcher button{min-width:50px;min-height:42px;padding-inline:6px}.hero h1{font-size:clamp(2.75rem,11.9vw,4.35rem)}html[lang="pl"] .hero h1,html[lang="en"] .hero h1{font-size:clamp(2.3rem,9.4vw,3.8rem)}.service-card{padding:0}.service-card-body{padding:25px}.service-card h3{font-size:1.35rem}.service-photo{aspect-ratio:1.6}.photo-number{left:19px;bottom:16px}.photos-note{margin-top:20px}.hero-actions{gap:19px}.button{max-width:100%}.strip-inner{font-size:.875rem}}
@media(max-width:420px){.header-inner{gap:17px}.language-switcher{margin-left:0}.header-controls nav{order:3}.brand{width:100%}.language-switcher{width:100%;justify-content:space-between}.language-switcher button{flex:1;min-height:40px}.hero-actions .button{gap:18px}.details-list>div{grid-template-columns:1fr 1.3fr}.contact-actions{gap:10px}}

/* Four illustrated renovation examples. */
.renovations{background:#fff}.renovations .section-heading>p{max-width:440px}.renovation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.renovation-example{margin:0;min-width:0}.renovation-example>img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;background:var(--pale);border-radius:7px}.renovation-example figcaption{padding:22px 0 0}.renovation-example h3{font-size:1.42rem;line-height:1.3;letter-spacing:-.025em}.renovation-example p{font-size:1rem;line-height:1.75;color:var(--text);margin:10px 0 0;max-width:510px}.renovations .photos-note{margin-top:28px}.header-controls nav{flex-wrap:wrap}
@media(max-width:800px){.renovation-grid{gap:30px 20px}.renovation-example h3{font-size:1.25rem}.renovation-example figcaption{padding-top:18px}.header-controls nav{gap:14px}}
@media(max-width:600px){.renovation-grid{grid-template-columns:1fr;gap:30px}.renovation-example h3{font-size:1.35rem}.renovation-example>img{aspect-ratio:1.5}.renovations .section-heading>p{max-width:100%}.header-controls nav{row-gap:12px}}

/* The selected logo keeps its original pixels; this frame only trims transparent margins. */
.header-inner{padding-block:14px}
.brand{display:block;position:relative;flex-shrink:0;width:164px;max-width:100%;aspect-ratio:1117 / 938;overflow:hidden}
.brand-logo{position:absolute;display:block;width:112.265%;max-width:none;height:auto;left:-5.103%;top:-22.601%}
@media(max-width:800px){.header-inner{padding-block:18px}.brand{width:148px}}
@media(max-width:600px){.header-inner{padding-block:14px 16px}.brand{width:136px}}
