@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f6f2;--ink:#292e28;--muted:#73766d;--line:#d9dbd2;--accent:#626d58}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{color:inherit}header{height:110px;margin:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:55px;line-height:.7;letter-spacing:-3px;display:inline-block}.brand span{font-family:'DM Sans',sans-serif;display:block;font-size:8px;letter-spacing:3px;line-height:1;margin-top:13px;padding-left:3px}nav{display:flex;align-items:center;gap:36px;font-size:12px}nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink);padding:12px 0;margin-left:20px}.nav-contact span{margin-left:22px}.menu{display:none}.intro{padding:65px 5% 42px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.intro-row{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-top:22px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0;letter-spacing:-1.8px}h1{font-size:clamp(48px,5.4vw,87px);line-height:1.04}em{font-weight:400;color:#747d67}p{line-height:1.9} .intro-aside{padding-bottom:7px;min-width:260px}.intro-aside p{color:var(--muted);font-size:13px;margin:0 0 23px}.text-link{border-bottom:1px solid var(--ink);padding:0 0 9px;display:inline-flex;justify-content:space-between;gap:45px;font-size:12px}.hero{margin:0 2%;height:min(65vw,650px);min-height:360px;position:relative;background:#8a988a;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 3.2% 27px;background:linear-gradient(transparent,#0007);color:white;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px}.hero-open{position:absolute;right:3%;top:24px;width:40px;height:40px;border:1px solid #fff9;border-radius:50%;background:#0002;color:white;font-size:20px}.section{padding:100px 5%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:37px}.section-heading h2{font-size:54px;margin-top:15px}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 5px}.filters{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:35px}.filters button{border:1px solid transparent;background:none;border-radius:30px;padding:9px 17px;font-size:11px}.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}.filters button:hover{border-color:var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}.photo-card{border:0;padding:0;text-align:left;background:none;width:100%;min-width:0}.photo-card .photo-wrap{overflow:hidden;background:#e3e3db;aspect-ratio:1.2}.photo-card:nth-child(3n+2) .photo-wrap{aspect-ratio:.84}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-card:hover img{transform:scale(1.035)}.photo-card .caption{display:flex;justify-content:space-between;align-items:center;padding-top:15px;font-size:12px}.caption span{color:var(--muted);font-size:10px;letter-spacing:1px}.portfolio-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:45px;padding-top:30px;font-size:11px;color:var(--muted)}.outline{background:none;border:1px solid #9ea393;padding:15px 25px;font-size:11px}.outline span{margin-left:30px}.about{background:#e9ece4;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:530px;object-fit:cover}.about-image span{display:block;margin-top:15px;font-size:9px;letter-spacing:2px}.about-copy h2{font-size:50px;line-height:1.12;margin:25px 0}.about-copy p{max-width:440px;color:#646b5e;font-size:13px}.about-copy .text-link{margin-top:15px}.signature{margin-top:45px;font-family:Georgia,serif;font-size:15px;font-style:italic}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service-grid article{padding:32px 30px 15px 0}.service-grid article+article{border-left:1px solid var(--line);padding-left:30px}.service-num{font-size:9px;letter-spacing:1.6px;color:var(--muted)}h3{font-size:34px;margin:24px 0 15px;letter-spacing:-.5px}.service-grid p{font-size:12px;color:var(--muted)}dl{font-size:11px;margin-top:28px}dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;gap:15px}dd{margin:0;white-space:nowrap}.print-service .text-link{margin-top:28px;gap:15px}.price-note{font-size:10px;color:var(--muted);line-height:1.8;max-width:920px;margin-top:35px}.contact{background:#2d352e;color:#f6f4ec}.contact .eyebrow{color:#b6bea9}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:32px}.contact h2{font-size:100px;line-height:.95}.contact em{color:#bac3ab}.contact p{color:#c0c6bc;font-size:13px}.email{display:block;font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;border-bottom:1px solid #6c7567;padding:15px 0}.email span{margin-left:30px}.phone{display:block;margin-top:25px;font-size:15px}address{font-style:normal;font-size:12px;line-height:1.8;margin-top:26px;color:#c0c6bc}footer{padding:50px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand{font-size:42px}footer .brand span{font-size:6px}footer p,footer>span,footer>a:last-child{font-size:9px;line-height:1.9;color:var(--muted)}dialog{border:0;background:#151915;color:#fff;width:100vw;max-width:none;height:100dvh;max-height:none;padding:24px 5%;margin:0}dialog::backdrop{background:#151915}dialog[open]{display:flex;align-items:center;justify-content:center;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;width:100%;font-size:12px;align-items:center;height:45px}.lightbox-top button,.prev,.next{background:transparent;color:white;border:1px solid #73786e;padding:10px 18px}#large-photo{max-width:88%;max-height:78dvh;object-fit:contain;margin-top:12px}.prev,.next{position:absolute;top:50%;font-size:23px}.prev{left:15px}.next{right:15px}#lightbox-count{font-size:11px;color:#abb3a6}.skip{position:fixed;top:-100px;left:10px;z-index:10;padding:12px;background:white}.skip:focus{top:10px}button[hidden]{display:none}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){nav{gap:18px}.nav-contact{margin-left:0}.intro-aside{min-width:210px}.section-heading h2{font-size:44px}.section{padding:70px 5%}.about{gap:6%}.about-copy h2{font-size:39px}.about-image img{height:470px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:last-child{grid-column:span 2;border-left:0;border-top:1px solid var(--line);padding-left:0}.contact h2{font-size:80px}.email{font-size:27px}}
@media(max-width:650px){header{height:90px}.brand{font-size:45px}.brand span{font-size:7px}.menu{display:block;background:none;border:0;font-size:12px}nav{display:none;position:absolute;top:90px;left:0;right:0;padding:25px 6%;background:var(--paper);z-index:5;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.intro{padding:40px 6% 30px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro-row{display:block;margin-top:22px}h1{font-size:48px;letter-spacing:-1.5px}.intro-aside{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.intro-aside p{font-size:11px;margin:0}.text-link{font-size:11px;gap:20px}.hero{height:430px;min-height:0;margin:0}.hero>img{object-position:65% center}.hero-caption{padding:45px 6% 20px;font-size:8px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:42px;line-height:1.05}.section-heading p{margin-top:20px;font-size:11px}.filters{gap:3px;padding-bottom:17px;margin-bottom:25px}.filters button{padding:8px 12px;font-size:10px}.photo-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.photo-card .photo-wrap,.photo-card:nth-child(3n+2) .photo-wrap{aspect-ratio:.85}.photo-card .caption{font-size:11px}.caption span{font-size:8px}.portfolio-bottom{flex-wrap:wrap;gap:22px}.portfolio-bottom>a{width:100%;text-align:center}.outline{padding:13px 16px}.about{display:flex;flex-direction:column;gap:40px}.about-image{width:100%}.about-image img{height:380px}.about-copy h2{font-size:42px}.about-copy p{font-size:12px}.signature{margin-top:30px}.service-grid{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.service-grid article:last-child{grid-column:auto}.service-grid article{padding-right:0;padding-bottom:30px}.contact-row{display:block}.contact h2{font-size:82px;margin-bottom:35px}.email{font-size:26px}.email span{margin-left:5px}footer{flex-wrap:wrap;padding:40px 6%;gap:25px}footer p{width:65%;margin:0}footer>span,footer>a:last-child{width:43%}#large-photo{max-width:100%;max-height:73dvh}.prev,.next{top:auto;bottom:25px}dialog{padding:18px}#lightbox-count{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Refined identity, gallery and photograph viewer */
:root{--ink:#30312c;--paper:#f8f7f3;--accent:#a77536}header{margin:0;padding:12px 5%;height:140px;background:#111419;border:0;color:#efeee8}.brand{font-size:0;letter-spacing:0;line-height:1;flex-shrink:0}.brand img{display:block;width:145px;height:118px;object-fit:contain}header nav{font-size:11px;letter-spacing:.25px}.nav-contact{border-color:#72716a}nav a:hover{color:#ff9b0a}.intro{padding-top:58px;padding-bottom:46px}h1{font-size:clamp(48px,5.1vw,82px)}em{color:#8b826f}.hero{height:min(61vw,630px)}.hero-open{top:auto;bottom:66px;right:3.2%;background:#15191355;backdrop-filter:blur(12px);width:45px;height:45px;transition:background .2s,transform .2s}.hero-open:hover{background:#151913aa;transform:translateY(-2px)}.photo-card{align-self:start}.photo-card:nth-child(3n+2){padding-top:45px}.photo-card .photo-wrap{aspect-ratio:1.05}.photo-card:nth-child(3n+2) .photo-wrap{aspect-ratio:.85}.photo-card .caption{padding:16px 1px;font-size:12px}.caption span{letter-spacing:1.5px;font-size:8px}.photo-card .photo-wrap{position:relative}.photo-card .photo-wrap:after{content:'↗';position:absolute;right:16px;bottom:16px;background:#f8f7f3e8;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;opacity:0;transform:translateY(5px);transition:.25s}.photo-card:hover .photo-wrap:after,.photo-card:focus-visible .photo-wrap:after{opacity:1;transform:none}.filters button{transition:background .2s,color .2s}.outline{transition:background .2s,color .2s}.outline:hover{background:var(--ink);color:var(--paper)}.about{background:#eeeee7}.contact{background:#202622}footer{background:#111419;color:#deded8}footer .brand img{width:140px;height:115px}footer p,footer>span,footer>a:last-child{color:#aaa9a1}.section-heading>p{max-width:320px}.text-link:hover{color:#a77536;border-color:#a77536}
#lightbox{background:rgba(16,18,17,.985);padding:25px 4%;color:#f5f3ed;overflow:hidden}#lightbox::backdrop{background:#101211}#lightbox[open]{display:grid;grid-template-rows:48px minmax(0,1fr) 76px 65px;gap:12px;height:100dvh;animation:viewer-in .25s ease-out}.lightbox-top{height:auto;border-bottom:1px solid #ffffff1a;padding-bottom:16px;gap:20px}.viewer-identity{font-size:10px;letter-spacing:2px}.viewer-identity>span{display:block;font-family:Georgia,serif;font-size:11px;font-style:italic;letter-spacing:0;color:#aaa99f;margin-top:6px}.viewer-tools{display:flex;gap:12px}.viewer-tools button{border:1px solid #ffffff25;border-radius:30px;padding:10px 15px;font-size:15px;background:transparent;color:#f6f3ed;display:flex;gap:10px;align-items:center}.viewer-tools button span{font-size:10px}.viewer-tools button:hover{background:#ffffff12}.viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;height:100%;width:100%}.image-stage{height:100%;width:calc(100% - 112px);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;outline-offset:3px}.image-stage #large-photo{display:block;max-height:100%;max-width:100%;height:auto;width:auto;margin:0;object-fit:contain;opacity:1;transition:opacity .18s;box-shadow:0 12px 50px #0004;cursor:zoom-in}.image-stage.loading #large-photo{opacity:.2}.image-loading{display:none;position:absolute;color:#b7b6ac;font-size:11px;letter-spacing:1px}.loading .image-loading{display:block}.image-stage.zoomed{overflow:auto;display:block;touch-action:pan-x pan-y}.image-stage.zoomed #large-photo{max-width:none;max-height:none;width:170%;height:auto;cursor:zoom-out;margin:0 auto}.prev,.next{position:absolute;top:50%;transform:translateY(-50%);bottom:auto;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff30;background:#ffffff05;padding:0;font-size:20px;z-index:2;transition:background .2s}.prev{left:0}.next{right:0}.prev:hover,.next:hover{background:#ffffff18}.viewer-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1a;padding-top:12px;width:100%;gap:20px}.viewer-meta .eyebrow{font-size:8px;color:#8e938b;letter-spacing:1.8px}#lightbox-label{font-size:29px;letter-spacing:-.4px;margin-top:4px}.viewer-right{text-align:right}#lightbox-count{font-variant-numeric:tabular-nums;color:#e4e4dd;font-size:12px;line-height:1;margin:0 0 8px}.viewer-hint{font-size:9px;color:#8f948b}.thumbnails{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding:3px 0 8px;scrollbar-width:thin;scrollbar-color:#51554c transparent;width:100%}.thumbnails button{border:1px solid transparent;background:transparent;opacity:.4;padding:3px;flex:0 0 68px;height:53px;transition:opacity .2s,border-color .2s}.thumbnails button[aria-current="true"]{opacity:1;border-color:#b5a384}.thumbnails button:hover{opacity:1}.thumbnails img{width:100%;height:100%;object-fit:cover;display:block}.viewer-stage,.thumbnails{touch-action:pan-y}@keyframes viewer-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:900px){header{height:125px}.brand img{width:130px;height:105px}.nav-contact span{margin-left:10px}nav{gap:22px}}
@media(max-width:650px){header{height:112px;padding:5px 6%}.brand img{width:125px;height:100px}header nav{top:112px;background:#111419;color:#efeee8;padding-bottom:28px;border-color:#ffffff20}.menu{color:#efeee8;letter-spacing:1px;font-size:10px}.intro{padding-top:35px;padding-bottom:30px}.intro-aside{margin-top:25px}.hero{height:430px}.hero-open{bottom:60px}.photo-card:nth-child(3n+2){padding-top:0}.photo-card .photo-wrap,.photo-card:nth-child(3n+2) .photo-wrap{aspect-ratio:.85}.photo-card:nth-child(even){padding-top:30px}.photo-card .caption{font-size:11px}.photo-card .photo-wrap:after{width:28px;height:28px;right:10px;bottom:10px;opacity:1}.caption span{display:none}footer .brand img{width:125px;height:105px}footer p{width:55%}#lightbox{padding:15px 16px}#lightbox[open]{grid-template-rows:48px minmax(0,1fr) 70px 58px;gap:10px}.viewer-identity{font-size:8px;letter-spacing:1px}.viewer-identity>span{font-size:9px}.viewer-tools{gap:7px}.viewer-tools button{width:34px;height:34px;padding:0;justify-content:center}.viewer-tools button span{display:none}.image-stage{width:100%;height:calc(100% - 40px);align-self:flex-start}.prev,.next{top:auto;bottom:-4px;transform:none;width:32px;height:32px;font-size:17px}.prev{left:calc(50% - 42px)}.next{right:calc(50% - 42px)}#lightbox-label{font-size:28px}.viewer-hint{font-size:8px}.viewer-meta .eyebrow{font-size:7px}.thumbnails button{flex-basis:56px;height:46px}.image-stage.zoomed #large-photo{width:230%}}
@media(prefers-reduced-motion:reduce){#lightbox[open]{animation:none}}
@media(max-width:650px){.viewer-hint{font-size:0}.viewer-hint:after{content:"Veeg om te bladeren";font-size:9px}}
/* Subtle colour: warm sand, soft sage and restrained amber */
:root{--paper:#f7f4ec;--ink:#30362f;--muted:#707569;--line:#dedecf;--accent:#a66f32}
.intro{background:linear-gradient(115deg,#f4eee1 0%,#f7f4ec 62%,#edf0e5 100%)}
.intro .eyebrow,.services .eyebrow{color:#976d36}
.intro h1 em{color:#7d896b}
.portfolio{background:#f7f4ec}
.portfolio .eyebrow{color:#788266}
.filters button[aria-pressed="true"]{background:#657454;color:#fffdf7}
.filters button:hover{border-color:#c4cdb8;background:#e8eddf}
.filters button[aria-pressed="true"]:hover{background:#58664a}
.photo-card .caption{color:#526048}
.photo-card .photo-wrap:after{background:#f8f2e5ed;color:#81633b}
.about{background:#e7eddf}
.about .eyebrow{color:#657650}
.about-copy h2 em{color:#7b8b68}
.services{background:#f2eadc}
.service-num{color:#8e6e45}
.service-grid,.service-grid article+article,dl div{border-color:#dcd0bd}
.service-grid article:last-child h3{color:#886b44}
.contact{background:#303f35}
.contact em{color:#c9c6a0}
.contact .eyebrow{color:#d5c39e}
.text-link{border-color:#a28b62}
.nav-contact span{color:#d9a555}
.outline{border-color:#a3ae92}
.outline:hover{background:#657454}
@media(max-width:650px){.intro{background:linear-gradient(135deg,#f4eee1,#eef0e5)}}
@media (max-width:650px), (hover:none) and (pointer:coarse){.photo-card .photo-wrap::after{content:none;display:none}}
