:root{--paper:#f5f2ed;--ink:#282721;--muted:#736e66;--line:#d8d3ca;--accent:#80684d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px}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(--accent);outline-offset:5px}.skip{position:fixed;top:-60px;background:var(--ink);color:white;padding:14px;z-index:20}.skip:focus{top:0}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:33px;letter-spacing:-1.5px}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-top:8px}nav{display:flex;align-items:center;gap:35px;font-size:12px}nav a:hover,.text-link:hover{color:var(--accent)}.contact-nav{border-bottom:1px solid var(--ink);padding-bottom:8px;margin-left:25px}.contact-nav span{margin-left:35px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px;padding:50px 5% 70px;gap:5%}.hero-copy{padding-top:42px;position:relative}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:500;margin:0 0 28px}h1,h2,h3,p{font-weight:400}h1{font:clamp(50px,5.5vw,88px)/1.07 Georgia,serif;letter-spacing:-3px;margin:0 0 30px}em{font-weight:400;color:var(--accent)}.intro{color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:28px}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:12px}.hero-note{margin-top:70px;font-size:9px;letter-spacing:2px;color:var(--muted)}.hero-image{position:relative;min-height:590px;background:#e4dfd7}.hero-image>img{width:100%;height:590px;object-fit:cover;object-position:center 35%;display:block}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;display:flex;justify-content:space-between;color:#fff;background:linear-gradient(transparent,#0008);font-size:9px;letter-spacing:1.4px}.work{padding:45px 5% 90px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:35px;gap:25px}.section-head .eyebrow{margin-bottom:18px}h2{font:clamp(36px,4vw,58px)/1.1 Georgia,serif;letter-spacing:-1.8px;margin:0}.dot{color:var(--accent)}.section-head>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0 30px;gap:20px}.filters{display:flex;gap:24px;flex-wrap:wrap}.filters button{border:0;background:none;padding:0 0 7px;font-size:12px;color:var(--muted);border-bottom:1px solid transparent}.filters button.active{color:var(--ink);border-color:var(--ink)}#count{font-size:10px;white-space:nowrap;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:40px}.project-card{background:none;border:0;padding:0;text-align:left;min-width:0}.project-photo{overflow:hidden;background:#e4dfd7;aspect-ratio:3/4;position:relative}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.view-project{position:absolute;bottom:16px;right:16px;background:var(--paper);padding:10px 13px;font-size:11px;opacity:0;transition:opacity .2s}.project-card:hover .view-project,.project-card:focus-visible .view-project{opacity:1}.project-meta{display:flex;justify-content:space-between;gap:15px;margin-top:15px}.project-meta h3{font:19px Georgia,serif;margin:0 0 7px;line-height:1.25}.project-meta p{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0}.project-meta>span{font-size:17px}.about{background:#e9e5de;padding:80px 12%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.portrait img{width:100%;max-height:540px;object-fit:cover;display:block}.about h2{font-size:70px;margin-bottom:30px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:380px}.about .text-link{margin-top:22px}.services{padding:90px 5%}.services h2{font-size:46px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:60px 1fr 1fr;align-items:baseline;gap:25px;border-bottom:1px solid var(--line);padding:26px 0}.service-list span{font-size:11px;color:var(--accent)}.service-list h3{font:27px Georgia,serif;margin:0}.service-list p{font-size:13px;line-height:1.7;color:var(--muted);margin:0;max-width:360px}.contact{padding:80px 8%;background:#2b2b25;color:var(--paper)}.contact .eyebrow{color:#bbb7aa}.contact h2{font-size:clamp(44px,5.8vw,80px);margin-bottom:38px}.contact em{color:#c6b49c}.email{display:inline-flex;gap:50px;font-size:clamp(18px,2.4vw,32px);border-bottom:1px solid #88877c;padding-bottom:16px}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:50px;gap:20px;font-size:13px}.contact-bottom p{line-height:1.8;color:#bbb7aa;margin:0}footer{display:flex;justify-content:space-between;align-items:center;padding:35px 5%;gap:20px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 4%;overflow:auto}dialog::backdrop{background:#000b}.gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-bar .eyebrow{margin-bottom:10px}.gallery-bar h2{font-size:28px;letter-spacing:-.5px}.gallery-bar button{border:1px solid var(--line);background:none;padding:12px 18px}.gallery-stage{display:grid;grid-template-columns:45px minmax(0,1fr) 45px;align-items:center;gap:12px;margin-top:22px}.gallery-stage img{max-width:100%;height:64dvh;object-fit:contain;justify-self:center}.arrow{background:none;border:1px solid var(--line);height:45px;font-size:20px}.gallery-info{text-align:center;font-size:12px;line-height:1.6}.gallery-info p:empty{display:none}.thumbnails{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:5px 0 25px}.thumbnails button{padding:2px;background:none;border:1px solid transparent}.thumbnails button[aria-pressed=true]{border-color:var(--accent)}.thumbnails img{width:45px;height:58px;object-fit:cover;display:block}body.gallery-open{overflow:hidden}@media(min-width:1500px){main,header,footer{max-width:1700px;margin:auto}}@media(max-width:800px){header{height:90px}nav{gap:18px}.contact-nav{margin-left:0}.contact-nav span{margin-left:8px}.hero{gap:5%;min-height:0;padding-top:28px}.hero-copy{padding-top:25px}h1{font-size:54px}.hero-image>img{height:510px}.hero-image{min-height:0}.hero-note{margin-top:40px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about{padding:60px 7%;gap:7%}.about h2{font-size:52px}.service-list article{grid-template-columns:30px 1fr 1fr}}@media(max-width:540px){header{height:91px;align-items:center}.brand{font-size:27px}.brand span{font-size:7px;letter-spacing:2px}nav{gap:16px;font-size:11px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;padding:28px 5% 40px;gap:30px}.hero-copy{padding-top:5px}h1{font-size:59px;letter-spacing:-2.5px;margin-bottom:20px}.eyebrow{margin-bottom:20px}.intro{font-size:13px;margin-bottom:20px}.hero-note{display:none}.hero-image>img{height:490px}.section-head{align-items:flex-start;flex-direction:column;gap:18px}.section-head>p{display:none}.work{padding-top:35px;padding-bottom:50px}.toolbar{align-items:flex-start}.filters{gap:14px}.filters button{font-size:11px}#count{font-size:9px;margin-top:2px}.project-grid{gap:26px 14px}.project-meta h3{font-size:16px}.project-meta p{font-size:8px}.project-meta>span{display:none}.view-project{display:none}.about{grid-template-columns:1fr;padding:45px 7%;gap:35px}.portrait img{max-height:460px}.about h2{font-size:58px}.services{padding:50px 5%}.services h2{font-size:37px}.service-list article{grid-template-columns:24px 1fr;gap:15px;padding:23px 0}.service-list h3{font-size:25px}.service-list p{grid-column:2}.contact{padding:55px 6%}.contact h2{letter-spacing:-1.5px}.email{gap:18px;font-size:20px}.contact-bottom{align-items:flex-start;flex-direction:column;margin-top:30px}footer{flex-wrap:wrap}.gallery-bar h2{font-size:21px}.gallery-bar button{font-size:11px;padding:10px}.gallery-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}.arrow{height:36px;font-size:17px}.gallery-stage img{height:60dvh}.gallery-bar .eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Services and enquiries */
#hero-title{white-space:pre-line}#hero-title:empty{min-height:250px}.bio{white-space:pre-line}.about h2{font-size:58px}.about-copy .bio{max-width:470px}.service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.service-cards article{min-width:0}.service-cards img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.service-body{padding:22px 0}.service-body h3{font:26px/1.2 Georgia,serif;margin:0 0 16px}.service-body p{font-size:13px;line-height:1.8;color:var(--muted);min-height:100px}.service-body .text-link{font-size:11px;line-height:1.5}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-size:clamp(38px,4vw,58px);max-width:580px}.contact-intro{line-height:1.8;max-width:420px;color:#c5c1b5;margin:25px 0 35px}.contact .email{font-size:clamp(15px,1.7vw,25px);gap:0}.contact form{padding-top:5px}.contact form h3{font:30px Georgia,serif;margin:0 0 25px}.contact form label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#e1ded4;margin-bottom:18px}.contact input,.contact textarea,.contact select{width:100%;border:1px solid #7a7a6e;padding:12px;background:#34342d;color:var(--paper);border-radius:0;font:14px Arial,sans-serif;color-scheme:dark;min-width:0}.contact textarea{resize:vertical}.contact form button{background:var(--paper);color:var(--ink);padding:14px 24px;border:0}.contact form button:disabled{opacity:.6;cursor:wait}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-privacy{font-size:11px;line-height:1.6;color:#bbb7aa}.contact .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status{line-height:1.7;font-size:13px}.social-links{display:flex;gap:22px;margin-top:32px;align-items:center;flex-wrap:wrap}.social-links a{display:flex;align-items:center;gap:8px;font-size:13px}.social-icon{display:inline-flex;border:1px solid currentColor;width:19px;height:19px;align-items:center;justify-content:center;font-size:14px;font-weight:bold;border-radius:3px}.footer-links{display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}.footer-links .social-links{margin:0}.footer-links .social-links a{font-size:11px}@media(max-width:1000px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-body p{min-height:65px}.contact-layout{gap:6%}.contact{padding-left:5%;padding-right:5%}}@media(max-width:650px){.service-cards{gap:25px 16px}.service-body h3{font-size:23px}.service-body p{min-height:140px;font-size:12px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact h2{font-size:44px}.contact .email{font-size:23px}.footer-links{gap:20px}.form-pair{gap:12px}.services .section-head{align-items:flex-start}.services h2{font-size:36px}.about h2{font-size:50px}}
/* Booking and accessibility improvements */
.project-card{display:block;color:inherit}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:15px 23px;font-size:13px;cursor:pointer}.outline{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;border:1px solid var(--line);padding:14px 22px;font:inherit;font-size:13px;cursor:pointer}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.portfolio-more{text-align:center;margin:38px 0 0}.service-body p{min-height:0;font-size:14px}.service-body{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.service-body h3,.service-body p{margin:0}.service-body .text-link{margin-top:auto}.service-cards article{display:flex;flex-direction:column}.service-body{flex:1}.service-details{white-space:normal;border-top:1px solid var(--line);padding-top:14px}.booking-steps{padding:65px 8%;background:#e9e5de}.booking-steps ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;margin:35px 0 0}.booking-steps li>span{color:var(--accent);font-size:12px}.booking-steps h3{font:25px Georgia,serif;margin-bottom:12px}.booking-steps p{font-size:14px;line-height:1.8;color:var(--muted)}.gallery-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:20px 0}.privacy-page,.project-page{padding:65px 8%;max-width:1100px;margin:auto}.privacy-page{max-width:850px}.privacy-page h1,.project-page h1{font-size:clamp(38px,6vw,68px);letter-spacing:-1.5px;margin-top:30px}.privacy-page h2{font-size:30px;margin:35px 0 15px}.privacy-page p,.project-description,.project-credits{line-height:1.85}.privacy-page a,.form-privacy a,.form-fallback a{text-decoration:underline;text-underline-offset:3px}.project-page>.eyebrow{margin-top:40px}.project-full-photos{display:grid;grid-template-columns:1fr;gap:28px;margin-top:45px}.project-full-photos img{display:block;max-width:100%;max-height:90vh;object-fit:contain;margin:auto}.project-credits{color:var(--muted);font-size:13px}.testimonials{padding:70px 8%}.testimonials>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.testimonials figure{margin:35px 0 0;padding:25px;border-top:1px solid var(--line)}.testimonials blockquote{font:23px/1.5 Georgia,serif;margin:0 0 20px}.testimonials figcaption{font-size:13px;color:var(--muted)}.form-fallback{font-size:12px;line-height:1.8}.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline:2px solid #e8d6bb;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:760px){.booking-steps ol,.testimonials>div{grid-template-columns:1fr;gap:15px}.booking-steps{padding:45px 6%}.booking-steps h2{font-size:38px}.gallery-actions{gap:12px}.gallery-actions button{font-size:12px}.privacy-page,.project-page{padding:35px 6%}.testimonials{padding:45px 6%}}
@media(max-width:540px){header{height:auto;min-height:105px;align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:15px;gap:18px}nav{width:100%;gap:16px;flex-wrap:wrap;font-size:12px}nav a:nth-child(2),nav a:nth-child(3){display:inline-block}.contact-nav{margin-left:auto;padding-bottom:4px}.hero-actions{gap:22px}.service-body p{font-size:14px;min-height:0}.service-body h3{font-size:28px}.service-body .text-link{font-size:12px}.filters button{padding:10px 0;min-height:40px}.toolbar{flex-wrap:wrap}.gallery-stage img{height:49dvh}}
@media(max-width:480px){.service-cards{grid-template-columns:1fr;gap:35px}.service-cards img{aspect-ratio:4/3;object-position:center 32%}.service-body{padding-bottom:0}.form-pair{grid-template-columns:1fr;gap:0}.intro{font-size:15px}h1{font-size:clamp(43px,13vw,59px)}}
