@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&display=swap');
:root{--ink:#20231f;--muted:#666b64;--line:#d8dcd5;--paper:#fff;--soft:#f1f3ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #436537;outline-offset:6px}img{display:block;width:100%}header{height:104px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.brand{width:208px}.brand img{filter:brightness(0);height:auto;max-height:65px;object-fit:contain}nav{display:flex;gap:32px;align-items:center}nav a{font-size:14px;padding:8px 0;position:relative}nav a::after{content:'';height:1px;position:absolute;bottom:3px;left:0;right:100%;background:var(--ink);transition:right .25s}nav a:hover::after,nav a[aria-current]::after{right:0}.menu-toggle{display:none}.hero{height:calc(100svh - 104px);min-height:460px;max-height:1000px;position:relative;background:#647269}.hero>img{height:100%;object-fit:cover}.hero::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6))}.hero-bottom{position:absolute;bottom:40px;left:4%;right:4%;display:flex;align-items:end;justify-content:space-between;z-index:1;color:#fff}.hero h1{font-size:clamp(40px,5.4vw,84px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0}.hero-bottom a{display:flex;gap:40px;align-items:center;font-size:14px}.hero-bottom a span{font-size:27px}.wrap{width:92%;max-width:1700px;margin:0 auto}.intro{padding:100px 0 120px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:500;margin:0 0 38px}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:9%}h2{font-size:clamp(34px,3.6vw,56px);font-weight:400;line-height:1.14;letter-spacing:-.045em;margin:0}p{margin:0 0 24px}.intro-grid p{max-width:530px;color:var(--muted);font-size:18px;line-height:1.7}.text-link{display:inline-flex;gap:35px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:14px}.text-link span{font-size:21px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.project{display:block;overflow:hidden}.project img{aspect-ratio:1.5;object-fit:cover;transition:transform .65s}.project:hover img{transform:scale(1.025)}.project>div{display:flex;justify-content:space-between;align-items:center;padding:17px 0;gap:16px}.project h3{font-size:22px;font-weight:400;letter-spacing:-.03em;margin:0}.project span{font-size:13px;color:var(--muted)}
@media(max-width:800px){header{height:84px}.brand{width:170px}.menu-toggle{display:flex;gap:18px;align-items:center;background:none;border:0;padding:12px 0;font-size:14px}nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:20px 4% 35px;flex-direction:column;align-items:start;gap:10px}nav.open{display:flex}nav a{font-size:22px}.hero{height:calc(85svh - 84px);min-height:450px}.hero-bottom{bottom:30px;align-items:start;flex-direction:column;gap:24px}.intro{padding:65px 0}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-grid p{font-size:16px}.project-grid{grid-template-columns:1fr}.section-head{align-items:start}.section-head h2{font-size:34px}.project h3{font-size:21px}.text-link{gap:15px;white-space:nowrap}.eyebrow{font-size:12px}}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:10px}.featured{padding-bottom:80px}.clients{padding:60px 0 75px;border-top:1px solid var(--line)}.client-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.client-head .eyebrow{margin:0}.client-head p{margin:0;color:var(--muted);font-size:14px}.logo-window{overflow:hidden}.logo-track{display:flex;width:max-content;animation:marquee 40s linear infinite}.logo-group{display:flex;align-items:center;gap:75px;padding-right:75px}.logo-group img{width:140px;height:85px;object-fit:contain;filter:grayscale(1);opacity:.8}@keyframes marquee{to{transform:translateX(-50%)}}.scope{padding:90px 0 95px;background:var(--soft)}.scope .eyebrow{margin-bottom:20px}.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px}.service-card{padding:0 30px;border-left:1px solid #cbd1c8;position:relative}.service-card:first-child{padding-left:0;border:0}.service-card h3{font-weight:400;font-size:25px;line-height:1.2;letter-spacing:-.025em;max-width:240px;min-height:62px;margin:30px 0 20px}.service-card p{font-size:15px;line-height:1.7;color:var(--muted)}.service-arrow{font-size:25px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;padding:110px 0}.faq .eyebrow{margin-bottom:22px}.faq h2{margin-bottom:30px}.faq>div>p:not(.eyebrow){color:var(--muted);font-size:15px;margin-bottom:12px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:17px;padding:24px 0}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:400;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{max-width:590px;color:var(--muted);font-size:16px;padding-right:25px;margin:0 0 25px}footer{background:#20271f;color:#f8faf7;padding:75px 0 25px}footer .eyebrow{color:#b9c3b5}.footer-title{font-size:clamp(38px,6.2vw,94px);line-height:1.12;letter-spacing:-.05em;display:block}.footer-title span{display:inline-block;margin-left:3%}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr auto;gap:25px;margin:70px 0 60px;font-size:16px}.footer-grid p{margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:24px;font-size:12px;color:#bdc7b9;border-top:1px solid #4b5546;padding-top:24px}.page-title{padding:90px 0 65px}.page-title .eyebrow{margin-bottom:25px}.page-title h1{font-size:clamp(44px,6vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.06;margin:0}.lede{max-width:640px;color:var(--muted);font-size:18px;margin:30px 0 0}.wide-image img{max-height:650px;object-fit:cover}.all-projects{padding-bottom:95px}.service-list{padding-bottom:95px}.service-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center;padding:60px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.service-detail>img{height:440px;object-fit:cover}.service-detail:nth-child(2)>img{object-fit:contain;background:#f4f4f4}.service-detail h2{margin-bottom:30px}.service-detail p:not(.eyebrow){color:var(--muted);margin-top:25px}.gallery-grid{columns:3;column-gap:22px;padding-bottom:80px}.gallery-item{display:block;width:100%;padding:0;background:none;border:0;cursor:zoom-in;margin:0 0 22px;position:relative;break-inside:avoid;overflow:hidden}.gallery-item img{transition:transform .6s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;bottom:14px;right:14px;background:#fff;color:var(--ink);font-size:13px;padding:6px 12px;opacity:0;transition:opacity .2s}.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1}.lightbox{border:0;background:#172016;color:#fff;max-width:96vw;width:1400px;max-height:95svh;padding:55px 25px 20px}.lightbox::backdrop{background:rgba(0,0,0,.85)}.lightbox img{max-height:75svh;object-fit:contain}.lightbox p{font-size:14px;text-align:center;margin:15px 0 0}.lightbox-close{position:absolute;right:25px;top:10px;background:none;color:#fff;border:0;font-size:16px;cursor:pointer}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12%;padding:25px 0 110px}.contact-email{font-size:clamp(21px,2.7vw,40px);letter-spacing:-.035em;overflow-wrap:anywhere}.contact-note{max-width:560px;margin-top:30px;color:var(--muted)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:30px}.contact-details .eyebrow{margin-bottom:20px}.contact-grid .eyebrow{margin-bottom:16px}.project-cover img{max-height:850px;object-fit:cover}.project-credit{font-size:14px!important}.project-images{display:grid;gap:28px}.project-images img{max-height:1050px;object-fit:contain}.project-back{padding:65px 0 90px}
@media(max-width:1000px){.scope-grid{grid-template-columns:1fr 1fr;gap:45px 0}.service-card:nth-child(3){padding-left:0;border:0}.faq{gap:6%}.footer-grid{font-size:14px}.service-detail>img{height:350px}.contact-grid{grid-template-columns:1fr;gap:50px}.contact-details{max-width:600px}}
@media(max-width:800px){.clients{padding:40px 0}.client-head{flex-wrap:wrap}.client-head .eyebrow{width:100%}.logo-group{gap:45px;padding-right:45px}.logo-group img{width:110px;height:70px}.scope{padding:60px 0}.scope-grid{margin-top:40px}.service-card{padding:0 18px}.service-card h3{font-size:22px}.service-card p{font-size:14px}.faq{grid-template-columns:1fr;gap:40px;padding:70px 0}.faq h2 br{display:none}summary{font-size:16px;padding:20px 0}.page-title{padding:55px 0 45px}.lede{font-size:16px}.service-detail{grid-template-columns:1fr;gap:30px;padding:35px 0}.service-detail>img{height:auto;max-height:420px}.gallery-grid{columns:2;column-gap:12px}.gallery-item{margin-bottom:12px}.gallery-item span{display:none}.footer-grid{grid-template-columns:1fr;gap:20px;margin:40px 0}.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}.contact-grid{padding-bottom:70px}.lightbox{padding:55px 12px 15px}.project>div{flex-wrap:wrap;gap:3px}.project span{font-size:12px}.wide-image img{min-height:280px}.scope .section-head{flex-wrap:wrap}.hero>img{object-position:53% center}}
/* Compact navigation with a transparent treatment over the homepage hero. */
header{height:64px;padding:0 2%}.brand{width:208px}nav{gap:28px}nav a{font-weight:500}nav a::after{background:currentColor}nav .nav-cta{border:1px solid currentColor;padding:11px 18px;margin-left:4px;white-space:nowrap}nav .nav-cta::after{display:none}nav .nav-cta:hover{background:var(--ink);color:#fff}.home-page header{position:absolute;inset:0 0 auto;background:transparent;color:#fff}.home-page .brand img{filter:none}.home-page .hero{height:100svh}.home-page .hero::before{content:'';position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(rgba(15,25,22,.72),rgba(15,25,22,.28) 55%,transparent);pointer-events:none}.home-page nav .nav-cta:hover{background:#fff;color:var(--ink)}.home-page header a:focus-visible,.home-page .menu-toggle:focus-visible{outline-color:#fff}.menu-toggle{color:inherit}
@media(max-width:1000px) and (min-width:801px){header .brand{width:170px}header nav{gap:16px}header nav .nav-cta{padding:10px 12px}}
@media(max-width:800px){header{height:72px;padding:0 4%}.brand{width:170px}header nav{top:72px;color:var(--ink);gap:10px}header nav .nav-cta{margin:12px 0 0;font-size:16px}.home-page .hero{height:85svh;min-height:450px}.home-page header nav a:focus-visible{outline-color:var(--ink)}.home-page nav .nav-cta:hover{background:var(--ink);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.logo-window{overflow:auto}.logo-track>.logo-group[aria-hidden]{display:none}}
/* Persistent navigation and selected project gallery. */
body{padding-top:64px}.home-page{padding-top:0}header,.home-page header{position:fixed;inset:0 0 auto;transition:background .25s,box-shadow .25s;color:var(--ink)}.home-page header{color:#fff}header.is-scrolled,.home-page header.is-scrolled{background:#151e18;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.12)}header.is-scrolled .brand img{filter:none}header.is-scrolled .nav-cta:hover{background:white;color:#151e18}header.is-scrolled a:focus-visible{outline-color:white}
.featured.wrap{width:100%;max-width:none;padding:80px 4%;background:#141c17;color:#f6f7f5}.featured .section-head{max-width:1700px;margin:0 auto 38px}.featured h2{font-size:clamp(30px,3vw,44px)}.featured .text-link{border-color:#8f9c90}.featured .project-grid{max-width:1700px;margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.featured .project img{aspect-ratio:1.9;object-fit:cover}.featured .project>div{border-top:1px solid #354039;margin-top:12px;padding:12px 0 0;align-items:start;flex-direction:column;gap:5px}.featured .project h3{font-size:20px}.featured .project span{color:#b1bdb1;font-size:14px}.featured .project:hover h3{text-decoration:underline;text-underline-offset:5px}#featured{scroll-margin-top:64px}
@media(max-width:1000px){.featured .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){body{padding-top:72px}.home-page{padding-top:0}header.is-scrolled nav{color:var(--ink)}header.is-scrolled nav a:focus-visible{outline-color:var(--ink)}.featured.wrap{padding:55px 4%}.featured .project-grid{gap:30px 18px}#featured{scroll-margin-top:72px}}
@media(max-width:560px){.featured .project-grid{grid-template-columns:1fr}.featured .section-head{flex-wrap:wrap;gap:18px}}

.featured .section-head .eyebrow{margin-bottom:20px}
.home-page .hero>.hero-video{display:block;width:100%;height:100%;object-fit:cover}
.featured .project-preview-video{display:block;width:100%;aspect-ratio:1.9;object-fit:cover}
.featured .project img,.featured .project:hover img,.featured .project-preview-video,.featured .project:hover .project-preview-video{transform:none;transition:none}

/* Project case studies: hero, facts, story and paired clickable images. */
.project-hero{position:relative;height:calc(90svh - 64px);min-height:420px;max-height:1000px;background:#20271f;color:white}
.project-hero .project-hero-image{width:100%;height:100%;margin:0}
.project-hero .project-hero-image img{width:100%;height:100%;object-fit:cover;transform:none}
.project-hero .project-hero-image video{display:block;width:100%;height:100%;object-fit:cover;transform:none}
.project-hero .vimeo-bg{position:relative;overflow:hidden;container-type:size}
.project-hero .vimeo-bg-frame{position:absolute;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity .8s ease}
.project-hero .vimeo-bg.is-playing .vimeo-bg-frame{opacity:1}
.project-hero::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));pointer-events:none}
.project-hero-title{position:absolute;bottom:40px;left:4%;z-index:1;pointer-events:none}
.project-hero-title .eyebrow{margin-bottom:16px}
.project-hero-title h1{font-size:clamp(44px,6vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0}
.project-facts{display:grid;grid-template-columns:1fr .6fr 1.4fr;border-bottom:1px solid var(--line);padding:28px 0}
.project-facts>div{padding:0 28px;border-left:1px solid var(--line)}
.project-facts>div:first-child{padding-left:0;border:0}
.project-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
.project-facts dd{margin:0}
.project-story{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:70px 0}
.project-story .eyebrow{margin-bottom:20px}
.project-story h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}
.project-story p{max-width:65ch;color:var(--muted)}
.project-story .project-deliverables h2{font-size:24px;letter-spacing:-.025em}
.project-deliverables ul{list-style:none;padding:0;margin:0 0 30px;border-top:1px solid var(--line)}
.project-deliverables li{padding:14px 0;border-bottom:1px solid var(--line)}
.project-page .project-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.project-images .gallery-item{margin:0;aspect-ratio:1.5}
.project-images .gallery-item img{width:100%;height:100%;max-height:none;object-fit:cover}
@media(max-width:600px){.project-hero{height:70svh;min-height:360px}.project-hero-title{bottom:28px}.project-facts{grid-template-columns:1fr 1fr;gap:20px}.project-facts>div{padding:0;border:0}.project-facts>div:last-child{grid-column:1/-1}.project-story{grid-template-columns:1fr;gap:28px;padding:45px 0}.project-page .project-images{gap:8px}}

/* Keep the whole footer message visible while scroll fills each character. */
.footer-title .footer-word{display:inline-block;margin:0;white-space:nowrap}
.footer-title .footer-character{display:inline;margin:0;color:rgba(248,250,247,.22);transition:color 100ms linear}
.footer-title .footer-character.is-filled{color:#f8faf7}
@media(prefers-reduced-motion:reduce){.footer-title .footer-character{color:#f8faf7;transition:none}}
.home-page .intro-grid h2 .footer-word{display:inline-block;white-space:nowrap}
.home-page .intro-grid h2 .footer-character{color:rgba(32,35,31,.22);transition:color 100ms linear}
.home-page .intro-grid h2 .footer-character.is-filled{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.home-page .intro-grid h2 .footer-character{color:var(--ink);transition:none}}

/* Scale individual client logos without changing the row layout. */
.logo-group img{transition:transform 200ms ease}
.logo-window{padding-block:8px}
@media (hover:hover){.logo-group img:hover{transform:scale(1.1)}}

/* Fill the visible first screen, including mobile browser viewport changes. */
.home-page .hero{height:100vh;height:100dvh;min-height:0;max-height:none}
.home-page .hero>img{width:100%;height:100%;object-fit:cover}

/* Full-width gallery: natural image proportions, equal-height rows. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gallery-page .justified-gallery{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;width:100%;background:#fff}
.gallery-row{display:flex;gap:2px;width:100%;min-width:0}
.justified-gallery .gallery-item{display:block;flex:none;min-width:0;margin:0;padding:0;border:0;position:relative;background:#fff;overflow:hidden;opacity:1;transform:none;transition:opacity 500ms ease var(--reveal-delay,0ms),transform 500ms ease var(--reveal-delay,0ms)}
.justified-gallery .gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transform:none;transition:none}
.justified-gallery .gallery-item:hover img{transform:none}
.justified-gallery .gallery-item>span{display:none}
.justified-gallery .gallery-item.reveal-pending{opacity:0;transform:translateY(14px)}
.justified-gallery .gallery-item:focus-visible{outline:3px solid white;outline-offset:-6px;box-shadow:inset 0 0 0 8px #151a16;z-index:1}
@media(prefers-reduced-motion:reduce){.justified-gallery .gallery-item.reveal-pending{opacity:1;transform:none}}

/* Transparent image viewer with controls outside the photograph. */
.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 80px 44px;background:transparent;overflow:hidden;box-sizing:border-box}
.lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;gap:8px 16px}
.lightbox::backdrop{background:rgba(0,0,0,.78)}
.lightbox img{grid-column:1/-1;width:100%;height:100%;min-height:0;max-height:none;object-fit:contain}
.lightbox p{margin:0;text-align:left;font-size:14px;line-height:20px}
.lightbox-counter{font-size:14px;line-height:20px;text-align:right}
.lightbox .lightbox-control{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1.5px solid white;border-radius:50%;background:transparent;color:white;font-size:28px;line-height:1;cursor:pointer;transition:background .2s}
.lightbox .lightbox-control:hover{background:rgba(255,255,255,.18)}
.lightbox .lightbox-control:focus-visible{outline:2px solid white;outline-offset:4px}
.lightbox .lightbox-close{top:12px;right:24px;font-size:30px}
.lightbox-previous{left:18px;top:calc(50% - 22px)}
.lightbox-next{right:18px;top:calc(50% - 22px)}
@media(max-width:600px){.lightbox{padding:64px 12px 92px}.lightbox .lightbox-close{right:12px}.lightbox-previous,.lightbox-next{top:auto;bottom:18px}.lightbox-previous{left:12px}.lightbox-next{right:12px}}

/* Social links share the footer and contact page styling. */
.social-links{display:flex;align-items:center;gap:8px;margin-top:16px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;transition:background .2s,color .2s}
.social-links svg{width:20px;height:20px;display:block}
footer .social-links a:hover{background:#fff;color:#20271f}
.enquiry-aside .social-links a:hover{background:var(--ink);color:#fff}
.all-projects .project{position:relative}
.all-projects .project .project-circle{position:absolute;top:12px;right:12px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#eff0ed;color:#151a16;font-size:23px;line-height:1;transition:transform .2s,background .2s;pointer-events:none}
.all-projects .project:hover .project-circle,.all-projects .project:focus-visible .project-circle{transform:scale(1.08);background:#fff}
.enquiry-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);padding-top:44px;padding-bottom:96px;border-top:1px solid var(--line)}
.enquiry-intro{font-size:16px;line-height:1.7;max-width:62ch;margin:0 0 32px;color:var(--muted)}
.enquiry-field{margin-bottom:22px;min-width:0}
.enquiry-field label{display:block;font-size:15px;margin-bottom:8px}
.enquiry-field input,.enquiry-field select,.enquiry-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:transparent;padding:13px 14px;color:var(--ink);font:inherit;font-size:16px}
.enquiry-field input:focus,.enquiry-field select:focus,.enquiry-field textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.enquiry-field textarea{resize:vertical;min-height:150px}
.form-hint{font-size:14px;color:var(--muted);line-height:1.6;margin:12px 0 22px}
.enquiry-submit{font:inherit;font-size:16px;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:15px 24px;cursor:pointer;display:inline-flex;gap:24px;align-items:center}
.enquiry-submit:hover{background:transparent;color:var(--ink)}
.form-status{font-size:16px;line-height:1.6}
.enquiry-aside h2{font-size:24px;font-weight:400;letter-spacing:-.025em;margin:0 0 20px}
.enquiry-aside dl{margin:0}.enquiry-aside dl>div{border-top:1px solid var(--line);padding:16px 0}
.enquiry-aside dt{font-size:14px;color:var(--muted);margin-bottom:4px}.enquiry-aside dd{margin:0;font-size:16px;overflow-wrap:anywhere}
.enquiry-aside section+section{margin-top:48px}.enquiry-aside p,.enquiry-aside li{font-size:16px;line-height:1.7;color:var(--muted)}
.enquiry-aside ul{padding-left:20px;margin:16px 0}.enquiry-aside li{margin-bottom:8px}
@media(max-width:800px){.enquiry-layout{grid-template-columns:minmax(0,1fr);padding-bottom:60px}.enquiry-aside{border-top:1px solid var(--line);padding-top:32px}}
/* One-time, letter-by-letter reveal for main page titles. */
.type-title .type-word{display:inline-block;white-space:nowrap}
.type-title .type-character{display:inline-block;animation:type-character-in .22s ease-out both paused}
.type-title.is-typing .type-character{animation-play-state:running}
@keyframes type-character-in{from{opacity:0;transform:translateY(.16em)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.type-title .type-character{animation:none;opacity:1;transform:none}}

.hero-copy{min-width:0}.hero .hero-sub{margin:14px 0 0;font-size:clamp(15px,1.35vw,20px);letter-spacing:-.01em;line-height:1.4;color:rgba(255,255,255,.92)}

.services-page .service-media iframe{display:block;width:100%;height:100%;border:0;background:#151e18}

.project-page .project-images{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.project-page .project-images{grid-template-columns:repeat(2,minmax(0,1fr))}}


body.rw-gallery-mosaic .project-images{display:block;column-count:3;column-gap:8px}body.rw-gallery-mosaic .project-images .gallery-item{display:block;width:100%;margin:0 0 8px;aspect-ratio:auto;break-inside:avoid}body.rw-gallery-mosaic .project-images .gallery-item img{height:auto;object-fit:cover}@media(max-width:900px){body.rw-gallery-mosaic .project-images{column-count:2}}


.project-tour{padding:70px 0 20px}.project-tour h2{margin:0 0 28px}.project-tour-frame{aspect-ratio:16/9;background:#151e18;overflow:hidden}.project-tour-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.project-tour{padding-top:50px}.project-tour-frame{aspect-ratio:4/5}}


/* rw-footer-v3 */
footer{padding:56px 0 24px}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}
.footer-logo{display:inline-block;width:175px;margin-bottom:34px}.footer-logo img{width:100%;height:auto}
.footer-heading{font-size:clamp(44px,5vw,64px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 34px;color:#f8faf7}
.footer-email{font-size:15px;display:inline-block}
.footer-place{font-size:14px;color:#a9b3a5;margin:4px 0 16px}
.footer-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.footer-field.full{grid-column:1/-1}
.footer-field label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}
.footer-field .wpcf7-form-control-wrap{display:block}
.footer-form input:not([type=submit]),.footer-form textarea{font:inherit;font-size:14px;width:100%;background:transparent;border:1px solid #586056;color:#f8faf7;padding:12px;border-radius:0}
.footer-form textarea{height:118px;resize:vertical}
.footer-form textarea::placeholder{color:#c9cfc4}
.footer-form input:focus,.footer-form textarea:focus{outline:2px solid #c9cfc4;outline-offset:1px}
.footer-submit,.footer-form input[type=submit]{font:inherit;font-size:14px;font-weight:500;background:#f2f4f0;color:#20271f;border:0;padding:14px 34px;margin-top:18px;cursor:pointer;border-radius:0}
.footer-submit:hover,.footer-form input[type=submit]:hover{background:#fff}
.footer-form .form-status,.footer-form .wpcf7-response-output{font-size:13px;color:#c9cfc4;margin:12px 0 0;border:0;padding:0}
.footer-form .wpcf7-not-valid-tip{font-size:12px;color:#f0b9a5;margin-top:6px}
.footer-form .rw-preview-note{font-size:12px;color:#c9cfc4;margin:0 0 12px}
footer .footer-bottom{margin-top:40px;padding-top:18px;align-items:center}
footer .footer-bottom nav{display:flex;gap:24px}footer .footer-bottom nav a{margin:0;padding:0;font-size:12px}
@media(max-width:800px){.footer-top{grid-template-columns:1fr;gap:40px}.footer-fields{grid-template-columns:1fr}footer .footer-bottom nav{display:flex;position:static;background:none;padding:0;flex-direction:row;color:inherit;order:3;width:100%;flex-wrap:wrap;gap:10px 20px}footer .footer-bottom nav a{font-size:12px}}

.scope-grid.scope-3{grid-template-columns:repeat(3,1fr)}.scope-3 .service-card h3{min-height:0;max-width:none}
@media(max-width:1000px){.scope-grid.scope-3{grid-template-columns:1fr 1fr}.scope-3 .service-card:nth-child(3){padding-left:0;border:0}}
@media(max-width:700px){.scope-grid.scope-3{grid-template-columns:1fr;gap:36px}.scope-3 .service-card{padding:0;border:0}}

.rw-embed{position:relative}.rw-embed-launch{all:unset;position:absolute;inset:0;display:block;cursor:pointer}.rw-embed-launch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rw-embed-launch:focus-visible{outline:3px solid #fff;outline-offset:-6px}.rw-embed-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(21,30,24,.8);color:#fff;border:1px solid rgba(255,255,255,.7);padding:13px 22px;font-size:14px;white-space:nowrap}.rw-embed-launch:hover .rw-embed-cta{background:#151e18}.rw-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.rw-tour-link{display:block;position:relative;overflow:hidden}.rw-tour-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rw-tour-link:hover .rw-embed-cta{background:#151e18}.rw-tour-link:focus-visible{outline:3px solid #20231f;outline-offset:4px}

.project-story .project-credit{padding-bottom:28px;border-bottom:1px solid var(--line)}.project-story{row-gap:48px}.project-case{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;column-gap:10%;row-gap:26px;margin-top:0}.project-case>div{display:grid;gap:26px;align-content:start}.project-case h3{font-size:15px;font-weight:500;letter-spacing:0;margin:0 0 8px;color:var(--ink)}.project-case p{margin:0}
.project-services{font-size:14px;margin:18px 0 26px}.project-services a{text-decoration:underline;text-underline-offset:4px}

@media(max-width:800px){.project-story{row-gap:28px}.project-case{grid-template-columns:1fr;row-gap:26px}}

.project-facts.facts-3{grid-template-columns:1fr 1fr 1fr}.project-story .project-intro{padding-bottom:0}.project-wide{grid-column:1/-1;margin:0}.project-wide img{width:100%;height:auto;display:block}.project-case.project-case-rows{grid-template-columns:1.3fr 1fr;row-gap:40px}.project-case h3{font-size:19px!important;font-weight:400;letter-spacing:-.02em;margin:0 0 10px!important}
@media(max-width:800px){.project-facts.facts-3{grid-template-columns:1fr 1fr}.project-facts.facts-3>div:last-child{grid-column:1/-1}.project-case.project-case-rows{grid-template-columns:1fr;row-gap:26px}}

.project-facts.facts-2{grid-template-columns:1fr 1fr}.project-facts.facts-4{grid-template-columns:repeat(4,1fr)}
.project-case.project-case-rows>div{display:block}
.project-images-head{padding-top:30px}.project-images-head h2{font-size:19px!important;font-weight:400;letter-spacing:-.01em;margin:0 0 20px}
.wpcf7-form .wpcf7-turnstile{margin:8px 0 18px}
