:root{--cream:#f9f2ec;--blush:#eee2d9;--taupe:#c1b2ac;--slate:#515561;--ink:#3c3d3c;--line:#d9cdc4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.85 'Work Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}img{display:block;width:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--slate);outline-offset:5px}.skip{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--cream);padding:10px}.skip:focus{transform:none}header{min-height:122px;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw}.logo{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.wordmark{font-family:'Oooh Baby',cursive;font-size:49px;letter-spacing:-2px;white-space:nowrap}.logo-sub{font-size:8px;letter-spacing:2px;margin-top:7px}nav{display:flex;gap:40px}nav a,.label,.button,.filters button,.menu{font-family:'Courier Prime',monospace;text-transform:uppercase;font-weight:700;font-size:14px;letter-spacing:2px}nav a{padding:7px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--slate)}.menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;height:min(710px,calc(100svh - 122px));min-height:530px}.hero-photo{overflow:hidden}.hero-photo img{height:100%;object-position:center 43%}.hero-brand{background:var(--taupe);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 25px 155px}.handwritten{font-family:'Oooh Baby',cursive;font-size:clamp(105px,11vw,180px);color:#fffaf7;line-height:1.15;letter-spacing:-7px;white-space:nowrap}.hero h1{font-family:'Work Sans',sans-serif;text-transform:uppercase;font-size:17px;letter-spacing:4px;color:#fffaf7;margin:2px 0 0;font-weight:400}.hero-location{font-family:'Courier Prime',monospace;font-size:12px;letter-spacing:2px;margin-top:22px;color:#41413e}.hero-action{position:absolute;bottom:44px}.hero-action p{font-size:14px;margin:0 0 15px}.button{display:inline-block;background:var(--slate);color:white;padding:15px 27px;border:1px solid var(--slate);border-radius:10px;font-size:13px;letter-spacing:1px;line-height:1.6;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#393e49;transform:translateY(-2px)}h1,h2,h3{font-family:'Vollkorn',Georgia,serif;font-weight:400;line-height:1.2;margin:0}h1{font-size:clamp(44px,5vw,70px)}h2{font-size:clamp(36px,3.4vw,50px)}h3{font-size:30px}em{font-weight:400}.label{font-size:12px;letter-spacing:2px;line-height:1.6;margin:0 0 18px}.intro{padding:66px max(8vw,25px);background:var(--blush)}.intro h2{margin-bottom:25px}.intro>p:not(.label){max-width:850px;margin:8px auto;line-height:1.9}.section{padding:80px 5vw}.center{text-align:center}.center>p:not(.label){max-width:650px;margin:23px auto}.center>.button{margin-top:28px}.gallery{display:grid;gap:28px}.home-gallery{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}.photo{border:0;padding:0;display:block;background:none;text-align:left;cursor:zoom-in;min-width:0}.image-wrap{display:block;overflow:hidden;position:relative}.photo img{aspect-ratio:3/4;transition:transform .5s;width:100%;height:auto}.photo:hover img{transform:scale(1.035)}.view{position:absolute;bottom:16px;left:50%;transform:translate(-50%,8px);padding:6px 15px;background:var(--cream);font-size:13px;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap}.photo:hover .view,.photo:focus-visible .view{opacity:1;transform:translate(-50%,0)}.caption{display:block;margin-top:14px;font-size:14px;line-height:1.6}.caption .label{display:block;font-size:10px;letter-spacing:1px;margin:5px 0 0}.shoots{background:var(--blush)}.shoot-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;max-width:1180px;margin:50px auto 0}.shoot-cards article{border-top:1px solid #c2b6ae;padding-top:23px}.shoot-cards h3{margin:18px 0}.shoot-cards p{line-height:1.8}.underlined{font-family:'Courier Prime',monospace;font-size:14px;display:inline-block;border-bottom:1px solid;margin-top:8px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.about>img{aspect-ratio:4/5;object-position:50% 40%}.about>div{max-width:520px}.about h2{margin-bottom:25px}.about p:not(.label){margin:20px 0}.about .button{margin-top:14px}.instagram{padding:45px 0 0}.instagram-name{font-family:'Vollkorn',serif;font-size:clamp(25px,3vw,40px);border-bottom:1px solid}.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:38px}.instagram-grid img{aspect-ratio:1;height:auto;transition:filter .2s}.instagram-grid a:hover img{filter:brightness(.85)}.banner{background:var(--blush);padding:75px 25px}.banner>p:not(.label){max-width:530px;margin:22px auto}.banner .button{margin-top:8px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 5vw}.footer-top p{margin:0;font-size:14px}.footer-top>a:last-child{font-size:14px;border-bottom:1px solid}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 5vw;font-size:12px}.page-intro{padding:65px 20px 60px;background:var(--blush)}.page-intro h1{max-width:850px;margin:auto}.portfolio{padding-top:35px}.filters{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid transparent;border-radius:8px;padding:10px 20px;cursor:pointer;letter-spacing:1px;font-size:13px}.filters button[aria-pressed=true]{background:var(--slate);color:white}.filters button:hover{border-color:var(--slate)}.results{margin:25px 0;font-size:11px}.portfolio-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 28px}.photo[hidden]{display:none}.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:start;max-width:1400px;margin:auto}.contact-layout h2{margin-bottom:25px}.phone{font-family:'Vollkorn',serif;font-size:27px;display:table;border-bottom:1px solid;margin-top:25px}.location{margin-top:20px}.contact-photo img{aspect-ratio:4/5;height:auto}.contact-photo>p{font-family:'Vollkorn',serif;font-style:italic;text-align:center;font-size:20px}.message-helper{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.message-helper h3{font-size:25px;margin-bottom:16px}.message-helper label{display:block;font-size:14px}.message-helper select{background:var(--cream);padding:12px;border:1px solid #a99d96;border-radius:6px;width:100%;margin-top:8px}.message-helper #message-preview{padding:20px;background:var(--blush);font-size:15px;line-height:1.7}.secondary{background:transparent;color:var(--slate)}.secondary:hover{color:white}#copy-status{font-size:13px;line-height:1.6}.faq{padding-top:10px;max-width:900px;margin:auto}.faq .center{margin-bottom:30px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:17px}.lightbox{width:min(1100px,94vw);max-height:95svh;border:0;background:var(--cream);padding:12px 24px;color:var(--ink)}.lightbox::backdrop{background:#282726ed}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px}.lightbox button{border:0;background:none;cursor:pointer;color:var(--ink)}.lightbox-stage{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px}.lightbox-stage img{height:76svh;object-fit:contain}.lightbox-stage button{font-size:42px;min-height:50px}.photo-count{text-align:center;margin:6px;font-size:12px}@media(max-width:1000px){.hero{height:560px;min-height:0}.handwritten{font-size:110px}.hero h1{font-size:13px;letter-spacing:2px}.shoot-cards{gap:25px}.about{gap:5vw}.footer-top p{display:none}}@media(max-width:700px){header{min-height:95px;padding:17px 6vw}.wordmark{font-size:41px}.logo-sub{font-size:7px}.menu{display:block;background:none;border:0;cursor:pointer;font-size:13px;padding:10px 0}nav{display:none;position:absolute;top:95px;left:0;right:0;background:var(--cream);z-index:10;padding:20px 6vw 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:16px}nav.open{display:flex}.hero{grid-template-columns:1fr;height:auto}.hero-photo img{height:440px;object-position:center 34%}.hero-brand{min-height:315px;padding:28px 15px 110px}.handwritten{font-size:105px;letter-spacing:-4px}.hero h1{font-size:13px;letter-spacing:3px}.hero-location{margin-top:14px;font-size:10px}.hero-action{bottom:24px}.hero-action p{font-size:12px;margin-bottom:12px}.intro{padding:48px 6vw}.intro h2{font-size:32px}.section{padding:55px 6vw}.home-gallery{grid-template-columns:1fr 1fr;gap:28px 16px}.caption{font-size:13px}.shoot-cards{grid-template-columns:1fr;gap:35px}.shoot-cards h3{margin:10px 0}.about{grid-template-columns:1fr;gap:35px}.about>img{aspect-ratio:1;height:auto;object-position:50% 38%}.instagram{padding-top:15px}.instagram-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:25px}.banner{padding:55px 6vw}.footer-top{align-items:start;flex-direction:column;gap:24px;padding:35px 6vw}.footer-bottom{font-size:11px;gap:20px;padding:15px 6vw}.page-intro{padding:45px 6vw}.page-intro h1{font-size:43px}.page-intro p br{display:none}.filters{gap:5px}.filters button{font-size:12px;padding:9px 12px;letter-spacing:0}.portfolio{padding-top:25px}.portfolio-gallery{grid-template-columns:1fr 1fr;gap:27px 15px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-photo{order:-1}.contact-photo img{height:350px;object-position:50% 35%}.contact-photo>p{font-size:18px;margin:10px 0 0}.contact-layout h2{font-size:34px}.faq{padding-top:0}.lightbox{padding:10px;width:96vw}.lightbox-stage{grid-template-columns:25px 1fr 25px;gap:3px}.lightbox-stage img{height:68svh}.lightbox-bar{font-size:12px}.lightbox-stage button{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the portrait anchored at the top across wide desktop screens. */
.hero-photo{position:relative;min-height:0}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%}.about>img{object-position:50% 0%}@media(max-width:700px){.hero-photo{height:440px}.hero-photo img{height:100%;object-position:50% 0%}}

