.hero{padding-block:48px;min-height:590px;gap:42px}.hero h1{font-size:clamp(36px,4.4vw,60px)}.hero-intro{font-size:16px;line-height:1.7}.hero-location{margin-top:24px}.hero-showcase{position:relative;display:block;height:460px;isolation:isolate;border-radius:28px;overflow:hidden;background:#07324a;box-shadow:0 20px 50px #07324a20}.hero-showcase>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-showcase:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#052638f5);z-index:0}.showcase-badge{position:absolute;top:22px;left:22px;background:#fffef2;color:#07324a;font-size:11px;letter-spacing:.13em;font-weight:800;padding:9px 14px;border-radius:99px}.showcase-caption{position:absolute;left:26px;right:26px;bottom:75px;z-index:1;color:white}.showcase-caption h2{font-size:clamp(24px,3vw,34px);line-height:1.18;letter-spacing:-.025em;margin-bottom:12px;color:white}.showcase-caption a{text-decoration:underline;text-underline-offset:5px;font-size:14px}.showcase-controls{position:absolute;left:26px;bottom:20px;display:flex;align-items:center;gap:18px;color:#fff;z-index:1}.showcase-controls button{width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;background:#ffffff18;color:white;font-size:22px;cursor:pointer}.showcase-controls span{font-size:12px;font-variant-numeric:tabular-nums}.showcase-controls[hidden],.project-photo[hidden],.hero-showcase[hidden]{display:none}.hero-actions .button{background:#13794c}.hero-actions .text-link{border-bottom:1px solid #769b88;padding:8px 0}.expertise{padding-block:72px}.service-card{border-radius:20px!important;transition:transform .22s,box-shadow .22s,border-color .22s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #07324a12;border-color:#78af92}.projects-section{background:linear-gradient(140deg,#edf6f0,#f7f9f5);padding-block:70px}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.project-toolbar label{font-size:13px;font-weight:700;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.project-toolbar select{border:1px solid #c1d6c9;border-radius:10px;padding:12px;background:white;color:#07324a;font:inherit;max-width:100%;min-height:44px}.project-toolbar p{margin:0;font-size:13px;color:#526b60}.projects-grid{gap:24px}.project-photo{transition:box-shadow .22s}.project-photo:hover{box-shadow:0 12px 35px #07324a14}.project-photo>a{overflow:hidden;cursor:zoom-in}.project-photo img{height:290px;transition:transform .35s}.project-photo>a:hover img{transform:scale(1.025)}.project-photo .eyebrow{display:block}.project-photo .eyebrow::before{content:'●';color:#168552;margin-right:8px}.project-enquiry{display:inline-block;margin-top:4px;color:#087849;font-size:14px;font-weight:700;border-bottom:1px solid #a6cab5;padding:7px 0}.photo-dialog{border:0;border-radius:18px;padding:16px;background:#fff;max-width:min(1100px,94vw);max-height:92dvh;color:#07324a}.photo-dialog::backdrop{background:#031f30cf;backdrop-filter:blur(5px)}.photo-dialog img{display:block;max-width:100%;max-height:72dvh;margin:10px auto;object-fit:contain}.photo-dialog button{display:block;margin-left:auto;min-height:44px;padding:8px 18px;border:1px solid #bfd1c8;border-radius:9px;background:white;color:#07324a;font-weight:700;cursor:pointer}.photo-dialog p{text-align:center;margin:12px 0 0}.quick-faq{padding-block:70px;max-width:1100px;margin:auto}.quick-faq h2{font-size:clamp(28px,3.4vw,42px);line-height:1.2;letter-spacing:-.03em}.quick-faq details{background:white;border:1px solid #d8e5df;border-radius:14px;margin:12px 0;padding:0 22px}.quick-faq summary{padding:20px 0;font-weight:700;cursor:pointer;color:#07324a}.quick-faq details p{color:#526b79;margin:0 0 22px}.entered{animation:arrive .55s ease-out both}@keyframes arrive{from{transform:translateY(16px)}to{transform:translateY(0)}}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d3a129;outline-offset:4px}@media(max-width:900px){.hero{gap:28px}.hero-showcase{height:390px}}@media(max-width:760px){.hero{padding:32px 20px;min-height:0}.hero h1{font-size:38px}.hero-showcase{height:300px;margin-top:8px}.hero-intro{font-size:15px;margin-bottom:22px}.hero-location{margin-top:18px}.hero-actions{gap:16px}.hero-showcase .showcase-caption{left:20px;right:20px}.showcase-caption h2{font-size:26px}.showcase-badge{top:16px;left:16px}.expertise{padding-block:48px}.projects-section{padding-block:48px}.project-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.project-toolbar label{display:block;width:100%}.project-toolbar select{display:block;width:100%;margin-top:8px}.project-photo img{height:250px}.quick-faq{padding:48px 20px}.help-toggle{padding:10px 15px;font-size:12px}.photo-dialog{padding:12px}}@media(prefers-reduced-motion:reduce){.entered{animation:none}.service-card,.project-photo,.project-photo img{transition:none}.service-card:hover,.project-photo>a:hover img{transform:none}}
@media(max-width:760px){.hero h1{font-size:32px;line-height:1.12;margin-bottom:20px}.hero-intro{line-height:1.65}.hero-actions{gap:12px}}
