@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#242522;--muted:#67655f;--cream:#f7f4ed;--stone:#e9e4da;--gold:#b7a17c;--dark:#222321;--line:#d8d3c9;--wrap:1400px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.67}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:#806747}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}.wrap{width:min(calc(100% - 64px),var(--wrap));margin-inline:auto}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 .55em}h1{font-size:clamp(3.2rem,5.5vw,6.15rem)}h2{font-size:clamp(2.3rem,3.8vw,4.1rem)}h3{font-size:1.55rem}p{margin:0 0 1.15em}.eyebrow{font-family:Manrope,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8e7553;margin-bottom:1.8rem}.lede{font-size:clamp(1.08rem,1.4vw,1.38rem);line-height:1.65;color:#55534e;max-width:65ch}.skip{position:absolute;left:-10000px;top:4px;background:white;padding:.8rem;z-index:1000}.skip:focus{left:4px}.site-header{background:rgba(250,249,246,.97);border-bottom:1px solid var(--line);position:relative;z-index:100}.header-inner{min-height:94px;display:flex;align-items:center;gap:2rem}.brand{flex:0 0 auto}.brand img{width:240px;height:auto}.primary-nav{margin-left:auto}.primary-nav .menu{display:flex;align-items:center;gap:clamp(.6rem,1.25vw,1.45rem);list-style:none;padding:0;margin:0}.primary-nav li{position:relative}.primary-nav a{display:block;white-space:nowrap;font-family:Manrope,sans-serif;font-weight:600;font-size:.78rem;padding:1.3rem 0}.primary-nav>.menu>li:last-child>a{border:1px solid #8d7559;padding:.72rem .9rem}.primary-nav .sub-menu{position:absolute;top:calc(100% - 10px);left:-18px;min-width:270px;max-height:75vh;overflow-y:auto;background:#fff;box-shadow:0 18px 44px #15100b24;border:1px solid var(--line);list-style:none;padding:.65rem 0;margin:0;opacity:0;visibility:hidden;transform:translateY(7px);transition:.16s ease;z-index:10}.primary-nav .menu>li:nth-last-child(-n+4)>.sub-menu{left:auto;right:-18px}.primary-nav .sub-menu a{padding:.52rem 1.1rem;font-size:.8rem;white-space:normal}.primary-nav .sub-menu a:hover{background:var(--cream)}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.menu-item-has-children>a:after{content:'⌄';display:inline-block;font-size:1rem;line-height:0;margin-left:.34rem;vertical-align:.12rem}.menu-toggle,.mobile-phone{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:var(--dark);color:#fff!important;padding:.8rem 1.45rem;text-align:center;font:600 .78rem Manrope,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:background .2s}.button:hover{background:#77634c}.text-link{display:inline-flex;gap:.75em;border-bottom:1px solid #9e8768;padding:.5rem 0;font:600 .8rem Manrope,sans-serif;letter-spacing:.09em;text-transform:uppercase}.breadcrumb{font-size:.75rem;color:var(--muted);padding:1.5rem 0;display:flex;gap:.6rem;flex-wrap:wrap}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.home-hero{background:var(--cream);padding:5rem 0 6rem}.home-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:5%;align-items:start}.home-hero-copy{position:sticky;top:28px;padding-top:2rem}.home-hero h1{font-size:clamp(3rem,4.7vw,5.6rem)}h1 em{font-style:italic;color:#81735d}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin:2rem 0}.hero-cues{font-size:.77rem;letter-spacing:.07em;color:var(--muted)}.hero-cues span{color:var(--gold);padding:0 .2rem}.home-hero-photos{display:grid;gap:10px;min-width:0}.hero-dominant img{height:min(56vw,630px);width:100%;object-fit:cover}.hero-small{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hero-small img{width:100%;height:150px;object-fit:cover}.home-form{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:5.5rem}.home-form h2{max-width:10ch}.form-shell{background:var(--cream);border:1px solid var(--line);padding:clamp(1.5rem,3vw,3rem);color:var(--ink)}.form-shell h3{font-size:1.65rem}.form-shell .wpforms-container{margin:0}.form-shell label{font-family:Manrope,sans-serif!important;font-weight:600!important;font-size:.8rem!important}.form-shell input:not([type=submit]):not([type=checkbox]),.form-shell select,.form-shell textarea{border:1px solid #c6c1b8!important;background:#fff!important;border-radius:0!important;padding:.65rem!important;width:100%!important;max-width:100%!important}.form-shell button[type=submit]{background:var(--dark)!important;color:white!important;border:0!important;border-radius:0!important;padding:.8rem 2rem!important;min-height:48px}.editorial-section{padding-block:7rem}.split-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.split-section.reverse>.section-copy{order:2}.section-copy{max-width:585px}.section-copy p:not(.eyebrow){max-width:55ch}.paired-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.paired-images img{width:100%;height:460px;object-fit:cover}.paired-images img:nth-child(2){margin-top:45px;height:415px}.signature-block,.soft-section{background:var(--cream);padding:7rem 0}.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:3rem 0}.signature-card{background:#fff}.signature-card img{width:100%;height:390px;object-fit:cover}.signature-card>div{display:flex;gap:1.3rem;align-items:center;padding:1.4rem}.signature-card h3{margin:0;flex:1}.signature-card .arrow{font-size:1.5rem}.direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.4rem}.direction-grid>a{background:white;display:block;padding:2rem;min-height:235px}.direction-grid small{color:#997b56}.direction-grid h3{margin:1rem 0}.direction-grid p{color:var(--muted);font-size:.9rem}.dark-editorial,.final-cta{background:var(--dark);color:var(--cream);padding:7rem 0}.dark-editorial .section-copy p:not(.eyebrow),.final-cta p{color:#d2cbbf}.dark-editorial .text-link{color:var(--cream)}.center-title{max-width:720px;text-align:center;margin:0 auto 3rem}.triple-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:2rem}.triple-images img{width:100%;height:420px;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:2.5rem 0}.gallery-grid img{width:100%;height:250px;object-fit:cover}.gallery-grid>a:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.gallery-grid>a:nth-child(7n+1) img{height:512px}.final-cta-inner{display:flex;justify-content:space-between;align-items:end;gap:3rem}.final-cta-inner h2{max-width:730px}.button-light{background:var(--cream)!important;color:var(--dark)!important}.site-footer{background:#191a18;color:#e6e0d5;padding-top:5rem}.footer-top{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:4%;padding-bottom:4rem}.footer-logo{width:240px;margin-bottom:1rem}.footer-top p{color:#aca79e;max-width:330px}.footer-top h2{font:600 .72rem Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin:.5rem 0 1.7rem}.footer-top a{display:block;font-size:.87rem;margin:.6rem 0}.footer-cta{color:var(--gold)}.footer-bottom{border-top:1px solid #3f403b;padding:1.3rem 0;color:#a6a299;font-size:.72rem;display:flex;justify-content:space-between;gap:1rem}.footer-bottom div{display:flex;gap:1.4rem}.page-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:3rem 5rem;border-bottom:1px solid var(--line)}.page-hero.no-image{display:block;padding-block:4rem 5rem}.page-hero h1{font-size:clamp(3rem,5vw,5.4rem)}.page-hero .hero-media img{width:100%;height:530px;object-fit:cover}.image-rule{display:block;background:var(--gold);width:36%;height:4px;margin-top:1rem}.page-columns{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:6%;align-items:start;padding-block:4rem 7rem}.editorial-copy{max-width:800px;font-size:1.04rem;line-height:1.78}.editorial-copy h2{font-size:clamp(2rem,3vw,3.1rem);margin:2.1em 0 .7em}.editorial-copy h3{font-size:1.75rem;margin:1.8em 0 .5em}.editorial-copy p{margin-bottom:1.3em}.editorial-copy ul,.editorial-copy ol{padding-left:1.35rem;margin:1.4rem 0}.editorial-copy li{margin:.5rem 0}.editorial-copy a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.editorial-copy figure{margin:2.5rem 0}.editorial-copy figure img{width:100%;max-height:600px;object-fit:cover}.editorial-copy blockquote{border-left:2px solid var(--gold);padding:1rem 2rem;margin:2rem 0;background:var(--cream);font-family:Georgia,serif;font-size:1.45rem}.editorial-copy table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.editorial-copy th,.editorial-copy td{border:1px solid var(--line);padding:.8rem;text-align:left}.page-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:3rem 0}.page-gallery figure{margin:0}.page-gallery img{width:100%;height:310px;object-fit:cover}.page-aside,.article-aside{position:static}.aside-panel{background:var(--cream);padding:2rem;margin-bottom:1.5rem}.aside-panel h2{font-size:2rem}.faq-section details{border-bottom:1px solid var(--line);padding:1.1rem 0}.faq-section summary{cursor:pointer;font-family:Manrope,sans-serif;font-weight:600}.faq-section details p{margin:1rem 0 0}.article-hero{max-width:1060px;padding-bottom:3rem}.article-hero h1{font-size:clamp(2.8rem,4.7vw,5.3rem)}.article-hero>img{width:100%;height:560px;object-fit:cover;margin-top:3rem}.article-layout{display:grid;grid-template-columns:minmax(0,770px) minmax(270px,350px);gap:8%;justify-content:space-between;padding:2rem 0 8rem}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.journal-card{background:var(--cream)}.journal-card img{width:100%;height:265px;object-fit:cover}.card-copy{display:block;padding:1.5rem}.card-copy small{font-size:.7rem;color:var(--muted)}.card-copy h2{font-size:1.55rem;margin:.7rem 0}.card-copy>span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.journal-index{padding-bottom:8rem}.journal-index>.lede{margin-bottom:3rem}.legal-page .page-columns{display:block;max-width:850px}.legal-page .editorial-copy{max-width:none}.gallery-page{padding-bottom:7rem}.gallery-page .lede{max-width:65ch}.filter-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:3rem}.filter-list button{border:1px solid var(--line);background:white;padding:.65rem 1rem;font-size:.76rem}.filter-list button.active,.filter-list button:hover{background:var(--dark);color:white}.full-gallery figure{margin:0}.full-gallery figcaption{font-size:.82rem;padding:.65rem 0}.full-gallery a[hidden]{display:none}.full-gallery img{height:260px}.full-gallery>a:nth-child(7n+1) img{height:547px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9a754a;outline-offset:3px}
@media(max-width:1250px){.brand img{width:205px}.primary-nav .menu{gap:.7rem}.primary-nav a{font-size:.7rem}.header-inner{gap:1rem}.primary-nav .menu>li:last-child>a{padding:.6rem}.page-columns{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1050px){.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:5px}.menu-toggle span{display:block;height:2px;background:var(--ink);width:100%}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);max-height:calc(100vh - 88px);overflow:auto;padding:1rem 32px 2rem;border-bottom:1px solid var(--line)}.primary-nav.open{display:block}.primary-nav .menu{display:block}.primary-nav a{font-size:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.primary-nav>.menu>li:last-child>a{border:1px solid var(--gold);padding:.8rem 1rem;margin-top:1rem;width:max-content}.primary-nav .sub-menu{position:static;display:none;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;background:transparent;max-height:none;padding:0 0 .6rem 1rem;min-width:0}.primary-nav li.open>.sub-menu{display:block}.primary-nav .sub-menu a{font-size:.8rem}.menu-item-has-children>a{padding-right:3rem}.primary-nav .sub-toggle{position:absolute;right:0;top:.4rem;background:transparent;border:1px solid var(--line);width:40px;height:36px}.mobile-phone{display:block;margin-top:1rem}.home-hero-grid{gap:3%}}
@media(max-width:760px){.wrap{width:min(calc(100% - 36px),var(--wrap))}.site-header .header-inner{min-height:76px}.brand img{width:200px}.home-hero{padding:2.5rem 0 3rem}.home-hero-grid,.home-form,.split-section,.page-hero,.page-columns,.article-layout{display:block}.home-hero-copy{position:static;padding:0 0 2rem}.home-hero h1{font-size:clamp(2.65rem,9vw,4.5rem)}.hero-dominant img{height:70vw}.hero-small{grid-template-columns:repeat(2,1fr)}.hero-small img{height:24vw}.home-form{padding-block:4rem}.home-form>div:first-child{margin-bottom:2rem}.editorial-section,.signature-block,.soft-section,.dark-editorial{padding-block:4rem}.paired-images{margin-top:2.4rem}.paired-images img{height:48vw}.paired-images img:nth-child(2){margin-top:20px;height:calc(48vw - 20px)}.split-section.reverse>.section-copy{order:0}.signature-grid,.direction-grid,.triple-images,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signature-card img{height:240px}.direction-grid{gap:1px}.direction-grid>a{min-height:0;padding:1.2rem}.triple-images img{height:260px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid img,.full-gallery img{height:38vw}.gallery-grid>a:nth-child(7n+1),.full-gallery>a:nth-child(7n+1){grid-column:auto;grid-row:auto}.gallery-grid>a:nth-child(7n+1) img,.full-gallery>a:nth-child(7n+1) img{height:38vw}.final-cta{padding:4rem 0}.final-cta-inner{display:block}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.footer-top>div:first-child{grid-column:span 2}.page-hero{padding:1.5rem 0 3rem}.page-hero .hero-copy{margin-bottom:2rem}.page-hero .hero-media img{height:72vw}.page-columns{padding:2rem 0 4rem}.page-aside{margin-top:3rem}.article-hero>img{height:62vw}.article-aside{margin-top:3rem}}
@media(max-width:520px){h1{font-size:2.65rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.signature-grid,.direction-grid,.article-grid{grid-template-columns:1fr}.signature-card img{height:270px}.triple-images{grid-template-columns:1fr 1fr}.triple-images img{height:200px}.triple-images img:last-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom div{margin-top:1rem}.page-gallery img{height:190px}.editorial-copy{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:2.5rem 0}.process-grid>div{background:#fff;padding:1.8rem}.process-grid small{color:#9b7c54}.process-grid h3{font-size:1.35rem;margin:.6rem 0}.process-grid p{font-size:.9rem;color:var(--muted);margin:0}.inline-photo figcaption{font-size:.77rem;color:var(--muted);padding:.65rem 0}.process-home>.text-link{margin-top:1rem}@media(max-width:760px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.process-grid{grid-template-columns:1fr}}
.contact-page .page-columns{display:block;max-width:820px}
.editorial-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:2.6rem 0;min-width:0}.editorial-pair figure{margin:0}.editorial-pair img{width:100%;height:290px;object-fit:cover}.editorial-pair figcaption{font-size:.76rem;line-height:1.4;color:var(--muted);padding:.7rem 0}.gallery-grid{grid-auto-flow:dense}@media(max-width:520px){.editorial-pair img{height:45vw}}
.utility-strip{background:#292a27;color:#e9e4da}.utility-strip .wrap{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:600 .62rem Manrope,sans-serif;letter-spacing:.15em}.utility-strip a{color:#e9e4da;white-space:nowrap}.utility-strip a:hover{color:#d6c5a4}.form-alternative{font-size:.82rem;color:var(--muted);margin:1.2rem 0 0}.form-alternative a{text-decoration:underline;text-underline-offset:3px}.final-cta-actions{display:flex;align-items:flex-start;flex-direction:column;gap:1rem}.phone-cta{color:var(--cream);font:600 .85rem Manrope,sans-serif;text-decoration:underline;text-underline-offset:4px}@media(max-width:1050px){.primary-nav{max-height:calc(100vh - 110px)}}@media(max-width:520px){.utility-strip .wrap{font-size:.54rem;letter-spacing:.07em}}

/* Parent menu links carry their own chevrons; no extra button boxes are inserted. */
.primary-nav .sub-toggle{display:none!important}
.primary-nav .menu-item-has-children>a:after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);vertical-align:middle;margin:-4px 0 0 .52rem;line-height:normal}
@media(max-width:1050px){
 .primary-nav .menu-item-has-children>a{position:relative;padding-right:3rem}
 .primary-nav .menu-item-has-children>a:after{display:block;position:absolute;right:18px;top:50%;width:7px;height:7px;margin:-5px 0 0;transition:transform .15s ease}
 .primary-nav li.open>a:after{transform:rotate(225deg)}
}

/* Project enquiry sections keep the copy in view only while its own form scrolls. */
.home-form-copy{position:sticky;top:32px;align-self:start;max-width:540px}
.page-columns,.article-layout{grid-template-columns:minmax(0,770px) minmax(270px,450px);gap:8%;justify-content:space-between}
.final-cta-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.final-cta-copy{position:sticky;top:32px;align-self:start;max-width:570px}
.final-cta-form{min-width:0}
.final-cta .form-shell{background:var(--cream);color:var(--ink)}
.final-cta .form-shell p{color:var(--muted)}
.final-cta .form-shell label{color:var(--ink)}
.final-cta .phone-cta{display:inline-block;margin-top:1rem}
@media(max-width:1100px){.page-columns,.article-layout{display:block}.page-aside,.article-aside{max-width:450px;margin-top:3rem}}
@media(max-width:760px){
 .home-form-copy,.final-cta-copy{position:static;max-width:none}
 .final-cta-inner{display:block}
 .final-cta-copy{margin-bottom:2.5rem}
}
