
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--wrap:1240px;--radius:18px;--ink:#14231f;--muted:#586960;--surface:#fff;--soft:#f5f7f5;--accent:#147d58;--accent-2:#e43e45;--dark:#0a2923;--line:#dbe4df;--heading:'Manrope',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}svg{display:inline-block;width:19px;height:19px;vertical-align:middle}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--heading);line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.3vw,5.9rem);font-weight:800}h2{font-size:clamp(2.1rem,3.7vw,4rem);font-weight:800}h3{font-size:clamp(1.2rem,1.65vw,1.65rem);font-weight:750}p{color:var(--muted)}:focus-visible{outline:3px solid #e64d54;outline-offset:3px}.wrap{width:min(calc(100% - 64px),var(--wrap));margin:auto}.section{padding:112px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:.17em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.5;color:var(--accent)}.eyebrow:before{content:'';width:29px;height:2px;background:currentColor}.btn{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:16px 22px;min-height:53px;font-size:14px;font-weight:800;border:1px solid transparent;border-radius:10px;line-height:1.25;transition:transform .3s,background .3s,color .3s,border-color .3s;cursor:pointer;font-family:var(--body)}.btn:hover,.header-cta:hover,.float-wa:hover{transform:translateY(-3px)}.btn svg,.inline-link svg{width:18px;height:18px}.btn-primary{background:var(--accent);color:white}.btn-primary:hover{background:var(--dark)}.btn-outline{border:1px solid currentColor;background:transparent;color:inherit}.btn-light{background:#fff;color:var(--dark)}.btn-text{background:transparent;color:var(--accent);padding-left:0;padding-right:0}.inline-link{font-size:14px;font-weight:800;display:inline-flex;gap:10px;align-items:center}.skip-link{position:absolute;left:-9999px;top:6px;padding:12px;background:#fff;color:#000;z-index:10000}.skip-link:focus{left:6px}.site-header{position:relative;z-index:100;background:var(--surface);box-shadow:0 1px 0 rgba(0,0,0,.06)}.topline{background:var(--dark);color:#f8fffc;font-weight:700;letter-spacing:.075em;font-size:10px}.top-line-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}.topline span:last-child{display:flex;gap:16px;align-items:center}.topline i{width:4px;height:4px;background:var(--accent-2);display:inline-block;border-radius:50%}.nav-wrap{display:flex;min-height:92px;align-items:center;gap:28px;position:relative}.logo-link{display:flex;align-items:center;flex:none;background:#fff;padding:5px 8px;border-radius:9px}.brand-logo{object-fit:contain;display:block;width:143px;height:73px}.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto}.nav-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;white-space:nowrap;min-height:45px;cursor:pointer;transition:color .25s}.nav-link:hover,.nav-link.is-active{color:var(--accent)}.nav-service{position:relative}.nav-service summary{list-style:none}.nav-service summary::-webkit-details-marker{display:none}.nav-service summary svg{width:14px;height:14px;transition:transform .25s}.nav-service[open] summary svg{transform:rotate(180deg)}.service-dropdown{position:absolute;z-index:150;background:#fff;top:calc(100% + 15px);left:-160px;width:345px;border-radius:16px;padding:18px;box-shadow:0 22px 60px #071d1630;border:1px solid #e6ebe7;display:flex;flex-direction:column;gap:2px}.service-dropdown:before{content:'';position:absolute;height:20px;top:-20px;left:0;right:0}.drop-top{font-size:10px;letter-spacing:.18em;color:#768982;padding:5px 11px 14px;font-weight:800}.service-dropdown a{font-size:13px;font-weight:700;padding:12px 11px;border-radius:8px;display:flex;justify-content:space-between;gap:10px;align-items:center;white-space:normal}.service-dropdown a:hover{background:#f1f7f3;color:#147d58}.service-dropdown svg{width:16px;height:16px;flex:none}.header-cta{display:inline-flex;align-items:center;gap:9px;padding:13px 15px;border-radius:9px;background:var(--accent);color:white;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .25s}.header-cta svg{width:19px;height:19px}.menu-toggle,.mobile-menu{display:none}.float-wa{position:fixed;z-index:120;bottom:24px;right:25px;display:flex;align-items:center;gap:9px;color:white;background:#20b15a;border-radius:100px;padding:13px 17px;box-shadow:0 10px 35px #06241155;font-weight:800;font-size:12px;transition:transform .25s}.float-wa svg{width:26px;height:26px}.marquee{overflow:hidden;background:var(--accent);color:white;padding:15px 0;white-space:nowrap;letter-spacing:.12em;font-size:12px;font-weight:800}.marquee-inner{display:block;width:max-content;animation:marquee 40s linear infinite}.marquee span{font-size:14px;margin:0 18px;color:#c6eacc}@keyframes marquee{to{transform:translateX(-33.333%)}}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:45px;margin:18px 0 44px}.heading-row h2{margin:0}.heading-row p{max-width:325px;margin:0;font-size:16px}.service-picture img,.story-image img,.about-photo img,.page-hero-visual img,.aside-photo img{height:100%;width:100%;object-fit:cover}.service-picture,.story-image,.about-photo,.page-hero-visual,.aside-photo{overflow:hidden}.service-tile:hover img,.night-card:hover img,.editorial-service:hover img{transform:scale(1.055)}.service-tile img,.night-card img,.editorial-service img{transition:transform .65s}.step-card{padding:38px 32px;background:var(--soft);border:1px solid var(--line);min-width:0}.step-number{display:block;font-size:12px;font-weight:800;color:var(--accent);margin-bottom:43px;letter-spacing:.12em}.step-card h3{margin-bottom:13px}.step-card p{margin:0;font-size:15px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.page-hero{overflow:hidden;background:var(--soft);padding:75px 0 65px}.page-hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:50px;align-items:center}.page-hero h1{font-size:clamp(2.8rem,4.9vw,5.1rem);max-width:740px;margin:19px 0 24px;overflow-wrap:break-word}.page-hero-copy>p{max-width:590px;font-size:18px}.page-hero-visual{height:370px;border-radius:var(--radius)}.breadcrumbs{font-size:12px;font-weight:700;display:flex;gap:12px;align-items:center;margin-top:34px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:5px}.cta-section{background:var(--dark);color:white;padding:78px 0}.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-grid h2{max-width:850px;margin:15px 0}.cta-grid p{color:#d2e2d8;margin:0}.cta-actions{display:flex;flex-direction:column;gap:17px;align-items:flex-start;flex:none}.cta-actions .inline-link{color:white}.content-split{display:grid;grid-template-columns:.95fr 1fr;align-items:center;gap:9%}.story-image{min-height:480px;border-radius:var(--radius)}.story-copy h2{margin:16px 0 22px}.story-copy p{font-size:17px}.story-copy .btn{margin-top:16px}.soft-section{background:var(--soft)}.three-pillar{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}.three-pillar h2{margin:18px 0}.pillar{padding:32px 0 0;border-top:3px solid var(--accent)}.service-list-page .heading-row{margin-bottom:55px}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:start}.detail-main h2{margin:18px 0 26px}.detail-main h3{margin-top:38px}.detail-main>p{font-size:17px}.detail-steps{margin-top:26px;border-top:1px solid var(--line)}.detail-steps>div{display:flex;gap:27px;align-items:baseline;border-bottom:1px solid var(--line);padding:19px 0}.detail-steps span{font-size:12px;font-weight:800;color:var(--accent)}.detail-steps p{margin:0}.aside-photo{height:270px;border-radius:16px 16px 0 0}.aside-card{background:var(--soft);padding:33px;border-radius:0 0 16px 16px}.aside-card h3{margin:14px 0}.aside-card .btn{margin:15px 0;max-width:100%}.aside-card>a:last-child{display:flex;gap:8px;font-size:12px;font-weight:700}.aside-card>a:last-child svg{width:16px}.related-section{background:var(--soft)}.related-section>div>h2{margin:15px 0 35px}.narrow-heading{max-width:700px;margin:15px 0 45px}.process-box{background:var(--dark);color:#fff;margin-top:48px;padding:48px;display:flex;align-items:center;gap:60px;justify-content:space-between;border-radius:var(--radius)}.process-box h3{margin-bottom:10px}.process-box p{color:#d4e2db;max-width:690px;margin:0}.process-box .btn{background:#fff;color:#162e26;flex:none}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.reason-grid article{background:var(--soft);border:1px solid var(--line);padding:32px 26px}.reason-grid article>span{font-weight:800;color:var(--accent);font-size:12px}.reason-grid h3{margin:48px 0 15px}.reason-grid p{font-size:14px}.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:10%}.faq-grid>div:first-child h2{margin:16px 0 24px}.faq-grid>div:first-child p{margin-bottom:25px}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line);padding:16px 0}.faqs summary{list-style:none;cursor:pointer;font-size:16px;font-weight:800;display:flex;justify-content:space-between;gap:18px;padding:11px 0;line-height:1.5}.faqs summary::-webkit-details-marker{display:none}.faqs summary svg{width:18px;flex:none;transition:transform .25s}.faqs details[open] summary svg{transform:rotate(180deg)}.faqs details p{max-width:620px;padding-right:35px;font-size:15px}.contact-layout,.enquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.contact-info>h2,.enquiry-grid h2{margin:15px 0 23px}.contact-info>p{margin-bottom:40px}.contact-box{border-top:1px solid var(--line);padding:19px 0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.contact-box>span{color:var(--accent);font-size:10px;letter-spacing:.14em;font-weight:800}.contact-box>a,.contact-box>strong{font-size:18px;font-weight:750}.form-panel{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:42px}.form-header h2{margin:13px 0 16px;font-size:clamp(1.8rem,3vw,2.75rem)}.form-header p{font-size:15px}.wa-form{display:flex;flex-direction:column;gap:19px;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wa-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800}.wa-form .field-name{color:var(--ink)}.wa-form .field-name b{color:#bb2430}.wa-form input,.wa-form select,.wa-form textarea{width:100%;font-size:15px;font-family:var(--body);font-weight:500;background:white;border:1px solid #ccd5d0;border-radius:8px;padding:13px 14px;color:#172821;min-width:0}.wa-form input::placeholder,.wa-form textarea::placeholder{color:#65796d;opacity:1}.wa-form input:focus,.wa-form select:focus,.wa-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.wa-form button{border:0;width:max-content;max-width:100%}.wa-form button svg:first-child{width:22px;height:22px}.wa-form small{font-size:12px;color:var(--muted)}.enquiry-services{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:30px}.enquiry-services a{padding:15px 0;border-bottom:1px solid var(--line);font-weight:800;display:flex;justify-content:space-between}.enquiry-services svg{width:16px}.footer{background:var(--dark);color:#f9fffc}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1.2fr 1.15fr;gap:56px;padding:76px 0 65px}.footer-logo{height:73px;width:140px;object-fit:contain;background:#fff;padding:5px;border-radius:7px}.footer-brand p{font-size:14px;color:#cdded5;max-width:310px;margin:23px 0}.footer h3{font-size:13px;letter-spacing:.07em;color:white;margin-bottom:23px}.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-links a,.footer-contact a,.footer-contact p{font-size:13px;color:#cdded5;margin:0;overflow-wrap:anywhere}.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-wa{display:inline-flex;align-items:center;gap:7px;color:white!important;font-size:13px;font-weight:800}.footer-wa svg{width:23px;height:23px}.footer-contact h3{margin-bottom:13px}.footer-contact .footer-directions{margin-top:10px;font-weight:700;display:inline-flex;gap:8px}.footer-contact .footer-directions svg{width:16px}.footer-bottom{border-top:1px solid #ffffff28;padding:20px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-bottom p,.footer-bottom a{font-size:12px;color:#c7dad0;margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.desktop-nav{gap:13px}.nav-wrap{gap:14px}.brand-logo{width:128px;height:66px}.nav-link{font-size:12px}.header-cta{padding:12px}.footer-top{gap:30px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex;position:relative;order:2;background:transparent;border:1px solid var(--line);width:43px;height:43px;border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:10px;margin-left:2px}.menu-toggle span{display:block;height:2px;width:19px;background:var(--ink);transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{order:3;margin-left:auto}.logo-link{order:1}.nav-wrap{min-height:79px}.mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:140;background:var(--surface);color:var(--ink);display:none;padding:14px 32px 24px;box-shadow:0 22px 35px #0a241a30;max-height:min(74vh,670px);overflow-y:auto;border-top:1px solid var(--line)}.mobile-menu.open{display:flex;flex-direction:column}.mobile-menu>a,.mobile-services summary{padding:13px 4px;font-weight:800;font-size:15px;border-bottom:1px solid var(--line);line-height:1.4;min-height:46px}.mobile-services summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.mobile-services summary::-webkit-details-marker{display:none}.mobile-services summary svg{width:17px;transition:transform .25s}.mobile-services[open] summary svg{transform:rotate(180deg)}.mob-sub{display:flex;flex-direction:column;background:var(--soft);padding:8px 13px}.mob-sub a{padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.mob-sub a:last-child{border:0}.page-hero-grid{gap:26px}.footer-top{grid-template-columns:1.2fr .8fr;gap:32px 35px}.footer-brand p{max-width:400px}.footer-contact{min-width:0}.contact-layout,.enquiry-grid{gap:5%}}
@media(max-width:700px){.wrap{width:min(calc(100% - 34px),var(--wrap))}.topline{display:none}.nav-wrap{min-height:73px;gap:8px}.brand-logo{width:116px;height:58px}.logo-link{padding:3px 4px}.menu-toggle{margin:0;width:42px;height:42px;flex:none}.header-cta{padding:11px 10px;min-height:42px;font-size:12px}.header-cta svg{width:19px}.section{padding:65px 0}.heading-row{display:block;margin:15px 0 29px}.heading-row p{max-width:580px;margin-top:17px}.page-hero{padding:53px 0 48px}.page-hero-grid{grid-template-columns:1fr;gap:29px}.page-hero h1{font-size:clamp(2.65rem,9vw,4rem);margin:15px 0}.page-hero-copy>p{font-size:16px}.page-hero-visual{height:240px;border-radius:12px}.breadcrumbs{margin-top:20px}.steps-grid,.content-split,.faq-grid,.contact-layout,.enquiry-grid,.detail-grid,.three-pillar{grid-template-columns:1fr}.steps-grid{gap:10px}.step-card{padding:25px}.step-number{margin-bottom:23px}.content-split,.detail-grid,.contact-layout,.enquiry-grid{gap:35px}.story-image{min-height:310px}.story-copy h2{margin-top:15px}.three-pillar{gap:10px}.pillar{padding-top:22px}.detail-grid{display:flex;flex-direction:column}.detail-aside{width:100%}.aside-photo{height:245px}.reason-grid{grid-template-columns:1fr 1fr;gap:10px}.reason-grid article{padding:21px 17px}.reason-grid h3{margin-top:24px;font-size:18px}.reason-grid p{font-size:13px}.process-box{padding:30px;display:block}.process-box .btn{margin-top:24px}.form-panel{padding:27px 21px}.form-row{grid-template-columns:1fr;gap:16px}.form-submit{width:100%!important}.cta-grid{display:block}.cta-grid h2{font-size:clamp(2.05rem,7vw,3rem)}.cta-actions{margin-top:28px}.footer-top{padding:55px 0 38px;grid-template-columns:1fr 1fr;gap:36px 21px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start}.float-wa{padding:12px;bottom:18px;right:15px}.float-wa span{display:none}.float-wa svg{height:27px;width:27px}.mobile-menu{padding:10px 17px 21px}.marquee{padding:12px 0}.service-detail{padding-top:55px}}
@media(max-width:365px){.wrap{width:calc(100% - 24px)}.brand-logo{width:108px;height:54px}.header-cta{font-size:11px;padding:10px 8px}.menu-toggle{width:39px}.nav-wrap{gap:5px}.reason-grid{grid-template-columns:1fr 1fr}.form-panel{padding:23px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-inner{animation:none}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* FINAL GLOBAL REVISION: representative photo galleries, content hierarchy and motion */
.visual-showcase{position:relative;isolation:isolate;overflow:hidden;padding:clamp(62px,7vw,120px) 0;background:var(--soft)}
.visual-showcase:before{content:"";position:absolute;inset:-8% -2% auto auto;width:65%;height:95%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 11%,transparent),transparent 70%);z-index:-1;pointer-events:none}
.visual-header{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:36px}
.visual-intro{max-width:800px}
.visual-intro h2{font-family:var(--heading);font-size:clamp(2.15rem,4.5vw,4.7rem);line-height:1.09;letter-spacing:-.055em;margin:15px 0 17px;max-width:760px}
.visual-intro p{font-size:16px;line-height:1.75;max-width:580px;color:var(--muted);margin:0}
.visual-see-all{flex:none;display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:800;border-bottom:1px solid var(--accent);padding:11px 0;transition:gap .25s,color .25s}
.visual-see-all:hover{gap:22px;color:var(--accent)}
.visual-stage{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(255px,.72fr);gap:18px;min-height:505px}
.visual-feature-frame{position:relative;isolation:isolate;overflow:hidden;min-height:505px;height:100%;border-radius:18px;background:var(--dark)}
.visual-main-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform 1s cubic-bezier(.2,.7,.3,1);animation:photo-sway 16s ease-in-out infinite alternate}
.visual-main-img.is-changing{opacity:.3;transform:scale(1.045)}
.visual-image-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,rgba(7,24,22,.78),transparent 51%)}
.visual-photo-caption{position:absolute;left:36px;right:24px;bottom:31px;display:grid;gap:8px;color:white;pointer-events:none}
.visual-photo-caption span{font-size:10px;font-weight:800;letter-spacing:.18em;color:#d9ede0}
.visual-photo-caption strong{font-size:clamp(1.45rem,2.2vw,2.25rem);font-family:var(--heading);letter-spacing:-.03em;font-weight:700;line-height:1.18;max-width:500px;color:white}
.visual-thumbs{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;min-height:505px}
.visual-thumb{display:flex;align-items:center;text-align:left;gap:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:10px;min-width:0;cursor:pointer;color:var(--ink);transition:transform .3s,background .25s,border-color .25s,box-shadow .3s;font-family:var(--body)}
.visual-thumb img{width:42%;height:100%;min-height:0;object-fit:cover;border-radius:8px;aspect-ratio:1.45;flex:none}
.visual-thumb span{font-size:clamp(.8rem,1.15vw,1rem);font-weight:800;line-height:1.3;max-width:160px}
.visual-thumb:hover,.visual-thumb:focus-visible{transform:translateX(-3px);box-shadow:0 10px 25px #1834281b}
.visual-thumb.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.visual-disclaimer{margin-top:13px;font-size:11px;color:var(--muted);line-height:1.4}
.secondary-marquee{position:relative;z-index:1}
.secondary-marquee .marquee-inner{animation-duration:37s}
.footer-social-preview{display:flex;align-items:center;gap:9px;max-width:var(--wrap);width:min(calc(100% - 52px),var(--wrap));margin:0 auto;padding:0 0 23px}
.social-symbol{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:9px;border:1px solid #ffffff43;color:#e2eee7;background:#ffffff0e;flex:none}
.social-symbol svg{display:block;width:20px;height:20px}
/* No ornamental 01, 02, 03 labels on steps or services */
.service-index,.step-number,.ed-number{display:none!important}
.step-card{position:relative}
.detail-steps>div{border-left:3px solid var(--accent);padding-left:16px}
.detail-steps>div>span{display:none}
/* Enhance photographic depth without sacrificing contrast */
.service-tile,.photo-card,.editorial-service,.step-card,.btn,.header-cta{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease}
.service-tile:hover,.step-card:hover{transform:translateY(-5px)}
.btn:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 27px #05291b22}
.service-picture img,.ed-photo img,.related-card img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.service-tile:hover .service-picture img,.editorial-service:hover img,.related-card:hover img{transform:scale(1.055)}
@keyframes photo-sway{0%{transform:scale(1.005)}100%{transform:scale(1.065)}}
@media(max-width:920px){.visual-stage{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);min-height:405px}.visual-feature-frame{min-height:405px}.visual-thumbs{min-height:405px}}
@media(max-width:700px){.visual-showcase{padding:59px 0}.visual-header{display:block;margin-bottom:23px}.visual-header h2{font-size:clamp(2.05rem,7.5vw,3.1rem)}.visual-header p{font-size:14px}.visual-see-all{margin-top:15px}.visual-stage{display:block}.visual-feature-frame{height:295px;min-height:295px;border-radius:12px}.visual-photo-caption{left:18px;right:15px;bottom:20px}.visual-photo-caption strong{font-size:21px}.visual-photo-caption span{font-size:9px}.visual-thumbs{margin-top:11px;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:8px}.visual-thumb{display:flex;flex-direction:column;padding:5px;gap:6px;align-items:stretch;min-height:107px;border-radius:9px}.visual-thumb img{width:100%;height:72px;border-radius:5px}.visual-thumb span{font-size:10px;line-height:1.25;padding:0 3px 4px}.visual-disclaimer{font-size:10px;margin-top:10px}.footer-social-preview{width:min(calc(100% - 34px),var(--wrap));padding-bottom:18px}}
@media(max-width:365px){.visual-thumb img{height:64px}.visual-thumb span{font-size:9.5px}.visual-feature-frame{height:260px;min-height:260px}}
@media(prefers-reduced-motion:reduce){.visual-main-img{animation:none!important}.visual-thumb,.visual-see-all,.service-tile,.btn,.header-cta{transition:none!important}}

:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site-header{isolation:isolate}.service-dropdown,.mobile-menu{z-index:150}
.wa-form input,.wa-form select,.wa-form textarea{transition:border-color .2s,box-shadow .2s}
.wa-form input:focus,.wa-form select:focus,.wa-form textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}

/* Plain-language, service-specific enquiry guide */
.detail-guide{background:var(--surface);position:relative;overflow:hidden}
.detail-guide:before{content:"";position:absolute;top:-160px;right:-130px;width:520px;height:520px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;pointer-events:none}
.guide-head{max-width:800px}.guide-head h2{font-family:var(--heading);font-size:clamp(2rem,4.2vw,4rem);letter-spacing:-.05em;line-height:1.15;margin:16px 0}.guide-head>p{font-size:16px;max-width:690px;line-height:1.7;color:var(--muted)}
.guide-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:38px 0 22px}
.guide-item{padding:30px 28px;background:var(--soft);border:1px solid var(--line);border-radius:14px;min-width:0;transition:transform .3s,box-shadow .3s}
.guide-item:hover{transform:translateY(-5px);box-shadow:0 10px 32px #0e281620}
.guide-dot{display:block;width:37px;height:7px;background:var(--accent);border-radius:8px;margin-bottom:34px}
.guide-item h3{font-family:var(--heading);font-size:clamp(1.15rem,1.6vw,1.45rem);margin:0 0 14px;line-height:1.3}
.guide-item p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}
.guide-end{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:24px;font-size:13px;color:var(--muted)}
.guide-end a{color:var(--accent);font-weight:800;white-space:nowrap}
.v1 .detail-guide{background:#fafffa}.v1 .guide-item{border-radius:15px 40px 15px 15px}
.v2 .detail-guide{background:#f7f2ec}.v2 .guide-item{border-radius:0;background:#fffdf9;border-top:3px solid #a42e3f}
.v3 .detail-guide{background:#f3f5f3}.v3 .guide-item{border-radius:4px;border-bottom:3px solid #c7a56b}
@media(max-width:700px){.guide-items{grid-template-columns:1fr;gap:11px;margin-top:27px}.guide-item{padding:20px}.guide-dot{margin-bottom:18px}.guide-head>p{font-size:14px}.guide-end{align-items:flex-start;flex-direction:column;gap:13px}}
@media(min-width:701px) and (max-width:930px){.guide-items{gap:10px}.guide-item{padding:22px}}

/* Numberless reason cards preserve compact vertical rhythm */
.reason-grid article h3{margin-top:8px}


/* 2026-11-10 requested refinement: controlled logo growth, typography and section rhythm. */
@media(min-width:901px){
 .brand-logo{width:155px;height:78px}
 .nav-wrap{gap:20px}
 .footer-logo{width:156px;height:82px}
}
@media(min-width:901px) and (max-width:1150px){
 .brand-logo{width:140px;height:71px}
 .nav-wrap{gap:12px}
 .footer-logo{width:150px;height:79px}
}
@media(min-width:701px) and (max-width:900px){.brand-logo{width:150px;height:76px}.footer-logo{width:155px;height:82px}}
@media(max-width:700px){
 .brand-logo{width:125px;height:63px}
 .nav-wrap{min-height:79px}
 .footer-logo{width:151px;height:79px}
}
@media(max-width:365px){.brand-logo{width:114px;height:59px}}
/* Reduce blank vertical runs without reducing section content or image density. */
@media(min-width:701px){.section{padding-block:91px}.page-hero{padding-block:68px 62px}}
@media(max-width:700px){.section{padding-block:60px}.page-hero{padding-block:50px 44px}}
/* Consistent, intentionally balanced text scale for all inside pages. */
.section h2{font-size:clamp(2rem,3.15vw,3.5rem);line-height:1.12;overflow-wrap:break-word}
.page-hero h1{font-size:clamp(2.6rem,4.25vw,4.75rem);overflow-wrap:break-word}
.cta-section{position:relative;isolation:isolate;overflow:hidden;background:var(--dark);padding:clamp(76px,7vw,104px) 0}
.cta-section:before{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--cta-overlay),var(--cta-photo);background-size:cover,cover;background-position:center;transition:transform 1s ease;transform:scale(1.015)}
.cta-section:hover:before{transform:scale(1.045)}
.cta-section .cta-grid{position:relative;z-index:1}
.cta-grid h2{font-size:clamp(2.1rem,3.45vw,3.65rem);line-height:1.13;letter-spacing:-.037em;max-width:700px;color:#fff;margin:18px 0}
.cta-grid p{color:#e7f0eb}
.cta-section .eyebrow,.cta-section .cta-actions .inline-link{color:#fff}
.cta-section .cta-actions .btn{box-shadow:0 12px 26px #071b1929}
@media(max-width:700px){
 .cta-section{padding:70px 0 73px}
 .cta-grid h2{font-size:clamp(1.98rem,7vw,2.9rem);line-height:1.17}
 .cta-actions{gap:12px}
}
@media(prefers-reduced-motion:reduce){.cta-section:before{transition:none!important;transform:none!important}}

/* Final requested revision: slightly larger logos across all versions, keeping layouts unchanged. */
@media(min-width:901px){
 .brand-logo{width:163px;height:82px}
 .footer-logo{width:164px;height:86px}
}
@media(min-width:701px) and (max-width:900px){
 .brand-logo{width:156px;height:79px}
 .footer-logo{width:160px;height:84px}
}
@media(max-width:700px){
 .brand-logo{width:130px;height:66px}
 .footer-logo{width:156px;height:82px}
}
@media(max-width:365px){
 .brand-logo{width:118px;height:61px}
}