.hero-action .button{background:#795d4f;border-color:#795d4f;color:#fffaf7}.hero-action .button:hover{background:#654c40;border-color:#654c40}.instagram-slider{overflow:hidden;margin-top:38px}.instagram-track{display:flex;width:max-content;animation:instagram-slide 110s linear infinite}.instagram-group{display:flex;gap:8px;padding-right:8px}.instagram-group a{flex:none;width:clamp(190px,24vw,380px)}.instagram-group img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.gallery-toggle{margin:18px 0 25px;border:0;border-bottom:1px solid #a18a7c;background:transparent;padding:5px 0;font:12px 'Courier Prime',monospace;letter-spacing:1px;cursor:pointer}@keyframes instagram-slide{to{transform:translateX(-50%)}}@media(max-width:700px){.instagram-slider{margin-top:25px}.instagram-group a{width:62vw}}@media(prefers-reduced-motion:reduce){.instagram-track{animation:none}.instagram-slider{overflow-x:auto}.instagram-group[aria-hidden]{display:none}.gallery-toggle{display:none}}
/* A manually browsed portfolio, with native touch scrolling. */
.home-gallery{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 12px;margin-left:-4px;margin-right:-4px}.home-gallery::-webkit-scrollbar{display:none}.home-gallery>.photo{flex:0 0 calc((100% - 84px)/4);scroll-snap-align:start}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:22px}.carousel-controls button{width:48px;height:48px;border:1px solid #a18a7c;border-radius:50%;background:transparent;color:#795d4f;font-size:24px;cursor:pointer}.carousel-controls button:hover{background:var(--blush)}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-status{margin:0;min-width:150px;text-align:center;font-size:11px}.reveal-pending{opacity:0;transform:translateY(22px)}.reveal-ready{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.reveal-visible{opacity:1;transform:none}@media(max-width:700px){.home-gallery{gap:16px}.home-gallery>.photo{flex-basis:78%}.carousel-controls{gap:18px}}@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.reveal-ready{transition:none}}
.button,.hero-action .button{background:#795d4f;border-color:#795d4f;color:#fffaf7}.button:hover,.hero-action .button:hover{background:#654c40;border-color:#654c40}.filters button[aria-pressed=true]{background:#795d4f;color:#fffaf7}.filters button:hover{border-color:#795d4f}

.instagram{padding-bottom:25px}.carousel-controls{gap:24px}.portfolio-gallery{margin-top:30px}
.reveal-pending{transform:translateY(16px)}.reveal-ready{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}.hero-photo img{transform-origin:50% 0%}@media(prefers-reduced-motion:reduce){.reveal-pending{transform:none}}
.header-actions{display:flex;align-items:center;gap:30px}.header-actions nav{order:-1}.instagram-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--ink)}.instagram-icon svg{width:23px;height:23px}.footer-instagram{display:inline-flex;align-items:center;gap:10px}.footer-instagram svg{width:22px;height:22px;flex:none}@media(max-width:700px){.header-actions{gap:16px}.instagram-icon{width:30px;height:36px}}@media(max-width:360px){.hero-brand>div:first-child{width:100%}.handwritten{font-size:clamp(75px,27vw,97px)}}
.about>div>.label{font-family:'Courier Prime',monospace;letter-spacing:1.2px}
.concept-note{font-size:12px;line-height:1.6;color:var(--ink);max-width:650px;margin:22px auto 0!important}.image-note{font-size:11px;line-height:1.6;margin:12px 0 0!important}.journal-overview{max-width:1500px;margin:auto}.journal-feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7vw}.journal-feature img{aspect-ratio:4/5;height:auto}.journal-feature h2{font-size:clamp(32px,3vw,44px)}.journal-feature p:not(.label){margin:25px 0}.journal-next{background:var(--blush);padding-left:12vw;padding-right:12vw}.journal-next>p:not(.label){max-width:650px}.journal-next ul{list-style:none;padding:0;max-width:850px;margin:35px 0 0}.journal-next li{font-family:'Vollkorn',Georgia,serif;font-size:24px;padding:20px 0;border-bottom:1px solid var(--line)}.article-opening{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;max-width:1400px;margin:auto}.article-opening figure{margin:0}.article-opening img{aspect-ratio:4/5;height:auto}.article-lead{font-family:'Vollkorn',Georgia,serif;font-size:27px;line-height:1.55}.article-prose{max-width:830px;padding:10px 30px 75px;margin:auto}.article-prose section{margin-bottom:55px}.article-prose h2{font-size:34px;margin-bottom:25px}.article-prose p{margin:20px 0}.article-prose figure{margin:40px 0}.article-prose figure img{max-height:620px;object-fit:contain;height:auto}.veluwe-hero{display:grid;grid-template-columns:47% 53%;background:var(--taupe)}.veluwe-hero>div:first-child>img{height:100%;min-height:620px;object-fit:cover}.veluwe-hero>div:last-child{padding:65px 6vw;align-self:center}.veluwe-hero h1{font-size:clamp(43px,4.5vw,65px)}.veluwe-hero .button{margin-top:15px}.veluwe-shoots{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.veluwe-shoots img{aspect-ratio:3/4;height:auto;margin-bottom:25px}.veluwe-shoots p{max-width:400px}.journal-teaser .underlined{display:table;margin:24px auto 0}@media(max-width:1000px){nav{gap:25px}.header-actions{gap:20px}}@media(max-width:700px){.journal-feature,.article-opening,.veluwe-hero{grid-template-columns:1fr;gap:30px}.journal-feature>div{padding-top:5px}.journal-feature h2{font-size:32px}.journal-next{padding:50px 6vw}.journal-next li{font-size:21px}.article-opening{gap:20px}.article-lead{font-size:24px}.article-prose{padding:0 6vw 55px}.article-prose h2{font-size:30px}.veluwe-hero>div:first-child>img{min-height:0;height:400px}.veluwe-hero>div:last-child{padding:20px 6vw 45px}.veluwe-hero h1{font-size:43px}.veluwe-shoots{grid-template-columns:1fr;gap:40px}.veluwe-shoots img{max-height:480px}.journal-feature .label{margin-bottom:16px}}
