:root{--accent:#c65b32;--ink:#161616;--paper:#f7f7f4;--muted:#636360;--line:#d6d6d0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{cursor:pointer}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper)}.brand{font-size:38px;font-weight:800;letter-spacing:-2.5px;line-height:1}.brand span{font-size:13px;color:var(--accent);vertical-align:top;margin-left:4px;letter-spacing:0}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a:hover{color:var(--accent)}.nav-enquire{margin-left:22px;border-bottom:1px solid var(--ink);padding:8px 0}.nav-enquire span{margin-left:22px;color:var(--accent)}.hero{min-height:680px;height:calc(100svh - 88px);position:relative;background:#303633;color:white;overflow:hidden}.hero>img,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero>img{filter:grayscale(1);object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.5),transparent 90%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}.hero-top,.hero-bottom{position:absolute;left:4.5%;right:4.5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px}.hero-top{top:36px}.hero-title{position:absolute;left:8%;bottom:19%}.hero-title p{font-size:16px;letter-spacing:.3px}.hero h1{font-size:clamp(78px,11.5vw,176px);line-height:.9;letter-spacing:-.065em;font-weight:400;margin:26px 0 0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.hero h1 em{letter-spacing:-.065em}.hero-bottom{bottom:36px;align-items:center}.hero-bottom a{font-size:14px;letter-spacing:0}.hero-bottom a span{display:inline-grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;width:40px;height:40px;margin-left:18px}.section{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:600;margin:0 0 23px}h2{font-size:clamp(48px,6.4vw,88px);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin:0}.section-heading>p{color:var(--muted);max-width:330px;margin:0 0 7px}.filters{display:flex;gap:28px;margin:44px 0 35px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0 16px;font-size:14px;color:var(--muted)}.filters button.active{border-bottom-color:var(--accent);color:var(--ink)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.photo{margin:0;min-width:0}.photo:nth-child(3n+1){grid-column:1/-1}.photo button{display:block;width:100%;border:0;padding:0;background:#ddd;overflow:hidden;text-align:left}.photo img{display:block;width:100%;height:510px;object-fit:cover;filter:grayscale(1);transition:transform .6s,filter .6s}.photo:nth-child(3n+1) img{height:600px}.photo button:hover img{transform:scale(1.025);filter:grayscale(.25)}.photo figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:16px}.photo figcaption span{font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.sample-note{font-size:12px;color:var(--muted);margin:40px 0 0}.skip{position:fixed;z-index:20;top:-60px;left:15px;padding:10px;background:white}.skip:focus{top:10px}@media(max-width:700px){header{height:78px;padding:0 6%}.brand{font-size:31px}nav{gap:15px;font-size:12px}nav a:nth-child(2){display:none}.nav-enquire{margin-left:0}.nav-enquire span{margin-left:4px}.hero{height:calc(100svh - 78px);min-height:590px}.hero-top span:last-child{display:none}.hero-title{left:6%;bottom:25%}.hero h1{font-size:clamp(78px,17vw,115px)}.hero-bottom>span{display:none}.section{padding:70px 6%}.section-heading{display:block}.section-heading>p{margin-top:25px}.filters{gap:20px;margin-top:30px}.gallery{grid-template-columns:1fr;gap:35px}.photo:nth-child(3n+1){grid-column:auto}.photo img,.photo:nth-child(3n+1) img{height:430px}.photo figcaption{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.recent{background:#eaeae6}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.recent-card{background:none;border:0;padding:0;text-align:left;color:var(--ink)}.recent-card img{display:block;width:100%;height:330px;object-fit:cover;filter:grayscale(1);transition:filter .4s}.recent-card:hover img{filter:grayscale(0)}.recent-card p{font-size:20px;margin:18px 0 2px}.recent-card span{font-size:12px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-top:130px;padding-bottom:130px}.about-mark{font-family:Georgia,serif;font-size:clamp(200px,35vw,470px);line-height:.9;letter-spacing:-.1em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 85px}.about-mark span{color:var(--accent)}.about-copy{color:var(--muted);font-size:18px;max-width:470px;margin:30px 0}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:9px;font-size:14px}.text-link span{color:var(--accent);margin-left:24px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:110px;padding-bottom:110px}.contact .eyebrow{color:#ed946f}.contact h2{font-size:clamp(47px,5vw,72px)}.contact-intro>p:not(.eyebrow){color:#bdbdb8;margin-top:30px}.email-link{display:inline-block;font-size:clamp(14px,1.4vw,20px);border-bottom:1px solid #737370;padding-bottom:7px}.small{font-size:13px;max-width:300px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}form label{display:block;font-size:14px;margin-bottom:25px}label>span{color:#ed946f}.optional{color:#a5a5a0}input,select,textarea{width:100%;display:block;border:0;border-bottom:1px solid #6d6d68;background:transparent;color:#f7f7f4;padding:13px 0;border-radius:0;font-size:16px;color-scheme:dark}input::placeholder,textarea::placeholder{color:#a6a6a0;opacity:1}select option{background:#242424}textarea{resize:vertical;min-height:120px}.form-help{font-size:13px;color:#bdbdb8;margin:0 0 24px}.send-button{background:var(--accent);border:0;color:white;padding:18px 25px;display:flex;justify-content:space-between;width:100%}.send-button:hover{filter:brightness(1.15)}#form-status,#email-fallback{font-size:14px;color:#deded9}.copy-button{background:transparent;color:white;border:1px solid #999;padding:8px 16px}footer{padding:55px 6% 30px;display:flex;gap:30px;justify-content:space-between;align-items:center;flex-wrap:wrap}footer>p,footer>a:last-of-type{font-size:14px}footer details{flex-basis:100%;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px}footer summary{cursor:pointer}#credits{display:flex;flex-wrap:wrap;gap:10px 20px}#credits a{text-decoration:underline}footer .copyright{font-size:12px;margin:0;color:var(--muted)}dialog{border:0;padding:50px 55px 20px;background:#111;color:white;width:95vw;max-width:1400px;height:95svh;max-height:95svh}dialog::backdrop{background:#000d}#viewer-img{width:100%;height:calc(100% - 100px);object-fit:contain}.close-viewer{position:absolute;top:4px;right:15px;font-size:38px;color:white;background:none;border:0}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;text-align:center;gap:15px}.viewer-bottom button{font-size:26px;color:white;background:none;border:1px solid #666;width:44px;height:44px}.viewer-bottom p{margin:12px 0 0}.viewer-bottom a{font-size:12px;color:#ccc;text-decoration:underline}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){.recent-grid{grid-template-columns:1fr}.recent-card img{height:340px}.about{grid-template-columns:1fr;gap:55px}.about-mark{font-size:220px;max-width:300px;padding:0 0 40px}.contact{grid-template-columns:1fr;gap:45px}.field-row{grid-template-columns:1fr;gap:0}footer{gap:20px}footer>p{max-width:130px}dialog{padding:45px 12px 15px}.viewer-bottom a{font-size:12px}}

/* Preserve Graham’s original colour edits and uncropped gallery compositions. */
.hero>img{filter:none;object-position:65% center}.photo img,.photo:nth-child(3n+1) img{height:auto;filter:none}.photo button:hover img{filter:none;transform:scale(1.01)}.gallery{align-items:start}.recent-card img,.recent-card:hover img{filter:none}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 85%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 60%)}@media(max-width:700px){.hero>img{object-position:70% center}.photo img,.photo:nth-child(3n+1) img{height:auto}}

