@font-face{font-family:Anton;src:url('assets/Anton-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Cormorant;src:url('assets/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--paper:#eee8dc;--ink:#191b18;--muted:#53564c;--line:#b9b9a9;--green:#243c34;--gutter:3.2vw;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:74px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}::selection{background:var(--green);color:var(--paper)}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-thumb{background:var(--green)}body::-webkit-scrollbar-track{background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}img{display:block;width:100%;height:auto;object-fit:cover}figure,p,h1,h2{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}h2{font-weight:500;font-family:Cormorant,Georgia,serif;font-size:clamp(44px,6.2vw,96px);line-height:1;letter-spacing:-.035em}.skip{position:fixed;top:10px;left:10px;z-index:100;background:var(--ink);color:var(--paper);padding:12px;transform:translateY(-160%)}.skip:focus{transform:none}.topbar{height:75px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Anton,sans-serif;font-size:26px;line-height:1}.topbar nav{display:flex;gap:clamp(24px,4.5vw,72px)}nav a{font-size:13px;text-transform:uppercase;line-height:2}nav a:after{content:'';display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}nav a:hover:after{transform:scaleX(1)}.hero{position:relative;min-height:690px;height:min(820px,calc(100svh - 75px));margin:0 var(--gutter);isolation:isolate}.hero h1{font:clamp(130px,31.5vw,510px)/1 Anton,sans-serif;letter-spacing:-.025em;position:absolute;top:0;left:0;width:100%;text-align:center;transform:scaleX(1.08);transform-origin:top center}.hero-photo{position:absolute;top:14%;width:36%;height:76%;left:32%;overflow:hidden}.hero-photo img{height:100%;object-position:center 52%}.hero-note{position:absolute;left:0;bottom:18%;font-family:Cormorant,Georgia,serif;font-size:clamp(22px,2.2vw,34px);line-height:1.15}.hero-link{position:absolute;right:0;bottom:13%;font-size:clamp(16px,1.6vw,24px)}.text-link{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;line-height:1.3}.text-link svg{transition:transform .35s var(--ease)}.text-link:hover svg{transform:translate(3px,-3px)}.hero-foot{position:absolute;left:0;bottom:3%;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.scroll{position:absolute;bottom:2%;right:0;padding:8px}.section{padding-left:var(--gutter);padding-right:var(--gutter)}.portfolio{padding-top:94px;padding-bottom:130px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading p{font-size:13px;color:var(--muted);padding-bottom:5px}.gallery{display:grid;grid-template-columns:1.1fr 1fr;gap:52px 3.2vw;align-items:start}.piece figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;gap:12px}.piece figcaption>span:first-child{font:500 clamp(26px,2.6vw,42px)/1.2 Cormorant,Georgia,serif;letter-spacing:-.025em}.category{font-size:11px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.photo-button{position:relative;display:block;width:100%;padding:0;border:0;background:var(--green);overflow:hidden;text-align:left}.photo-button img{height:100%;transition:transform 1s var(--ease)}.photo-button:hover img{transform:scale(1.035)}.lead{grid-row:span 2}.lead .photo-button{aspect-ratio:.66}.colour .photo-button{aspect-ratio:1.28}.colour img{object-position:center 38%}.roses .photo-button{aspect-ratio:1.4}.roses img{object-position:50% 47%}.closeup{grid-column:1/-1;margin-top:30px;width:65%;justify-self:center}.closeup .photo-button{aspect-ratio:1.45}.closeup img{object-position:center 30%}.view-mark{position:absolute;right:14px;bottom:14px;background:var(--paper);color:var(--ink);display:flex;align-items:center;gap:12px;font-size:11px;padding:10px 12px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .4s var(--ease)}.view-mark svg{width:16px;height:16px}.photo-button:hover .view-mark,.photo-button:focus-visible .view-mark{opacity:1;transform:none}.about{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-top:100px;padding-bottom:100px;align-items:center}.about-image{width:82%;margin:auto}.about-image img{aspect-ratio:.8;object-position:center 40%}.about h2{font-size:clamp(66px,8.5vw,130px);line-height:.9;margin-bottom:35px}.about em{font-weight:400}.about p{max-width:32ch;font-size:17px;margin-top:18px}.about .text-link{margin-top:36px;font-size:13px}.about a:focus-visible{outline-color:var(--paper)}footer{padding-top:92px;padding-bottom:28px}.footer-intro{font-size:13px;margin-bottom:18px}footer h2{font-family:Anton,sans-serif;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(80px,14vw,220px)}.contact-note{margin-top:24px;font-family:Cormorant,Georgia,serif;font-size:26px}.footer-bottom{margin-top:100px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-bottom>span{font-size:12px;color:var(--muted)}.footer-bottom .text-link{font-size:12px;border:0}dialog{padding:22px 30px;border:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#111a16;color:var(--paper)}dialog::backdrop{background:#111a16}body:has(dialog[open]){overflow:hidden}.viewer-bar{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:13px}dialog button{border:0;background:none;color:inherit;display:flex;gap:12px;align-items:center;min-width:44px;min-height:44px}dialog button:focus-visible{outline-color:var(--paper)}dialog figure{height:calc(100% - 110px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}dialog figure img{height:calc(100% - 36px);width:100%;object-fit:contain}dialog figcaption{font:26px Cormorant,Georgia,serif}.viewer-controls{display:flex;justify-content:center;gap:40px;margin-top:8px}
@media(min-width:1700px){.hero h1{font-size:30vw}}
@media(max-width:760px){:root{--gutter:5vw}.topbar{height:68px}.wordmark{font-size:22px}.topbar nav{gap:22px}nav a{font-size:11px}.hero{height:690px;min-height:0;max-height:calc(100svh - 68px)}.hero h1{font-size:31vw;transform:scaleX(1.06);top:12px}.hero-photo{top:15%;left:16%;width:68%;height:64%}.hero-note{bottom:9%;font-size:21px}.hero-link{bottom:9%;font-size:13px;gap:9px}.hero-link svg{width:18px}.hero-foot{font-size:9px;bottom:0}.scroll{bottom:-4px}.portfolio{padding-top:72px;padding-bottom:72px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:52px}.section-heading p{margin-top:14px}.gallery{gap:30px 18px;grid-template-columns:1.05fr 1fr}.piece figcaption{display:block;margin-top:9px}.piece figcaption>span:first-child{font-size:25px}.category{display:block;margin-top:4px;font-size:9px}.lead .photo-button{aspect-ratio:.55}.colour .photo-button{aspect-ratio:.8}.roses .photo-button{aspect-ratio:1}.closeup{width:86%;margin-top:6px}.closeup .photo-button{aspect-ratio:.95}.view-mark{display:none}.about{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:44px}.about-image{width:78%;margin-left:0}.about-image img{aspect-ratio:.95}.about-copy{padding-left:12%}.about h2{font-size:86px;margin-bottom:24px}.about p{font-size:16px}.about .text-link{margin-top:25px}footer{padding-top:58px}.footer-intro{font-size:12px}footer h2{font-size:17vw}.contact-note{font-size:23px}.footer-bottom{margin-top:65px;flex-wrap:wrap}.footer-bottom>span{order:3;width:100%;font-size:11px}dialog{padding:16px}.viewer-bar{height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-links{display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:30px}.contact-links .text-link{font-size:clamp(15px,1.5vw,22px)}@media(max-width:760px){.contact-links{gap:20px;align-items:flex-start;flex-direction:column}.contact-links .text-link{font-size:15px}}

/* Reference landing: full-width name, four fixed links, rounded central portrait. */
@font-face{font-family:ArchivoBlack;src:url('assets/ArchivoBlack-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#e3dcd0;--ink:#242424}
html{scroll-padding-top:55px}.topbar{position:fixed;top:0;left:0;width:100%;height:48px;z-index:20;padding:0 2vw;background:var(--paper)}.topbar nav{width:100%;display:flex;justify-content:space-between;gap:0}.topbar nav a{font-family:ArchivoBlack,Arial,sans-serif;font-size:clamp(13px,1.5vw,24px);line-height:1.3;letter-spacing:-.04em;position:relative;transition:opacity .25s}.topbar nav a:after{display:none}.topbar nav a:hover{opacity:.6}.topbar nav a.active:before{content:'';width:.65em;height:.65em;display:inline-block;background:currentColor;border-radius:50%;margin-right:.35em}.hero{margin:0;height:88vw;min-height:100svh;max-height:none;isolation:isolate;overflow:hidden}.masthead-motion{position:absolute;top:0;left:2vw;width:96vw}.hero h1{position:relative;top:25px;left:0;width:100%;text-align:left;transform:none;font-size:46vw;line-height:1.08;letter-spacing:-.025em;overflow:hidden;margin:0}.name-fit{display:flex;width:max-content;transform:scaleX(var(--name-scale,.9));transform-origin:left top}.name-fit>span{display:block}.hero-photo{top:17.2vw;left:23.2vw;width:53.6vw;height:61vw;border-radius:8vw;overflow:hidden}.hero-photo-inner{width:100%;height:100%;overflow:hidden;border-radius:inherit}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.replay-intro{position:absolute;right:2vw;bottom:3vw;border:0;background:none;padding:8px 0;display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;opacity:.65}.replay-intro:hover{opacity:1}.replay-intro svg{width:16px;height:16px}.portfolio{padding-top:45px}.section-heading h2{font-family:Anton,sans-serif;text-transform:uppercase;font-size:clamp(55px,10vw,160px);letter-spacing:-.025em}.piece .photo-button{will-change:auto}.hero-photo-inner img{will-change:transform}.footer-bottom .wordmark{display:block}
@media(max-width:760px){.topbar{height:45px;padding:0 4vw}.topbar nav a{font-size:11px;letter-spacing:-.04em}.hero{height:calc(95vw + 150px);min-height:620px;max-height:none}.masthead-motion{left:3vw;width:94vw}.hero h1{top:55px;font-size:46vw;line-height:1.08;transform:none}.hero-photo{top:35vw;left:14vw;width:72vw;height:90vw;border-radius:12vw}.replay-intro{bottom:26px;right:4vw;font-size:10px}.portfolio{padding-top:25px}.section-heading h2{font-size:17vw}.section-heading p{margin-top:18px}.about h2{font-size:86px}}

@media(min-width:761px){.hero h1{top:12px;font-size:45vw}}
.replay-intro[hidden]{display:none}
/* Gallery and shoot archive, following the Lando reference below the retained landing. */
:root{--acid:#d7f873;--coal:#111410;--offwhite:#f0f0e8}h2 em{font-family:Cormorant,Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.045em}.life-gallery{background:var(--paper);padding-top:50px}.gallery-intro{padding:50px 3.2vw 70px;display:grid;grid-template-columns:1.6fr 1fr 80px;align-items:end;gap:30px}.gallery-intro h2,.shoots-heading h2,.about-new h2,.social-title h2{font:clamp(44px,7vw,110px)/.95 ArchivoBlack,Arial,sans-serif;letter-spacing:-.05em}.gallery-intro h2 em,.about-new h2 em{font-size:1.18em}.gallery-intro p{font-size:15px;line-height:1.45;max-width:28ch}.round-link,.social-cta{border:1px solid currentColor;border-radius:50%;height:70px;width:70px;display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}.round-link:hover,.social-cta:hover{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.round-link svg{width:30px;height:30px}.gallery-stage{height:100svh;min-height:650px;position:relative;overflow:hidden;padding-top:65px;padding-bottom:65px}.gallery-stage-label{position:absolute;top:20px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.gallery-track{display:flex;align-items:flex-start;gap:6vw;width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--green) transparent;height:100%;padding:0 8vw 0 3.2vw;scroll-snap-type:x proximity}.gallery-track.pinned{width:max-content;overflow:visible;scroll-snap-type:none}.gallery-frame{flex:0 0 auto;scroll-snap-align:center}.gallery-frame button{display:block;padding:0;border:0;background:transparent;width:100%;height:100%;overflow:hidden}.gallery-frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.gallery-frame button:hover img{transform:scale(1.04)}.gallery-frame figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.02em;margin-top:12px}.frame-main{width:31vw;height:72%;margin-top:1%}.frame-small{width:17vw;height:44%;margin-top:14vh}.frame-tall{width:27vw;height:75%;margin-top:3vh}.frame-float{width:19vw;height:42%;margin-top:0}.frame-last{width:31vw;height:75%;margin-top:9vh}.gallery-statement{flex:0 0 32vw;margin-top:25vh;scroll-snap-align:center}.gallery-statement p{font:500 4.4vw/.95 ArchivoBlack,Arial,sans-serif;letter-spacing:-.04em}.gallery-statement em{font-family:Cormorant,Georgia,serif;font-size:1.25em;font-weight:400}.gallery-statement>span{display:block;font-size:12px;margin-top:28px}.gallery-bottom{position:absolute;bottom:12px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;align-items:center;font-size:12px}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid #9a9d8f;border-radius:50%;transition:background .25s,color .25s}.gallery-controls button:hover{background:var(--ink);color:var(--paper)}.shoots{background:var(--coal);color:var(--offwhite);padding:105px 3.2vw 55px;border-radius:45px 45px 0 0;position:relative}.shoots-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:9vw;align-items:start;margin-bottom:85px}.shoots-heading h2{font-size:5.4vw}.shoots-heading h2 em{color:var(--acid);font-size:1.17em;white-space:nowrap}.shoots-heading>p{font-size:16px;max-width:32ch;margin-top:8px;line-height:1.5}.shoot-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:22px}.shoot-card{border:1px solid #5a6056;background:transparent;padding:12px 12px 17px;color:var(--offwhite);border-radius:9px;position:relative;text-align:left;transition:border-color .3s,background .3s,transform .45s var(--ease);min-width:0}.shoot-card:nth-child(2){margin-top:110px}.shoot-card:nth-child(3){margin-top:25px}.shoot-art{height:34vw;position:relative;overflow:hidden;border-radius:3px}.shoot-art img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),opacity .6s}.shoot-art .alternate{position:absolute;inset:0;opacity:0}.shoot-card:hover{border-color:var(--acid);background:#1c2219;transform:translateY(-6px)}.shoot-card:hover .cover{transform:scale(1.04)}.shoot-card:hover .alternate{opacity:1;transform:scale(1.04)}.shoot-open{position:absolute;bottom:15px;left:15px;right:15px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:11px;background:var(--acid);color:var(--coal);padding:12px 14px;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .4s var(--ease)}.shoot-card:hover .shoot-open,.shoot-card:focus-visible .shoot-open{opacity:1;transform:none}.shoot-caption{display:flex;justify-content:space-between;align-items:baseline;margin-top:17px;gap:10px}.shoot-caption strong{font-size:14px;font-weight:400}.shoot-caption>span{font-size:10px;color:var(--acid);white-space:nowrap}.shoots-close{display:flex;justify-content:space-between;align-items:center;margin-top:90px;padding-top:24px;border-top:1px solid #4b5146;font-size:13px}.shoots a:focus-visible,.shoot-card:focus-visible{outline-color:var(--acid)}.shoots-close .text-link{color:var(--acid)}.film{height:105svh;min-height:720px;position:relative;overflow:hidden;background:#281f13;color:var(--offwhite)}.film-still{position:absolute;inset:0;overflow:hidden}.film-still img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:brightness(.58)}.film-title{position:absolute;top:18%;left:4vw;right:4vw}.film h2{font:15vw/.84 ArchivoBlack,Arial,sans-serif;letter-spacing:-.06em}.film h2 em{font-family:Cormorant,Georgia,serif;font-size:1.1em;letter-spacing:-.055em}.film-bottom{position:absolute;bottom:5vw;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center}.film-bottom p{font:36px Cormorant,Georgia,serif}.film-bottom span{font-size:12px;text-transform:uppercase;border:1px solid #e3dcd0;padding:14px 24px;border-radius:40px}.about-new{padding:120px 5vw;display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;background:var(--offwhite)}.about-new h2{font-size:7vw}.about-new-copy{max-width:38ch;font-size:20px}.about-new-copy p+p{margin-top:20px}.about-new-copy .text-link{font-size:13px;margin-top:40px}.new-footer{background:var(--acid);color:var(--coal);padding:90px 4vw 25px}.social-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.social-title h2{font-size:8vw;line-height:.9}.social-title h2 em{font-size:1.2em}.social-cta{height:120px;width:120px;flex:0 0 auto}.social-cta svg{height:55px;width:55px}.footer-links{display:grid;grid-template-columns:1fr 1fr 2fr;gap:40px;margin-top:100px}.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.footer-links>div>span{font-size:10px;text-transform:uppercase;opacity:.7;margin-bottom:10px}.footer-links a{display:inline-flex;align-items:center;gap:10px;font-size:16px;max-width:100%;overflow-wrap:anywhere}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-links svg{width:18px;height:18px}.new-footer .footer-bottom{border-color:#8eaa49;margin-top:75px}.new-footer .footer-bottom>span{color:#39471f}.topbar.is-dark{background:var(--coal);color:var(--offwhite)}.topbar{transition:background .35s,color .35s}#viewer{background:var(--coal)}#viewer-story{font-size:12px;color:var(--acid)}#viewer figure{position:relative}.story-info{font-size:12px}.gallery-track:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
@media(max-width:900px){.gallery-intro{grid-template-columns:1fr auto;padding:45px 5vw 40px}.gallery-intro h2{font-size:11vw}.gallery-intro p{grid-row:2;grid-column:1/-1;margin-top:10px}.round-link{height:55px;width:55px}.gallery-stage{height:710px;min-height:0}.gallery-stage-label,.gallery-bottom{left:5vw;right:5vw}.gallery-track{padding-left:5vw;gap:9vw}.frame-main,.frame-last{width:66vw;height:70%}.frame-small{width:42vw;height:46%;margin-top:18vh}.frame-tall{width:56vw;height:75%}.frame-float{width:45vw;height:49%}.gallery-statement{flex-basis:65vw;margin-top:23vh}.gallery-statement p{font-size:9vw}.shoots{padding:70px 5vw 40px;border-radius:28px 28px 0 0}.shoots-heading{display:block;margin-bottom:45px}.shoots-heading h2{font-size:9vw}.shoots-heading h2 em{white-space:normal}.shoots-heading>p{font-size:15px;margin-top:25px}.shoot-grid{grid-template-columns:1fr 1fr;gap:18px}.shoot-card{padding:8px 8px 13px}.shoot-card:nth-child(2){margin-top:70px}.shoot-card:nth-child(3){margin-top:0}.shoot-art{height:52vw}.shoot-caption{display:block}.shoot-caption strong{font-size:13px}.shoot-caption>span{display:block;margin-top:5px}.shoot-open{opacity:1;transform:none;background:transparent;left:auto;right:8px;bottom:8px;padding:0;color:white;font-size:0}.shoot-open svg{width:22px;height:22px;padding:3px;background:var(--coal);border-radius:50%}.shoots-close{margin-top:50px;gap:15px;font-size:11px}.shoots-close .text-link{font-size:11px;gap:8px}.film{height:90svh;min-height:590px}.film-title{top:24%}.film h2{font-size:18vw}.film-bottom{bottom:35px;gap:25px;align-items:start;flex-direction:column}.film-bottom p{font-size:30px}.film-bottom span{font-size:10px;padding:10px 18px}.about-new{padding:70px 5vw;display:block}.about-new h2{font-size:12vw}.about-new-copy{font-size:18px;margin-top:35px}.new-footer{padding:65px 5vw 25px}.social-title h2{font-size:10vw}.social-cta{height:65px;width:65px}.social-cta svg{height:30px;width:30px}.footer-links{grid-template-columns:1fr 1fr;margin-top:65px;gap:35px}.footer-links>div:last-child{grid-column:1/-1}.footer-links a{font-size:14px}.new-footer .footer-bottom{margin-top:50px}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}.shoot-art .alternate{display:none}.shoot-open{opacity:1;transform:none}}
dialog button:disabled{opacity:.25;cursor:default}.viewer-bar{gap:20px}#viewer-story{margin-right:auto}#viewer-count{min-width:40px}
@media(min-width:901px){.gallery-stage{height:calc(100svh - 45px);min-height:520px}}
