@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}:root{--green-950:#06281d;--green-900:#0b3d2e;--green-800:#0f5434;--green-700:#126a3e;--green-600:#18824a;--leaf:#71ad28;--leaf-light:#c7e28b;--gold:#ffd600;--gold-soft:#fff5b8;--ink:#14221a;--muted:#5c6c62;--line:#d8e5da;--line-strong:#c7d9ca;--cream:#f4f8f0;--surface:#fff;--surface-soft:#f7faf5;--surface-green:#edf6e8;--white:#fff;--shadow-sm:0 8px 22px #06281d12;--shadow:0 20px 52px #06281d1c;--shadow-raised:0 18px 42px #06281d24;--focus-ring:#ffd600b3;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.18s;--duration-base:.26s;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--container:1180px;--header-height:80px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{color:var(--ink);background:var(--white);text-rendering:optimizelegibility;margin:0;font-family:Aptos,Segoe UI,Arial,sans-serif;font-size:1rem;line-height:1.65}body::selection{color:var(--white);background:var(--green-700)}img,picture{max-width:100%;display:block}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--green-950);letter-spacing:-.035em;font-family:Segoe UI Variable Display,Aptos Display,Segoe UI,sans-serif;line-height:1.08}h1{font-size:clamp(2.7rem,6vw,5.55rem)}h2{font-size:clamp(2rem,4.2vw,3.75rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto}.section{padding-block:clamp(4.5rem,9vw,8rem)}.section-cream{background:linear-gradient(180deg, var(--surface-soft), var(--cream))}.section-dark{color:#ffffffc7;background:var(--green-950)}.section-dark h2,.section-dark h3{color:var(--white)}.skip-link{z-index:1000;color:var(--white);background:var(--green-950);border-radius:var(--radius-sm);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-intro{max-width:780px;margin-bottom:clamp(2rem,5vw,4rem)}.section-intro h2{margin-bottom:1rem}.section-intro h2:after{content:"";background:var(--gold);border-radius:999px;width:52px;height:4px;margin-top:1rem;display:block}.section-intro>p:last-child{max-width:680px;color:var(--muted);margin-bottom:0;font-size:1.08rem}.section-intro-center{text-align:center;margin-inline:auto}.section-intro-center>p:last-child,.section-intro-center h2:after{margin-inline:auto}.button{min-height:48px;color:var(--white);background:var(--green-700);border:1px solid var(--green-700);transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.25rem;font-size:.92rem;font-weight:750;line-height:1.1;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #126a3e2e}.button:hover{background:var(--green-900);border-color:var(--green-900);transform:translateY(-2px);box-shadow:0 12px 24px #06281d33}.button:active{transform:translateY(0)}.button:focus-visible,.desktop-nav a:focus-visible,.brand:focus-visible,.text-link:focus-visible,.mobile-nav summary:focus-visible,.mobile-nav nav>a:focus-visible,.site-footer a:focus-visible,.cta-email-link:focus-visible,.contact-card a:focus-visible,.breadcrumbs a:focus-visible,.location-card a:focus-visible,.legal-card a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.button-small{min-height:42px;padding-inline:1.05rem;font-size:.82rem}.button-outline{color:var(--green-900);background:0 0;border-color:#0b3d2e47}.button-outline:hover{color:var(--white)}.button-light{color:var(--green-950);background:var(--white);border-color:var(--white);box-shadow:none}.button-light:hover{color:var(--white);background:var(--green-600);border-color:var(--green-600)}.text-link{color:var(--green-700);font-weight:750;text-decoration:none}.text-link span{transition:transform var(--duration-fast) var(--ease-out);margin-left:.25rem;display:inline-block}.text-link:hover span{transform:translate(4px)}.site-header{z-index:100;height:var(--header-height);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #09452b1f;position:sticky;top:0;box-shadow:0 4px 18px #06281d0a}.header-inner{align-items:center;gap:1.5rem;height:100%;display:flex}.brand{align-items:center;gap:.75rem;margin-right:auto;text-decoration:none;display:inline-flex}.brand-mark{background:0 0;place-items:center;width:72px;height:56px;display:grid}.brand-mark img{object-fit:contain;object-position:center;width:100%;height:100%}.brand-copy{flex-direction:column;line-height:1.05;display:flex}.brand-copy strong{color:var(--green-950);letter-spacing:-.01em;font-size:.96rem}.desktop-nav{align-items:center;gap:1.25rem;display:flex}.desktop-nav a{color:#385045;transition:color var(--duration-fast) ease;padding-block:.5rem;font-size:.84rem;font-weight:650;text-decoration:none;position:relative}.desktop-nav a:after{content:"";background:var(--gold);height:2px;transition:transform var(--duration-fast) var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--green-800)}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;border:1px solid var(--line);background:var(--surface-soft);width:44px;height:44px;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;border-radius:50%;place-content:center;gap:5px;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:var(--green-950);width:19px;height:2px;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast) ease}.mobile-nav[open] summary{background:var(--gold-soft);border-color:#ffd60085}.mobile-nav[open] summary span:first-child{transform:translateY(7px)rotate(45deg)}.mobile-nav[open] summary span:nth-child(2){opacity:0}.mobile-nav[open] summary span:last-child{transform:translateY(-7px)rotate(-45deg)}.mobile-nav nav{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem}.mobile-nav nav>a:not(.button){border-bottom:1px solid var(--line);padding:.8rem .5rem;font-weight:700;text-decoration:none}.mobile-nav nav>a[aria-current=page]:not(.button){color:var(--green-800);background:var(--surface-green);border-radius:var(--radius-sm)}.mobile-nav .button{margin-top:1rem}.hero{isolation:isolate;background:#dbe9d6 url(/media/hero-cempaka-berseri-poster.jpg) bottom/cover no-repeat;min-height:clamp(520px,78svh,700px);position:relative;overflow:hidden}.hero-background{z-index:-2;background:#dbe9d6 url(/media/hero-cempaka-berseri-poster.jpg) bottom/cover no-repeat;position:absolute;inset:0}.hero-background img{object-fit:cover;object-position:center bottom;width:100%;height:100%}.hero:after{z-index:-1;content:"";background:linear-gradient(90deg,#f6faf0fa 0%,#f6faf0eb 38%,#f6faf080 62%,#06281d0d 100%);position:absolute;inset:0}.hero-grid{z-index:1;align-items:center;min-height:clamp(520px,78svh,700px);padding-block:5rem 7rem;display:flex;position:relative}.hero-copy{max-width:780px}.hero-badge{color:var(--green-950);background:var(--gold);letter-spacing:.04em;border:1px solid #06281d29;border-radius:999px;margin:0 0 1.25rem;padding:.5rem .85rem;font-size:.78rem;font-weight:820;display:inline-flex}.hero h1{max-width:840px;margin-bottom:1.5rem}.hero-lead{color:#415448;max-width:650px;margin-bottom:2rem;font-size:clamp(1.05rem,2vw,1.25rem)}.trust-strip{z-index:4;margin-top:-3rem;position:relative}.trust-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);grid-template-columns:.9fr 2.1fr;display:grid;overflow:hidden}.trust-panel>h2{color:var(--white);background:var(--green-900);border-top:4px solid var(--gold);letter-spacing:-.02em;align-content:center;margin:0;padding:1.5rem 2rem;font-size:1.12rem;display:grid}.logo-row{grid-template-columns:repeat(5,1fr);align-items:center;gap:1rem;padding:1rem 1.5rem;display:grid}.logo-row figure{border-radius:var(--radius-sm);height:72px;transition:background-color var(--duration-fast) ease;place-items:center;margin:0;display:grid}.logo-row img{object-fit:contain;filter:grayscale();opacity:.65;width:100%;height:54px;transition:filter var(--duration-fast) ease, opacity var(--duration-fast) ease}.logo-row figure:hover img{filter:none;opacity:1}.logo-row figure:hover{background:var(--surface-soft)}.services-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;display:grid}.service-card{background:linear-gradient(135deg, #edf6e8e0, #fff0 48%), var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-height:310px;box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--header-height) + 24px);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-fast) ease, box-shadow var(--duration-base) var(--ease-out);flex-direction:column;padding:clamp(1.5rem,3vw,2.25rem);display:flex;overflow:hidden}.service-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.service-icon{width:72px;height:72px;color:var(--green-800);background:var(--surface-green);transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease, transform var(--duration-base) var(--ease-out);border:1px solid #126a3e24;border-radius:15px;place-items:center;display:grid}.service-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:38px;height:38px}.service-accent{background:var(--gold);transform-origin:100%;width:34px;height:6px;transition:transform var(--duration-base) var(--ease-out);border-radius:999px;margin-top:.35rem}.service-card-copy{margin-top:auto;padding-top:clamp(2.5rem,5vw,4rem)}.service-card h3{max-width:22ch;margin:0}.service-card p{max-width:55ch;color:var(--muted);margin:1rem 0 0}.split-grid{grid-template-columns:repeat(2,1fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.home-about-image,.home-about-image img{width:100%;height:560px}.home-about-image{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.home-about-image img{object-fit:cover}.media-frame{border-radius:var(--radius-lg);box-shadow:var(--shadow);position:relative;overflow:hidden}.media-frame picture,.media-frame img{width:100%;height:100%}.media-frame img{object-fit:cover}.feature-copy h2{margin-bottom:1.25rem}.feature-copy>p{color:var(--muted);font-size:1.08rem}.check-list{gap:.85rem;margin:1.8rem 0 2rem;padding:0;list-style:none;display:grid}.check-list li{grid-template-columns:28px 1fr;gap:.8rem;display:grid}.check-list li:before{content:"✓";width:24px;height:24px;color:var(--white);background:var(--green-700);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.area-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);display:grid}.area-map{aspect-ratio:3/2;background:var(--surface-green);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.area-map picture,.area-map img{width:100%;height:100%}.area-map img{object-fit:cover}.area-map-label{z-index:1;color:var(--green-950);background:var(--gold);border:1px solid #06281d29;border-radius:999px;padding:.65rem .9rem;font-size:.8rem;font-weight:820;position:absolute;bottom:1rem;left:1rem;box-shadow:0 8px 24px #06281d29}.area-content h2{margin-bottom:1rem}.area-content>p:not(.eyebrow){color:var(--muted)}.area-content .button{margin-top:2rem}.area-groups{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid}.area-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem;transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1)}.area-group h3{letter-spacing:0;margin-bottom:1rem;font-size:1rem}.area-group h3:after{content:"";background:var(--gold);border-radius:999px;width:28px;height:3px;margin-top:.75rem;display:block}.area-group ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.area-group li{color:var(--muted);align-items:center;gap:.55rem;font-size:.9rem;display:flex}.area-group li:before{content:"";background:var(--leaf);border-radius:50%;width:7px;height:7px}.gallery-preview{grid-template-rows:repeat(2,220px);grid-template-columns:1.45fr .8fr .8fr;gap:1rem;display:grid}.gallery-preview figure{border-radius:var(--radius-md);min-height:0;margin:0;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.gallery-preview figure:first-child{grid-row:1/3}.gallery-preview picture,.gallery-preview img{width:100%;height:100%}.gallery-preview img{object-fit:cover;transition:transform .42s cubic-bezier(.16,1,.3,1)}.gallery-preview-compact{grid-template-rows:280px;grid-template-columns:repeat(3,1fr)}.gallery-preview-compact figure:first-child{grid-row:auto}.cta-panel{color:#ffffffc2;background:radial-gradient(circle at 100% 0%, #ffd60029, transparent 30%), var(--green-950);border-radius:var(--radius-md);border:1px solid #ffffff1a;grid-template-columns:1.5fr .7fr;align-items:center;gap:2rem;margin-block:clamp(4rem,9vw,8rem);padding:clamp(2rem,6vw,4.5rem);display:grid;overflow:hidden}.cta-panel h2{max-width:720px;color:var(--white);margin:0}.cta-panel p:last-child{max-width:720px;margin-bottom:0}.cta-actions{justify-items:start;gap:.9rem;display:grid}.cta-email-link{max-width:260px;color:var(--leaf-light);overflow-wrap:anywhere;font-size:.75rem;text-decoration:none}.cta-email-link:hover{color:var(--white)}.site-footer{color:#ffffffa8;border-top:4px solid var(--gold);background:linear-gradient(#ffffff06,#0000 35%),#041d15;padding-top:4.5rem}.footer-grid{grid-template-columns:1.5fr repeat(3,.8fr);gap:2rem;padding-bottom:3.5rem;display:grid}.footer-brand{color:var(--white);margin-bottom:.8rem;font-size:1.25rem;font-weight:850}.footer-copy{max-width:44ch;margin:0}.footer-contact{justify-items:start;gap:.35rem;margin-top:1rem;display:grid}.footer-contact a{color:var(--leaf-light);overflow-wrap:anywhere;text-underline-offset:.22em;font-size:.82rem;text-decoration-thickness:.08em}.site-footer h2{color:var(--white);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.82rem}.site-footer ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.site-footer a{transition:color var(--duration-fast) ease;text-decoration:none}.site-footer a:hover{color:var(--white)}.site-footer address{font-style:normal;display:grid}.footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-block:1.25rem;font-size:.78rem;display:flex}.footer-bottom p{margin:0}@media (width<=1040px){.desktop-nav,.header-cta{display:none}.mobile-nav{display:block}.services-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}.footer-grid section:last-child{grid-column:2/-1}}@media (width<=760px){:root{--header-height:70px}.container{width:min(calc(100% - 1.25rem), var(--container))}.brand-mark{width:58px;height:46px}.brand-copy strong{font-size:.86rem}.hero{min-height:auto}.hero:after{background:linear-gradient(#f6faf0f5 0%,#f6faf0db 58%,#f6faf094 100%)}.hero-grid{min-height:auto;padding-block:4rem 6rem}.hero-background img{object-position:62% bottom}.trust-panel{grid-template-columns:1fr}.logo-row{grid-template-columns:none;grid-auto-columns:130px;grid-auto-flow:column;overflow-x:auto}.services-grid,.split-grid,.area-grid,.cta-panel{grid-template-columns:1fr}.service-card{min-height:275px}.service-card-copy{padding-top:2.5rem}.media-frame{min-height:420px}.area-grid{flex-direction:column-reverse;display:flex}.area-map{aspect-ratio:3/2}.area-groups{grid-template-columns:1fr}.gallery-preview{grid-template-rows:300px 180px 180px;grid-template-columns:repeat(2,1fr)}.gallery-preview figure:first-child{grid-area:auto/1/auto/-1}.cta-panel{border-radius:var(--radius-md)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid section:first-child,.footer-grid section:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.4rem}}@media (width<=480px){h1{font-size:clamp(2.45rem,12vw,3.3rem)}.hero-actions .button{width:100%}.gallery-preview{flex-direction:column;display:flex}.gallery-preview figure{height:250px}.footer-grid{grid-template-columns:1fr}.footer-grid section,.footer-grid section:last-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-hero{isolation:isolate;background:var(--surface-green);border-bottom:1px solid var(--line);padding-block:clamp(3.5rem,7vw,6rem);position:relative;overflow:hidden}.page-hero-background{z-index:-2;position:absolute;inset:0}.page-hero-background picture,.page-hero-background img{width:100%;height:100%}.page-hero-background img{object-fit:cover;object-position:center 66%}.page-hero:after{z-index:-1;content:"";background:linear-gradient(90deg,#f8fbf3f7 0%,#f8fbf3e6 48%,#f8fbf380 78%,#f8fbf32e 100%);position:absolute;inset:0}.page-hero-inner{z-index:1;position:relative}.page-hero-inner:before{content:"";background:var(--gold);border-radius:999px;width:44px;height:5px;margin-bottom:1.5rem;display:block}.page-hero h1{max-width:980px;margin-bottom:1.4rem;font-size:clamp(2.7rem,5.4vw,4.7rem)}.page-hero-lead{max-width:780px;color:var(--muted);margin-bottom:0;font-size:clamp(1.05rem,2vw,1.28rem)}.breadcrumbs{margin-bottom:1.4rem}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#98a89e;margin-left:.4rem}.breadcrumbs a{color:var(--green-700);text-decoration:none}.breadcrumbs span[aria-current=page]{color:var(--green-900);font-weight:760}.about-collage{background:var(--green-950);grid-template-rows:1.35fr .85fr;gap:.5rem;min-height:600px;padding:.5rem;display:grid}.about-collage picture{border-radius:calc(var(--radius-lg) - .5rem);min-height:0;overflow:hidden}.legal-status-note{color:var(--green-900);background:linear-gradient(90deg, var(--gold-soft), var(--surface-green) 45%);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:1.1rem 1.25rem}.poster-frame{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);margin:0;overflow:hidden}.poster-frame img{width:100%;height:auto}.poster-frame figcaption{color:var(--muted);padding:1rem 1.25rem;font-size:.82rem}.compact-split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.compact-split-top{align-items:start}.large-copy{color:var(--muted);font-size:clamp(1.05rem,2vw,1.25rem)}.area-pills,.enquiry-list{margin:0;padding:0;list-style:none}.area-pills{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.area-pills li{background:var(--surface-green);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.1rem;font-weight:720}.area-pills li:before{content:"✓";color:var(--green-700);margin-right:.65rem;font-weight:900}.environmental-band{align-items:center;min-height:640px;display:grid;position:relative;overflow:hidden}.environmental-band-image{position:absolute;inset:0}.environmental-band-image picture,.environmental-band-image img{width:100%;height:100%}.environmental-band-image img{object-fit:cover;object-position:center bottom}.environmental-band:after{content:"";background:linear-gradient(90deg,#fffffff7 0%,#ffffffe0 46%,#ffffff1f 78%);position:absolute;inset:0}.environmental-band-copy{z-index:1;position:relative}.environmental-band-copy h2,.environmental-band-copy p{max-width:680px}.location-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.location-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-height:330px;padding:1.7rem;transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1);display:flex}.location-card>span{color:var(--green-900);background:var(--gold);letter-spacing:.09em;text-transform:uppercase;border:1px solid #06281d24;border-radius:999px;align-self:flex-start;margin-bottom:2.8rem;padding:.36rem .58rem;font-size:.72rem;font-weight:820}.location-card address{color:var(--muted);margin-bottom:1.5rem;font-style:normal;display:grid}.location-card .text-link{margin-top:auto}.client-logo-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.client-logo-grid figure{background:linear-gradient(180deg, var(--surface), var(--surface-soft));border:1px solid var(--line);border-radius:var(--radius-md);place-items:center;min-height:160px;margin:0;padding:1.5rem;transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1);display:grid}.client-logo-grid img{object-fit:contain;width:100%;height:92px}.portfolio-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:1rem;display:grid}.portfolio-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:clamp(1.4rem,3vw,2rem);transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1)}.portfolio-card-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.portfolio-card-head h3{margin:0}.portfolio-card-head span{width:38px;height:38px;color:var(--green-950);background:var(--gold);border:1px solid #06281d24;border-radius:50%;place-items:center;font-size:.74rem;font-weight:850;display:grid}.portfolio-card ol{color:var(--muted);grid-template-columns:repeat(2,1fr);gap:.45rem 2.2rem;margin:0;padding-left:1.6rem;display:grid}.portfolio-card ol li::marker{color:var(--green-700);font-weight:800}.gallery-category-list{gap:clamp(2rem,5vw,4rem);margin-top:2rem;display:grid}.gallery-category-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:clamp(1.25rem,3vw,2rem);transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1)}.gallery-category-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.gallery-category-head h3{margin:0}.gallery-category-head p{max-width:68ch;color:var(--muted);margin:.45rem 0 0}.gallery-category-head>span{color:var(--green-900);background:var(--gold);border:1px solid #06281d24;border-radius:999px;flex:none;padding:.38rem .62rem;font-size:.78rem;font-weight:760}.gallery-grid-full{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gallery-grid-full.gallery-single{grid-template-columns:minmax(0,760px)}.gallery-grid-full figure{border-radius:var(--radius-md);background:0 0;margin:0;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s cubic-bezier(.16,1,.3,1);overflow:hidden}.gallery-grid-full .gallery-wide{grid-column:span 2}.gallery-grid-full picture,.gallery-grid-full img{width:100%;height:300px}.gallery-grid-full img{object-fit:cover;transition:transform .42s cubic-bezier(.16,1,.3,1)}.legal-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.legal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-height:500px;transition:transform .26s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .26s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.legal-issuer{color:var(--green-900);background:var(--gold);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.32rem .55rem;font-size:.72rem;font-weight:750}.legal-preview{background:var(--cream);height:260px;position:relative;overflow:hidden}.legal-preview:after{content:"";background:#ffffff29;position:absolute;inset:0}.legal-preview img{object-fit:cover;object-position:top;opacity:.82;filter:blur(1.4px);width:100%;height:100%;transform:scale(1.02)}.legal-card-content{flex-direction:column;flex:1;padding:1.4rem;display:flex}.legal-card-content h2{margin-bottom:.8rem;font-size:1.35rem}.legal-card-content>p:not(.legal-issuer){color:var(--muted)}.legal-card-content .button{align-self:flex-start;margin-top:auto}.legal-status-note{margin-top:1rem}.legal-status-note p{margin:.35rem 0 0}.contact-layout{grid-template-columns:1fr .85fr;align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.contact-card{color:#ffffffb8;background:radial-gradient(circle at 100% 0%, #ffd60029, transparent 34%), var(--green-950);border-radius:var(--radius-md);box-shadow:var(--shadow);border:1px solid #ffffff1a;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.contact-card>div{border-bottom:1px solid #ffffff1f;padding-bottom:1rem;display:grid}.contact-card span,.contact-card small{color:#f2d873;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:750}.contact-card strong{color:var(--white);overflow-wrap:anywhere;margin-block:.35rem;font-size:clamp(1.2rem,2vw,1.6rem)}.contact-card>div a{color:var(--leaf-light);justify-self:start;font-size:.8rem;font-weight:750;text-decoration:none}.contact-card>div a:hover{color:var(--white)}.contact-card .button{margin-top:.5rem}.contact-email-link{color:var(--leaf-light);justify-self:start;font-weight:720}.enquiry-list{gap:.65rem;display:grid}.enquiry-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:1rem;padding:1rem;font-weight:700;display:flex}.enquiry-list span{width:30px;height:30px;color:var(--green-950);background:var(--gold);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:850;display:grid}.area-group,.location-card,.client-logo-grid figure,.portfolio-card,.gallery-category-card,.legal-card,.enquiry-list li{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-fast) ease, box-shadow var(--duration-base) var(--ease-out)}.gallery-grid-full figure,.gallery-preview figure{background:var(--surface-soft);border:1px solid var(--line-strong);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out)}.not-found{text-align:center;place-items:center;min-height:70vh;padding-block:5rem;display:grid}.not-found .container{max-width:760px}.not-found p:not(.eyebrow){color:var(--muted);font-size:1.1rem}@media (width<=960px){.contact-layout{grid-template-columns:1fr}.legal-grid,.location-grid{grid-template-columns:repeat(2,1fr)}.legal-card:last-child,.location-card:last-child{grid-column:1/-1}.client-logo-grid,.gallery-grid-full{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.page-hero{padding-block:3.5rem 4.5rem}.page-hero h1{font-size:clamp(2.45rem,12vw,3.8rem)}.about-collage,.home-about-image,.home-about-image img{height:420px;min-height:420px}.compact-split,.portfolio-grid,.contact-layout,.legal-grid,.location-grid,.client-logo-grid,.gallery-grid-full{grid-template-columns:1fr}.legal-card:last-child,.location-card:last-child,.gallery-grid-full .gallery-wide{grid-column:auto}.legal-card,.location-card{min-height:auto}.location-card>span{margin-bottom:1.8rem}.portfolio-card ol{grid-template-columns:1fr}.gallery-category-head{flex-direction:column}.gallery-grid-full picture,.gallery-grid-full img{height:260px}.environmental-band{min-height:520px}.environmental-band:after{background:#ffffffd6}}@media (width<=480px){.legal-card .button,.contact-card .button{width:100%}.area-pills{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.service-card:hover,.area-group:hover,.location-card:hover,.client-logo-grid figure:hover,.legal-card:hover,.portfolio-card:hover,.gallery-category-card:hover{box-shadow:var(--shadow-raised);border-color:#0000;transform:translateY(-4px)}.service-card:hover .service-icon{color:var(--white);background:var(--green-700);transform:translateY(-2px)}.service-card:hover .service-accent{transform:scaleX(1.45)}.gallery-preview figure:hover,.gallery-grid-full figure:hover{transform:translateY(-4px);box-shadow:0 16px 38px #06281d24}.gallery-preview figure:hover img,.gallery-grid-full figure:hover img{transform:scale(1.035)}}@media (prefers-reduced-motion:reduce){.service-card:hover,.area-group:hover,.location-card:hover,.client-logo-grid figure:hover,.legal-card:hover,.portfolio-card:hover,.gallery-category-card:hover,.gallery-preview figure:hover,.gallery-grid-full figure:hover,.gallery-preview figure:hover img,.gallery-grid-full figure:hover img,.service-card:hover .service-icon{transform:none}}