.about-copy{white-space:pre-line}

/* Phone layout: readable navigation and complete photograph compositions. */
@media(max-width:700px){
 header{height:auto;min-height:118px;display:block;padding:18px 6% 10px}
 header .brand{display:inline-block;margin-bottom:8px}
 nav{width:100%;justify-content:space-between;gap:8px;font-size:14px;flex-wrap:wrap}
 nav a,nav a:nth-child(2){display:inline-flex;align-items:center;min-height:44px}
 .nav-enquire{padding:0;border-bottom:0}
 .hero{height:calc(100svh - 118px);min-height:590px}
 .hero>img{object-position:100% center}
 .hero-title{bottom:22%}
 .hero-title p{max-width:90%;text-shadow:0 1px 5px #000}
 .recent-card img{height:auto}
 .photo figcaption{flex-wrap:wrap;gap:4px 15px}
 .email-link{overflow-wrap:anywhere;max-width:100%}
 .contact h2{font-size:clamp(40px,10vw,47px)}
 .contact>*,.field-row>*{min-width:0}
 .close-viewer{min-width:44px;min-height:44px}
 .viewer-bottom>div{min-width:0}
 .viewer-bottom button{flex-shrink:0}
}
.enquiry-honeypot{display:none!important}.form-help a{text-decoration:underline}.send-button:disabled{cursor:wait;opacity:.65}#form-status{min-height:1.5em}

.instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;transition:color .2s}.contact .instagram-link{display:flex;width:fit-content;margin-top:20px}.instagram-link:hover{color:var(--accent)}.instagram-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.instagram-link svg{flex-shrink:0}
