/* Revision: full-width photography, editorial page system and responsive details. */
:root{--line:#60716430}body{font-size:16px}h1{font-size:clamp(38px,4.6vw,68px);letter-spacing:-.055em;line-height:1.12}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15}h3{line-height:1.25}header{padding-block:18px;gap:16px}.brand{max-width:270px}.brand img{width:52px;height:55px}.brand span{font-size:13px}.brand small{font-size:7px}nav{gap:22px}nav>a[aria-current],.submenu a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.v3 nav>a[aria-current]{color:#c7df9b}.v3 .submenu a[aria-current]{color:#163c30}.dropdown:last-child .submenu{left:auto;right:0}.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff30 48%,transparent 70%);transform:translateX(-150%);transition:transform .6s}.button:hover:after{transform:translateX(150%)}.wide-hero{background:var(--bg)}.hero-heading{padding:55px 6% 45px;display:grid;grid-template-columns:1.4fr .8fr;gap:8%;align-items:end}.hero-heading h1{margin:0}.hero-intro p{font-size:15px;max-width:420px;margin-bottom:22px}.hero-heading .eyebrow{font-size:10px;margin-bottom:20px}.full-image{margin:0;width:100%;overflow:hidden;background:var(--soft)}.full-image img{display:block;width:100%;height:auto!important;max-height:none;object-fit:contain!important;border-radius:0!important;opacity:1;animation:none}.home-hero .full-image{border-bottom:5px solid var(--accent)}.hero-bottom{display:flex;justify-content:space-between;padding:18px 6%;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);gap:20px}.v1 .hero-heading{background:#202824;color:#f5f3ed}.v1 .hero-heading em{color:#ff9b56}.v2 .wide-hero .hero-heading{padding-top:45px}.v2 .hero-heading h1{font-size:clamp(38px,4.5vw,65px)}.v2 .hero-bottom{background:#e5decf}.v3 .hero-heading{background:#163c30;color:#f1f0df}.v3 .hero-heading em{color:#c7df9b}.v3 .hero-bottom{background:#c7df9b;color:#163c30}.inner-hero .full-image{max-width:100%}.inner-hero .full-image img{max-width:100%;width:100%}.section{padding:75px 6%}.section-heading{max-width:760px}.section-heading>p:last-child:not(.eyebrow){max-width:660px}.section-heading h2{margin-bottom:25px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.editorial>img{height:auto!important;object-fit:contain;border-radius:4px}.editorial p{font-size:15px;line-height:1.8;max-width:640px}.editorial.reverse>div{order:2}.editorial.reverse>img{order:1}.editorial:not(:has(>img)){grid-template-columns:1fr}.editorial:not(:has(>img))>div{max-width:850px}.v2 .editorial{border-bottom:1px solid var(--line)}.v3 .editorial{background:var(--soft)}.feature-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:30px;padding-bottom:75px}.feature-blocks article{padding:35px;background:var(--soft);border-top:3px solid var(--accent);display:flex;flex-direction:column}.feature-blocks article:nth-child(2){background:var(--ink);color:var(--bg)}.feature-blocks article:nth-child(3){background:var(--accent);color:var(--onaccent)}.feature-blocks h3{font-size:29px;letter-spacing:-.035em}.feature-blocks p{font-size:14px}.feature-blocks a{font-size:12px;font-weight:700;margin-top:auto;padding-top:15px}.v1 .feature-blocks article{border-radius:0}.v2 .feature-blocks article:first-child{border-radius:55px 0 0 0}.v2 .feature-blocks article:nth-child(3){border-radius:0 0 55px 0}.v3 .feature-blocks article{border-radius:12px;border-top:0}.services .section-heading{margin-bottom:40px}.service-card img{height:auto!important;aspect-ratio:auto!important;object-fit:contain}.service-card>div{min-width:0}.v2 .service-card:nth-child(2){padding-top:35px}.v3 .service-card{grid-template-columns:.8fr 1fr}.v3 .service-card h3{font-size:38px}.photo-cta{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--bg);min-height:380px;overflow:hidden}.photo-cta>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.65}.photo-cta>div{position:relative;grid-column:2;background:var(--ink);margin:35px 8% 35px 0;padding:45px;border:1px solid #ffffff24}.photo-cta h2{font-size:42px}.photo-cta p{font-size:14px}.v2 .photo-cta>div{background:#f3eee2;color:var(--ink);border-radius:60px 0 0 0}.v3 .photo-cta>div{background:#163c30e8;border-radius:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-item{margin:0;background:var(--soft);overflow:hidden}.gallery-item img{width:100%;height:auto;object-fit:contain;transition:filter .3s}.gallery-item:hover img{filter:brightness(1.07)}.gallery-item figcaption{padding:25px}.gallery-item figcaption>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.gallery-item h3{font-size:26px;margin:12px 0 0}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.gallery-filters button{background:transparent;border:1px solid var(--ink);color:var(--ink);padding:13px 20px;font-size:12px;min-height:44px}.gallery-filters button.active{background:var(--ink);color:var(--bg)}.gallery-disclosure{font-size:12px;max-width:730px;margin:28px 0 0}.gallery-item[hidden],.slide[hidden]{display:none!important}.slider{margin-top:35px}.slide{margin:0;display:grid;grid-template-columns:1.4fr .7fr;gap:0;background:var(--soft);animation:slidein .5s}.slide>img{width:100%;height:auto;object-fit:contain}.slide figcaption{padding:40px;align-self:center}.slide figcaption h3{font-size:32px}.slide figcaption p{font-size:14px}.slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:20px}.slider-controls button{width:48px;height:48px;border:1px solid var(--ink);color:var(--ink);background:transparent;border-radius:50%;font-size:23px}.slider-controls button:hover{background:var(--ink);color:var(--bg)}.slide-status{font-size:12px}.v3 .slider .slide{border-radius:14px;overflow:hidden}.checklist-section,.location-panel{background:var(--soft)}.checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:35px 0}.checklist article{border-top:1px solid var(--ink);padding-top:24px}.checklist h3{font-size:24px}.checklist p{font-size:14px}.checklist span{display:block;color:var(--ink);font-size:25px;margin-bottom:20px}.faq-section{max-width:1300px;margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;font-weight:600;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:26px;transition:transform .3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 35px 20px 0;max-width:900px;font-size:15px}.enquiry-callout{background:var(--soft);padding:30px;margin-top:35px}.enquiry-callout h3{font-size:24px}.enquiry-callout p{margin-bottom:0}.form-note{font-size:11px!important}.form-note,label span{opacity:.7}#form-status:not(:empty){border-left:3px solid var(--accent);padding-left:15px;margin-top:22px}.form-fallback{display:block;text-decoration:underline;font-weight:600;margin-top:8px}.social-icons{display:flex;gap:12px;margin-top:25px}.social-icons>span{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid #ffffff40;border-radius:50%;color:#fff}.social-icons svg{width:16px;height:16px}footer .footer-top{grid-template-columns:1.3fr .8fr .85fr 1.1fr}footer .footer-top>div>a:not(.brand){line-height:2.1}footer .brand{max-width:290px}.footer-bottom{padding-bottom:35px}.floating{bottom:18px;right:18px}.contact{align-items:start}.reveal{animation:none}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}.wide-hero h1{animation:rise .7s both}.wide-hero .hero-intro{animation:rise .9s both}.ticker:hover>div{animation-play-state:paused}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes slidein{from{opacity:.4;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){header{gap:12px}.brand{max-width:240px}.brand span{font-size:11px}nav{gap:16px}.header-cta{font-size:11px;padding:14px}.hero-heading{gap:5%;grid-template-columns:1.2fr .8fr}.feature-blocks article{padding:26px}.photo-cta>div{padding:30px}.photo-cta h2{font-size:35px}.gallery-item figcaption{padding:20px}.gallery-item h3{font-size:23px}.slide{grid-template-columns:1.3fr 1fr}.slide figcaption{padding:28px}footer .footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:800px){header{padding:14px 5%}.brand{max-width:calc(100% - 145px)}.brand img{width:39px;height:42px}.brand span{font-size:10px}.brand small{font-size:6px}.header-cta{padding:10px 12px}.hero-heading{padding:40px 6% 35px;grid-template-columns:1fr;gap:23px}.hero-heading h1,.v2 .hero-heading h1{font-size:46px}.hero-intro{max-width:600px}.hero-intro p{max-width:600px}.hero-heading .button{padding:14px 20px}.hero-bottom{font-size:8px;line-height:1.6;padding:15px 6%}.section{padding:55px 6%}.editorial{gap:30px}.feature-blocks{grid-template-columns:1fr;padding-top:25px;gap:15px}.feature-blocks article{padding:30px}.feature-blocks h3{font-size:28px}.feature-blocks article p{max-width:600px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px}.gallery-item:last-child{grid-column:1/-1;max-width:650px}.photo-cta{grid-template-columns:1fr;min-height:430px;padding:50px 6%}.photo-cta>div{grid-column:1;margin:0 0 0 15%;padding:35px}.slide{grid-template-columns:1fr}.slide figcaption{padding:25px 30px}.slide figcaption h3{font-size:29px}.checklist{gap:22px}.checklist h3{font-size:22px}.dropdown:last-child .submenu{left:auto;right:auto}.submenu{max-height:55vh;overflow-y:auto}.v2 header{margin:0}.v3 .service-card{grid-template-columns:.7fr 1fr}.v3 .service-card h3{font-size:30px}.contact{grid-template-columns:1fr}.footer-top>div{min-width:0}.footer-top a{overflow-wrap:anywhere}}
@media(max-width:550px){h1,.hero-heading h1,.v2 .hero-heading h1{font-size:37px;letter-spacing:-.045em}.hero-heading{padding-top:32px}.hero-heading .eyebrow{font-size:8px;letter-spacing:.12em}.hero-intro p{font-size:14px}.hero-bottom{display:block}.hero-bottom>span{display:block}.hero-bottom>span+span{margin-top:5px}.editorial{grid-template-columns:1fr;gap:25px}.editorial.reverse>div,.editorial.reverse>img{order:initial}.editorial>img{border-radius:0}.section-heading h2{font-size:32px}.section-heading>p:last-child{font-size:14px}.service-card{grid-template-columns:1fr;gap:0;background:var(--soft);margin-bottom:15px}.service-card>div{padding:22px}.service-card img{width:100%;height:auto!important}.service-card h3{font-size:28px}.service-card p{font-size:14px}.v2 .service-card:nth-child(2){padding-top:0}.v3 .service-card{grid-template-columns:1fr;gap:0;border:0;padding:0;border-radius:8px;overflow:hidden}.v3 .service-card>div{padding:24px}.v3 .service-card h3{font-size:29px}.gallery-grid{grid-template-columns:1fr}.gallery-item:last-child{grid-column:auto;max-width:none}.gallery-filters{gap:8px}.gallery-filters button{padding:10px 15px;font-size:11px}.checklist{grid-template-columns:1fr;gap:20px}.checklist h3{font-size:25px}.photo-cta{padding:130px 6% 30px;min-height:0}.photo-cta>img{opacity:.85}.photo-cta>div{margin:0;padding:27px;background:#202824f2}.v2 .photo-cta>div{border-radius:30px 0 0 0}.photo-cta h2{font-size:33px}.slide-status{font-size:10px}.slider-controls{justify-content:space-between;gap:10px}.slide figcaption{padding:25px}.faq-list summary{font-size:16px;gap:16px}.faq-list details p{font-size:14px;padding-right:0}.footer-top{gap:35px 20px}.footer-bottom{padding-bottom:10px}footer .brand span{font-size:11px}footer .brand img{width:44px}.feature-blocks{padding-block:20px 45px}.feature-blocks article{padding:28px}.v2 .feature-blocks article{border-radius:0}.contact form{padding:24px}.enquiry-callout{padding:25px}input,select,textarea{font-size:16px}.related{gap:12px}.v3 .button{max-width:100%;gap:15px}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none}.wide-hero h1,.wide-hero .hero-intro{animation:none}.ticker>div{animation:none}.slide{animation:none}}
/* Full-bleed photographic heroes with live, accessible text. */
.wide-hero{display:grid;grid-template-columns:minmax(0,1fr);position:relative;isolation:isolate;background:#18231d}
.wide-hero .full-image{grid-area:1/1;min-height:640px;position:relative;border:0}
.wide-hero .full-image img{height:100%!important;min-height:640px;object-fit:cover!important;object-position:center 35%}
.wide-hero .full-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,18,.88),rgba(12,22,18,.68) 40%,rgba(12,22,18,.17) 80%)}
.wide-hero .hero-heading{grid-area:1/1;z-index:1;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:80px 6%;background:transparent!important;color:#fff;max-width:890px;min-width:0}
.wide-hero .hero-heading h1{font-size:clamp(38px,4.7vw,70px);max-width:790px;text-wrap:balance;text-shadow:0 2px 18px #0003}
.wide-hero .hero-heading .eyebrow{color:#fff;line-height:1.7;margin-bottom:24px}
.wide-hero .hero-intro p{max-width:550px;font-size:16px;color:#fff;line-height:1.75;margin:0 0 25px}
.wide-hero .hero-bottom{grid-area:2/1;position:relative;z-index:1;background:var(--bg);color:var(--ink)}
.v1 .wide-hero .hero-heading em{color:#ffad70}.v2 .wide-hero .hero-heading em{color:#f3dfbd}.v3 .wide-hero .hero-heading em{color:#d5eca9}
.v2 .wide-hero .full-image:after{background:linear-gradient(90deg,#201c17e8,#201c179c 45%,#201c171c 88%)}
.v3 .wide-hero .full-image:after{background:linear-gradient(90deg,#082d24ef,#082d24a3 45%,#082d241c 88%)}
.home-hero .full-image{max-height:820px}.home-hero .hero-heading{min-height:680px}
.inner-hero .full-image{max-height:820px}.inner-hero .hero-heading{min-height:640px}
@media(max-width:800px){.wide-hero .hero-heading{padding:65px 6%;max-width:690px;gap:22px}.wide-hero .hero-heading h1,.v2 .wide-hero .hero-heading h1{font-size:clamp(37px,6vw,53px)}.wide-hero .full-image:after{background:linear-gradient(90deg,#101c16dd,#101c168a)!important}.wide-hero .full-image img{object-position:60% center}.wide-hero .hero-intro p{font-size:15px}.wide-hero .hero-heading .eyebrow{font-size:9px}}
@media(max-width:550px){.wide-hero .hero-heading{padding:48px 6%;gap:22px;min-height:590px}.wide-hero .full-image,.wide-hero .full-image img{min-height:590px}.wide-hero .hero-heading h1,.v2 .wide-hero .hero-heading h1{font-size:37px;line-height:1.13}.wide-hero .hero-intro p{font-size:14px;line-height:1.7}.wide-hero .full-image:after{background:linear-gradient(0deg,#101c16eb,#101c169c 70%,#101c1677)!important}.wide-hero .hero-heading .eyebrow{margin-bottom:22px}.wide-hero .hero-bottom{padding-block:15px}.wide-hero .full-image img{object-position:60% 25%}}
/* Three distinct company identities. */
.brand{max-width:300px;gap:13px;flex-shrink:0}.brand img{width:66px;height:66px;object-fit:contain;flex-shrink:0}.brand-type{display:block;line-height:1.2}.brand-type b{font-size:13px;letter-spacing:-.025em;display:block;white-space:nowrap;font-weight:800}.brand-type small{font-size:7px;letter-spacing:.13em;line-height:1.8;margin-top:7px;white-space:nowrap}.v1 .brand-type b{font-family:'Manrope',sans-serif}.v2 .brand-type b{font-family:'Playfair Display',Georgia,serif;font-size:15px;font-weight:400;letter-spacing:.025em}.v2 .brand-type small{letter-spacing:.11em}.v3 .brand img{background:#f2f4e7;border-radius:9px;padding:5px}.v3 .brand-type b{letter-spacing:.02em;font-weight:600}.v3 .brand-type small{letter-spacing:.15em}footer .brand{max-width:330px}footer .brand img{width:72px;height:72px}footer .brand-type b{font-size:13px}footer .brand-type small{font-size:7px}
@media(max-width:1100px){header .brand{gap:9px}header .brand img{width:54px;height:54px}header .brand-type b{font-size:11px}header .brand-type small{font-size:6px}.v2 header .brand-type b{font-size:12px}}
@media(max-width:800px){header .brand{max-width:calc(100% - 138px);gap:8px}header .brand img{width:43px;height:48px}header .brand-type b{font-size:10px;letter-spacing:-.02em}.v2 header .brand-type b{font-size:10px;letter-spacing:0}header .brand-type small{font-size:5.5px;letter-spacing:.05em;margin-top:5px}.v3 header .brand img{padding:3px;border-radius:5px}.brand-type{min-width:0}.v3 header .brand-type b{letter-spacing:-.02em}footer .brand{max-width:100%;gap:10px}footer .brand img{width:55px;height:60px}footer .brand-type b,.v2 footer .brand-type b{font-size:11px}footer .brand-type small{font-size:5.8px;letter-spacing:.05em}}
@media(max-width:380px){header .brand{gap:6px}header .brand img{width:37px}header .brand-type b,.v2 header .brand-type b{font-size:9px}header .brand-type small{font-size:5px}}
@media(max-width:800px){.v2 header{padding:14px 5%}}
/* Approved client-supplied complete logo lockups. */
header .approved-brand,footer .approved-brand{display:flex;justify-content:center;align-items:center;max-width:none;width:185px;flex:0 0 185px;line-height:0;padding:8px;background:#f7f5ee;border-radius:4px}
header .approved-brand img,footer .approved-brand img,.v3 header .approved-brand img,.v3 footer .approved-brand img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;padding:0;background:transparent;border-radius:0}
footer .approved-brand{width:220px;max-width:100%;padding:12px;margin-bottom:20px}.v1 .approved-brand{border-radius:0}.v2 .approved-brand{background:#faf7f0}.v3 .approved-brand{background:#f2f4e7;border-radius:8px}
@media(max-width:1100px){header .approved-brand{width:160px;flex-basis:160px}}
@media(max-width:800px){header .approved-brand{width:135px;flex-basis:135px;max-width:135px;padding:6px}header{gap:10px}footer .approved-brand{width:190px;max-width:100%;padding:10px}.v2 header{padding:14px 5%}}
@media(max-width:380px){header .approved-brand{width:125px;flex-basis:125px;max-width:125px}header{gap:8px}}

/* Compact supplied branding and white footer across all designs. */
header .approved-brand{width:130px;flex-basis:130px;padding:5px}
footer .approved-brand{width:150px;flex-basis:150px;padding:0;margin-bottom:18px}
.v1 footer,.v2 footer,.v3 footer{background:#fff;color:#26342e}
.v1 footer .approved-brand,.v2 footer .approved-brand,.v3 footer .approved-brand{background:transparent}
footer a,footer h3,footer p{color:inherit}
footer a:not(.brand):hover{color:#5b4435;text-decoration:underline;text-underline-offset:4px}
footer .social-icons>span{color:#26342e;border-color:#cbd2ce}
footer .footer-bottom{border-top-color:#dce2de}
@media(max-width:800px){header .approved-brand{width:100px;flex-basis:100px;max-width:100px;padding:4px}footer .approved-brand{width:135px;flex-basis:135px;padding:0}}
