/* Photo geometry and final responsive refinement. Images never determine a hero's height. */
body{font-family:Inter,'Segoe UI',Arial,sans-serif;overflow-wrap:break-word}
:is(.v1,.v2,.v3) .inner-hero{display:grid;align-items:center;position:relative;isolation:isolate;width:100%;height:auto;min-height:420px;padding:0;overflow:hidden;gap:0}
:is(.v1,.v2,.v3) .inner-image{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;overflow:hidden;z-index:-1}
:is(.v1,.v2,.v3) .inner-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:50% 52%}
:is(.v1,.v2,.v3) .inner-title.wrap{position:relative;width:calc(100% - 112px);max-width:1312px;margin:0 auto;padding:64px 0;z-index:1}
:is(.v1,.v2,.v3) .inner-title h1{font-size:clamp(40px,4.4vw,64px);max-width:850px;line-height:1.08;text-wrap:balance}
:is(.v1,.v2,.v3) .inner-title p{max-width:570px;line-height:1.7;margin-bottom:0;color:#fff}
:is(.v1,.v2,.v3) .inner-title .breadcrumb{color:#fff;margin-bottom:20px}
:is(.v1,.v2,.v3) .inner-image:after{background:linear-gradient(90deg,rgba(5,20,34,.92),rgba(5,20,34,.68) 52%,rgba(5,20,34,.13))}
.v2 .inner-image:after{background:linear-gradient(90deg,rgba(19,39,32,.92),rgba(19,39,32,.68) 52%,rgba(19,39,32,.13))}
.v3 .inner-image:after{background:linear-gradient(90deg,rgba(8,18,25,.94),rgba(8,18,25,.66) 52%,rgba(8,18,25,.16))}
/* A fixed-ratio frame with absolutely positioned content prevents circular percentage sizing. */
.card-photo,.about-image{position:relative;min-width:0;isolation:isolate}
.card-photo img,.about-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
:is(.v1,.v2,.v3) .about-image{aspect-ratio:4/3}
:is(.v1,.v2,.v3) .gallery-item img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
:is(.v1,.v2,.v3) .guide-end img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
:is(.v1,.v2,.v3) .living-slide img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.contact-photo>img{height:auto;max-height:480px;aspect-ratio:3/1;object-fit:cover}
.hero-one>.hero-photo,.hero-three>.hero-photo,.hero-two .editorial-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-card,.gallery-item,.living-slide,.guide-end>*{min-width:0}
h1,h2,h3{text-wrap:balance}.button{border-radius:2px;box-shadow:0 0 0 transparent;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{box-shadow:0 8px 22px #0002}.button:active{transform:translateY(0)}
.guide-block{border-radius:3px}.v1 .guide-end{border-top:3px solid #325f85}.v2 .guide-end{border-top:3px solid #9c7b54}.v3 .guide-end{border-top:3px solid #d8c6a8}
.section-heading p{line-height:1.75}.social-marks{gap:10px}.social-mark{width:40px;height:40px;color:inherit}.social-mark svg{display:block;width:22px;height:22px;overflow:visible}
.explore-menu summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.dropdown-panel,.explore-menu>div{z-index:50}.footer-bottom{padding-right:75px}.floating-wa{bottom:max(16px,env(safe-area-inset-bottom));right:16px}
@media(min-width:801px) and (max-width:1100px){.header-inner{gap:16px}.desktop-nav,.v2 .desktop-nav,.v3 .desktop-nav{gap:16px}.brand img{width:122px}.v3 .brand img{width:132px}.header-cta{padding:12px 15px}}
@media(max-width:1100px){:is(.v1,.v2,.v3) .inner-title.wrap{width:calc(100% - 64px)}}
@media(max-width:800px){:is(.v1,.v2,.v3) .inner-hero{min-height:390px}:is(.v1,.v2,.v3) .inner-title.wrap{width:calc(100% - 40px);padding:56px 0}.header-inner{gap:10px}.brand{margin-right:auto}.footer-bottom{padding-right:0}.contact-photo>img{aspect-ratio:2/1}}
@media(max-width:550px){:is(.v1,.v2,.v3) .inner-hero{min-height:360px}:is(.v1,.v2,.v3) .inner-title.wrap{width:calc(100% - 36px);padding:46px 0}:is(.v1,.v2,.v3) .inner-title h1{font-size:clamp(35px,9.5vw,42px);line-height:1.12}:is(.v1,.v2,.v3) .inner-image:after{background:linear-gradient(90deg,#071a2be8,#071a2b9c)}:is(.v1,.v2,.v3) .inner-title p{font-size:15px}.inner-title .breadcrumb{font-size:11px}.header-cta{padding:10px 12px}.v3 .brand{padding:0 4px}.v3 .brand img{width:104px}.guide-end img{margin-bottom:24px}.gallery-item figcaption{padding-top:17px}.living-slide h3{font-size:25px}.footer-resources>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.footer-resources h3{grid-column:1/-1}.footer-resources a{margin-right:0}.footer-top{gap:24px 20px}.footer-bottom{padding-bottom:76px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.contact-photo>img{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
