/* Shared page system: compositor-only hero motion, persistent navigation, editorial services. */
body.wh-menu-open{position:fixed!important;width:100%;overflow:hidden!important}
.wh-home .wh-header{border:0!important;background:rgba(246,243,237,.5)!important;transition:transform .28s ease,background .25s ease!important;gap:24px!important}
.wh-home .wh-header.wh-header-over-hero{background:rgba(246,243,237,.28)!important}
.wh-home .wh-header.wh-header-hidden{transform:translateY(-110%)}
body.wh-menu-open .wh-home .wh-header{transform:none!important;background:rgba(246,243,237,.86)!important}
.wh-header-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:30px!important;margin-left:auto!important;width:auto!important;flex:0 0 auto!important}
.wh-header-nav-link{width:auto!important}
.wh-header-nav-link .elementor-button{padding:12px 0!important;background:none!important;border:0!important;border-radius:0!important;color:#fff!important;font:500 14px/1.3 'Segoe UI',Arial,sans-serif!important;letter-spacing:.025em!important}
.wh-header-nav-link .elementor-button:hover{color:#406a71!important}
.wh-header .we-menu-trigger{width:48px!important;flex-shrink:0}
@media(max-width:1050px){.wh-header-nav{display:none!important}}
.wh-home .we-mega-menu{overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.wh-home .we-mega-menu[hidden]{display:none!important}
.wh-hero{position:relative;isolation:isolate;min-height:clamp(680px,100svh,1080px)!important;padding:150px 0 95px!important;justify-content:center!important;overflow:visible!important;background:#f6f3ed!important;border:0!important;mask-image:none!important;-webkit-mask-image:none!important}
.wh-hero:before,.wh-hero:after{display:none!important}
.wh-hero-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;transform:scale(var(--hero-zoom,1));transform-origin:center top;opacity:var(--hero-image-opacity,1);will-change:transform,opacity;pointer-events:none;z-index:0!important;gap:0!important}
.wh-hero-visual:before{display:none!important}
.wh-hero-photo:after{content:'';display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,35,40,.65),rgba(6,35,40,.1) 85%)}
.wh-hero-visual:after{content:'';display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2;background:linear-gradient(to bottom,transparent 40%,#f6f3ed 100%);opacity:var(--hero-feather,0)}
.wh-hero .wh-hero-photo{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;transform:none!important;filter:none!important;opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;will-change:auto!important}
.wh-hero-photo img,.wh-hero-photo .elementor-widget-container{height:100%!important;width:100%!important;max-height:none!important;object-fit:cover!important}
.wh-hero-copy{position:relative!important;z-index:3!important;padding:40px 7%!important;width:100%!important;max-width:1100px!important;gap:30px!important;opacity:var(--hero-copy-opacity,1);transform:none!important}
.wh-hero h1{font-size:clamp(58px,7.8vw,116px)!important;line-height:1.02!important;letter-spacing:-.055em!important;color:#fff!important;overflow-wrap:normal}
.wh-hero-description{max-width:510px!important;font-size:18px!important;line-height:1.65!important;color:white!important}
.wh-hero-description p{color:white!important}
.wh-hero~.e-con{position:relative;z-index:2}
.wh-hero+.wh-intro,.wh-hero+.wh-inner-page,.wh-hero+.wh-page-explorer{background:linear-gradient(to bottom,transparent,#f6f3ed 150px)!important}
.wh-inner-page{min-height:0!important;padding:100px 9%!important;background:#f6f3ed;gap:30px!important}
.wh-inner-page h2{margin-top:0!important}
.wh-inner-page .elementor-widget-text-editor{max-width:780px!important}
.wh-inner-page h2{font-size:clamp(30px,4vw,50px)!important}
.wh-home .wh-link .elementor-button{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px!important;border:0!important;border-radius:999px!important;background:#123f49!important;color:#f6f3ed!important;font-family:Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;letter-spacing:.015em!important;line-height:1.25!important;box-shadow:none!important;text-decoration:none!important;transition:background .2s ease,transform .2s ease!important}
.wh-home .wh-link .elementor-button:hover{padding:16px 25px!important;background:#28545c!important;transform:translateY(-2px)}
.wh-home .wh-link .elementor-button:focus-visible{outline:2px solid #be7648;outline-offset:5px}
.wh-home .wh-hero .wh-link .elementor-button,.wh-home .wh-closing .wh-link .elementor-button{background:#efb58e!important;color:#123f49!important;border:0!important;padding:18px 29px!important}
.wh-home .wh-hero .wh-link .elementor-button:hover,.wh-home .wh-closing .wh-link .elementor-button:hover{background:#f3c6aa!important;padding:18px 29px!important}
.wh-home .wh-shared-footer .wh-link .elementor-button,.wh-home .we-panel .wh-link .elementor-button{padding:7px 0!important;background:transparent!important;color:#123f49!important;border:0!important;border-radius:0!important;letter-spacing:0!important}
.wh-home .wh-shared-footer .wh-link .elementor-button:hover,.wh-home .we-panel .wh-link .elementor-button:hover{padding:7px 0!important;transform:translateX(3px)}
.wh-intro{padding:120px 9%!important;background:#f6f3ed;grid-template-columns:1fr!important}
.wh-intro-copy{margin:0!important;width:100%!important;max-width:850px!important;gap:30px!important}
.wh-intro-copy .elementor-widget-text-editor{max-width:620px!important;font-size:18px!important}
.wh-editorial-services{padding:25px 5% 110px!important;background:#f6f3ed;gap:34px!important}
.wh-editorial-heading{padding:0 4% 35px!important;max-width:900px;gap:22px!important;border:0!important}
.wh-editorial-heading h2{font-size:clamp(42px,5.8vw,80px)!important}
.wh-feature-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:65px 42px!important;align-items:start}
.wh-feature{position:relative;min-height:0!important;overflow:hidden;border-radius:0;padding:0!important;justify-content:flex-start!important;background:transparent;gap:0!important}
.wh-feature:first-child{grid-column:auto;min-height:0!important}
.wh-feature:after{display:none!important}
.wh-feature-photo{position:relative!important;inset:auto!important;width:100%!important;height:360px!important;z-index:0;overflow:hidden;border-radius:4px}
.wh-feature-photo img,.wh-feature-photo .elementor-widget-container{width:100%!important;height:100%!important;object-fit:cover!important;max-height:none!important}
.wh-feature-copy{position:relative;z-index:2!important;gap:20px!important;max-width:100%;padding:30px 5px 0!important;background:#f6f3ed}
.wh-feature h3{font-size:clamp(29px,3vw,43px)!important;color:#123f49!important;line-height:1.12!important}
.wh-feature .elementor-widget-text-editor{color:#405e63!important;font-size:16px;line-height:1.75;max-width:460px}
.wh-home .wh-feature .wh-link .elementor-button{background:#123f49!important;color:#f6f3ed!important}
.wh-feature-name p{font-size:14px!important;font-weight:600!important;letter-spacing:.035em;text-transform:none;color:#123f49!important}
.wh-detail-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:26px!important;margin:15px 0 35px}
.wh-detail-card{padding:35px!important;background:#ebece4;border-radius:6px;gap:18px!important}
.wh-detail-card h3{font-size:25px!important;letter-spacing:-.035em!important}
.wh-detail-card .elementor-widget-text-editor{font-size:16px!important;line-height:1.8}
.wh-detail-intro{max-width:760px;gap:25px!important}
.wh-page-explorer{padding:90px 7%!important;background:#f6f3ed}
.wh-step{border:0!important;padding:25px!important;background:#f6f3ed;border-radius:6px}
.wh-section-heading{border:0!important}
@media(max-width:767px){
 .wh-hero{min-height:760px!important;min-height:max(690px,100svh)!important;padding:120px 0 90px!important}
 .wh-hero-copy{padding:35px 7%!important;gap:25px!important}
 .wh-hero h1{font-size:clamp(44px,11.8vw,66px)!important;line-height:1.04!important;overflow-wrap:anywhere}
 .wh-hero-description{font-size:16px!important;max-width:100%!important}
 .wh-hero-photo img{object-position:60% center!important}
 .wh-home .wh-header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .wh-home .we-mega-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#f6f3ef!important;max-height:calc(100svh - 110px)!important;overscroll-behavior:contain}
 .wh-home .we-mega-services .we-panels{position:relative!important;top:0!important}
 .wh-intro,.wh-inner-page{padding:75px 7%!important}
 .wh-intro-copy .elementor-widget-text-editor{font-size:16px!important}
 .wh-editorial-services{padding:0 5% 65px!important;gap:22px!important}
 .wh-editorial-heading{padding:0 2% 20px!important}
 .wh-feature-grid,.wh-detail-grid{grid-template-columns:1fr;gap:20px!important}
 .wh-feature,.wh-feature:first-child{grid-column:auto;min-height:0!important;padding:0!important}
 .wh-feature-photo{height:270px!important}
 .wh-feature-grid{gap:45px!important}
 .wh-feature h3{font-size:32px!important}
 .wh-detail-card{padding:28px!important}
 .wh-hero~.wh-page-explorer{padding:65px 7%!important}
}
@media(prefers-reduced-motion:reduce){.wh-hero-visual{transform:none!important;opacity:1!important}.wh-hero-copy{opacity:1!important}.wh-hero-visual:after{opacity:0!important}.wh-reveal{transform:none!important}}
/* Legible brand palette, quieter navigation and enquiry preview. */
.wh-editorial-heading h2,.wh-detail-card h3,.wh-detail-intro h2,.wh-inner-page h2,.wh-inner-page h3{color:#123f49!important}
.wh-home .wh-header{justify-content:flex-start!important;background:rgba(18,63,73,.94)!important}
.wh-home .wh-header.wh-header-over-hero{background:rgba(11,35,39,.4)!important}
body.wh-menu-open .wh-home .wh-header{background:rgba(18,63,73,.94)!important}
.wh-header .elementor-widget-heading .elementor-heading-title,.wh-header .elementor-widget-heading a{color:#fff!important}
.wh-header .we-menu-trigger .elementor-button:before,.wh-header .we-menu-trigger .elementor-button:after{background:#fff!important}
.wh-header-nav-link .elementor-button:hover{color:#efb58e!important}
.wh-home .we-mega-menu{scrollbar-width:none;-ms-overflow-style:none}
.wh-home .we-mega-menu::-webkit-scrollbar{display:none;width:0}
.wh-home .wh-nav-item .elementor-button{font-size:27px!important}
.wh-home .we-mega-menu:has(.we-mega-services[hidden]){width:460px!important}
.wh-faq-layout{display:grid!important;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:80px!important;align-items:start}
.wh-faq-aside{position:sticky!important;top:120px;gap:24px!important}
.wh-faq-aside h2{font-size:39px!important}
.wh-faq-category .elementor-button{padding:7px 0!important;background:none!important;color:#123f49!important;font:500 15px/1.5 'Segoe UI',Arial,sans-serif!important;text-align:left}
.wh-faq-groups{gap:50px!important}
.wh-faq-group{scroll-margin-top:120px;gap:16px!important;background:#eeeee6;padding:32px!important;border-radius:8px}
.wh-faq-group h2{font-size:28px!important;letter-spacing:-.035em!important}
.wh-faq-group .wh-faq-accordion{margin-top:0!important}
.wh-faq-group .elementor-tab-title{padding:22px 0!important}
.wh-faq-group .elementor-accordion-title{font-size:17px!important;line-height:1.5!important;font-weight:500!important}
.wh-faq-group .elementor-tab-content{padding-right:0!important;font-size:15px!important}
.wh-faq-group .elementor-accordion-item:last-child{border-bottom:0!important}
.wh-contact-layout{display:grid!important;grid-template-columns:minmax(250px,.75fr) minmax(0,1.4fr);gap:70px!important;align-items:start;scroll-margin-top:100px}
.wh-contact-intro{gap:27px!important}
.wh-contact-intro h2{font-size:42px!important}
.wh-contact-intro .elementor-widget-text-editor{font-size:16px!important}
.wh-form-widget{width:100%!important;min-width:0}
.wh-enquiry-form{background:#edeee6;border-radius:10px;padding:38px;color:#123f49}
.wh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}
.wh-enquiry-form label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;letter-spacing:.01em}
.wh-enquiry-form label span{font-weight:400;font-size:12px;color:#405e63}
.wh-enquiry-form input,.wh-enquiry-form textarea{width:100%;min-width:0;padding:14px 15px;background:#f9f8f3;border:1px solid #123f492b!important;border-radius:4px!important;font:400 16px/1.5 'Segoe UI',Arial,sans-serif;color:#123f49;box-shadow:none;resize:vertical}
.wh-enquiry-form input:focus,.wh-enquiry-form textarea:focus{outline:2px solid #123f49;outline-offset:2px;background:white}
.wh-field-wide{grid-column:1/-1}
.wh-form-bottom{display:flex;align-items:center;gap:22px;margin-top:28px}
.wh-enquiry-form button{flex-shrink:0;border:0!important;border-radius:999px;background:#123f49!important;color:#fff!important;padding:16px 24px;font:500 14px 'Segoe UI',Arial,sans-serif;cursor:pointer}
.wh-form-bottom p{font-size:12px;line-height:1.7;color:#405e63}
.wh-form-feedback{margin-top:22px!important;padding:15px;background:#f9f8f3;border-radius:4px;font-size:14px;line-height:1.6}
.wh-form-feedback[hidden]{display:none}
@media(max-width:1050px){.wh-header-nav{display:none!important}.wh-header .we-menu-trigger{margin-left:auto!important}.wh-contact-layout,.wh-faq-layout{grid-template-columns:1fr;gap:45px!important}.wh-faq-aside{position:relative!important;top:0!important}}
@media(max-width:767px){.wh-home .we-mega-menu:has(.we-mega-services[hidden]){width:calc(100vw - 28px)!important}.wh-home .wh-nav-item .elementor-button{font-size:24px!important}.wh-enquiry-form{padding:25px 20px}.wh-form-grid{grid-template-columns:1fr;gap:23px}.wh-form-bottom{flex-direction:column;align-items:flex-start}.wh-faq-group{padding:25px 20px!important}.wh-contact-intro h2{font-size:35px!important}.wh-faq-aside h2{font-size:35px!important}}
