.he-bookbar{background:#fff;padding:26px 28px;box-shadow:0 18px 50px rgba(0,0,0,.1)}
.he-tiles{display:grid;gap:22px;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
.he-tiles.cols-2{--cols:2}.he-tiles.cols-3{--cols:3}.he-tiles.cols-4{--cols:4}
.he-tile{position:relative;display:block;overflow:hidden;aspect-ratio:3/4;background:var(--c-alt);text-decoration:none}
.he-tiles.is-landscape .he-tile{aspect-ratio:4/3}.he-tiles.is-square .he-tile{aspect-ratio:1}
.he-tile img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.he-tile:hover img{transform:scale(1.07)}
.he-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(15,22,18,.78))}
.he-tile-cap{position:absolute;z-index:2;inset:auto 0 0 0;padding:30px 24px 26px;color:#fff;font:500 clamp(22px,2vw,28px)/1.15 var(--f-head)}
.he-cta{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 24px;text-align:center;color:#fff;background:var(--c-dark);isolation:isolate}
.he-cta::before{content:"";position:absolute;inset:0;background:rgba(12,18,15,var(--ov,.45));z-index:1}
.he-cta-bg{position:absolute!important;inset:0;z-index:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.he-cta-in{position:relative;z-index:2;max-width:780px;margin:0 auto}
.he-cta .hc-title,.he-cta .hc-eyebrow{color:#fff}
.he-cta p{font-size:19px;margin-bottom:32px;color:rgba(255,255,255,.9)}
.he-menu{margin:0;padding:0;list-style:none}
.he-menu li{padding:6px 0}
.he-menu.is-inline{display:flex;flex-wrap:wrap;gap:6px 26px}
.he-menu a,.he-social a,.he-logo{color:inherit;text-decoration:none}
.he-menu a:hover,.he-social a:hover{color:var(--c-primary)}
.he-logo.is-text{font:500 34px/1 var(--f-head)}
.he-social{display:flex;flex-wrap:wrap;gap:8px 20px}
.he-features.cols-1{--cols:1}.he-features.cols-2{--cols:2}.he-features.cols-3{--cols:3}.he-features.cols-4{--cols:4}
.he-features{gap:40px 44px}
.he-features .hc-am-text strong{font-size:25px}
.he-features .hc-icon-wrap{flex:none;width:60px;height:60px;align-items:center;justify-content:center;border:1px solid var(--c-line);border-radius:50%}
.he-newsletter .hc-nl-row{align-items:stretch}
.he-map iframe{display:block;filter:saturate(.8) contrast(1.02)}
.he-team{display:grid;gap:34px;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
.he-team.cols-2{--cols:2}.he-team.cols-3{--cols:3}.he-team.cols-4{--cols:4}
.he-person{margin:0}
.he-person-img{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--c-alt)}
.he-person-img img{width:100%!important;height:100%!important;object-fit:cover;filter:grayscale(.25);transition:filter .5s,transform 1s}
.he-person:hover img{filter:none;transform:scale(1.04)}
.he-person figcaption{padding-top:18px}
.he-person strong{display:block;font:500 25px/1.2 var(--f-head);color:var(--c-dark)}
.he-person small{display:block;margin-top:4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-primary)}
.he-panel{padding:clamp(34px,4vw,58px);background:#fff;border:1px solid var(--c-line)}
.he-panel.is-dark{background:var(--c-dark);color:rgba(255,255,255,.8);border-color:var(--c-dark)}
.he-panel.is-dark .hc-title,.he-panel.is-dark strong,.he-panel.is-dark h3{color:#fff}
@media(max-width:1024px){.he-tiles.cols-4{--cols:2}.he-features.cols-3,.he-features.cols-4{--cols:2}.he-team.cols-4{--cols:2}}
@media(max-width:767px){.he-tiles,.he-tiles.cols-3,.he-tiles.cols-4{--cols:2;gap:12px}.he-features{--cols:1!important}.he-team{--cols:2!important;gap:18px}.he-cta{padding-inline:20px}.he-tile-cap{font-size:19px;padding:26px 14px 14px}}

/* Keep carousels / wide content inside their column */
.e-con>.elementor-widget,.e-con>.e-con-inner>.elementor-widget,.elementor-widget-container{min-width:0;max-width:100%}
.hc-slider,.hc-hero{max-width:100%}

.he-map{display:block;line-height:0}.he-map iframe{display:block;filter:grayscale(.25) contrast(1.02)}
.he-map-empty{display:flex;align-items:center;justify-content:center;background:var(--c-alt);color:var(--c-text);text-align:center;padding:24px;line-height:1.5;border-block:1px solid var(--c-line)}
