:root{--ink:#151515;--gold:#947548;--paper:#fff;--line:#d8d3c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 6%;border-bottom:1px solid var(--line)}.brand{text-decoration:none;text-align:center;letter-spacing:3px;line-height:1.4}.brand span{font-size:18px}.brand small{display:block;font-size:12px;letter-spacing:5px}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.intro{padding:90px 12%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:600;color:var(--gold)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;margin:18px 0}h1{font-size:clamp(48px,6vw,88px);letter-spacing:-2px}em{font-weight:400}.subtitle{font-size:18px;margin-bottom:0}.season{font-size:14px;letter-spacing:1px;color:#595959;margin-top:12px;margin-bottom:32px}.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:16px 25px;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.button:hover{background:#40372b}.hero-image{background:#e9e6e1;min-height:500px}.hero-image img{width:100%;height:100%;object-fit:cover;max-height:770px;object-position:center 40%}.services{margin:0 6%;padding:55px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr 1.5fr;gap:35px;align-items:start}.services h2{font-size:28px;margin-top:10px}.services p{margin-bottom:0}.portfolio{padding:75px 6% 95px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px;gap:20px}.section-heading h2,.contact h2{font-size:clamp(36px,4vw,55px)}.section-heading p{font-size:14px;color:#555}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:18px}.photo{padding:0;border:0;background:#eee;cursor:zoom-in;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.025)}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.enquiry{background:#f4f3f0;padding:80px 6%;display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.contact p{max-width:365px}.contact>a{display:block;margin:15px 0;overflow-wrap:anywhere}.logo{width:160px;margin-top:32px;mix-blend-mode:multiply}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:span 2}label{font-size:14px;display:block}label span{color:#656565}input,textarea,select{width:100%;background:#fff;border:1px solid #a5a198;border-radius:0;padding:12px;font:inherit;font-size:16px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.form-note{font-size:14px;color:#555;margin:22px 0}#email-help{font-size:14px}#copy-details{border:0;background:none;color:inherit;text-decoration:underline;font:inherit;padding:0;cursor:pointer}footer{padding:25px 6%;display:flex;justify-content:space-between;font-size:14px;gap:25px}dialog{padding:0;border:0;background:#111;max-width:94vw;max-height:94vh}dialog::backdrop{background:#000c}dialog img{display:block;max-width:94vw;max-height:84vh;object-fit:contain}.close{display:block;margin-left:auto;padding:12px 20px;background:#111;color:#fff;border:0;font-size:16px;cursor:pointer}:focus-visible{outline:3px solid #a58653;outline-offset:5px}@media(max-width:760px){header{padding:20px 6%}nav{gap:20px}.brand span{font-size:14px}.hero{grid-template-columns:1fr}.intro{padding:50px 6%}.hero-image{min-height:0}.hero-image img{height:520px;object-position:center 35%}.services{grid-template-columns:1fr;gap:18px;padding:35px 0}.portfolio{padding:45px 6%}.section-heading{display:block}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:230px;gap:10px}.photo.tall{grid-row:span 1}.enquiry{grid-template-columns:1fr;padding:45px 6%;gap:35px}.logo{width:110px;margin-top:10px}.fields{gap:15px}.email{font-size:16px}footer{display:block}}@media(max-width:400px){.fields{grid-template-columns:1fr}.full{grid-column:span 1}.gallery{grid-auto-rows:190px}nav{gap:12px}.hero-image img{height:430px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
