:root{--paper:#f8f6f1;--ink:#3d3a32;--muted:#76756b;--line:#d9d6cb;--rose:#ece2db;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #9f7166;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}h2{font-size:clamp(42px,4.4vw,66px);line-height:1.08;letter-spacing:-1.7px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.4px;line-height:1.8}.section-width{width:min(1200px,86%);margin-inline:auto}.header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{font:38px/.9 var(--serif);letter-spacing:-1.5px;text-align:center;white-space:nowrap}.brand span{display:block;font:8px/1 var(--sans);letter-spacing:4px;margin-top:12px;padding-left:5px}.header nav{display:flex;align-items:center;gap:38px;font-size:11px}.header nav>a:hover{color:#977367}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0;margin-left:25px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.hero{height:min(760px,calc(100svh - 134px));min-height:540px;position:relative;margin:0 24px;color:#fff;overflow:hidden;background:#777369}.hero-images,.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{opacity:0;transition:opacity 1.2s ease;object-position:68% 48%}.hero-image.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(19,23,17,.48),rgba(19,23,17,.08) 65%),linear-gradient(0deg,rgba(19,23,17,.35),transparent 35%)}.hero-copy{position:absolute;top:50%;left:7%;transform:translateY(-50%)}.hero-copy .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(70px,7.7vw,115px);line-height:.94;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){margin:26px 0 30px;font-size:12px;line-height:1.9;color:#f1efe8}.text-link{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #777769;padding:10px 0;font-size:11px;line-height:1.5}.text-link span{font-size:18px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.text-link.light{border-color:#ffffff80}.hero-bottom{position:absolute;bottom:30px;left:7%;right:5%;display:flex;align-items:center;justify-content:space-between}.hero-caption{font-size:8px;letter-spacing:2px}.hero-controls{display:flex;align-items:center;gap:20px}.slide-dot,.pause{background:none;border:0;color:#ffffffa3;padding:8px 0;font-size:10px}.slide-dot{border-bottom:1px solid transparent;min-width:25px}.slide-dot.active{color:#fff;border-color:#fff}.pause{color:#fff;min-width:28px;font-size:13px}.intro{padding-block:117px 106px;position:relative}.intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;margin-top:28px}.intro-text{max-width:375px;padding-top:4px}.intro-text p+p{margin-top:17px;color:var(--muted)}.intro-text .text-link{margin-top:15px}.flower{position:absolute;bottom:32px;left:46%;color:#b4a696;font-size:42px;line-height:1;font-weight:400}.stories{padding:45px 0 100px;scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2{margin-top:19px}.small-note{font-size:8px;letter-spacing:1.8px;padding-bottom:8px}.filters{display:flex;gap:34px;border-bottom:1px solid var(--line);margin:35px 0 40px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 15px;font-size:11px;color:var(--muted);margin-bottom:-1px}.filters .selected{border-color:var(--ink);color:var(--ink)}sup{font-size:7px;margin-left:5px}.story-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:57px;align-items:start}.story-card:nth-child(even){padding-top:90px}.story-card button{display:block;width:100%;border:0;padding:0;text-align:left;background:none}.story-card .card-image{position:relative;aspect-ratio:1/1.12;overflow:hidden;background:#e8e5dd}.story-card:nth-child(even) .card-image{aspect-ratio:1.07/1}.story-card img{transition:transform .7s}.story-card button:hover img{transform:scale(1.035)}.card-image .story-open{position:absolute;bottom:20px;right:20px;height:43px;width:43px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:18px;transition:background .2s}.story-card button:hover .story-open{background:var(--rose)}.card-meta{display:flex;justify-content:space-between;align-items:center;margin:17px 0 5px;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.story-card h3{font-size:34px;line-height:1.2;letter-spacing:-.6px}.card-description{font-size:11px;color:var(--muted);margin-top:6px}.more-wrap{text-align:center;margin-top:55px}.outline-button{background:transparent;border:1px solid #aaa79a;padding:14px 23px;font-size:11px}.outline-button span{margin-left:32px}.outline-button:hover{background:#eeeae2}.approach{display:grid;grid-template-columns:1fr 1fr;background:#eeece5;min-height:665px}.approach-photo{position:relative;overflow:hidden}.approach-photo img{position:absolute;object-position:50% 45%}.approach-photo>span{position:absolute;bottom:26px;left:30px;font-size:8px;letter-spacing:2px;color:white}.approach-copy{padding:100px clamp(35px,7vw,120px)}.approach-copy h2{font-size:clamp(40px,3.8vw,58px);margin:24px 0}.approach-copy>p:not(.eyebrow){max-width:390px;color:#67685f;font-size:12px}.approach-copy>p+p{margin-top:18px}.approach-copy .text-link{margin-top:20px}.signature{display:block;font:italic 34px var(--serif);margin-top:25px}.moments{display:grid;grid-template-columns:1fr .85fr 1fr;align-items:center;gap:50px;padding-block:115px}.moments>div{aspect-ratio:1/1.2}.moments>div:last-child{aspect-ratio:1/1.2;margin-top:70px}.moments p{font:39px/1.2 var(--serif);text-align:center;letter-spacing:-.7px}.contact{position:relative;text-align:center;background:var(--rose);padding:95px 20px 90px;overflow:hidden}.contact h2{font-size:80px;margin:22px 0;line-height:.95}.contact-inner>p:not(.eyebrow){font-size:12px;color:#71685e;line-height:2}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:11px;padding:17px 28px;min-height:53px}.solid-button:hover{background:#5c594c}.contact .solid-button{margin:30px 0 24px}.contact-links{display:flex;justify-content:center;gap:14px;font-size:10px}.contact-links a:hover{text-decoration:underline}.contact-flower{position:absolute;right:10%;top:38%;font-size:170px;color:#d6c7bb;font-weight:400;line-height:1;transform:rotate(20deg);pointer-events:none}.contact-inner{position:relative;z-index:1}.footer{padding-block:48px 25px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.footer .brand{justify-self:start;font-size:33px}.footer>p{text-align:right;font:italic 22px var(--serif)}.footer>div{grid-column:1/-1;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;top:10px;left:10px;z-index:10;background:var(--paper);padding:10px}.story-dialog,.enquiry-dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;width:min(1000px,94vw);max-height:94svh;overscroll-behavior:contain}.story-dialog::backdrop,.enquiry-dialog::backdrop{background:#272820c9;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.dialog-top h2{font-size:40px;letter-spacing:-.7px}.dialog-top .eyebrow{margin-bottom:5px}.close-button{height:40px;width:40px;border:1px solid var(--line);background:none;font-size:18px;flex-shrink:0}.close-button:hover{background:var(--rose)}.story-stage{position:relative;height:min(56svh,650px);background:#e8e5de}.story-stage img{object-fit:contain}.story-stage video{width:100%;height:100%;background:#171815}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#f8f6f1df;width:40px;height:44px;font-size:20px}.previous{left:10px}.next{right:10px}.story-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:10px}.story-toolbar>div{display:flex;gap:15px}.mode-button{background:none;border:0;border-bottom:1px solid transparent;padding:5px 0;font-size:10px}.mode-button.selected{border-color:var(--ink)}.story-description{font-size:12px;color:var(--muted);margin:15px 0}.photo-thumbs{display:flex;gap:10px;overflow-x:auto;margin-bottom:12px;padding:3px}.photo-thumbs button{padding:0;border:2px solid transparent;min-width:65px;width:65px;height:65px;background:none;opacity:.6}.photo-thumbs button.selected{border-color:#9f7166;opacity:1}.enquiry-dialog{width:min(660px,94vw);padding:44px}.enquiry-dialog>.close-button{position:absolute;right:20px;top:20px}.enquiry-dialog>.eyebrow{margin-top:12px}.enquiry-dialog h2{font-size:50px;margin-top:15px}.enquiry-dialog>p:not(.eyebrow){font-size:12px;margin-top:12px;color:var(--muted)}form{margin-top:24px}label{display:flex;flex-direction:column;gap:7px;font-size:10px;margin-bottom:17px}label>span{font-size:9px;color:var(--muted)}input,select,textarea{width:100%;min-width:0;border:1px solid #cfcdc2;background:#fffdf8;color:var(--ink);padding:11px;font-size:12px;border-radius:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid #9f7166}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-dialog .solid-button{width:100%}.form-note{font-size:10px;text-align:center;margin-top:14px;color:var(--muted)}.form-note a{text-decoration:underline}#enquiry-status{font-size:11px;margin-top:15px}.menu-toggle span{display:block;height:1px;background:var(--ink);width:23px;margin:6px 0}[hidden]{display:none!important}
@media(min-width:1500px){.hero{max-width:1600px;margin-inline:auto}.hero-copy{left:10%}}
@media(max-width:900px){.header{height:95px}.header nav{gap:20px}.nav-contact{margin-left:0}.hero{margin:0 15px}.intro-grid{gap:35px}.small-note{display:none}.story-grid{gap:35px}.approach-copy{padding:70px 35px}.moments{gap:25px}.moments p{font-size:31px}.contact-flower{right:3%;font-size:120px}.hero-caption{font-size:7px;letter-spacing:1px}}
@media(max-width:640px){html{scroll-padding-top:20px}.header{height:88px;padding-inline:6%;position:relative;z-index:5}.brand{font-size:32px}.brand span{font-size:7px;letter-spacing:3.2px;margin-top:10px}.menu-toggle{display:block;border:0;background:none;padding:10px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:25px 8% 35px;box-shadow:0 20px 20px #332e2220;align-items:stretch;flex-direction:column;gap:17px;font-size:13px}.header nav.open{display:flex}.nav-contact{align-self:start}.hero{margin:0 10px;height:calc(90svh - 88px);min-height:570px;max-height:790px}.hero-image{object-position:66% 50%}.hero-image:nth-child(2){object-position:58% 50%}.hero-shade{background:linear-gradient(0deg,#182015ae,transparent 80%),linear-gradient(90deg,#1820152b,transparent)}.hero-copy{top:auto;bottom:110px;left:8%;transform:none}.hero h1{font-size:75px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}.hero-copy>p:not(.eyebrow){font-size:11px;margin-block:22px}.hero-bottom{left:8%;right:7%;bottom:22px}.hero-caption{max-width:145px;line-height:1.8}.hero-controls{gap:13px}.section-width{width:86%}.intro{padding-block:75px 75px}.intro-grid{grid-template-columns:1fr;gap:25px;margin-top:22px}h2{font-size:46px;letter-spacing:-1.3px}.intro-text{font-size:12px}.flower{left:auto;right:5%;bottom:20px;font-size:32px}.stories{padding-top:30px;padding-bottom:70px}.section-heading h2{font-size:43px}.eyebrow{font-size:8px;letter-spacing:1.7px}.filters{gap:24px;margin-block:28px}.filters button{font-size:10px}.story-grid{grid-template-columns:1fr;gap:35px}.story-card:nth-child(even){padding-top:0}.story-card .card-image{aspect-ratio:1/1.08}.story-card:nth-child(even) .card-image{aspect-ratio:1.08/1}.story-card h3{font-size:31px}.card-meta{font-size:7px}.more-wrap{margin-top:35px}.approach{grid-template-columns:1fr;min-height:0}.approach-photo{height:460px}.approach-copy{padding:55px 7% 60px}.approach-copy h2{font-size:46px}.moments{padding-block:70px;grid-template-columns:1fr 1fr;gap:20px}.moments p{grid-column:1/-1;grid-row:1;margin-bottom:10px;font-size:36px}.moments>div:last-child{margin-top:45px}.contact{padding:70px 7%}.contact h2{font-size:72px}.contact-inner>p:not(.eyebrow){font-size:11px}.contact-links{flex-direction:column;gap:5px}.contact-links>span{display:none}.contact-flower{right:-35px;top:31%;font-size:130px;opacity:.6}.footer{padding-block:35px 24px;grid-template-columns:1fr;gap:23px}.footer .brand{justify-self:center}.footer>p{text-align:center;font-size:21px}.footer>div{margin-top:5px;gap:20px;font-size:7px;letter-spacing:.3px}.story-dialog{padding:20px 14px}.dialog-top h2{font-size:33px}.dialog-top .eyebrow{font-size:7px}.close-button{height:35px;width:35px}.story-stage{height:48svh}.story-toolbar{font-size:9px}.mode-button{font-size:9px}.story-toolbar>div{gap:10px}.photo-thumbs button{height:50px;min-width:50px;width:50px}.enquiry-dialog{padding:35px 22px 22px}.enquiry-dialog h2{font-size:40px}.enquiry-dialog>.eyebrow{max-width:80%;font-size:7px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-dialog>.close-button{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:640px){input,select,textarea{font-size:16px}}
/* Fine art portfolio and the photographer's introduction. */
.fine-art{padding-block:100px 80px}.fine-art-heading{text-align:center;max-width:700px;margin:0 auto 50px}.fine-art-heading h2{margin:20px 0}.fine-art-heading>p:last-child{font-size:12px;color:var(--muted)}.fine-art-grid{display:grid;grid-template-columns:1.25fr .85fr 1.25fr .85fr;gap:22px;align-items:start}.fine-art-grid button{padding:0;border:0;background:none;position:relative;text-align:left}.fine-art-grid img{height:340px;transition:transform .6s}.fine-art-grid button:nth-child(even){padding-top:80px}.fine-art-grid button:nth-child(2) img,.fine-art-grid button:nth-child(4) img{height:370px}.fine-art-grid button:hover img{transform:translateY(-5px)}.fine-art-grid button>span{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;padding-top:15px}.fine-art-grid i{font-style:normal;font-size:14px}.fine-art-grid button:first-child img{object-position:50% 50%}.fine-art-grid button:nth-child(3) img{object-position:55% 50%}.fine-art-footer{display:flex;align-items:center;justify-content:space-between;margin-top:36px;gap:20px}.fine-art-footer>span{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.fine-art-footer button{background:none;border-top:0;border-left:0;border-right:0}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center;border-top:1px solid var(--line);padding-block:90px 110px}.about-photo{position:relative}.about-photo img{height:auto;aspect-ratio:3/4;object-position:50% 35%}.about-photo>span{position:absolute;bottom:20px;left:22px;color:#fff;font-size:8px;letter-spacing:2px}.about-copy{max-width:500px}.about-copy h2{margin:22px 0 28px}.about-copy>p:not(.eyebrow){font-size:13px;color:#67685f;margin-bottom:18px}.about-copy .text-link{margin-top:6px}.about-copy .signature{margin-top:24px}.approach-copy h2{font-size:clamp(40px,3.5vw,54px)}
@media(max-width:1000px){.fine-art-grid{grid-template-columns:1fr 1fr;gap:35px}.fine-art-grid button:nth-child(2){padding-top:60px}.fine-art-grid button:nth-child(4){padding-top:35px}.fine-art-grid img,.fine-art-grid button:nth-child(2) img,.fine-art-grid button:nth-child(4) img{height:390px}.about{gap:55px}.hero-caption{max-width:320px}}
@media(max-width:640px){.fine-art{padding-block:65px 55px}.fine-art-heading{margin-bottom:32px}.fine-art-heading h2{font-size:42px}.fine-art-heading>p:last-child{font-size:11px}.fine-art-grid{gap:26px 16px}.fine-art-grid img,.fine-art-grid button:nth-child(2) img,.fine-art-grid button:nth-child(4) img{height:230px}.fine-art-grid button:nth-child(even){padding-top:30px}.fine-art-grid button>span{font-size:7px;letter-spacing:1px}.fine-art-grid button:first-child img{object-position:50% 50%}.fine-art-footer{flex-direction:column;align-items:center;text-align:center;margin-top:30px;gap:10px}.fine-art-footer>span{font-size:7px}.about{grid-template-columns:1fr;gap:35px;padding-block:60px 70px}.about-photo{width:83%;max-width:360px;margin-inline:auto}.about-copy h2{font-size:48px}.about-copy>p:not(.eyebrow){font-size:12px}.about-copy .signature{margin-top:20px}.hero-caption{max-width:145px;font-size:6px}.approach-copy h2{font-size:42px}}
.hero-image:nth-child(2){object-position:32% 50%}
@media(max-width:640px){.hero-image:nth-child(2){object-position:47% 50%}}
/* Original photographs: responsive hero crops and expanded photo essays. */
.hero-image{display:block}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(12,17,20,.57),rgba(12,17,20,.08) 66%),linear-gradient(0deg,rgba(12,17,20,.36),transparent 32%)}.hero h1{text-shadow:0 2px 24px #00000020}.gallery-intro{font-size:12px;color:var(--muted);margin:24px 0 38px}.story-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.story-preview img{height:130px;object-fit:cover}.story-card button:hover .story-preview img{transform:none}.statement-photo{padding-bottom:45px}.statement-photo button{border:0;padding:0;background:none;width:100%;text-align:left;position:relative;overflow:hidden}.statement-photo img{aspect-ratio:3/2;max-height:760px;object-fit:cover;transition:transform .7s}.statement-photo button:hover img{transform:scale(1.015)}.statement-photo span{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;padding-top:17px}.statement-photo i{font-style:normal;font-size:18px}.fine-art-grid{row-gap:45px}.fine-art-grid button:nth-child(6) img{object-position:50% 38%}.fine-art-grid button:nth-child(8) img{object-position:50% 50%}.films{padding-block:30px 95px}.film-intro{font-size:11px;color:var(--muted);max-width:230px}.film-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);column-gap:45px}.film-card{display:flex;align-items:center;gap:20px;padding:25px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;width:100%}.film-play{flex-shrink:0;display:grid;place-items:center;width:52px;height:52px;border:1px solid #c8c0b2;border-radius:50%;font-size:21px;transition:background .2s}.film-card:hover .film-play{background:var(--rose)}.film-copy{display:flex;flex-direction:column;flex:1}.film-copy .eyebrow{font-size:7px;letter-spacing:1.6px}.film-name{font:29px/1.2 var(--serif);margin:5px 0 4px}.film-note{font-size:9px;color:var(--muted)}.film-arrow{font-size:19px}.about-photo{max-width:360px}.photo-thumbs{scrollbar-width:thin;scrollbar-color:#b5aa9c transparent}
@media(max-width:900px){.story-preview{gap:8px}.story-preview img{height:100px}.film-grid{column-gap:28px}.film-name{font-size:26px}}
@media(max-width:640px){.hero-copy{top:8%;bottom:auto;left:8%;transform:none}.hero h1{font-size:68px}.hero-copy>p:not(.eyebrow){display:none}.hero-copy .text-link{margin-top:22px}.hero-shade{background:linear-gradient(0deg,#10161c70,transparent 28%),linear-gradient(180deg,#10161c68,transparent 65%)}.story-preview{gap:10px;margin-top:18px}.story-preview img{height:100px}.gallery-intro{font-size:11px;margin:20px 0 28px}.statement-photo{padding-bottom:20px}.statement-photo img{aspect-ratio:3/2;max-height:none}.statement-photo span{font-size:7px;letter-spacing:1.4px;padding-top:12px}.fine-art-grid{row-gap:28px}.films{padding-block:20px 65px}.films .section-heading{display:block}.films h2{font-size:44px}.film-intro{margin-top:18px;max-width:none;font-size:11px}.film-grid{grid-template-columns:1fr}.film-card{padding:22px 0;gap:17px}.film-name{font-size:29px}.film-play{width:45px;height:45px}.films .filters{gap:22px}.about-photo{max-width:330px}}
/* Slideshow stills retain their actual pixel detail at high display densities. */
.story-stage{display:flex;align-items:center;justify-content:center}#story-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.story-card[data-source="slideshow"] .card-image{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:transparent}.story-card[data-source="slideshow"] .card-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.story-preview:empty{display:none}.story-card[data-source="slideshow"] button:hover .card-image img{transform:none}
/* A twenty-photograph story with compact controls and native-size video stills. */
.hero{background:#111719}.hero-images{background:#111719}.hero-controls{gap:17px}.hero-arrow{border:0;background:none;color:#fff;font-size:20px;line-height:1;padding:8px;min-width:32px;min-height:38px}.hero-arrow:hover{color:#ddcfc5}.hero-count{font-size:10px;letter-spacing:1px;white-space:nowrap;min-width:55px;text-align:center;font-variant-numeric:tabular-nums}.hero-count span{color:#ffffff80}.hero-caption{border:0;background:none;color:#fff;text-align:left;padding:7px 0;font-size:8px;letter-spacing:1.8px;line-height:1.7}.hero-caption span{font-size:16px;margin-left:15px}.hero-caption:hover{text-decoration:underline;text-underline-offset:5px}.hero-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff25}.hero-progress span{display:block;width:5%;height:100%;background:#f0e5d9;transition:width .5s ease}.hero-image.framed img{position:absolute;right:4%;top:50%;transform:translateY(-50%);height:auto;max-width:94%;max-height:78%;object-fit:contain}.hero.is-framed .hero-copy{left:6%;max-width:32%}.hero.is-framed h1{font-size:clamp(54px,5.6vw,84px)}.hero.is-framed .hero-copy>.eyebrow{max-width:260px;font-size:8px}.hero.is-framed .hero-copy>p:not(.eyebrow){max-width:250px;font-size:11px}.hero.is-framed .hero-shade{background:linear-gradient(90deg,#111719 0%,#111719bf 27%,transparent 52%)}
@media(max-width:900px) and (min-width:641px){.hero.is-framed h1{font-size:54px}.hero.is-framed .hero-copy{max-width:34%}.hero.is-framed .hero-copy>p:not(.eyebrow){font-size:10px}.hero-controls{gap:8px}}
@media(max-width:640px){.hero-controls{gap:5px}.hero-arrow{font-size:18px;min-width:26px;padding-inline:4px}.hero-count{font-size:9px;min-width:48px}.hero-caption{max-width:140px;font-size:6px;letter-spacing:1.3px}.hero-caption span{font-size:12px;margin-left:5px}.hero-bottom{right:5%;left:7%;bottom:18px;gap:8px}.hero.is-framed .hero-copy{top:7%;left:8%;max-width:90%}.hero.is-framed h1{font-size:60px}.hero.is-framed .hero-copy>.eyebrow{max-width:none;font-size:8px}.hero.is-framed .hero-copy .text-link{margin-top:17px}.hero-image.framed img{top:auto;bottom:17%;right:3%;transform:none;max-width:94%;max-height:43%}.hero.is-framed .hero-shade{background:none}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-progress span{transition:none}}
@media(max-width:640px){.hero.is-framed h1{font-size:54px}.hero-image.framed img{bottom:14%;right:50%;transform:translateX(50%);max-height:49%}}

/* Focused polish informed by Unslop, Damir Sokolovsky (@heydamir), CC BY 4.0.
   Existing photography, type families, palette and section order are retained. */
:root{--muted:#656257;--secondary:#5e5b53;--ease:cubic-bezier(.22,1,.36,1)}
body{font-size:15px;line-height:1.7}
em,.signature,.footer>p{font-style:normal}
.eyebrow,.small-note,.card-meta,.hero-caption,.fine-art-grid button>span,.fine-art-footer>span,.statement-photo span,.approach-photo>span,.about-photo>span,.footer>div{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5}
.header nav,.text-link,.filters button,.outline-button,.solid-button{font-size:14px}
.header nav{gap:32px}.nav-contact{margin-left:24px}.hero-copy .eyebrow{margin-bottom:24px}
.hero-copy>p:not(.eyebrow){font-size:15px;margin:24px 0 32px}.hero h1{text-shadow:none}
.hero-caption{max-width:360px;padding:12px 0}.hero-controls{gap:16px}.hero-count{font-size:12px;letter-spacing:0;font-variant-numeric:tabular-nums}
.hero-arrow,.pause{min-width:44px;min-height:44px;padding:8px}.pause{font-size:16px}
.hero-bottom{bottom:24px}.text-link{gap:32px;padding:12px 0}.text-link span,.statement-photo i,.fine-art-grid i{font:18px/1 var(--sans)}
.intro{padding-block:112px 104px}.intro-grid{gap:80px;margin-top:24px}.intro-text p+p{margin-top:20px}.intro-text .text-link{margin-top:16px}
.stories{padding:48px 0 96px}.section-heading{gap:32px}.section-heading h2{margin-top:16px}.filters{gap:32px;margin:32px 0 40px}.filters button{padding-bottom:16px}sup{font-size:11px;margin-left:8px}
.story-grid{column-gap:48px;row-gap:56px}.story-card:nth-child(even){padding-top:88px}.card-meta{margin:16px 0 8px;gap:12px}.card-description{font-size:14px;margin-top:8px}.story-preview{gap:12px;margin-top:24px}
.story-card button:hover img,.fine-art-grid button:hover img,.statement-photo button:hover img{transform:none}.story-card img,.fine-art-grid img,.statement-photo img{transition:none}
.story-card .story-open{width:44px;height:44px}.more-wrap{margin-top:56px}.outline-button{padding:16px 24px;min-height:48px}
.approach-copy{padding-block:96px}.approach-copy>p:not(.eyebrow){font-size:15px;color:var(--secondary)}.approach-copy>p+p{margin-top:20px}.approach-copy .text-link{margin-top:24px}.signature{margin-top:24px}
.fine-art{padding-block:96px 80px}.fine-art-heading{margin-bottom:48px}.fine-art-heading h2{margin:24px 0}.fine-art-heading>p:last-child{font-size:15px}.fine-art-grid{gap:48px 24px}.fine-art-grid button>span{padding-top:16px}.fine-art-footer{margin-top:40px;gap:24px}
.about{gap:96px;padding-block:96px 112px}.about-copy h2{margin:24px 0 32px}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--secondary);margin-bottom:20px}
.contact{padding:96px 24px}.contact h2{margin:24px 0}.contact-inner>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:500px;margin-inline:auto}.contact .solid-button{margin:32px 0 24px}.solid-button{padding:16px 28px;min-height:52px;gap:48px}.contact-links{font-size:14px;gap:16px}
.footer{padding-block:48px 24px}.footer>p{font:16px/1.5 var(--sans)}.footer>div{margin-top:32px;padding-top:24px}
.story-dialog{padding:32px}.dialog-top{margin-bottom:24px}.dialog-top .eyebrow{margin-bottom:8px}.story-toolbar{font-size:12px;margin-top:16px;gap:12px}.story-toolbar>div{gap:16px}.mode-button{font-size:12px;min-height:44px;padding:8px 0}.story-description{font-size:14px;margin:16px 0}.photo-thumbs{gap:12px;padding:4px}.photo-thumbs button{width:64px;min-width:64px;height:64px}.close-button{height:44px;width:44px}.photo-arrow{height:44px;width:44px}
.enquiry-dialog{padding:48px}.enquiry-dialog h2{margin-top:16px}.enquiry-dialog>p:not(.eyebrow){font-size:14px;margin-top:16px}label{font-size:14px;gap:8px;margin-bottom:16px}label>span{font-size:12px}input,select,textarea{padding:12px;font-size:16px}.form-row{gap:16px}.form-note{font-size:12px;margin-top:16px}
.hero-image{transition:opacity 1.2s var(--ease)}.hero-progress span{width:100%;transform:scaleX(.005813954);transform-origin:left;transition:transform .4s var(--ease)}.text-link span{transition:transform .16s var(--ease)}.text-link:hover span{transform:none}
.hero.is-framed .hero-copy>.eyebrow{font-size:12px}.hero.is-framed .hero-copy>p:not(.eyebrow){font-size:14px}
@media(max-width:1000px){.fine-art-grid{gap:32px}.about{gap:56px}}
@media(max-width:640px){
 .header nav{gap:16px;padding:24px 8% 32px}.hero{margin-inline:12px}.hero h1{font-size:64px}.hero-copy .eyebrow{font-size:12px;letter-spacing:0;margin-bottom:16px;max-width:260px}.hero-copy .text-link{margin-top:24px}
 .hero-bottom{left:6%;right:4%;bottom:16px;gap:8px}.hero-caption{max-width:132px;font-size:12px;line-height:1.4}.hero-caption span{margin-left:4px}.hero-controls{gap:0}.hero-arrow,.pause{min-width:32px;padding-inline:4px}.hero-count{font-size:12px;min-width:60px}
 .hero.is-framed .hero-copy>.eyebrow{font-size:12px}.hero.is-framed h1{font-size:52px}.hero.is-framed .hero-copy .text-link{margin-top:16px}
 .intro{padding-block:72px}.intro-grid{gap:24px;margin-top:24px}.intro-text{font-size:15px}.stories{padding:32px 0 72px}.section-heading h2{margin-top:16px}.filters{gap:24px;margin-block:32px}.filters button{font-size:14px}.story-grid{gap:40px}.story-card:nth-child(even){padding-top:0}.card-meta{font-size:12px;gap:8px}.card-description{font-size:14px}.story-preview{gap:8px;margin-top:16px}.more-wrap{margin-top:32px}
 .approach-copy{padding:56px 7% 64px}.approach-copy>p:not(.eyebrow){font-size:15px}.fine-art{padding-block:64px 56px}.fine-art-heading{margin-bottom:32px}.fine-art-heading>p:last-child{font-size:15px}.fine-art-grid{gap:32px 16px}.fine-art-grid button:nth-child(even){padding-top:32px}.fine-art-grid button>span{font-size:12px;letter-spacing:0}.fine-art-footer{margin-top:32px;gap:16px}.fine-art-footer>span{font-size:12px}
 .about{gap:32px;padding-block:64px 72px}.about-copy>p:not(.eyebrow){font-size:15px}.contact{padding:72px 7%}.contact h2{font-size:60px}.contact-inner>p:not(.eyebrow){font-size:15px}.contact-links{gap:8px}.footer{gap:24px;padding-block:40px 24px}.footer>p{font-size:15px}.footer>div{font-size:12px;letter-spacing:0;gap:16px}
 .story-dialog{padding:24px 16px}.dialog-top .eyebrow{font-size:12px}.story-toolbar{font-size:12px;align-items:flex-start}.story-toolbar>div{gap:12px}.mode-button{font-size:12px}.photo-thumbs button{width:52px;min-width:52px;height:52px}.enquiry-dialog{padding:48px 24px 24px}.enquiry-dialog>.eyebrow{font-size:12px}.form-row{gap:0}
}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-progress span{transition:none}}

/* Photographer biography and profile links. */
.about{align-items:start}.about-photo{margin-top:4px}.about-copy>p.about-location{font-size:14px;color:var(--muted);margin-top:-12px;margin-bottom:24px;line-height:1.6}
.about-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:8px}.about-copy .about-links .text-link{margin-top:0;gap:20px}.bio-inline-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}.bio-inline-link:hover{text-decoration-color:var(--ink)}
@media(max-width:640px){.about-photo{margin-top:0}.about-copy>p.about-location{font-size:14px;margin-top:-16px}.about-links{gap:8px 24px}}

/* One serif wordmark treatment across header, footer and mobile. */
.brand span{font:400 16px/1.1 var(--serif);letter-spacing:.3px;margin-top:8px;padding-left:0}
/* Public client reviews remain readable without a Facebook account. */
.testimonials{padding-block:96px 112px;border-top:1px solid var(--line)}
.testimonial-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.testimonial-heading h2{margin-top:16px}.testimonial-heading>p{max-width:300px;font-size:14px;line-height:1.7;color:var(--muted)}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-block:16px;border-block:1px solid var(--line)}.review-toolbar>p{font-size:12px;color:var(--muted)}.review-toolbar>p>span{margin-inline:8px}.review-actions{display:flex;gap:24px}.review-actions[hidden]{display:none}.review-control{background:none;border:0;border-bottom:1px solid var(--ink);padding:6px 0;font-size:13px;white-space:nowrap}.review-control span{margin-left:12px}.review-control:disabled{opacity:.4;cursor:default}
.reviews-scroll{max-height:680px;max-height:min(680px,72svh);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aaa394 var(--paper);scrollbar-gutter:stable;padding:8px 24px 0 0}.reviews-scroll:focus-visible{outline:2px solid #9f7166;outline-offset:8px}.reviews-scroll.is-expanded{max-height:none;overflow:visible;padding-right:0}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.testimonial{margin:0;padding-block:32px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.testimonial blockquote{margin:0;font:400 30px/1.3 var(--serif);letter-spacing:0}.testimonial figcaption{margin-top:24px;display:flex;flex-direction:column;gap:8px}.testimonial-name{font-size:14px;font-weight:500;line-height:1.5}.testimonial-source{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--muted);line-height:1.6}.testimonial-source a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}.testimonial-source a:hover{text-decoration-color:var(--ink)}
.recommendation-heading{margin-block:48px 24px}.recommendation-heading h3{font-size:32px;line-height:1.2}.recommendation-heading p{margin-top:12px;font-size:13px;color:var(--muted)}.recommendation-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;list-style:none;margin:0;padding:0}.recommendation{padding-block:20px;border-top:1px solid var(--line)}.recommendation>div{display:flex;flex-direction:column;gap:8px}.recommendation>p{font-size:13px;margin-top:12px;color:var(--muted)}.reviews-end{padding-block:32px;font:26px/1.3 var(--serif)}.testimonial-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:20px}
@media(max-width:900px){.testimonial-grid,.recommendation-list{column-gap:32px}.review-toolbar{align-items:flex-start}.review-toolbar>p{max-width:260px}}
@media(max-width:640px){.brand span{font-size:14px;letter-spacing:.3px;margin-top:8px}.testimonials{padding-block:64px 72px}.testimonial-heading{display:block}.testimonial-heading>p{margin-top:20px;max-width:310px}.review-toolbar{margin-top:28px;display:block}.review-toolbar>p{max-width:none}.review-actions{margin-top:12px;gap:28px}.reviews-scroll{max-height:65svh;padding-right:16px}.testimonial-grid,.recommendation-list{grid-template-columns:1fr}.testimonial{padding-block:28px}.testimonial blockquote{font-size:29px;line-height:1.3}.testimonial figcaption{margin-top:20px}.recommendation-heading{margin-top:32px}.testimonial-note{margin-top:16px}}
