:root{--ivory:#f7f4ee;--cream:#eee8dd;--ink:#292725;--line:#d6cfc3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.75}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(50px,5.8vw,88px)}h2{font-size:clamp(38px,4vw,61px)}h3{font-size:34px}em{font-weight:400}p{margin-top:22px;color:#635d57}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #886647;outline-offset:5px}img{display:block;width:100%;height:auto}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;gap:30px;background:var(--ivory)}.brand{font-family:Georgia,serif;font-size:31px;line-height:1.2;letter-spacing:.18em;display:block}.brand span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2em;margin-top:8px}header nav{display:flex;gap:36px;margin-left:auto;margin-right:65px;font-size:12px}header nav a{position:relative}header nav a[aria-current=page]:after{content:'';height:1px;position:absolute;bottom:-8px;left:0;right:0;background:var(--ink)}.nav-enquire{border-bottom:1px solid var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.13em;padding:9px 0;display:flex;gap:32px}.menu-button{display:none}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.hero{position:relative;height:min(770px,calc(100svh - 108px));min-height:610px;color:var(--ivory);background:#27271e}.hero-image{height:100%;object-fit:cover;object-position:center 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,13,.72),rgba(13,15,13,.23) 57%,rgba(13,15,13,.03))}.hero-copy{position:absolute;left:7.5%;top:50%;transform:translateY(-50%);max-width:720px}.eyebrow{font-size:10px;letter-spacing:.19em;display:block;line-height:1.6}.hero h1{margin-top:23px;font-size:clamp(54px,5.4vw,82px);letter-spacing:-.04em}.hero h1 em{white-space:nowrap}.hero p{max-width:380px;color:#f3eee6;font-size:13px;line-height:1.8;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 25px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;min-height:50px;border:1px solid transparent;transition:background .2s,color .2s}.light{background:var(--ivory);color:var(--ink)}.dark{background:var(--ink);color:var(--ivory)}.button:hover{background:#756657;color:white}.button:disabled{opacity:.6;cursor:wait}.hero-link{font-size:11px;padding-bottom:6px;border-bottom:1px solid #e7ded1}.hero-foot{position:absolute;bottom:26px;left:7.5%;right:5.2%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.2em}.section{padding:105px 7.5%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro-picture{aspect-ratio:4/4.7;object-fit:cover}.image-note{font-size:8px;letter-spacing:.17em;display:block;margin-top:14px}.intro-copy h2{margin-top:24px}.intro-copy p{font-size:14px;max-width:415px}.text-link{font-size:11px;letter-spacing:.06em;display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid #81766a;padding:0 0 9px;margin-top:30px;min-height:35px}.signature{font-family:Georgia,serif;font-size:37px;font-style:italic;display:block;margin-top:29px;color:#85715e}.experiences{background:var(--cream);max-width:none}.section-heading h2{margin-top:20px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:48px}.experience-grid article:nth-child(2){margin-top:90px}.experience-grid img{aspect-ratio:1.24;object-fit:cover}.experience-copy{padding:28px 0;max-width:400px}.experience-copy h3{margin-top:16px}.experience-copy p{font-size:14px}.horizontal{display:flex;align-items:end;justify-content:space-between;gap:30px}.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}.story-card:nth-child(2){margin-top:55px}.story-card img{aspect-ratio:4/4.9;object-fit:cover;transition:filter .3s}.story-card:hover img{filter:brightness(.92)}.story-card .eyebrow{font-size:8px;margin-top:22px}.story-card h3{font-size:27px;margin-top:12px;display:flex;justify-content:space-between;gap:10px}.story-card h3 span{font-family:Arial;font-size:20px}.story-card p{font-size:12px;margin-top:12px;max-width:290px}.wide-photo{position:relative;margin:20px 0 0;height:590px}.wide-photo img{height:100%;object-fit:cover}.wide-photo:after{content:'';position:absolute;inset:0;background:#0002}.wide-photo>div{position:absolute;bottom:55px;left:7.5%;color:white;z-index:1;text-shadow:0 1px 10px #0008}.wide-photo h2{font-size:72px;margin-top:16px}.closing{text-align:center;padding:108px 20px 112px;background:var(--cream)}.closing h2{margin-top:25px}.closing p{font-size:13px}.closing .button{margin-top:32px}footer{padding:62px 7.5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.footer-top p{font-family:Georgia,serif;font-size:22px;margin:0;line-height:1.4}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 40px;font-size:12px}.footer-bottom{margin-top:52px;border-top:1px solid var(--line);padding-top:24px;display:flex;gap:30px;font-size:9px;color:#665f57;justify-content:space-between}.page-heading{text-align:center;padding-bottom:50px}.page-heading h1{margin-top:23px}.page-heading p{max-width:500px;margin:24px auto 0}.portfolio-section{padding-top:20px}.filters{display:flex;justify-content:center;gap:32px;border-bottom:1px solid var(--line);padding-bottom:20px}.filters button{font-size:12px;padding:10px 4px;min-height:44px}.filters button[aria-pressed=true]{border-bottom:1px solid var(--ink)}.muted{font-size:13px;text-align:center}.gallery{columns:3;column-gap:22px;margin-top:65px}.gallery-image{position:relative;display:block;width:100%;padding:0;margin:0 0 22px;break-inside:avoid}.gallery-image img{transition:filter .25s}.gallery-image:hover img{filter:brightness(.87)}.gallery-image>span{position:absolute;bottom:12px;right:16px;background:var(--ivory);width:30px;height:30px;border-radius:50%;opacity:0;transition:opacity .2s}.gallery-image:hover>span,.gallery-image:focus-visible>span{opacity:1}.story-hero{height:650px;position:relative;color:white}.story-hero>img{height:100%;object-fit:cover}.story-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0007)}.story-hero>div{position:absolute;bottom:60px;left:7.5%;z-index:1}.story-hero h1{margin-top:18px}.story-intro{max-width:950px;text-align:center;padding-bottom:0}.story-intro .text-link{margin-top:0;margin-bottom:42px}.story-intro h2{font-size:40px}.story-intro p{font-size:13px}.next-story{border-top:1px solid var(--line);text-align:center;padding-top:65px;padding-bottom:65px}.next-link{font-family:Georgia,serif;font-size:46px;display:block;margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about h1{margin:24px 0}.portrait-placeholder{aspect-ratio:4/5;background:#e9e2d6;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d8cdbd}.portrait-monogram{font-family:Georgia,serif;font-style:italic;font-size:130px;line-height:1;margin-bottom:30px;color:#877965}.portrait-placeholder>span:not(.portrait-monogram){font-size:9px;letter-spacing:.2em}.portrait-placeholder p{text-align:center;font-size:12px}.lead{font-family:Georgia,serif;font-size:25px;line-height:1.4}.editable-note{font-size:12px;font-style:italic}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--cream)}.approach h2{margin-top:20px}.approach p:first-child{margin-top:0}.about-experience{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.about-experience>img{aspect-ratio:4/5;object-fit:cover}.about-experience h2{margin-top:20px}.contact-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:9%;padding-top:70px}.contact-intro h1{font-size:clamp(45px,4.4vw,67px);margin-top:22px}.contact-intro>img{margin-top:35px;aspect-ratio:1.35;object-fit:cover;object-position:center 42%;max-width:420px}.contact-intro p{max-width:360px}.demo-notice{background:var(--cream);padding:18px 22px;font-size:12px;margin:0 0 30px}.demo-notice strong{font-weight:500;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{display:flex;flex-direction:column;min-width:0}.full{grid-column:1/-1}label{font-size:11px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #a89e91;background:transparent;border-radius:0;padding:10px 2px;font-size:14px;min-height:44px}textarea{resize:vertical}.hint{font-size:10px;color:#746b61;margin-top:6px}.consent{display:flex;gap:12px;align-items:start}.consent input{width:17px;height:17px;min-height:17px;flex-shrink:0;margin-top:4px;accent-color:var(--ink)}.consent span{font-size:11px}.consent a{text-decoration:underline}.error{font-size:11px;color:#9a3025;margin-top:5px}.error:empty{display:none}[aria-invalid=true]{border-color:#9a3025}.honeypot{position:absolute;left:-10000px}.form-wrap .button{margin-top:28px}.form-wrap #form-status{font-size:13px}.form-wrap #form-status:empty{display:none}.legal{max-width:950px}.legal h1{margin:25px 0}.legal h2{font-size:29px;margin-top:40px}.legal p{font-size:14px}dialog{padding:0;border:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#191918;color:#fff}dialog::backdrop{background:#191918}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{max-width:86vw}dialog figure img{height:auto;max-height:80dvh;max-width:86vw;width:auto;margin:auto;object-fit:contain}dialog figcaption{text-align:center;font-size:12px;margin-top:15px;color:#ddd;max-width:750px}.lightbox-close{position:absolute;top:20px;right:28px;color:white;padding:12px;font-size:13px}.lightbox-prev,.lightbox-next{position:absolute;top:48%;font-size:30px;color:white;padding:15px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-count{position:absolute;bottom:15px;font-size:11px;letter-spacing:.12em}[hidden]{display:none!important}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero-copy{left:calc((100vw - 1360px)/2)}}@media(max-width:1000px){header nav{margin-right:20px;gap:22px}.section{padding:75px 6%}.hero-copy{left:6%}.intro{gap:8%}.hero h1{font-size:62px}.hero h1 em{white-space:normal}.story-card h3{font-size:23px}.story-cards{gap:18px}.gallery{columns:2}.contact-layout{gap:6%}.contact-intro h1{font-size:48px}}@media(max-width:700px){header{height:88px;padding:0 6%}.brand{font-size:25px}.brand span{font-size:6px}header nav,.nav-enquire{display:none}.menu-button{display:flex;align-items:center;gap:12px;font-size:11px;min-height:44px;padding:0 0 0 10px}#mobile-nav{background:var(--ivory);padding:12px 6% 30px;border-bottom:1px solid var(--line)}#mobile-nav a{display:block;font-family:Georgia,serif;font-size:27px;padding:10px 0}.hero{height:740px;min-height:0;max-height:none}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#111b 0%,#1115 60%,#1111)}.hero-copy{top:auto;transform:none;bottom:95px;left:6%;right:6%}.hero h1{font-size:50px;line-height:1.08;margin-top:20px}.hero p{font-size:12px;max-width:315px}.hero .eyebrow{font-size:8px}.hero-actions{gap:20px;align-items:start;flex-direction:column;margin-top:25px}.hero-actions .button{padding:13px 20px}.hero-foot{left:6%;right:6%;font-size:6px;bottom:24px}.section{padding:65px 6%}.intro,.about,.approach,.about-experience,.contact-layout{grid-template-columns:1fr;gap:40px}.intro-picture{aspect-ratio:1.05}.intro-copy h2{margin-top:18px}.intro-copy p{max-width:none}.intro-copy{padding:0 2%}.experience-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.experience-grid article:nth-child(2){margin-top:0}.experience-copy{padding-bottom:8px}.horizontal{align-items:start;flex-direction:column;gap:4px}.story-cards{grid-template-columns:1fr;gap:40px;margin-top:35px}.story-card:nth-child(2){margin-top:0}.story-card img{aspect-ratio:1.1}.story-card h3{font-size:30px}.story-card p{max-width:none}.wide-photo{height:390px;margin-top:0}.wide-photo>div{bottom:35px;left:6%}.wide-photo h2{font-size:54px}.closing{padding:70px 6%}.closing h2{font-size:39px}.closing p{font-size:12px}.footer-top{flex-direction:column;gap:30px}.footer-top nav{display:flex;gap:24px;flex-wrap:wrap}.footer-top p{font-size:21px}.footer-bottom{flex-direction:column;gap:12px;margin-top:35px}footer{padding:45px 6% 25px}.page-heading{padding-bottom:30px}.page-heading h1{font-size:49px}.page-heading p{font-size:13px}.portfolio-section{padding-top:10px}.filters{gap:21px}.filters button{font-size:11px}.gallery{column-gap:12px;margin-top:40px}.gallery-image{margin-bottom:12px}.story-hero{height:500px}.story-hero>div{bottom:40px;left:6%}.story-hero h1{font-size:47px}.story-intro{padding-bottom:0}.story-intro h2{font-size:33px}.next-link{font-size:36px}.about h1{font-size:55px}.portrait-placeholder{aspect-ratio:1.2}.about-experience img{aspect-ratio:1.2}.contact-intro h1{font-size:51px}.contact-intro>img,.contact-intro>.image-note{display:none}.form-grid{gap:22px}.contact-layout{padding-top:45px}.lightbox-prev,.lightbox-next{top:auto;bottom:35px}.lightbox-close{right:10px;top:10px}dialog figure img{max-height:70dvh;max-width:94vw}dialog figure{max-width:94vw}dialog figcaption{padding:0 20px}.legal h1{font-size:49px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Subject-aware crops preserve both people in the editorial previews. */
.hero-image{object-position:center top}.intro-picture{object-position:78% center}.story-card:nth-child(1) img{object-position:80% center}.story-card:nth-child(2) img{object-position:72% center}.story-card:nth-child(3) img{object-position:24% center}
@media(max-width:700px){.hero-image{object-position:62% top}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}}
@media(max-width:700px){.story-hero>img[src*="golden-hour"]{object-position:80% center}.story-hero>img[src*="veil-in"]{object-position:72% center}.story-hero>img[src*="reflection-at"]{object-position:24% center}}
