:root{--paper:#f6f4ef;--ink:#252c28;--muted:#646961;--line:#d6d8cf;--sage:#e5e9df;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7.7vw,7.4rem);margin-bottom:0.35em;text-wrap:balance}h2{font-size:clamp(2.5rem,4.5vw,4.6rem);margin-bottom:.45em}h3{font-size:clamp(1.65rem,2.6vw,2.6rem);margin:0}p{max-width:65ch}.wrap{width:min(1440px,92%);margin-inline:auto}.eyebrow{display:block;font:11px/1.5 var(--sans);font-weight:600;letter-spacing:.15em;text-transform:uppercase}.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:31px;border-bottom:1px solid var(--line);gap:25px}.wordmark{font:29px/1.1 var(--serif);letter-spacing:-.045em}.wordmark span{display:block;margin-top:9px;font:9px/1.3 var(--sans);letter-spacing:.2em;font-weight:500}nav ul{display:flex;gap:32px;padding:0;margin:0;list-style:none}nav a{font-size:13px}nav a:hover,nav .current-menu-item>a{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}.hero-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:7%;padding:68px 0 48px}.hero h1{max-width:8.6ch}.hero .eyebrow{margin-bottom:24px}.hero-copy{max-width:340px;margin-left:auto;padding-bottom:13px}.hero-copy p{font-size:16px}.text-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:13px;font-weight:500}.text-link:hover{opacity:.7}.hero-image img{width:100%;height:auto}.hero-image figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 0;font-size:9px;letter-spacing:.13em}.work,.services{padding-block:108px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:23px}.section-heading h2{margin:0}.section-heading>p{font-size:14px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px;align-items:start}.project-card:nth-child(even){padding-top:100px}.project-image{overflow:hidden;background:#e3e5df}.project-image img{transition:transform .6s ease}.project-card a:hover img{transform:scale(1.02)}.project-meta{padding-top:20px;display:flex;justify-content:space-between;gap:15px;align-items:center}.project-meta .eyebrow{font-size:9px;color:var(--muted);margin-bottom:8px}.arrow{font-size:26px}.about-strip{background:var(--sage);padding:90px 0}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px}.about-layout .eyebrow{padding-top:12px}.about-layout h2{font-size:clamp(2.3rem,4vw,4rem)}.about-layout p:not(.eyebrow){max-width:610px;font-size:17px;margin-block:26px}.service-row{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--line);font:clamp(1.5rem,3vw,2.6rem)/1.2 var(--serif);letter-spacing:-.025em}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{color:#6b745f}.site-footer{background:var(--ink);color:var(--paper);padding:75px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff30;padding-bottom:60px}.footer-top h2{font-size:clamp(3.1rem,6.7vw,7rem);margin:20px 0 0}.round-link{display:grid;place-items:center;border:1px solid #ffffff65;border-radius:50%;width:110px;height:110px;font-size:54px;flex-shrink:0}.round-link:hover{background:var(--paper);color:var(--ink)}.footer-bottom{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin:50px 0 60px}.footer-bottom div{font-size:13px;line-height:2}.footer-bottom a:hover{text-decoration:underline}.colophon{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#c1c6bc}.page-heading{padding:78px 0 40px;max-width:1040px}.page-heading h1{font-size:clamp(3.1rem,6.6vw,6.5rem)}.page-heading>p:not(.eyebrow),.project-description{font-size:19px;max-width:660px}.project-category{margin-top:45px}.back-link{display:inline-block;border-bottom:1px solid var(--line)}.archive{padding-bottom:100px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 55px}.filters a{padding:9px 17px;border:1px solid var(--line);border-radius:30px;font-size:12px}.filters a[aria-current],.filters a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.gallery-link{display:block;position:relative;background:var(--sage)}.gallery-item img{width:100%;height:auto}.gallery-item figcaption{font-size:12px;color:var(--muted);padding:10px 0}.image-expand{position:absolute;bottom:15px;right:15px;background:var(--paper);width:36px;height:36px;display:grid;place-items:center;border-radius:50%}.project-end{display:flex;justify-content:space-between;gap:20px;padding:60px 0 95px}.text-page{padding-bottom:100px}.page-content{max-width:850px;margin-left:auto;font-size:18px}.page-content h2{font-size:clamp(2rem,4vw,3.4rem);margin-top:60px;scroll-margin-top:30px}.page-content h3{font-size:1.8rem;margin-top:40px}.page-content a{border-bottom:1px solid var(--ink)}.page-content p{max-width:65ch}.page-content ul{padding-left:22px}.page-content .wp-block-buttons{margin-block:30px}.page-content .wp-block-button__link{background:var(--ink);color:var(--paper);padding:15px 25px;border-radius:0;font:14px var(--sans)}.page-content blockquote{margin:40px 0;border-left:2px solid var(--ink);padding-left:28px;font-family:var(--serif);font-size:30px}.navigation.pagination{margin-top:50px}.page-numbers{padding:12px}.skip-link{position:fixed;top:-100px;left:15px;background:var(--ink);color:white;padding:10px;z-index:9999}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #bb723d;outline-offset:5px}.lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#111714;color:#fff;border:0;padding:60px 70px;margin:0}.lightbox::backdrop{background:#111714}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-image{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 170px);object-fit:contain}.lightbox-caption{font-size:12px;padding:14px 0;min-height:30px}.lightbox-toolbar{position:absolute;top:18px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center}.lightbox button{color:white;background:transparent;border:1px solid #ffffff55;min-width:44px;min-height:44px;cursor:pointer}.lightbox-close{padding-inline:16px}.lightbox-prev,.lightbox-next{position:absolute;top:48%;font-size:25px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-count{font-size:12px}.lightbox-open{overflow:hidden}
@media(min-width:1600px){.hero-intro{padding-top:85px}}
@media(max-width:900px){nav ul{gap:20px}.hero-intro{gap:30px}.hero-copy{max-width:280px}.project-grid{gap:45px 25px}.about-layout{grid-template-columns:1fr 2fr}.footer-bottom{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:700px){.wrap{width:90%}.site-header{padding-block:24px;position:relative;flex-wrap:wrap}.wordmark{font-size:25px}.menu-toggle{display:flex;align-items:center;gap:12px;padding:10px 0 10px 16px;border:0;background:transparent;color:var(--ink);font-size:12px}.menu-toggle span{font-size:22px}.js #primary-nav{display:none;width:100%}.js #primary-nav.is-open{display:block}#primary-nav{width:100%}nav ul{flex-wrap:wrap;gap:12px 24px;padding-top:12px}.hero-intro{grid-template-columns:1fr;padding:42px 0 30px;gap:22px}.hero h1{font-size:clamp(3.6rem,15vw,6rem);max-width:9ch}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero-copy{max-width:100%;margin:0;padding:0}.hero-copy p{max-width:36ch;font-size:15px}.hero-image figcaption{font-size:8px}.hero-image figcaption span:last-child{display:none}.work,.services{padding-block:65px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:32px}.section-heading h2{font-size:2.8rem}.project-grid{grid-template-columns:1fr;gap:38px}.project-card:nth-child(even){padding-top:0}.project-meta{padding-top:14px}.project-meta h3{font-size:2rem}.about-strip{padding:55px 0}.about-layout{grid-template-columns:1fr;gap:16px}.about-layout h2{font-size:2.5rem}.about-layout p:not(.eyebrow){font-size:16px}.service-row{padding-block:22px;font-size:1.7rem}.site-footer{padding-top:50px}.footer-top{padding-bottom:35px}.footer-top h2{font-size:3.5rem}.round-link{width:64px;height:64px;font-size:34px}.footer-bottom{grid-template-columns:1fr 1fr;gap:28px;margin-block:35px}.footer-bottom>.wordmark{grid-column:1/-1}.colophon{flex-direction:column;gap:5px}.page-heading{padding-top:50px}.page-heading>p:not(.eyebrow),.project-description{font-size:17px}.filters{margin-bottom:35px;gap:8px}.filters a{font-size:11px;padding:8px 13px}.gallery{grid-template-columns:1fr;gap:20px}.project-end{flex-direction:column;align-items:start;padding-block:35px 60px}.page-content{font-size:16px}.page-content h2{margin-top:45px}.lightbox{padding:60px 14px 100px}.lightbox-image{max-height:calc(100dvh - 210px)}.lightbox-prev,.lightbox-next{top:auto;bottom:24px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Wedding invitation and dedicated landing page. */
.wedding-feature{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:7%;padding-top:88px;padding-bottom:10px}.wedding-feature-image img{height:auto;width:100%}.wedding-feature-copy{max-width:420px}.wedding-feature-copy .eyebrow{margin-bottom:24px}.wedding-feature-copy h2{font-size:clamp(3rem,5.2vw,5.4rem);margin-bottom:24px}.wedding-feature-copy p:not(.eyebrow){font-size:16px}.wedding-date-link{display:block;width:fit-content;font-size:12px;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.wedding-intro{padding-block:65px 48px}.wedding-title-row{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:end}.wedding-title-row h1{margin:14px 0 0}.wedding-title-row>div{max-width:400px;padding-bottom:10px;margin-left:auto}.wedding-title-row .lead{font-size:18px}.wedding-body{width:min(850px,90%);margin-inline:auto;padding-block:35px 60px}.wedding-body h2{margin-top:50px}.wedding-pictures{padding-block:30px 85px}.wedding-enquiry{background:var(--sage);padding:80px 0;scroll-margin-top:30px}.wedding-enquiry-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%}.wedding-enquiry-inner>div:last-child{max-width:510px}.wedding-enquiry a:not(.wedding-button){text-decoration:underline}.wedding-button{display:inline-flex;align-items:center;min-height:48px;padding:14px 24px;background:var(--ink);color:var(--paper);font-size:14px}.wedding-button:hover{background:#435142}.enquiry-note{font-size:12px;color:var(--muted);margin-top:18px;max-width:52ch}.wedding-body .wp-block-list{padding-left:22px}
@media(max-width:700px){.wedding-feature{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:0}.wedding-feature-copy{max-width:100%}.wedding-feature-copy h2{font-size:3.3rem}.wedding-title-row{grid-template-columns:1fr;gap:25px}.wedding-title-row>div{max-width:100%;margin:0}.wedding-title-row h1{font-size:3.6rem}.wedding-title-row .lead{font-size:16px}.wedding-intro{padding-block:42px 28px}.wedding-intro>.eyebrow{font-size:9px}.wedding-enquiry{padding:50px 0}.wedding-enquiry-inner{grid-template-columns:1fr;gap:20px}.wedding-pictures{padding-bottom:55px}}
