@font-face{font-family:Manrope;src:url('fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--gold:#b99a6b;--charcoal:#2e2e2e;--deep:#182333;--ink:#242424;--muted:#6d6a65;--paper:#faf9f6;--sand:#f0ede7;--line:#dedad3;--sans:Manrope,Arial,sans-serif;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open,html.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(44px,5vw,76px)}h2{font-size:clamp(35px,3.7vw,56px)}h3{font-size:18px;font-weight:650;letter-spacing:-.025em;line-height:1.4}p{color:var(--muted)}em{font-style:normal;color:var(--gold)}.shell{width:calc(100% - 112px);max-width:1400px;margin-inline:auto}.section-pad{padding-block:110px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:.13em;color:#8b6c40;margin-bottom:23px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--gold);margin-right:10px;flex-shrink:0}.arrow{display:inline-block;vertical-align:middle;flex-shrink:0}.reverse{transform:rotate(180deg)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 25px;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#1c1c1c;font-size:12px;font-weight:650;line-height:1.5;transition:background .25s,transform .25s}.button:hover{background:#c7a97d;transform:translateY(-2px)}.button-outline{color:inherit;border-color:currentColor;background:transparent}.button-outline:hover{background:#ffffff12}.button-small{padding:13px 20px;gap:22px;white-space:nowrap}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #a99476;padding-block:8px;font-size:12px;font-weight:650;transition:gap .25s,color .25s}.text-link:hover{gap:25px;color:#8b6c40}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--deep);color:#fff;padding:12px 22px;z-index:100}.skip-link:focus{top:10px}[hidden]{display:none!important}
/* A transparent header over the photograph, a light header after scrolling. */
.site-header{position:sticky;top:0;z-index:30;background:rgba(250,249,246,.97);border-bottom:1px solid #dedad380;transition:background .25s,color .25s;backdrop-filter:blur(16px)}.header-inner{height:95px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:145px;display:block;flex-shrink:0}.brand img{width:100%;height:auto}.site-header .brand .logo-light{opacity:0}.main-navigation{display:flex;align-items:center;gap:27px;margin-left:auto;margin-right:15px}.main-navigation>a{font-size:11px;font-weight:650;padding-block:9px;transition:color .2s}.main-navigation>a:hover{color:#a18154}.menu-toggle{display:none}.home .site-header{position:fixed;width:100%;color:white;background:transparent;border-color:transparent;backdrop-filter:none}.home .site-header .logo-light{opacity:1}.home .site-header .logo-dark{opacity:0}.home .site-header.is-scrolled,.home.menu-open .site-header{background:rgba(250,249,246,.97);border-color:#dedad380;color:var(--ink);backdrop-filter:blur(16px)}.home .site-header.is-scrolled .logo-light,.home.menu-open .site-header .logo-light{opacity:0}.home .site-header.is-scrolled .logo-dark,.home.menu-open .site-header .logo-dark{opacity:1}.home .header-quote{background:#1c1c1ccc;border-color:#ffffff35;color:#fff}.home .site-header.is-scrolled .header-quote,.home.menu-open .header-quote{background:var(--ink);border-color:var(--ink);color:white}
/* Full-width native slider. */
.hero-full{background:var(--deep);color:#fff}.hero-visual{position:relative;height:100svh;min-height:760px;max-height:1100px;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;overflow:hidden;transition:opacity .75s,visibility .75s}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,13,.25),transparent 35%,rgba(8,10,13,.82)),linear-gradient(90deg,rgba(8,10,13,.22),transparent 85%)}.slide-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-top:160px;padding-bottom:170px}.slide-content>.eyebrow{color:#f6f2e9;font-size:10px;letter-spacing:.1em;padding:8px 15px;border:1px solid #ffffff55;border-radius:999px;margin-bottom:27px}.hero-title{max-width:1150px;font-size:clamp(58px,6.7vw,102px);font-weight:500;line-height:1.07;letter-spacing:-.045em}.hero-title em{display:block;color:var(--gold)}.slide-description{max-width:585px;color:#dedad3;font-size:16px;line-height:1.85;margin-top:28px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px}.hero-actions .button{min-width:210px;font-size:11px;padding:18px 24px}.hero-actions .button-outline{border-color:#ffffff70;color:#fff;background:#1111111a}.hero-actions .button-outline:hover{background:#ffffff18}.hero-types{display:flex;gap:28px;margin-top:27px;font-size:12px}.hero-types>a{display:flex;align-items:center;gap:12px;padding-bottom:5px;border-bottom:1px solid #ffffff55}.hero-types .arrow{width:17px;height:17px;color:var(--gold)}.full-slider-controls{position:absolute;z-index:4;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:30px}.slider-bar{display:flex;align-items:center;gap:25px}.slider-count{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.slider-count b{font-size:25px;font-weight:500}.slider-count>span{font-size:10px;color:#c5c1b9}.slider-bar p{font-size:10px;color:#e0dcd4}.slider-buttons{display:flex;gap:8px}.slider-buttons button{display:grid;place-items:center;width:39px;height:39px;border:1px solid #ffffff55;border-radius:50%;background:transparent;color:white;transition:background .2s}.slider-buttons button:hover{background:#ffffff18}.slider-footer{display:flex;align-items:center;gap:30px}.slider-dots{display:flex;gap:6px}.slider-dots button{width:29px;padding:12px 0;border:0;background:none}.slider-dots button:before{content:'';display:block;height:2px;background:#ffffff50}.slider-dots button[aria-pressed=true]:before{background:var(--gold)}.slider-pause{display:flex;align-items:center;gap:10px;border:0;background:none;color:#fff;font-size:9px;padding:5px}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-block:34px}.intro-strip p{color:var(--ink);font-size:12px;border-left:1px solid var(--line);padding-left:25px}.intro-strip p:first-child{border:0;padding-left:0}.intro-strip span{display:block;margin-bottom:5px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
/* Light services and company sections. */
.services-section{background:var(--sand)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:13px;line-height:1.9;max-width:320px;padding-bottom:5px}.service-switch{display:flex;gap:35px;border-bottom:1px solid #d0cbc2;margin-bottom:35px}.service-switch>a{display:flex;align-items:baseline;gap:15px;border-bottom:2px solid transparent;padding:16px 0;font-size:19px;font-weight:600;color:#78736b}.service-switch>a span{font-size:10px;font-weight:400}.service-switch>a.is-active{border-color:var(--gold);color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.service-panel+.service-panel{margin-top:40px}.js .service-panel+.service-panel{margin-top:0}.service-card{display:block;background:var(--paper);border:1px solid #dedad3;border-radius:var(--radius);overflow:hidden;padding-bottom:23px;min-width:0;transition:border-color .25s,transform .25s}.service-card:hover{border-color:var(--gold);transform:translateY(-4px)}.service-image{position:relative;aspect-ratio:1.65;background:#d8d3cb;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover img{transform:scale(1.045)}.card-index{position:absolute;left:15px;bottom:13px;padding:4px 9px;border-radius:999px;background:#242424c4;color:white;font-size:9px}.service-card-body{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:21px 23px 0}.service-card h3{font-size:17px;font-weight:600;line-height:1.5}.service-card-body .arrow{color:#9b7b4c;width:20px;height:20px;margin-top:3px}.service-card>p{font-size:11px;line-height:1.85;margin:11px 23px 0}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-visual{position:relative;height:565px}.about-visual>img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.image-note{position:absolute;right:-25px;bottom:35px;padding:26px 32px;border-radius:14px;background:var(--gold);color:#242424;font-size:25px;line-height:1.25;letter-spacing:-.035em;font-weight:500}.about-copy h2{margin-bottom:25px}.about-prose p{font-size:12px;line-height:2}.about-copy>.text-link{margin-top:12px}.about-signoff{display:flex;align-items:center;border-top:1px solid var(--line);padding-top:21px;margin-top:29px;font-size:10px;color:var(--muted)}.approach-section{background:var(--deep);color:var(--paper)}.approach-section .eyebrow{color:var(--gold)}.approach-section .section-heading>p{color:#c1c3c8}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;list-style:none;padding:0;margin:65px 0 0}.process-grid li{border-top:1px solid #ffffff35;padding-top:23px}.process-grid li>span{font-size:34px;letter-spacing:-.05em;color:var(--gold);font-weight:450}.process-grid h3{font-size:17px;font-weight:500;margin-top:28px;margin-bottom:13px}.process-grid p{font-size:12px;line-height:1.9;color:#c1c3c8}
/* Large work imagery against charcoal, followed by light reviews. */
.portfolio-section{background:#242424;color:var(--paper)}.portfolio-section .eyebrow{color:var(--gold)}.portfolio-section .section-heading>p{color:#c4bfb7}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portfolio-card{display:block;position:relative;aspect-ratio:1.25;overflow:hidden;border-radius:var(--radius);background:#333}.portfolio-card>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.portfolio-card:hover>img{transform:scale(1.045)}.portfolio-overlay{position:absolute;inset:auto 0 0;padding:60px 23px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(transparent,#111e);color:#fff;font-size:15px;line-height:1.5;font-weight:500}.portfolio-expand{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid #ffffff65;border-radius:50%;font-size:19px;font-weight:400}.portfolio-more{text-align:center;margin-top:35px}.portfolio-more:has([hidden]){display:none}.portfolio-more .button{border-color:#8d8375;color:#f4efe6}.reviews-section{background:var(--sand)}.review-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b99a6b #e4dfd6;padding-bottom:15px}.review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;display:flex;flex-direction:column;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.review-stars{color:#a3814e;font-size:18px;letter-spacing:.15em;margin-bottom:20px}.review-card blockquote{font-size:12px;line-height:1.95;white-space:pre-line;color:#5d5953;margin:0 0 20px}.review-card.is-collapsed blockquote{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.review-read-more{align-self:flex-start;border:0;border-bottom:1px solid #b99a6b;background:none;padding:0 0 4px;font-size:10px;margin-bottom:23px}.review-author{display:flex;align-items:center;gap:14px;margin-top:auto}.review-author h3{font-size:13px;font-weight:650}.review-author p{font-size:10px;margin-top:3px}.review-avatar{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;background:#e8e0d3;color:#7b5d33;border-radius:50%;font-size:17px}.review-source{display:flex;align-items:center;gap:12px;margin-top:20px;color:#82643a;font-size:10px}.review-source .arrow{width:15px;height:15px}.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:23px}.reviews-source-note{font-size:10px;color:var(--muted)}.reviews-controls .slider-buttons button{border-color:#c5bcb0;color:var(--ink)}.reviews-controls .slider-buttons button:hover{background:#e7dfd3}.google-live-status{font-size:12px;color:#75603e;margin-bottom:20px}.google-live-status:empty{display:none}.google-attribution{display:inline-block;font:400 14px/1.5 var(--sans);letter-spacing:normal;white-space:nowrap;color:#1f1f1f}.join-section{padding-block:65px;background:#e9e1d4}.join-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.join-inner h2{font-size:43px}.join-inner .eyebrow{margin-bottom:18px}.join-inner p:not(.eyebrow){font-size:13px;max-width:450px;margin-top:20px}.join-inner>.button{background:var(--charcoal);border-color:var(--charcoal);color:#fff;min-width:220px}
/* Contact and forms use light, quiet panels. */
.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.contact-copy h2{font-size:clamp(42px,4.5vw,66px)}.contact-copy>p:not(.eyebrow){font-size:13px;max-width:310px;margin-top:25px}.contact-phone{display:flex;align-items:center;gap:25px;margin-top:35px;font-size:23px;font-weight:500;letter-spacing:-.03em}.contact-email{display:inline-block;font-size:12px;margin-top:10px;border-bottom:1px solid #b99a6b}.contact-copy .contact-location{font-size:10px!important;letter-spacing:.03em}.enquiry-form{padding:38px 40px;background:var(--sand);border:1px solid #e0dbd3;border-radius:var(--radius)}.enquiry-form h3{font-size:22px;font-weight:500;letter-spacing:-.03em}.form-intro{font-size:11px;margin:8px 0 26px}.enquiry-form label{display:block;font-size:10px;font-weight:650;color:var(--ink)}.enquiry-form>label:not(.consent){margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:20px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{width:100%;min-height:42px;border:0;border-bottom:1px solid #c2baae;border-radius:0;background:transparent;padding:10px 0;color:var(--ink);font-size:12px;outline-offset:2px}.enquiry-form select option{color:var(--ink);background:var(--paper)}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#81796e}.enquiry-form textarea{resize:vertical;max-height:400px}.enquiry-form .consent{display:flex;align-items:flex-start;gap:11px;font-size:10px;font-weight:400;line-height:1.8;color:#686058;margin:23px 0}.consent input{flex-shrink:0;width:14px;height:14px;margin:4px 0 0;accent-color:#82643a}.consent a{text-decoration:underline;text-underline-offset:2px}.enquiry-form .button[type=submit]{display:flex;width:fit-content;max-width:100%;justify-content:center;gap:24px;margin:24px auto 0;padding:17px 30px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-message{font-size:12px;padding:14px;background:#f8e9db;color:#674725;border-left:3px solid #a77b43;margin-bottom:23px}.form-message.is-success{background:#e6eddc;color:#36432d;border-color:#708459}.file-hint{display:block;font-size:9px;color:#756d63;font-weight:400;margin-top:5px}.application-form input[type=file]{font-size:10px;padding:9px 0}.application-form input[type=file]::file-selector-button{background:#e0d2bc;border:0;border-radius:5px;padding:6px 9px;margin-right:10px;font:inherit;cursor:pointer}.site-footer{background:#171717;color:#f4f1eb;padding-top:48px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:center;padding-bottom:40px}.footer-top .brand{width:135px}.footer-top>p{font-size:12px;color:#bcb6ad}.footer-top>a:last-child{justify-self:end;font-size:18px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #49443d;padding-block:23px;color:#bfb8ae;font-size:9px}.footer-bottom>a{display:flex;align-items:center;gap:15px}.footer-bottom .arrow{width:15px;height:15px}
/* Inner pages and private overlays. */
.service-hero{padding-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.service-hero-copy{padding-bottom:25px}.breadcrumbs{display:flex;gap:12px;color:var(--muted);font-size:10px;margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.service-hero .eyebrow{font-size:9px}.service-hero h1{font-size:clamp(41px,4.5vw,66px);overflow-wrap:break-word}.hero-intro{font-size:14px;line-height:1.9;max-width:450px;margin-top:25px}.service-hero .button{margin-top:28px}.service-hero-image{height:510px}.service-hero-image>img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.service-body{display:grid;grid-template-columns:1fr 2fr;gap:100px}.service-aside{align-self:start;position:sticky;top:140px}.service-aside h2{font-size:39px}.service-aside>p:not(.eyebrow){font-size:12px;max-width:260px;margin:20px 0}.prose{font-size:15px;line-height:1.95;overflow-wrap:break-word}.prose p{margin-bottom:22px}.prose h2{font-size:25px;font-weight:500;letter-spacing:-.035em;line-height:1.4;margin:38px 0 18px}.prose h2:first-child{margin-top:0}.prose h3{margin:30px 0 16px}.prose ul{color:var(--muted);padding-left:20px}.prose a{color:#82643a;text-decoration:underline}.prose strong{color:var(--ink);font-weight:650}.service-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-gallery img{width:100%;height:255px;object-fit:cover;border-radius:14px}.policy-page{max-width:900px;padding-top:70px}.policy-page h1{margin-bottom:45px}.policy-page .prose h2{font-size:22px;margin-top:32px}.not-found{min-height:65vh}.not-found>p:not(.eyebrow){max-width:470px;margin-block:25px}.careers-page{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.careers-page .prose{margin-top:28px}.m2-dialog{width:680px;max-width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;overflow:auto;overscroll-behavior:contain;border:0;border-radius:20px;background:var(--paper);color:var(--ink)}.m2-dialog::backdrop{background:#141414b8;backdrop-filter:blur(6px)}.dialog-content{position:relative;padding:36px}.dialog-content>.eyebrow{margin-bottom:18px}.dialog-content .enquiry-form{margin:0;padding:0;background:none;border:0;border-radius:0}.dialog-content .enquiry-form h3{font-size:28px}.dialog-close{position:absolute;z-index:5;right:17px;top:12px;width:36px;height:36px;padding:0;border:0;background:none;color:#82643a;font-size:31px;line-height:1}.gallery-dialog{max-width:calc(100vw - 40px);width:max-content;max-height:calc(100dvh - 40px);background:#181818;color:#fff;border-radius:12px}.gallery-content{position:relative;padding:42px 16px 14px}.lightbox-image{max-width:calc(100vw - 85px);max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain;margin:auto}.lightbox-bar{display:flex;align-items:center;gap:15px;margin-top:14px}.lightbox-bar>p{margin-right:auto;font-size:12px;color:#fff}.lightbox-count{font-size:10px;white-space:nowrap;color:#d5bf9d}.lightbox-bar>button{display:grid;place-items:center;width:35px;height:35px;background:none;border:1px solid #7b6a53;border-radius:50%;color:var(--gold)}.gallery-dialog .dialog-close{top:0;right:7px;color:var(--gold)}.m2-dialog:focus{outline:none}.admin-bar .site-header{top:32px}
@media(min-width:1700px){.slide-content{padding-bottom:190px}.hero-title{font-size:108px}.hero-visual{max-height:1200px}}
@media(max-width:1150px){.shell{width:calc(100% - 64px)}.section-pad{padding-block:90px}.header-inner{gap:20px}.main-navigation{gap:18px;margin-right:7px}.main-navigation>a{font-size:10px}.brand{width:130px}.button-small{padding:12px 17px;gap:14px}.hero-title{font-size:clamp(58px,7vw,87px)}.about-section{gap:65px}.about-visual{height:540px}.contact-grid{gap:65px}.enquiry-form{padding:32px}.service-grid{gap:23px}.service-card-body{margin-inline:19px}.service-card>p{margin-inline:19px}.service-card h3{font-size:16px}.service-body{gap:65px}.service-hero{gap:45px}.service-hero-image{height:480px}.careers-page{gap:45px}}
@media(max-width:900px){.main-navigation{gap:13px}.main-navigation>a{font-size:9px}.brand{width:120px}.header-inner{gap:15px}.header-quote{font-size:10px;padding:11px 14px;gap:12px}.section-heading{gap:35px}.section-heading>p{max-width:260px;font-size:12px}.hero-title{font-size:69px}.slide-description{font-size:15px}.about-section{gap:45px}.about-visual{height:530px}.about-copy .eyebrow{font-size:8px}.about-prose p{font-size:11px}.contact-grid{gap:35px}.enquiry-form{padding:27px}.contact-copy h2{font-size:48px}.service-card h3{font-size:15px}.service-card>p{font-size:10px}.service-card-body{margin-inline:16px;gap:10px}.service-card>p{margin-inline:16px}.review-card{flex-basis:calc((100% - 24px)/2);padding:26px}.portfolio-overlay{padding-inline:17px;font-size:13px}.service-hero h1{font-size:47px}.service-body{gap:45px}}
@media(max-width:800px){html{scroll-padding-top:90px}.shell{width:calc(100% - 40px)}.section-pad{padding-block:75px}.header-inner{height:78px;gap:18px}.brand{width:125px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:40px;border:0;background:none;order:3;margin-left:auto;flex-shrink:0}.menu-toggle>span:not(.sr-only){display:block;height:1px;width:24px;background:var(--ink);transition:transform .2s}.home .site-header:not(.is-scrolled) .menu-toggle>span:not(.sr-only){background:#fff}.home.menu-open .site-header .menu-toggle>span:not(.sr-only){background:var(--ink)}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.header-quote{order:2;margin-left:auto}.main-navigation{display:none;position:fixed;left:0;right:0;top:78px;height:calc(100dvh - 78px);background:var(--paper);color:var(--ink);flex-direction:column;align-items:flex-start;gap:20px;margin:0;padding:35px 25px;overflow-y:auto}.main-navigation.is-open{display:flex}.main-navigation>a{font-size:27px;font-weight:500}.hero-visual{height:100svh;min-height:760px;max-height:1000px}.slide-content{padding-top:125px;padding-bottom:160px}.hero-title{font-size:clamp(46px,8.3vw,68px);max-width:720px}.slide-content>.eyebrow{font-size:9px;line-height:1.6;max-width:460px;margin-bottom:23px}.slide-description{font-size:14px;max-width:470px;margin-top:25px}.hero-actions .button{font-size:10px;min-width:195px;padding:16px 21px}.full-slider-controls{bottom:27px;gap:18px}.slider-bar{gap:16px}.slider-bar p{font-size:9px;max-width:140px}.slider-buttons button{width:33px;height:33px}.slider-footer{gap:17px}.slider-dots button{width:24px}.intro-strip{gap:20px;padding-block:27px}.intro-strip p{font-size:10px;padding-left:16px}.intro-strip span{font-size:8px}h2{font-size:42px}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:32px}.section-heading>p{max-width:450px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}.service-card h3{font-size:16px}.service-card>p{font-size:11px}.service-card-body{margin-inline:20px}.service-card>p{margin-inline:20px}.service-switch{gap:30px}.service-switch>a{font-size:18px;gap:12px}.about-section{align-items:start;gap:35px}.about-copy h2{font-size:36px}.about-prose p{font-size:12px}.about-visual{height:550px}.image-note{right:-15px;font-size:23px;padding:22px}.about-signoff{font-size:9px}.process-grid{grid-template-columns:repeat(2,1fr);gap:40px 35px;margin-top:40px}.process-grid h3{margin-top:22px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portfolio-overlay{font-size:14px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:53px}.contact-copy h2 br:nth-child(2){display:none}.contact-copy>p:not(.eyebrow){max-width:430px}.contact-phone{margin-top:27px}.enquiry-form{padding:35px}.footer-top{gap:30px}.footer-top>p{font-size:10px}.footer-top>a:last-child{font-size:15px}.footer-bottom{gap:15px;font-size:8px}.service-hero{grid-template-columns:1fr;gap:25px;padding-top:30px}.service-hero h1{font-size:52px;max-width:650px}.service-hero-image{height:450px}.breadcrumbs{margin-bottom:30px}.service-hero .hero-intro{max-width:600px}.service-body{grid-template-columns:1fr;gap:40px}.service-aside{position:static;max-width:650px}.service-aside h2 br{display:none}.service-aside>p:not(.eyebrow){max-width:470px}.service-gallery{gap:15px}.service-gallery img{height:190px}.related-section .service-grid>a:last-child{display:none}.join-inner h2{font-size:36px}.join-inner{gap:30px}.careers-page{grid-template-columns:1fr}.admin-bar .site-header{top:46px}.admin-bar .main-navigation{top:124px;height:calc(100dvh - 124px)}}
@media(max-width:540px){.header-inner{gap:10px}.brand{width:110px}.header-quote{font-size:9px;padding:11px 12px;gap:8px}.header-quote .arrow{width:16px;height:16px}.menu-toggle{width:30px;padding:3px}.hero-visual{min-height:740px;max-height:950px}.slide-content{padding-top:120px;padding-bottom:155px}.hero-title{font-size:45px;line-height:1.12;letter-spacing:-.045em}.slide-content>.eyebrow{font-size:8px;padding:7px 10px;max-width:330px;margin-bottom:23px}.slide-description{font-size:13px;line-height:1.85;max-width:340px;margin-top:23px}.hero-actions{margin-top:26px;gap:11px}.hero-actions .button{min-width:185px;font-size:10px;padding:15px 20px}.hero-types{font-size:11px;gap:25px;margin-top:25px}.full-slider-controls{bottom:22px;align-items:flex-start;gap:15px}.slider-bar{gap:10px;flex-wrap:wrap;max-width:230px}.slider-bar p{max-width:130px;font-size:9px}.slider-count b{font-size:22px}.slider-count>span{font-size:9px}.slider-buttons{gap:6px}.slider-buttons button{width:29px;height:29px}.slider-footer{flex-direction:column;align-items:flex-end;gap:6px}.slider-dots{gap:5px}.slider-dots button{width:20px}.slider-pause{font-size:8px;padding-right:0}.intro-strip{grid-template-columns:1fr 1fr;gap:17px;padding-block:24px}.intro-strip p:last-child{display:none}.section-pad{padding-block:62px}h2{font-size:36px}.eyebrow{font-size:9px}.section-heading{gap:19px}.section-heading>p{font-size:12px}.service-switch{gap:25px;margin-bottom:26px}.service-switch>a{font-size:17px;display:block;flex:1}.service-switch>a span{display:block;font-size:9px;margin-top:3px}.service-grid{gap:18px 13px}.service-image{aspect-ratio:1.1}.service-card{border-radius:13px;padding-bottom:17px}.service-card-body{margin:15px 13px 0;gap:8px}.service-card h3{font-size:12px;font-weight:650;line-height:1.55}.service-card-body .arrow{width:16px;height:16px;margin-top:2px}.service-card>p{font-size:10px;line-height:1.75;margin:9px 13px 0}.card-index{left:9px;bottom:9px;font-size:8px;padding:3px 7px}.about-section{grid-template-columns:1fr;gap:40px}.about-visual{height:420px;margin-right:15px}.image-note{padding:22px 26px;font-size:25px;bottom:25px}.about-copy h2{font-size:38px}.about-copy .eyebrow{font-size:9px}.about-prose p{font-size:13px}.about-signoff{font-size:10px}.process-grid{gap:35px 25px}.process-grid li>span{font-size:29px}.process-grid h3{font-size:15px;margin-top:20px}.process-grid p{font-size:11px}.portfolio-grid{gap:14px}.portfolio-card{aspect-ratio:.8;border-radius:13px}.portfolio-overlay{padding:50px 12px 15px;font-size:11px;gap:10px}.portfolio-expand{width:25px;height:25px;font-size:16px}.review-card{flex-basis:100%;padding:27px}.review-card blockquote{font-size:13px}.review-author h3{font-size:14px}.review-read-more,.review-source{font-size:11px}.reviews-controls{align-items:flex-start;gap:20px}.reviews-source-note{font-size:9px;max-width:190px}.join-section{padding-block:53px}.join-inner{flex-direction:column;align-items:flex-start;gap:27px}.join-inner h2{font-size:36px}.join-inner p:not(.eyebrow){font-size:12px}.contact-copy h2{font-size:44px}.contact-copy h2 br:nth-child(2){display:block}.contact-phone{font-size:23px}.enquiry-form{padding:27px 22px}.enquiry-form h3{font-size:20px}.form-row{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.enquiry-form label{font-size:11px}.enquiry-form .consent{font-size:10px}.footer-top{grid-template-columns:1fr 1fr;gap:23px}.footer-top .brand{width:120px}.footer-top>p{font-size:10px;justify-self:end}.footer-top>a:last-child{grid-column:1/-1;justify-self:start;font-size:19px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:13px 20px;font-size:9px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>a{margin-left:auto}.service-hero h1{font-size:41px}.service-hero-image{height:340px}.service-hero .hero-intro{font-size:13px}.service-body{gap:35px}.service-aside h2{font-size:35px}.prose{font-size:14px}.prose h2{font-size:22px}.service-gallery{grid-template-columns:1fr 1fr;gap:12px}.service-gallery img{height:210px}.service-gallery img:last-child{display:none}.policy-page h1{font-size:45px}.policy-page .prose h2{font-size:21px}.not-found h1{font-size:43px}.m2-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:16px}.dialog-content{padding:35px 23px 27px}.dialog-content .enquiry-form h3{font-size:25px}.dialog-content .form-row{gap:15px;margin-bottom:15px}.dialog-content .consent{margin-block:19px}.gallery-dialog{max-width:calc(100vw - 18px);border-radius:10px}.lightbox-image{max-width:calc(100vw - 52px);max-height:calc(100dvh - 160px)}.lightbox-bar{gap:10px}.lightbox-bar>p{font-size:10px}.lightbox-bar>button{width:30px;height:30px}.lightbox-count{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readable text sizes, clear navigation and a prominent contact number. */
body{font-size:16px}.header-inner{gap:22px}.brand{width:137px}.main-navigation{gap:21px;margin-right:2px}.main-navigation>a{font-size:15px;font-weight:600;white-space:nowrap}.header-contact{flex-shrink:0;text-align:right;line-height:1.5}.header-phone{display:block;white-space:nowrap;font-size:21px;font-weight:800;letter-spacing:-.035em;font-variant-numeric:lining-nums}.header-contact>span{display:block;font-size:11px;opacity:.7;margin-top:3px}.header-quote{font-size:13px;padding:14px 19px;gap:15px}.header-quote .arrow{width:20px}.eyebrow{font-size:12px}.slide-content>.eyebrow{font-size:12px}.slide-description{font-size:18px;line-height:1.85;max-width:650px}.hero-actions .button{font-size:14px;padding:18px 25px}.hero-types{font-size:15px}.slider-bar p{font-size:12px}.slider-count>span{font-size:12px}.slider-pause{font-size:12px}.intro-strip p{font-size:15px}.intro-strip span{font-size:11px}.section-heading>p{font-size:16px;max-width:370px}.text-link{font-size:15px}.service-switch>a{font-size:22px}.service-switch>a span{font-size:13px}.service-card h3{font-size:20px}.service-card>p{font-size:15px;line-height:1.85}.about-prose p{font-size:16px;line-height:1.95}.about-copy .eyebrow{font-size:12px}.about-signoff{font-size:13px}.process-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.process-top>span{font-size:34px;letter-spacing:-.05em;font-weight:450;color:var(--gold)}.process-icon{color:var(--gold);flex-shrink:0;width:42px;height:42px}.process-grid h3{font-size:21px;font-weight:550;margin-top:30px}.process-grid p{font-size:16px}.portfolio-overlay{font-size:18px}.review-card blockquote{font-size:16px;line-height:1.85}.review-author h3{font-size:16px}.review-author p{font-size:13px}.review-source,.review-read-more{font-size:13px}.reviews-source-note{font-size:12px}.join-inner p:not(.eyebrow){font-size:16px}.button{font-size:14px}.contact-copy>p:not(.eyebrow){font-size:16px;max-width:370px}.contact-email{font-size:16px}.contact-copy .contact-location{font-size:13px!important}.enquiry-form h3{font-size:25px}.form-intro{font-size:14px}.enquiry-form label{font-size:14px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:16px;padding:12px 0;min-height:46px}.enquiry-form .consent{font-size:13px}.consent input{width:17px;height:17px}.file-hint{font-size:12px}.application-form input[type=file]{font-size:13px}.footer-top>p{font-size:15px}.footer-bottom{font-size:12px}.hero-intro,.prose{font-size:17px}.service-hero .eyebrow{font-size:12px}.service-aside>p:not(.eyebrow){font-size:15px}.breadcrumbs{font-size:13px}.form-message{font-size:15px}
@media(max-width:1350px) and (min-width:1025px){.header-inner{gap:17px}.brand{width:112px}.main-navigation{gap:14px}.main-navigation>a{font-size:14px}.header-phone{font-size:18px}.header-contact>span{font-size:10px}.header-quote{padding:12px 14px;font-size:12px;gap:10px}.header-quote .arrow{width:17px}}
@media(max-width:1024px){.header-inner{height:88px;gap:20px}.brand{width:135px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:40px;padding:4px;border:0;background:none;order:4;margin-left:0;flex-shrink:0}.menu-toggle>span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink);transition:transform .2s}.home .site-header:not(.is-scrolled) .menu-toggle>span:not(.sr-only){background:#fff}.home.menu-open .site-header .menu-toggle>span:not(.sr-only){background:var(--ink)}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.header-contact{order:2;margin-left:auto}.header-phone{font-size:21px}.header-contact>span{font-size:11px}.header-quote{order:3;margin-left:0;font-size:13px;padding:13px 18px}.main-navigation{display:none;position:fixed;left:0;right:0;top:88px;height:calc(100dvh - 88px);background:var(--paper);color:var(--ink);flex-direction:column;align-items:flex-start;gap:20px;margin:0;padding:30px;overflow-y:auto}.main-navigation.is-open{display:flex}.main-navigation>a{font-size:27px;font-weight:500}.admin-bar .main-navigation{top:120px;height:calc(100dvh - 120px)}.about-signoff{font-size:12px}.about-prose p{font-size:16px}.service-card h3{font-size:19px}.service-card>p{font-size:15px}.process-grid p{font-size:15px}.enquiry-form{padding:30px}.contact-copy h2{font-size:48px}}
@media(max-width:800px){.section-heading>p{font-size:16px;max-width:550px}.about-copy .eyebrow{font-size:12px}.about-prose p{font-size:16px}.hero-intro{font-size:17px}.hero-actions .button{font-size:14px;min-width:210px}.slide-description{font-size:17px}.slide-content>.eyebrow{font-size:11px}.hero-types{font-size:14px}.slider-bar p{font-size:11px;max-width:160px}.slider-pause{font-size:11px}.intro-strip p{font-size:14px}.intro-strip span{font-size:10px}.portfolio-overlay{font-size:17px}.review-card blockquote{font-size:16px}.review-author h3{font-size:16px}.footer-top>p{font-size:13px}.footer-bottom{font-size:11px}.service-aside>p:not(.eyebrow){font-size:16px}.contact-copy h2{font-size:52px}.enquiry-form label{font-size:14px}.enquiry-form .consent{font-size:13px}.main-navigation{top:88px;height:calc(100dvh - 88px)}.admin-bar .main-navigation{top:134px;height:calc(100dvh - 134px)}}
@media(max-width:540px){.header-inner{height:100px;display:grid;grid-template-columns:110px 1fr 34px;grid-template-rows:46px 25px;gap:3px 12px;padding-block:11px}.brand{grid-column:1;grid-row:1 / 3;width:110px;align-self:center}.header-contact{grid-column:2;grid-row:1;order:initial;align-self:end;margin:0;text-align:right}.header-phone{font-size:18px;letter-spacing:-.035em}.header-contact>span{display:none}.header-quote{grid-column:2;grid-row:2;justify-self:end;order:initial;padding:0;background:transparent!important;color:inherit!important;border:0;border-bottom:1px solid #b99a6b;border-radius:0;min-width:0;font-size:12px;gap:8px;line-height:1.5}.header-quote .arrow{width:16px;height:16px}.menu-toggle{grid-column:3;grid-row:1 / 3;order:initial;align-self:center}.main-navigation{top:100px;height:calc(100dvh - 100px);padding:30px 23px}.main-navigation>a{font-size:26px}.admin-bar .main-navigation{top:146px;height:calc(100dvh - 146px)}.hero-visual{min-height:850px;max-height:1100px}.hero-title{font-size:44px}.slide-content{padding-top:145px;padding-bottom:165px}.slide-content>.eyebrow{font-size:10px;padding:8px 11px;max-width:100%}.slide-description{font-size:16px;max-width:350px;line-height:1.8}.hero-actions{gap:12px}.hero-actions .button{font-size:14px;padding:15px 20px;min-width:215px}.hero-types{font-size:14px}.slider-bar p{font-size:11px;max-width:150px}.slider-count>span{font-size:11px}.slider-pause{font-size:10px}.intro-strip p{font-size:13px;line-height:1.65}.intro-strip span{font-size:10px}.section-heading>p{font-size:16px}.service-switch>a{font-size:21px}.service-switch>a span{font-size:12px}.service-grid{grid-template-columns:1fr;gap:23px}.service-image{aspect-ratio:1.65}.service-card{border-radius:17px;padding-bottom:23px}.service-card-body{margin:20px 23px 0}.service-card h3{font-size:21px;line-height:1.4}.service-card-body .arrow{width:22px;height:22px}.service-card>p{font-size:16px;line-height:1.85;margin:13px 23px 0}.card-index{font-size:12px;padding:4px 9px;left:13px;bottom:13px}.about-copy .eyebrow{font-size:12px}.about-prose p{font-size:16px}.about-signoff{font-size:12px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid h3{font-size:23px;margin-top:22px}.process-grid p{font-size:16px;line-height:1.9}.process-top>span{font-size:35px}.process-icon{width:44px;height:44px}.portfolio-grid{grid-template-columns:1fr;gap:23px}.portfolio-card{aspect-ratio:1.15;border-radius:17px}.portfolio-overlay{font-size:19px;padding:55px 22px 23px}.portfolio-expand{width:33px;height:33px;font-size:21px}.review-card blockquote{font-size:16px}.review-author h3{font-size:17px}.review-author p{font-size:13px}.review-source,.review-read-more{font-size:14px}.reviews-source-note{font-size:12px;max-width:210px}.join-inner p:not(.eyebrow){font-size:16px}.contact-copy h2{font-size:44px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-email{font-size:16px;overflow-wrap:anywhere}.enquiry-form{padding:26px 23px}.enquiry-form h3{font-size:24px}.enquiry-form label{font-size:14px}.enquiry-form .consent{font-size:13px}.form-intro{font-size:14px}.footer-top>p{font-size:12px}.footer-bottom{font-size:11px}.footer-top>a:last-child{font-size:22px}.service-hero .hero-intro,.prose{font-size:16px}.service-aside>p:not(.eyebrow){font-size:16px}.policy-page .prose h2{font-size:24px}.lightbox-bar>p{font-size:13px}.dialog-content .enquiry-form h3{font-size:27px}}
/* Motion is progressive enhancement: content remains available without JavaScript. */
@keyframes m2-slide-image{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes m2-slide-copy{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes m2-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes m2-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.hero-slide.is-active>img{animation:m2-slide-image 8s ease-out both}.hero-visual.is-paused .hero-slide>img{animation-play-state:paused}.reveal-ready{transition:opacity .75s ease var(--reveal-delay,0ms),translate .75s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms),transform .25s,border-color .25s}.reveal-ready:not(.is-visible){opacity:0;translate:0 25px}.reveal-ready.is-visible{opacity:1;translate:0 0}.m2-dialog[open]{animation:m2-modal-in .25s ease-out}.m2-dialog[open]::backdrop{animation:m2-backdrop-in .25s ease-out}.portfolio-card>img{transition:transform 1s cubic-bezier(.2,.65,.25,1)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1!important;translate:none!important}}
.services-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start}.service-catalogue{min-width:0}.services-layout .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-banner{position:sticky;top:126px;margin-top:85px}.service-banner a{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 45px #3c302b18}.service-banner img{width:100%;height:auto}.contact-details{margin-top:37px;padding-top:7px}.contact-details h3{font-size:29px;font-weight:650;letter-spacing:-.035em;border-left:4px solid var(--gold);padding-left:16px;line-height:1.15;margin-bottom:28px}.contact-details ul{padding:0;margin:0;list-style:none;display:grid;gap:21px}.contact-details li{display:flex;align-items:flex-start;gap:20px;font-size:18px;line-height:1.8;color:#807d78}.contact-icon{flex-shrink:0;color:var(--gold);margin-top:4px;width:25px;height:25px}.contact-details .details-email{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.contact-details a:hover{color:#8b6c40}.home .site-header.is-scrolled .main-navigation>a,.home.menu-open .site-header .main-navigation>a{color:var(--ink);transition:color .22s}
@media(max-width:1150px){.services-layout{grid-template-columns:minmax(0,1fr) 265px;gap:28px}.services-layout .service-card h3{font-size:18px}.services-layout .service-card-body{margin-inline:18px}.services-layout .service-card>p{margin-inline:18px;font-size:15px}.service-banner{top:120px}.contact-details li{font-size:17px;gap:16px}}
@media(max-width:1024px){.services-layout{grid-template-columns:1fr;gap:40px}.service-banner{position:static;max-width:350px;margin:0 auto;width:100%}.services-layout .service-card h3{font-size:20px}.services-layout .service-card>p{font-size:16px}.service-banner a{box-shadow:none}.contact-details{max-width:470px}}
@media(max-width:540px){.services-layout .service-grid{grid-template-columns:1fr}.services-layout .service-card h3{font-size:21px}.services-layout .service-card-body,.services-layout .service-card>p{margin-inline:23px}.contact-details h3{font-size:28px}.contact-details li{font-size:18px;gap:18px}.contact-icon{width:25px;height:25px}.service-banner{max-width:350px}}
@media(max-width:380px){.header-inner{grid-template-columns:90px 1fr 30px;gap:3px 10px}.brand{width:90px}.header-phone{font-size:17px}.header-quote{font-size:12px}}
@keyframes m2-section-in{from{opacity:.25;translate:0 22px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){.reveal-ready:not(.is-visible){opacity:1;translate:none}.reveal-ready.is-visible{animation:m2-section-in .75s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms) both;transition:transform .25s,border-color .25s}.service-panel:not([hidden]){animation:m2-slide-copy .4s ease both}}
.service-promo{display:block;max-width:340px;margin-top:35px;border-radius:var(--radius);overflow:hidden}.service-promo img{width:100%;height:auto}.service-aside:has(.service-promo){position:static}.footer-top{grid-template-columns:1fr .65fr 1.35fr;align-items:start;gap:70px;padding-block:15px 55px}.footer-brand>p{font-size:16px;color:#bfb8ae;margin:25px 0}.footer-brand>.button{font-size:14px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-links h3{font-size:21px;font-weight:600;margin-bottom:14px}.footer-links>a{font-size:16px;color:#c5bfb6}.footer-links>a:hover{color:var(--gold)}.footer-contact .contact-details{margin:0;padding:0}.footer-contact .contact-details h3{font-size:26px;margin-bottom:27px}.footer-contact .contact-details li{font-size:16px;color:#c5bfb6;gap:18px}.footer-contact .contact-details .details-email{color:#f7f2eb}.footer-contact a[href^="tel:"]{font-weight:700;font-size:19px}.footer-contact .contact-details a:hover{color:var(--gold)}
@media(max-width:1024px){.footer-top{grid-template-columns:1fr 1fr;gap:40px 60px}.footer-contact{grid-column:1/-1}.footer-contact .contact-details ul{grid-template-columns:1fr 1fr;gap:23px 40px}.footer-contact .contact-details li{font-size:17px}}
@media(max-width:800px){.service-aside:has(.service-promo){order:2}.service-prose{order:1}.service-promo{margin-inline:auto}}
@media(max-width:540px){.footer-top{grid-template-columns:1fr;gap:42px;padding-bottom:42px}.footer-contact{grid-column:auto}.footer-contact .contact-details ul{grid-template-columns:1fr;gap:22px}.footer-brand>p{font-size:16px}.footer-links>a{font-size:16px}.footer-contact .contact-details li{font-size:18px}.footer-contact a[href^="tel:"]{font-size:21px}.service-promo{max-width:350px}}
/* Button fill rises from below; the arrow moves as in the chosen reference. */
.button{position:relative;isolation:isolate;overflow:hidden;z-index:0;transition:color .22s,border-color .22s}.button::after{content:'';position:absolute;inset:0;z-index:-1;background:#927246;transform:translate3d(0,102%,0);transition:transform .55s cubic-bezier(.16,1,.3,1)}.button:is(:hover,:focus-visible){color:#fff;border-color:#927246;transform:none}.button:is(:hover,:focus-visible)::after{transform:translate3d(0,0,0)}.button .arrow{transition:transform .55s cubic-bezier(.16,1,.3,1)}.button:is(:hover,:focus-visible) .arrow{transform:translate3d(4px,0,0)}
/* Photograph tiles: zoom, soft overlay, rotating arrow and revealed description. */
.service-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:400px;padding:30px;border:0;border-radius:var(--radius);background:#292929;color:#fff;overflow:hidden}.service-card:hover{transform:none}.service-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,16,20,.12) 0%,rgba(16,16,20,.88) 78%);transition:opacity .55s ease}.service-card:is(:hover,:focus-visible)::after{opacity:.9}.service-image{position:absolute;inset:0;z-index:-2;aspect-ratio:auto;background:none}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}.service-card:is(:hover,:focus-visible) .service-image img{transform:scale(1.07)}.card-index{position:absolute;top:28px;right:26px;left:auto;bottom:auto;background:none;padding:0;color:#ffffffa0;font-size:13px;letter-spacing:.1em}.service-card-body{display:block;margin:0}.service-card h3{max-width:95%;font-size:26px;font-weight:500;line-height:1.2;color:white;letter-spacing:-.025em}.service-card-body>.arrow{position:absolute;top:24px;left:26px;width:44px;height:44px;padding:11px;margin:0;border:1px solid #ffffff65;border-radius:50%;color:white;transform:rotate(-45deg);transition:background-color .55s,border-color .55s,transform .6s cubic-bezier(.16,1,.3,1)}.service-card:is(:hover,:focus-visible) .service-card-body>.arrow{transform:rotate(0);background:var(--gold);border-color:var(--gold);color:#242424}.service-card>p{max-width:46ch;margin:16px 0 0;font-size:16px;line-height:1.65;color:#ffffffc9;opacity:0;transform:translate3d(0,10px,0);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}.service-card:is(:hover,:focus-visible)>p{opacity:1;transform:none}
@media(hover:none),(max-width:1024px){.service-card>p{opacity:1;transform:none}}
@media(max-width:900px){.service-card{min-height:385px;padding:27px}.service-card h3{font-size:24px}.service-card-body{margin:0}.service-card>p{margin:15px 0 0;font-size:16px}.service-card-body>.arrow{left:25px}.card-index{right:24px}}
@media(max-width:540px){.service-card{min-height:390px;padding:30px;border-radius:17px}.service-card h3{font-size:27px;line-height:1.2}.service-card-body{margin:0}.service-card>p{margin:17px 0 0;font-size:16px;line-height:1.75}.service-card-body>.arrow{width:44px;height:44px;top:26px;left:28px;margin:0;padding:11px}.card-index{top:31px;right:26px;left:auto;bottom:auto;font-size:13px;padding:0}.header-quote::after{display:none}}
@media(prefers-reduced-motion:reduce){.service-card>p{opacity:1;transform:none}.button::after,.service-image img,.service-card-body>.arrow{transition:none}}
/* Compact footer; the full contact information lives in Get in touch. */
.footer-top{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:40px;padding-block:0 35px}.footer-top>p{font-size:15px;color:#bfb8ae}.footer-top>a:last-child{font-size:21px;font-weight:650;justify-self:end}.site-footer{padding-top:40px}.footer-bottom{padding-block:20px}
@media(max-width:800px){.footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top>p{justify-self:end;font-size:13px}.footer-top>a:last-child{grid-column:1/-1;justify-self:start;font-size:21px}.footer-bottom{font-size:11px}}
@media(max-width:540px){.footer-top{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:28px}.footer-top>p{font-size:12px}.footer-top .brand{width:120px}.footer-top>a:last-child{font-size:21px}}

/* Collapse the description's layout space so the resting title sits at the bottom. */
.service-card-description{display:grid;grid-template-rows:1fr;opacity:1}
.service-card-description>div{min-height:0;overflow:hidden}
.service-card-description p{margin:0;padding-top:16px;max-width:46ch;font-size:16px;line-height:1.65;color:#ffffffc9}
@media(hover:hover) and (min-width:1025px){
    .service-card-description{grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s cubic-bezier(.22,.61,.36,1),opacity .4s ease}
    .service-card-description p{transform:translateY(10px);transition:transform .6s cubic-bezier(.22,.61,.36,1)}
    .service-card:is(:hover,:focus-visible) .service-card-description{grid-template-rows:1fr;opacity:1}
    .service-card:is(:hover,:focus-visible) .service-card-description p{transform:translateY(0)}
}
@media(max-width:540px){.service-card-description p{padding-top:17px;line-height:1.75}}
@media(prefers-reduced-motion:reduce){.service-card-description{grid-template-rows:1fr;opacity:1;transition:none}.service-card-description p{transform:none;transition:none}}
/* Keep the photographs bright; concentrate a softer shade behind the captions. */
.service-card::after{background:linear-gradient(180deg,rgba(16,16,20,.03) 0%,rgba(16,16,20,.12) 42%,rgba(16,16,20,.68) 100%)}
.service-card h3,.service-card-description p{text-shadow:0 2px 12px #0006}

/* Light process section separates the company introduction from the dark portfolio. */
.approach-section{background:var(--sand);color:var(--ink)}
.approach-section .eyebrow{color:#8b6c40}
.approach-section .process-grid p{color:var(--muted)}
.approach-section .process-grid li{border-top-color:var(--line)}
/* Form fields indicate focus with the existing underline, without a surrounding box. */
.enquiry-form :is(input:not([type=checkbox]):not([type=file]),select,textarea):is(:focus,:focus-visible){outline:none;box-shadow:none;border-bottom-color:#8b6c40}
/* Match native input/select geometry and align the underlines within each row. */
.enquiry-form :is(input:not([type=checkbox]):not([type=file]):not([type=hidden]),select){display:block;height:54px;min-height:54px;margin-top:8px;padding:14px 0;line-height:24px}

/* Keep interactive colours above the scrolled header's base link colour. */
.main-navigation>a:is(:hover,:focus-visible),
.home .site-header.is-scrolled .main-navigation>a:is(:hover,:focus-visible),
.home.menu-open .site-header .main-navigation>a:is(:hover,:focus-visible){color:var(--gold)}
.header-phone,.site-footer a[href^="tel:"]{text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .22s,text-decoration-color .22s}
.header-phone:is(:hover,:focus-visible),.site-footer a[href^="tel:"]:is(:hover,:focus-visible){color:var(--gold);text-decoration-color:currentColor}
.service-main-content{min-width:0}.service-group-links{margin-top:34px}.service-group-links>h2{font-size:29px;margin-bottom:24px}.group-service-link{display:flex;align-items:center;gap:22px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);margin-top:17px;transition:border-color .25s,background-color .25s}.group-service-link:hover{border-color:var(--gold);background:#f0ede780}.group-service-link>img{width:95px;height:95px;object-fit:cover;border-radius:10px;flex-shrink:0}.group-service-link>div{flex:1;min-width:0}.group-service-link h3{font-size:21px;font-weight:600}.group-service-link p{font-size:16px;line-height:1.8;margin-top:9px}.group-service-link>.arrow{color:#8b6c40;transition:transform .25s}.group-service-link:hover>.arrow{transform:translateX(4px)}.breadcrumbs{flex-wrap:wrap}
@media(max-width:800px){.service-main-content{order:1}}
@media(max-width:540px){.group-service-link{padding:20px;gap:15px;flex-wrap:wrap}.group-service-link>img{width:70px;height:70px}.group-service-link h3{font-size:19px}.group-service-link p{font-size:16px}.group-service-link>.arrow{margin-left:auto}.service-group-links>h2{font-size:27px}}
@media(min-width:541px) and (max-width:1024px){.services-section .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.review-avatar{overflow:hidden}.review-avatar>img{width:100%;height:100%;object-fit:cover}.project-eyebrow{margin-top:35px}.project-body{max-width:1000px}.project-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-detail-gallery img{width:100%;height:100%;object-fit:cover}.lightbox-description{font-size:15px;line-height:1.8;white-space:pre-line;color:#d5cec5;max-width:850px;margin:15px 0 0}
@media(max-width:800px){.project-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.project-detail-gallery{grid-template-columns:1fr}}
/* Reviews use the reference's compact link and a full review dialog. */
.review-card.is-collapsed blockquote{-webkit-line-clamp:8}.review-read-more{align-self:flex-start;padding:0;border:0;background:none;color:#82643a;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:24px;text-decoration:none}.review-read-more:hover{text-decoration:underline;text-underline-offset:3px}.review-author{border-top:1px solid var(--line);padding-top:22px}.review-dialog blockquote{margin:25px 0 0;font-size:17px;line-height:1.9;color:var(--ink);white-space:pre-line}.review-dialog h3{font-size:24px;font-weight:600}.review-dialog [data-full-review-location]{font-size:14px;margin-top:5px}.review-dialog .review-source{font-size:14px;border-top:1px solid var(--line);padding-top:22px;width:100%}
/* Placeholder hints are visually distinct from entered values. */
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#aaa49b;opacity:1;font-weight:400}
.enquiry-form select:required:invalid{color:#aaa49b}
.enquiry-form select option{color:var(--ink)}
/* Fill the viewport even on displays taller than the former 1100/1200px cap. */
.hero-full .hero-visual{height:100vh;height:100dvh;min-height:760px;max-height:none}
.admin-bar .hero-full .hero-visual{height:calc(100dvh - 32px)}
@media(max-width:782px){.admin-bar .hero-full .hero-visual{height:calc(100dvh - 46px)}}
@media(max-width:540px){.hero-full .hero-visual{min-height:780px}.hero-full .slide-content{padding-top:130px;padding-bottom:110px}}

/* Stagger slide copy on every entrance; navigation remains static. */
.hero-heading-line{display:block}
@media(prefers-reduced-motion:no-preference){
    .hero-slide.is-active .slide-content>.eyebrow{animation:m2-slide-copy .65s cubic-bezier(.16,1,.3,1) both}
    .hero-slide.is-active .hero-heading-line{animation:m2-slide-copy .8s .12s cubic-bezier(.16,1,.3,1) both}
    .hero-slide.is-active .hero-heading-accent{animation:m2-slide-copy .8s .26s cubic-bezier(.16,1,.3,1) both}
    .hero-slide.is-active .slide-description{animation:m2-slide-copy .75s .4s cubic-bezier(.16,1,.3,1) both}
    .hero-slide.is-active .hero-actions>.button:nth-child(1){animation:m2-slide-copy .7s .56s cubic-bezier(.16,1,.3,1) both}
    .hero-slide.is-active .hero-actions>.button:nth-child(2){animation:m2-slide-copy .7s .7s cubic-bezier(.16,1,.3,1) both}
}

/* Review entrances only change opacity and cannot shift or overflow the track. */
@keyframes m2-review-fade{from{opacity:0}to{opacity:1}}
.review-track{overflow-y:hidden}
.review-card{translate:none}
@media(prefers-reduced-motion:no-preference){.review-card.review-fade-in{animation:m2-review-fade .65s ease-out var(--review-delay,0ms) both}}
/* Service landings: generous type and a quiet, compact content layout. */
.service-hero .breadcrumbs{font-size:14px;flex-wrap:wrap}.service-hero .eyebrow{font-size:13px}.service-hero .hero-intro{font-size:19px;line-height:1.75;max-width:540px}.service-body{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:clamp(40px,6vw,100px)}.service-prose{font-size:18px;line-height:1.85;max-width:780px}.service-prose h2{font-size:clamp(27px,3vw,38px);margin-top:44px;line-height:1.25}.service-prose ul{list-style:none;padding:0;margin:24px 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.service-prose li{padding:15px 0;border-bottom:1px solid var(--line,#d8d3c9);font-size:17px}.service-gallery{padding-bottom:20px}.service-gallery img{height:300px}.service-aside .service-promo{max-width:220px}.service-aside>p:not(.eyebrow){font-size:16px;line-height:1.8}
@media(max-width:800px){.service-body{grid-template-columns:1fr;gap:40px}.service-body .service-aside{position:static;order:2}.service-body .service-prose{order:1}.service-hero .hero-intro{font-size:17px}.service-prose{font-size:17px}.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery img{height:250px}}
@media(max-width:520px){.service-prose ul{grid-template-columns:1fr}.service-gallery{grid-template-columns:1fr}.service-gallery img{height:320px}.service-hero .breadcrumbs{font-size:13px}}
/* Service pages: editorial photography, a distinct scope section and calm detail blocks. */
.service-landing h2{font-size:clamp(32px,3.5vw,52px);line-height:1.15}.service-section-number{display:block;color:#a08350;font-size:15px;font-weight:600;letter-spacing:.1em;margin-bottom:26px}.service-richtext{font-size:18px;line-height:1.85;color:var(--muted)}.service-richtext p+p{margin-top:20px}.service-richtext ul{padding-left:20px}.service-richtext a{text-decoration:underline;text-underline-offset:4px}.service-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.service-story-copy h2{margin-bottom:27px}.service-story-copy .text-link{margin-top:30px;font-size:16px}.service-story-photo,.service-detail-photo{margin:0;position:relative;border-radius:22px;overflow:hidden;background:var(--sand)}.service-story-photo{height:480px}.service-story-photo img,.service-detail-photo img{width:100%;height:100%;object-fit:cover}.service-photo-mark{position:absolute;bottom:22px;left:25px;font-size:54px;line-height:1;letter-spacing:-.08em;font-weight:800;color:#fff;text-shadow:0 2px 22px #0004}.service-photo-mark>span{font-size:16px;vertical-align:top;margin-left:7px;letter-spacing:0}.service-scope{background:var(--charcoal);color:var(--paper)}.service-scope .service-section-number{color:var(--gold)}.service-scope-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.service-scope-heading h2{max-width:700px}.service-scope-heading .service-richtext{color:#d0cbc1;max-width:400px}.service-scope-heading .service-richtext:empty{display:none}.service-inclusions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-inclusion{padding:30px 28px;min-height:195px;border:1px solid #ffffff1c;border-radius:17px;background:#ffffff04;transition:background .3s,border-color .3s}.service-inclusion-top{display:flex;align-items:center;justify-content:space-between;color:var(--gold);margin-bottom:30px}.service-inclusion-top>span{font-size:13px;letter-spacing:.08em;opacity:.8}.service-inclusion h3{font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.45;max-width:300px}.service-inclusion:hover{background:#ffffff09;border-color:#b99a6b80}.service-details{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,100px);align-items:center}.service-detail-photo{height:640px}.service-detail-block+.service-detail-block{margin-top:36px;border-top:1px solid var(--line);padding-top:36px}.service-detail-block .service-section-number{margin-bottom:15px}.service-detail-block h2{font-size:clamp(28px,2.5vw,38px);margin-bottom:20px;text-wrap:pretty}.service-details-without-photo .service-detail-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:70px}.service-details-without-photo .service-detail-block+.service-detail-block{margin:0;border:0;padding:0}.service-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.service-gallery-hint{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--muted)}.service-photo-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}.service-photo-track::-webkit-scrollbar{display:none}.service-gallery-photo{position:relative;height:340px;border-radius:17px;overflow:hidden;scroll-snap-align:start}.service-gallery-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-photo-expand{position:absolute;right:17px;bottom:17px;width:42px;height:42px;border-radius:50%;background:#faf9f6ed;display:grid;place-items:center;transition:background .3s,color .3s}.service-photo-expand .arrow{transform:rotate(-45deg)}.service-gallery-photo:hover>img{transform:scale(1.045)}.service-gallery-photo:hover .service-photo-expand{background:var(--gold)}.service-invite{padding-block:90px}.service-invite-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px;border:1px solid var(--line);border-radius:23px;padding:50px 60px;background:var(--sand)}.service-invite-copy h2{margin-bottom:20px;max-width:650px}.service-invite-copy h2 br{display:none}.service-invite-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:var(--muted);max-width:610px}.service-invite-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:30px}.service-invite-phone{font-size:22px;font-weight:700;transition:color .25s}.service-invite-phone:hover{color:#927443}.service-invite-banner{display:block;width:165px;flex-shrink:0}.service-invite-banner img{width:100%;max-height:290px;object-fit:contain;border-radius:8px}
/* Review navigation uses arrows and touch scrolling without a visible scrollbar. */
.review-track{scrollbar-width:none;-ms-overflow-style:none}.review-track::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:1000px){.service-story{gap:40px}.service-story-photo{height:430px}.service-inclusions{grid-template-columns:repeat(2,minmax(0,1fr))}.service-details{gap:40px}.service-detail-photo{height:650px}.service-invite-inner{padding:40px}.service-gallery-photo{height:290px}}
@media(max-width:800px){.service-story,.service-details{grid-template-columns:1fr}.service-story-copy{max-width:650px}.service-story-photo{height:430px}.service-detail-photo{height:420px}.service-detail-copy{max-width:700px}.service-scope-heading{margin-bottom:32px}.service-details-without-photo .service-detail-copy{display:block}.service-details-without-photo .service-detail-block+.service-detail-block{margin-top:36px;padding-top:36px;border-top:1px solid var(--line)}.service-invite-inner{gap:30px;padding:35px}.service-invite-banner{width:140px}.service-invite-actions{gap:22px}.service-photo-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:540px){.service-landing h2{font-size:32px}.service-story{gap:30px}.service-richtext{font-size:17px;line-height:1.85}.service-section-number{font-size:13px;margin-bottom:20px}.service-story-photo{height:360px}.service-inclusions{grid-template-columns:1fr;gap:12px}.service-inclusion{padding:23px;min-height:150px}.service-inclusion-top{margin-bottom:20px}.service-inclusion h3{font-size:20px;max-width:none}.service-inclusion-top svg{width:32px;height:32px}.service-detail-photo{height:350px}.service-detail-block h2{font-size:29px}.service-gallery-hint{display:none}.service-photo-track{grid-auto-columns:85%;gap:15px}.service-gallery-photo{height:330px}.service-invite{padding-block:60px}.service-invite-inner{grid-template-columns:1fr;padding:28px 24px;gap:30px}.service-invite-copy>p:not(.eyebrow){font-size:17px}.service-invite-banner{width:125px;justify-self:center}.service-invite-phone{font-size:21px}.service-invite-actions .button{font-size:14px;gap:18px}.service-invite-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){.service-inclusion,.service-gallery-photo>img{transition:none}}
.service-gallery-controls{display:flex;gap:10px;align-items:center}.service-gallery-controls .service-gallery-hint{margin-right:15px}.service-gallery-controls>button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #b8ad9c;border-radius:50%;background:transparent;transition:background .25s,border-color .25s}.service-gallery-controls>button:hover{background:var(--gold);border-color:var(--gold)}
/* Contact columns keep their own height; compact information balances the form. */
.contact-grid{align-items:start}
.contact-grid>.enquiry-form{align-self:start}
.contact-copy h2{font-size:clamp(38px,3.35vw,48px);line-height:1.16;max-width:550px}
.contact-copy h2 .contact-title-main{display:block}
.contact-copy h2 em{display:block;font-style:normal}
.contact-copy>.eyebrow{margin-bottom:23px}
.contact-copy>p:not(.eyebrow){max-width:440px;margin-top:22px;font-size:17px;line-height:1.75}
.contact-copy .contact-details{margin-top:28px;padding-top:0;max-width:none}
.contact-copy .contact-details h3{font-size:26px;margin-bottom:22px;padding-left:14px}
.contact-copy .contact-details ul{gap:15px}
.contact-copy .contact-details li{gap:14px;font-size:17px;line-height:1.65;min-width:0}
.contact-copy .contact-icon{width:23px;height:23px;margin-top:3px}
.contact-copy .contact-details .contact-detail-phone a{font-size:20px;font-weight:600;color:var(--ink)}
.contact-copy .contact-details .contact-detail-phone a:hover{color:#8b6c40}
@media(min-width:1100px){.contact-copy .contact-details ul{grid-template-columns:1fr 1fr;grid-template-areas:"address hours" "email email" "phone phone";gap:17px 24px}.contact-detail-address{grid-area:address}.contact-detail-email{grid-area:email}.contact-detail-phone{grid-area:phone}.contact-detail-hours{grid-area:hours}}
@media(max-width:540px){.contact-copy h2{font-size:38px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-copy .contact-details{margin-top:27px}.contact-copy .contact-details h3{font-size:26px}.contact-copy .contact-details li{font-size:17px}}
/* Mobile WhatsApp shortcut follows the viewport and uses the contact phone. */
.mobile-whatsapp{display:none}
@media(max-width:767px){.mobile-whatsapp{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#25b865;color:#fff;box-shadow:0 5px 22px #0003;border:1px solid #ffffff50;transition:background .2s,transform .2s}.mobile-whatsapp:hover,.mobile-whatsapp:focus-visible{background:#15984e;transform:translateY(-2px)}.mobile-whatsapp svg{display:block}.modal-open .mobile-whatsapp,.menu-open .mobile-whatsapp{visibility:hidden;pointer-events:none}.site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.mobile-whatsapp{transition:none}}
/* Simplify the hero on phones; retain the full controls on iPad-sized screens. */
@media(max-width:640px){.hero-full .hero-actions .button-outline,.hero-full .full-slider-controls{display:none}}
/* Optional service pricing: no empty section when the price is missing. */
.service-landing .service-hero{padding-bottom:80px}
.service-pricing{padding-bottom:85px}
.service-pricing-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center;padding:45px 50px;background:var(--sand);border:1px solid var(--line);border-radius:22px}
.service-pricing-copy h2{font-size:clamp(30px,3vw,44px)}
.service-pricing-copy>p{font-size:17px;line-height:1.8;margin-top:20px;max-width:620px}
.service-pricing-action{text-align:right;min-width:0}
.service-price{font-size:clamp(30px,3vw,46px);font-weight:600;letter-spacing:-.035em;color:#927443;margin-bottom:24px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:700px){.service-landing .service-hero{padding-bottom:55px}.service-pricing{padding-bottom:60px}.service-pricing-inner{grid-template-columns:1fr;padding:30px 25px;gap:28px}.service-pricing-action{text-align:left}.service-price{font-size:34px;margin-bottom:22px}}
/* Certification artwork stays in its original colours on compact light panels. */
.footer-credentials{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:22px;border-top:1px solid #49443d}
.footer-certifications{display:grid;grid-template-columns:repeat(3,150px);gap:14px}
.footer-certification{height:108px;padding:9px 10px 8px;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.footer-certification img{width:125px;height:65px;object-fit:contain;min-height:0}
.footer-certification>span{font-size:11px;line-height:1.3;font-weight:600;color:#272727;text-align:center}
.footer-company{margin:0;color:#c6c0b7;font-size:14px;line-height:1.6}
.footer-company>span{display:block}.footer-company>strong{font-size:21px;color:var(--paper);font-weight:600;letter-spacing:.04em}
@media(max-width:800px){.footer-credentials{gap:24px;flex-wrap:wrap}.footer-certifications{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:478px}.footer-company{display:flex;align-items:center;gap:15px}.footer-company>strong{font-size:18px}}
@media(max-width:540px){.footer-credentials{padding-block:22px;gap:20px}.footer-certifications{gap:9px}.footer-certification{padding:7px 5px;height:104px}.footer-certification img{width:100%;height:60px}.footer-certification>span{font-size:10px}.footer-company{font-size:13px}}
/* A smaller, right-aligned credentials group without light background panels. */
.footer-credentials{justify-content:flex-end;padding-block:18px}
.footer-credentials-group{display:flex;align-items:center;justify-content:flex-end;gap:26px;max-width:100%}
.footer-certifications{grid-template-columns:repeat(3,92px);gap:10px;width:auto;max-width:none}
.footer-certification{height:78px;padding:0;border-radius:0;background:transparent;gap:5px;isolation:isolate}
.footer-certification img{width:76px;height:50px;object-fit:contain}
.footer-certification>span{color:#c6c0b7;font-size:10px;font-weight:400;line-height:1.3}
.footer-certification-gas img{width:50px;height:50px;clip-path:inset(6% 9% 6% 9% round 2px)}
.footer-certification-niceic img{mix-blend-mode:screen}
.footer-certification-insurance img{width:50px;height:50px;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.footer-company{display:block;font-size:12px;line-height:1.7;text-align:right}
.footer-company-name{display:block;color:var(--paper);font-size:13px;font-weight:600;letter-spacing:.045em;margin-bottom:5px}
.footer-company p{margin:0;color:#c6c0b7;font-size:12px}
.footer-company strong{font-size:17px;color:var(--paper);font-weight:600;letter-spacing:.03em}
@media(max-width:700px){.footer-credentials-group{flex-direction:column;align-items:flex-end;gap:16px}.footer-certifications{grid-template-columns:repeat(3,84px);gap:10px}.footer-company{font-size:12px}.footer-company-name{font-size:12px}}
/* Keep the compact credentials together on the left. */
.footer-credentials,.footer-credentials-group{justify-content:flex-start}
.footer-company{text-align:left}
.footer-certification{isolation:auto}
@media(max-width:700px){.footer-credentials-group{align-items:flex-start}}
/* Mobile navigation opens as a soft curtain; links enter in a short cascade. */
@keyframes m2-menu-panel{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes m2-menu-link{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px) and (prefers-reduced-motion:no-preference){
    .main-navigation.is-open{animation:m2-menu-panel .4s cubic-bezier(.16,1,.3,1) both}
    .main-navigation.is-open>a{animation:m2-menu-link .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.08s + var(--menu-index,0)*.05s)}
    .main-navigation>a:nth-child(2){--menu-index:1}
    .main-navigation>a:nth-child(3){--menu-index:2}
    .main-navigation>a:nth-child(4){--menu-index:3}
    .main-navigation>a:nth-child(5){--menu-index:4}
}
/* Native button padding must not offset the SVG inside small round controls. */
.lightbox-bar>button,.slider-buttons>button,.service-gallery-controls>button{padding:0;flex-shrink:0;line-height:1}
.lightbox-bar>button>.arrow,.slider-buttons>button>.arrow,.service-gallery-controls>button>.arrow{display:block}
.lightbox-bar>p{min-width:0;overflow-wrap:anywhere}
/* Keep blur on a dedicated layer: a filtered header would re-anchor its fixed mobile menu. */
.site-header{isolation:isolate;--header-foreground:var(--ink)}
.site-header,.home .site-header,.home .site-header.is-scrolled,.home.menu-open .site-header{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:color .22s}
.site-header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(250,249,246,.97);border-bottom:1px solid #dedad380;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:1;transition:opacity .22s ease}
.home .site-header{--header-foreground:#fff}
.home .site-header::before{opacity:0}
.home .site-header.is-scrolled,.home.menu-open .site-header{--header-foreground:var(--ink)}
.home .site-header.is-scrolled::before,.home.menu-open .site-header::before{opacity:1}
.site-header .brand{display:grid;align-items:center}
.site-header .brand img{display:block;grid-area:1/1;width:100%;transition:opacity .22s ease}
.site-header .header-phone{color:var(--header-foreground)}
.site-header .header-phone:is(:hover,:focus-visible){color:var(--gold)}
@media(prefers-reduced-motion:reduce){.site-header,.site-header::before,.site-header .brand img{transition:none}}
