:root{color-scheme:dark;--canvas:#141817;--ink:#f2f1eb;--muted:#adb1ac;--quiet:#8c948e;--line:#414842;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #eef1e1;outline-offset:5px}img{display:block;max-width:100%}figure,p,h1,h2{margin:0}button[hidden],[hidden]{display:none!important}.wrap{width:calc(100% - 72px);max-width:1800px;margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:20;left:20px;top:-100px;background:var(--ink);color:var(--canvas);padding:10px 18px}.skip:focus{top:15px}.header{display:flex;align-items:center;gap:48px;min-height:76px;padding-block:17px;border-bottom:1px solid var(--line)}.site-title{margin-right:auto;font-size:inherit;line-height:1.4;font-weight:400}.brand{display:block;width:max-content;max-width:100%;font-size:20px;line-height:1.3;letter-spacing:5.5px;text-transform:uppercase;font-weight:400}.header nav{display:flex;align-items:center;gap:32px;font-size:10px;letter-spacing:2.1px;text-transform:uppercase}.header nav a,.languages button{transition:color .2s}.header nav a:hover{color:#b9c5b9}.languages{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.8px;white-space:nowrap}.languages button{padding:9px 2px;background:none;color:var(--quiet);font-size:9px;letter-spacing:1.8px}.languages button[aria-pressed=true]{color:var(--ink)}.languages button:hover{color:var(--ink)}.languages span{color:var(--quiet)}.portfolio{padding-block:24px 0}.gallery{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));column-gap:16px;row-gap:12px;min-height:120px}.photo{grid-column:span 8;min-width:0;animation:appear .4s ease both}.photo button{display:block;width:100%;padding:0;background:none;text-align:left}.photo-image{display:block;overflow:hidden;position:relative;background:#242b26;aspect-ratio:3/4}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .25s}.photo button:hover img{transform:scale(1.018)}.photo button:active img{filter:brightness(.92)}.photo-caption{padding-top:5px;color:var(--muted);font-size:9px;line-height:1.7;letter-spacing:1.2px;font-variant-numeric:tabular-nums}.gallery.is-filtered .photo{grid-column:span 8}.gallery.is-filtered .photo-image{aspect-ratio:3/4;height:auto}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:24px 29px;border-bottom:1px solid var(--line);margin-top:8px;font-size:10px}.filters{display:flex;align-items:center;gap:25px}.filters button{padding:5px 0;background:none;color:var(--muted);font-size:10px;letter-spacing:.6px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.filters button.active{color:var(--ink);border-bottom-color:var(--ink)}.filters button:hover{color:var(--ink)}.gallery-count{color:var(--muted);font-size:9px;letter-spacing:.6px;font-variant-numeric:tabular-nums}.more-button{display:inline-flex;align-items:center;gap:25px;background:none;padding:6px 0;font-size:10px;color:var(--ink);letter-spacing:.6px}.more-button:hover{color:#b9c5b9}.more-button span:last-child{font-size:18px;line-height:1}.details{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;padding-block:57px 62px}.details h2{font-size:10px;line-height:1.6;font-weight:400;text-transform:uppercase;letter-spacing:2.1px;margin-bottom:17px;color:var(--ink)}.details p{font-size:12px;line-height:1.95;color:var(--muted);max-width:470px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;line-height:1.6;padding-block:7px;border-bottom:1px solid var(--line);margin-top:15px;transition:border-color .2s,color .2s}.text-link span:last-child{font-size:17px;line-height:1}.text-link:hover{color:#c7d4c5;border-color:#c7d4c5}.contact-link{font-size:12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:19px 26px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.5px;color:var(--muted)}.footer a:hover{color:var(--ink)}#gallery-error{padding-block:70px;color:var(--muted);text-align:center}noscript p{padding-block:30px;color:var(--muted)}dialog{padding:0;border:0;color:var(--ink);background:#101311;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;margin:0}dialog::backdrop{background:#101311}dialog[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center;padding:68px 24px 26px}.lightbox-top{position:absolute;left:35px;right:25px;top:15px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;color:var(--muted);font-variant-numeric:tabular-nums}.close-lightbox{font:30px/1 var(--sans);background:none;color:var(--ink);width:44px;height:44px}.lightbox-top button:focus-visible{outline-offset:0}dialog figure{align-self:center;margin:auto;min-width:0;max-width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px}#lightbox-image{min-height:0;max-height:calc(100dvh - 145px);max-width:100%;width:auto;height:auto;object-fit:contain;touch-action:pan-y}#lightbox-caption{text-align:center;font-size:11px;color:#c5cbc4}.lightbox-prev,.lightbox-next{background:none;color:var(--ink);font-size:26px;padding:20px 5px;min-height:60px}.lightbox-prev:hover,.lightbox-next:hover,.close-lightbox:hover{color:#aabca8}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Six-photo composition measured from the selected original mockup. */
@media(min-width:741px){
.portfolio{padding-top:15px}
.gallery:not(.is-filtered){display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:18px;row-gap:12px;container-type:inline-size}
.gallery:not(.is-filtered) .photo{flex:0 0 auto}
.gallery:not(.is-filtered) .photo:nth-child(1){width:calc((100% - 36px) * .5963431786)}
.gallery:not(.is-filtered) .photo:nth-child(2){width:calc((100% - 36px) * .2109704641)}
.gallery:not(.is-filtered) .photo:nth-child(3){width:calc((100% - 36px) * .1926863572)}
.gallery:not(.is-filtered) .photo:nth-child(4){width:calc((100% - 36px) * .4449122807)}
.gallery:not(.is-filtered) .photo:nth-child(5){width:calc((100% - 36px) * .2792982456)}
.gallery:not(.is-filtered) .photo:nth-child(6){width:calc((100% - 36px) * .2757894736)}
.gallery:not(.is-filtered) .photo .photo-image{height:30.020562cqw;aspect-ratio:auto}
.gallery:not(.is-filtered) .photo:nth-child(n+4) .photo-image{height:27.416038cqw}
}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header{gap:30px;min-height:72px}.brand{font-size:17px;letter-spacing:3.8px}.header nav{gap:22px;font-size:9px;letter-spacing:1.7px}.gallery{column-gap:12px}.gallery-toolbar{gap:18px}.filters{gap:20px}.details{gap:9%}}
@media(max-width:740px){html{scroll-padding-top:18px}.wrap{width:calc(100% - 32px)}.header{display:grid;grid-template-columns:1fr auto;gap:14px 12px;padding-block:21px 16px;min-height:0}.site-title{min-width:0;margin:0}.brand{font-size:15px;letter-spacing:3px}.header nav{grid-row:2;grid-column:1/-1;justify-content:space-between;font-size:9px;letter-spacing:1.6px;gap:15px}.languages{grid-column:2;grid-row:1;gap:5px;letter-spacing:1px}.languages button{font-size:9px;padding:5px 1px;letter-spacing:1px}.portfolio{padding-top:16px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:9px}.photo,.photo:nth-child(n),.gallery.is-filtered .photo{grid-column:span 1}.photo:first-child{grid-column:1/-1}.photo .photo-image,.photo:nth-child(n) .photo-image,.gallery.is-filtered .photo-image{aspect-ratio:3/4;height:auto}.photo:first-child .photo-image{aspect-ratio:848/438}.gallery.is-filtered .photo:first-child{grid-column:span 1}.gallery.is-filtered .photo:first-child .photo-image{aspect-ratio:3/4}.photo-caption{font-size:8px;padding-top:4px;letter-spacing:1px}.gallery-toolbar{flex-wrap:wrap;gap:17px 12px;padding-block:18px 23px;margin-top:2px}.filters{gap:20px;flex:1 1 auto}.filters button{font-size:9px;letter-spacing:.3px}.gallery-count{font-size:8px}.more-button{width:100%;justify-content:center;gap:20px;font-size:10px;padding-top:6px}.details{grid-template-columns:1fr;gap:35px;padding-block:38px 43px}.details h2{font-size:9px;margin-bottom:12px;letter-spacing:1.8px}.details p{font-size:12px;max-width:500px}.text-link{margin-top:11px}.footer{gap:10px;flex-wrap:wrap;font-size:8px;padding-block:17px 22px}.footer>span:nth-child(2){margin-left:auto}.footer>a{flex-basis:100%;margin-top:2px;width:max-content}dialog[open]{grid-template-columns:31px 1fr 31px;padding:60px 5px 27px}.lightbox-prev,.lightbox-next{font-size:22px;padding:20px 0}.lightbox-top{left:18px;right:10px}#lightbox-image{max-height:calc(100dvh - 140px)}#lightbox-caption{font-size:10px;line-height:1.5}dialog figure{gap:14px}}
@media(max-width:370px){.wrap{width:calc(100% - 24px)}.brand{font-size:13px;letter-spacing:2.4px}.header nav{font-size:8px;letter-spacing:1.4px}.filters{gap:14px}.gallery-toolbar{gap:13px 9px}.gallery-count{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}




/* Prominent top navigation and compact, paged photo collections. */
.header nav{font-size:13px;letter-spacing:1px}
.languages,.languages button{font-size:12px}
.portfolio{padding-top:0}
.category-bar{position:sticky;top:0;z-index:5;background:var(--canvas);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:18px}
.filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;padding:0}
.filters button{font-size:16px;font-weight:500;line-height:1.35;letter-spacing:.5px;text-transform:uppercase;padding:11px 12px;min-height:46px;border:1px solid transparent;border-radius:3px;color:#c3c9c3}
.filters button.active{background:#e4e8dc;color:#19211b;border-color:#e4e8dc}
.filters button:hover{background:#2c352d;color:#fff}
.filters button.active:hover{background:#f0f2e9;color:#19211b}
.collection-heading{margin:0 0 12px;font-size:17px;font-weight:400;letter-spacing:.5px}
.gallery.is-filtered{display:flex;flex-direction:column;align-items:center;columns:auto;gap:14px;min-height:0;height:auto;max-width:1440px;margin-inline:auto;--row-height:clamp(240px,calc((100svh - 250px) / 2),360px)}
.gallery-row{display:grid;gap:12px;width:min(100%,calc(var(--row-height) * var(--row-ratio) + var(--row-gap)));align-items:start}
.gallery.is-filtered .photo{grid-column:auto;width:100%;height:auto;min-width:0;margin:0;animation:none}
.gallery.is-filtered .photo button{display:block;width:100%;padding:0}
.gallery.is-filtered .photo .photo-image{height:auto;aspect-ratio:auto;background:transparent}
.gallery.is-filtered .photo img{height:auto;width:100%;object-fit:contain}
.gallery.is-filtered .photo-caption{text-align:center;padding-top:4px}
.gallery-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:8px;padding:14px 0 18px;min-height:66px}
.gallery-count{margin-right:auto;font-size:12px;letter-spacing:.3px}
.pagination{display:flex;align-items:center;gap:17px}
.pagination button{background:none;border:1px solid #566256;border-radius:3px;padding:8px 14px;min-height:44px;font-size:14px;line-height:1.4}
.pagination button:hover:not(:disabled){background:#2c352d}
.pagination button:disabled{opacity:.35;cursor:default}
#page-status{font-size:13px;min-width:42px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.details{padding-top:38px}
@media(max-width:1100px){
 .filters{gap:2px 5px}.filters button{font-size:15px;padding:9px 10px}
 .gallery.is-filtered{--row-height:clamp(220px,calc((100svh - 275px) / 2),340px)}
}
@media(max-width:740px){
 .header nav{font-size:12px;letter-spacing:.6px}.languages,.languages button{font-size:12px}
 .category-bar{padding:9px 0;margin-bottom:13px}
 .filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:7px;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:7px}
 .filters button{flex:0 0 auto;font-size:15px;min-height:46px;padding:11px 13px;scroll-snap-align:start}
 .gallery.is-filtered{--row-height:clamp(220px,calc((100svh - 280px) / 2),340px);max-width:600px;gap:12px}
 .gallery.is-filtered .photo:nth-child(n) .photo-image{aspect-ratio:auto}
 .collection-heading{font-size:16px}
 .gallery-toolbar{gap:10px;padding:11px 0 15px}
 .gallery-count{font-size:12px}.pagination{gap:10px}.pagination button{font-size:13px;padding:8px 10px}#page-status{font-size:12px;min-width:32px}
}
@media(max-width:420px){.gallery-toolbar{justify-content:center}.gallery-count{flex-basis:100%;text-align:center;margin:0}.pagination{justify-content:center}.gallery.is-filtered{--row-height:clamp(200px,calc((100svh - 320px) / 2),320px)}}


/* Quiet ivory mounts for the two selected collections; the opening is untouched. */
.gallery.is-framed{gap:18px}
.gallery.is-framed .gallery-row{gap:12px}
.gallery.is-framed .photo button{padding:8px;background:#f2eee5;box-shadow:0 3px 12px #0003}
.gallery.is-framed .photo .photo-image{aspect-ratio:var(--frame-ratio);height:auto;position:relative;overflow:hidden}
.gallery.is-framed .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery.is-framed .photo-caption{padding-top:6px;font-size:10px}
@media(min-width:1101px){
 .gallery.is-city-extended{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3.2fr) minmax(0,1fr);align-items:start;gap:20px;max-width:none;width:100%}
 .city-center{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
 .city-center .gallery-row{width:100%}
 .city-side{display:flex;flex-direction:column;gap:18px;min-width:0}
}
@media(max-width:740px){.gallery.is-framed .photo button{padding:7px}}



/* The mirrored six-print composition retains a separate full-height photograph on the left. */
@media(min-width:1101px){
 .gallery.is-filtered.is-lavender-wall{display:grid;grid-template-columns:1.1fr repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"p a a d e" "p b c f f";gap:18px;width:100%;max-width:min(1540px,calc((100svh - 290px) * 2.55));height:auto;align-items:start}
 .gallery.is-lavender-wall .photo:nth-child(1){grid-area:p}
 .gallery.is-lavender-wall .photo:nth-child(2){grid-area:a}
 .gallery.is-lavender-wall .photo:nth-child(3){grid-area:b}
 .gallery.is-lavender-wall .photo:nth-child(4){grid-area:c}
 .gallery.is-lavender-wall .photo:nth-child(5){grid-area:d}
 .gallery.is-lavender-wall .photo:nth-child(6){grid-area:e}
 .gallery.is-lavender-wall .photo:nth-child(7){grid-area:f}
 .gallery.is-framed.is-lavender-wall .photo{height:auto;min-height:0}
 .gallery.is-framed.is-lavender-wall .photo button{padding:8px;background:#f1ede4}
 .gallery.is-framed.is-lavender-wall .photo .photo-image{height:auto;aspect-ratio:1}
 .gallery.is-framed.is-lavender-wall .photo:nth-child(1),.gallery.is-framed.is-lavender-wall .photo:nth-child(2),.gallery.is-framed.is-lavender-wall .photo:nth-child(7){display:flex;flex-direction:column;height:100%;min-height:0}
 .gallery.is-framed.is-lavender-wall .photo:nth-child(1) button,.gallery.is-framed.is-lavender-wall .photo:nth-child(2) button,.gallery.is-framed.is-lavender-wall .photo:nth-child(7) button{flex:1;min-height:0}
 .gallery.is-framed.is-lavender-wall .photo:nth-child(1) .photo-image,.gallery.is-framed.is-lavender-wall .photo:nth-child(2) .photo-image,.gallery.is-framed.is-lavender-wall .photo:nth-child(7) .photo-image{height:100%;aspect-ratio:auto}
}

/* Larger subject mosaics: a full-height anchor and closely grouped secondary photographs. */
@media(min-width:1101px){
 .gallery.is-filtered.is-subject-mosaic{display:grid;gap:18px;width:100%;max-width:1400px;height:clamp(480px,calc(100svh - 250px),660px);align-items:stretch}
 .gallery.is-subject-mosaic[data-subject="animals"]{grid-template-columns:1fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"a b c" "a b d"}
 .gallery.is-subject-mosaic[data-subject="portraits"]{grid-template-columns:.9fr 1fr 1fr .9fr;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"a b b c" "a d e f"}
 .gallery.is-subject-mosaic .photo:nth-child(1){grid-area:a}
 .gallery.is-subject-mosaic .photo:nth-child(2){grid-area:b}
 .gallery.is-subject-mosaic .photo:nth-child(3){grid-area:c}
 .gallery.is-subject-mosaic .photo:nth-child(4){grid-area:d}
 .gallery.is-subject-mosaic .photo:nth-child(5){grid-area:e}
 .gallery.is-subject-mosaic .photo:nth-child(6){grid-area:f}
 .gallery.is-framed.is-subject-mosaic .photo{display:flex;flex-direction:column;height:100%;min-height:0}
 .gallery.is-framed.is-subject-mosaic .photo button{flex:1;min-height:0;padding:8px}
 .gallery.is-framed.is-subject-mosaic .photo .photo-image{height:100%;aspect-ratio:auto}
 .gallery.is-framed.is-subject-mosaic .photo img{height:100%;width:100%;object-fit:cover}
 .gallery.is-framed.is-subject-mosaic .photo-caption{flex:none}
 .gallery.is-subject-mosaic[data-subject="portraits"] .photo:nth-child(2) img{object-fit:contain;background:#141817}
}
@media(min-width:741px) and (max-width:1100px){
 .gallery.is-framed[data-subject="animals"],.gallery.is-framed[data-subject="portraits"]{--row-height:clamp(280px,calc((100svh - 230px) / 2),400px)}
}
@media(min-width:1101px){
 .gallery.is-subject-mosaic[data-subject="autumn"]{grid-template-columns:1fr 1fr 1.2fr 1.1fr 1.2fr 1.2fr;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"a a b c d e" "a a f c g h";max-width:none;height:clamp(520px,calc(100svh - 220px),700px)}
 .gallery.is-subject-mosaic .photo:nth-child(7){grid-area:g}
 .gallery.is-subject-mosaic .photo:nth-child(8){grid-area:h}
}
/* Let category galleries breathe vertically; keep the established home composition. */
@media(min-width:1101px){
 .gallery.is-filtered{--row-height:clamp(290px,24vw,380px)}
 .gallery.is-filtered.is-lavender-wall{max-width:1540px}
 .gallery.is-filtered.is-subject-mosaic{height:clamp(560px,45vw,740px)}
 .gallery.is-subject-mosaic[data-subject="autumn"]{height:clamp(600px,48vw,800px)}
}
@media(min-width:741px) and (max-width:1100px){
 .gallery.is-filtered{--row-height:clamp(260px,34vw,370px)}
}
@media(max-width:740px){
 .gallery.is-filtered{--row-height:clamp(260px,75vw,360px)}
}
@media(min-width:1101px){
 .gallery.is-subject-mosaic[data-subject="animals"] .photo:nth-child(n+3) img{object-fit:contain;background:#141817}
}

/* Autumn is deliberately spaced across two pages of four complete photographs. */
.gallery.is-filtered[data-subject="autumn"]{display:flex;flex-direction:column;gap:30px;max-width:1200px;height:auto;--row-height:clamp(310px,26vw,380px)}
.gallery[data-subject="autumn"] .gallery-row{gap:28px}
@media(max-width:740px){.gallery.is-filtered[data-subject="autumn"]{gap:26px;--row-height:clamp(270px,78vw,370px)}}

/* Approved portrait mockup: full photographs, one landscape anchor, five ivory mounts. */
.gallery.is-filtered[data-subject="portraits"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="portraits"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="portraits"] .photo button:hover img{transform:none}
@media(min-width:1101px){
 .gallery.is-filtered.is-portrait-wall{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;width:100%;max-width:1288px;height:auto;gap:96px 0}
 .gallery.is-portrait-wall .photo{flex:0 0 auto}
 .gallery.is-portrait-wall .photo:nth-child(1),.gallery.is-portrait-wall .photo:nth-child(4){width:27.1739130435%}
 .gallery.is-portrait-wall .photo:nth-child(2){width:67.2360248447%}
 .gallery.is-portrait-wall .photo:nth-child(3){width:25.6211180124%}
 .gallery.is-portrait-wall .photo:nth-child(5){width:26.397515528%}
 .gallery.is-portrait-wall .photo-caption{text-align:left}
}

/* Two approved autumn compositions. Full natural frames, no image cropping. */
.gallery.is-filtered[data-subject="autumn"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="autumn"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="autumn"] .photo button:hover img{transform:none}
@media(min-width:1101px){
 .gallery.is-filtered.is-autumn-wall{display:block;position:relative;container-type:inline-size;width:100%;max-width:1288px;height:auto;aspect-ratio:1288/950}
 .gallery.is-autumn-wall .photo{position:absolute;margin:0}
 .gallery.is-autumn-wall .photo-caption{text-align:left}
 .gallery.is-autumn-wall[data-page="1"] .photo:nth-child(1){left:0;top:0;width:46.583851%}
 .gallery.is-autumn-wall[data-page="1"] .photo:nth-child(2){left:53.416149%;top:0;width:46.583851%}
 .gallery.is-autumn-wall[data-page="1"] .photo:nth-child(3){left:53.416149%;top:41.459627cqw;width:20.962733%}
 .gallery.is-autumn-wall[data-page="1"] .photo:nth-child(4){left:79.037267%;top:41.459627cqw;width:20.962733%}
 .gallery.is-filtered.is-autumn-wall[data-page="2"]{aspect-ratio:1288/1740}
 .gallery.is-autumn-wall[data-page="2"] .photo:nth-child(1){left:0;top:0;width:48.136646%}
 .gallery.is-autumn-wall[data-page="2"] .photo:nth-child(2){left:54.968944%;top:0;width:45.031056%}
 .gallery.is-autumn-wall[data-page="2"] .photo:nth-child(3){left:0;top:71.428571cqw;width:45.031056%}
 .gallery.is-autumn-wall[data-page="2"] .photo:nth-child(4){left:51.863354%;top:67.313665cqw;width:48.136646%}
}

/* Approved complete cities collection: five individually composed gallery pages. */
.gallery.is-filtered[data-subject="cities"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="cities"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="cities"] .photo button:hover img{transform:none}
@media(min-width:1101px){
 .gallery.is-filtered.is-city-wall{display:block;position:relative;container-type:inline-size;width:100%;max-width:1288px;height:auto;aspect-ratio:1288 / var(--city-height)}
 .gallery.is-city-wall .photo{position:absolute;left:var(--city-left);top:var(--city-top);width:var(--city-width);margin:0}
 .gallery.is-city-wall .photo-caption{text-align:left}
}

/* Approved six-photo animal gallery, using complete source photographs. */
.gallery.is-filtered[data-subject="animals"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="animals"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="animals"] .photo button:hover img{transform:none}
@media(min-width:1101px){
 .gallery.is-filtered.is-animal-wall{display:block;position:relative;container-type:inline-size;width:100%;max-width:1288px;height:auto;aspect-ratio:1288/1296}
 .gallery.is-animal-wall .photo{position:absolute;margin:0}
 .gallery.is-animal-wall .photo-caption{text-align:left}
 .gallery.is-animal-wall .photo:nth-child(1){left:0;top:0;width:35.714286%}
 .gallery.is-animal-wall .photo:nth-child(2){left:41.459627%;top:0;width:27.173913%}
 .gallery.is-animal-wall .photo:nth-child(3){left:74.378882%;top:0;width:25.621118%}
 .gallery.is-animal-wall .photo:nth-child(4){left:0;top:56.987578cqw;width:27.173913%}
 .gallery.is-animal-wall .photo:nth-child(5){left:34.472050%;top:56.987578cqw;width:29.503106%}
 .gallery.is-animal-wall .photo:nth-child(6){left:74.378882%;top:56.987578cqw;width:25.621118%}
}

/* Approved market and coast galleries: natural image proportions in cream mounts. */
.gallery.is-filtered[data-subject="food"] .photo .photo-image,.gallery.is-filtered[data-subject="sea"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="food"] .photo img,.gallery.is-filtered[data-subject="sea"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="food"] .photo button:hover img,.gallery.is-filtered[data-subject="sea"] .photo button:hover img{transform:none}
@media(min-width:1101px){
 .gallery.is-filtered.is-approved-wall{display:block;position:relative;container-type:inline-size;width:100%;max-width:1288px;height:auto;aspect-ratio:1288 / var(--approved-height)}
 .gallery.is-approved-wall .photo{position:absolute;left:var(--approved-left);top:var(--approved-top);width:var(--approved-width);margin:0}
 .gallery.is-approved-wall .photo-caption{text-align:left}
}

/* Full photographs in the newly added landscape and animal compositions. */
.gallery.is-filtered.is-approved-wall .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered.is-approved-wall .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered[data-subject="nature"] .photo .photo-image{aspect-ratio:auto;height:auto;overflow:visible}
.gallery.is-filtered[data-subject="nature"] .photo img{position:static;width:100%;height:auto;object-fit:contain}
.gallery.is-filtered.is-approved-wall .photo button:hover img,.gallery.is-filtered[data-subject="nature"] .photo button:hover img{transform:none}
/* A quiet professional line beside the name, wrapping beneath it when needed. */
.header{gap:24px}
.site-title{display:flex;flex-wrap:wrap;align-items:center;gap:5px 22px;min-width:0;flex:1 1 auto}
.brand{flex:0 0 auto}
.brand-descriptor{display:block;max-width:420px;font:italic 13px/1.6 Georgia,'Times New Roman',serif;letter-spacing:.15px;color:#bec5bc}
.header nav,.languages{flex-shrink:0}
@media(max-width:1250px){.brand-descriptor{flex-basis:100%;max-width:440px;font-size:12px}}
@media(max-width:740px){.site-title{gap:7px}.brand-descriptor{max-width:100%;font-size:11px;line-height:1.6;letter-spacing:0}.header{column-gap:12px}}

/* Readable bilingual about/contact views, reached directly from the top navigation. */
.header nav a[aria-current="location"]{color:#eef1e1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.details p+p{margin-top:16px}
.contact-handle{font-size:11px!important;letter-spacing:.4px}
.details.is-focused{display:block;max-width:1100px;padding-block:clamp(38px,6vw,84px);min-height:65svh}
.details.is-focused section{max-width:790px}
.details.is-focused h2{font-size:clamp(28px,3vw,40px);font-weight:400;text-transform:none;letter-spacing:.3px;margin-bottom:24px}
.details.is-focused p{font-size:17px;line-height:1.9;max-width:740px}
.details.is-focused .text-link{font-size:15px;margin-top:22px}
.details.is-focused .contact-primary{display:flex;width:max-content;max-width:100%;background:#e4e8dc;color:#19211b;border:1px solid #e4e8dc;border-radius:3px;padding:12px 20px;gap:24px}
.details.is-focused .contact-primary:hover{background:#f0f2e9}
@media(max-width:740px){.details.is-focused{padding-block:32px 46px;min-height:60svh}.details.is-focused p{font-size:15px;line-height:1.85}.details.is-focused h2{margin-bottom:20px}}

/* Portfolio identification and generous, readable information below the photographs. */
.portfolio-label{font-size:20px;font-weight:400;line-height:1.5;letter-spacing:3px;text-transform:uppercase;padding-top:18px;margin:0 0 8px;color:#dce1d7}
.details{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(36px,6vw,110px);padding-block:64px 76px;border-top:1px solid var(--line);margin-top:20px;align-items:start}
.details h2{font-size:30px;line-height:1.4;font-weight:400;text-transform:none;letter-spacing:.3px;margin-bottom:22px}
.details p{font-size:16px;line-height:1.9;max-width:740px}
.details p+p{margin-top:18px}
.details .text-link{font-size:15px;margin-top:22px}
.services-title{font-size:18px;line-height:1.5;font-weight:400;margin:28px 0 13px;color:var(--ink)}
.services-list{margin:0 0 22px;padding-left:20px;max-width:740px;color:var(--muted);font-size:16px;line-height:1.85}
.services-list li+li{margin-top:9px}
.details .contact-primary{display:flex;width:max-content;max-width:100%;background:#e4e8dc;color:#19211b;border:1px solid #e4e8dc;border-radius:3px;padding:12px 20px;gap:24px}
.details .contact-primary:hover{background:#f0f2e9}
.details .contact-handle{font-size:13px!important}
#o-mnie,#kontakt{scroll-margin-top:32px}
@media(max-width:900px){.details{grid-template-columns:1fr;gap:48px;padding-block:42px 52px}.details h2{font-size:27px}.details p,.services-list{font-size:15px;line-height:1.85}.portfolio-label{font-size:18px;padding-top:14px}.services-title{font-size:17px}}

/* A warm red accent makes the portfolio label clear while matching the ivory mounts. */
.portfolio-label{display:table;width:auto;max-width:100%;padding:8px 16px;margin:16px 0 12px;color:#e5ac9d;border:1px solid #b56f61;border-radius:2px;background:#b56f610d;font-size:20px;line-height:1.4;letter-spacing:2.7px}
@media(max-width:740px){.portfolio-label{font-size:18px;padding:7px 13px;margin-top:14px;letter-spacing:2.3px}}

/* The selected personal portrait sits beside the introduction, with its full frame preserved. */
.about{display:flow-root}
.about-portrait{float:right;width:36%;max-width:270px;margin:0 0 22px 28px;padding:7px;background:#f2eee5}
.about-portrait img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto}
.about .services-title{clear:both}
@media(max-width:640px){.about-portrait{float:none;width:min(100%,260px);margin:0 auto 26px;padding:7px}}

/* L’Instant Rose: a small white line-drawn rose and a restrained serif wordmark. */
.site-title{display:block}
.brand{display:flex;align-items:center;gap:13px;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.2;font-weight:400;letter-spacing:1.1px;text-transform:none}
.brand-rose{display:block;flex:none;width:34px;height:46px;padding:3px;background:#101110;border-radius:2px}
.brand-descriptor{margin-left:47px;margin-top:2px;font-family:var(--sans);font-style:normal;font-size:12px;line-height:1.6;letter-spacing:2.2px;text-transform:uppercase;color:#c4c5bf}
@media(max-width:740px){.brand{gap:10px;font-size:24px;letter-spacing:.4px}.brand-rose{width:29px;height:39px}.brand-descriptor{margin-left:39px;font-size:10px;letter-spacing:1.6px;margin-top:2px}}
@media(max-width:370px){.brand{font-size:21px;gap:8px}.brand-rose{width:26px;height:36px}.brand-descriptor{margin-left:34px;letter-spacing:1.2px}}

/* Keep lavender frames visible on phones: their absolutely positioned images
   need a reserved aspect ratio instead of the generic mobile auto height. */
@media(max-width:740px){
 .gallery.is-filtered[data-subject="lavender"] .photo:nth-child(n) .photo-image{aspect-ratio:var(--frame-ratio);height:auto}
}
