.tg-banner-hero .hero-media:before{pointer-events:none;background:linear-gradient(90deg,rgba(7,8,15,.84),rgba(12,12,25,.52) 48%,rgba(8,9,15,.2))}
.tg-banner-image{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none}
.tg-banner-image.is-active{opacity:1;visibility:visible;pointer-events:auto}
.tg-banner-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.tg-banner-hero .hero-inner{pointer-events:none}
.tg-banner-hero .hero-copy,.tg-banner-hero .booking-card{pointer-events:auto}
.tg-banner-hero .hero-copy{max-width:550px;padding-right:26px}
.tg-banner-caption[hidden],.tg-banner-controls[hidden]{display:none!important}
.tg-banner-caption h2{font-size:clamp(2.6rem,4.4vw,4.7rem);line-height:1.03;letter-spacing:-.045em;color:#fff;margin:16px 0 20px;text-wrap:balance}
.tg-banner-caption p{color:#f2f0ed!important;max-width:450px;min-height:3em;font-size:1.1rem;line-height:1.65;text-shadow:0 1px 8px #15131a}
.tg-banner-controls{display:flex;align-items:center;gap:12px;margin-top:30px}
.tg-banner-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff55;border-radius:50%;color:#fff;background:#14122280;cursor:pointer;transition:background .2s}
.tg-banner-controls button:hover{background:#ffffff30}
.tg-banner-controls button:focus-visible,.tg-banner-caption a:focus-visible{outline:3px solid #edce83;outline-offset:5px}
.tg-banner-dots{display:flex;align-items:center;gap:2px}
.tg-banner-dots button{width:28px;height:40px;border:0;background:transparent}
.tg-banner-dots button:after{content:'';width:7px;height:7px;border-radius:9px;background:#ffffff70;transition:width .3s}
.tg-banner-dots button[aria-current=true]:after{width:22px;background:#e7c17a}
.tg-banner-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:900px){.tg-banner-hero .hero-copy{min-height:350px;padding-right:0;display:flex;flex-direction:column;justify-content:center}.tg-banner-hero .hero-media{height:540px;bottom:auto}.tg-banner-hero .hero-media:before{background:linear-gradient(0deg,#0c0c19,transparent 65%),linear-gradient(90deg,#080815b0,#08081530)}.tg-banner-caption h2{max-width:560px}.tg-banner-hero{background:#0c0c19}}
@media(prefers-reduced-motion:reduce){.tg-banner-image,.tg-banner-dots button:after{transition:none}}
.tg-banner-hero.hero{height:auto;min-height:560px;background:var(--ivory)}
.tg-banner-hero .hero-copy{grid-column:1;grid-row:1}
.tg-banner-hero .booking-card{grid-column:2;grid-row:1}
.tg-hero-services{grid-column:1;grid-row:1;align-self:start;margin-top:560px;display:grid;gap:16px;pointer-events:auto}
.tg-hero-service{display:grid;grid-template-columns:34% 1fr;overflow:hidden;background:#fff;border:1px solid #e5e2db;border-radius:16px;box-shadow:0 8px 24px #063c360a;transition:transform .2s,box-shadow .2s}
.tg-hero-service:hover{transform:translateY(-3px);box-shadow:0 12px 28px #063c3618}
.tg-hero-service:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.tg-hero-service img{width:100%;height:100%;min-height:148px;object-fit:cover}
.tg-hero-service>div{padding:20px}
.tg-hero-service h2{font:400 25px/1.15 var(--serif);color:var(--green);margin:0 0 9px}
.tg-hero-service p{font-size:13px;line-height:1.5;color:var(--text);margin:0 0 14px}
.tg-hero-service span{font-size:12px;font-weight:700;color:var(--green);display:flex;justify-content:space-between;gap:12px}
.tg-hero-service b{color:#a77c25}
@media(max-width:900px){.tg-banner-hero .hero-copy{grid-column:1;grid-row:1}.tg-banner-hero .booking-card{grid-column:1;grid-row:2}.tg-banner-hero .tg-hero-services{grid-column:1;grid-row:3;margin-top:0}}
@media(max-width:420px){.tg-hero-service>div{padding:16px}.tg-hero-service h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.tg-hero-service{transition:none}.tg-hero-service:hover{transform:none}}
.tg-banner-hero .hero-media{position:absolute;inset:0 0 auto;height:560px;overflow:hidden;background-image:none}
.tg-banner-hero .hero-media:before{z-index:1}
.tg-banner-hero .hero-inner{padding:32px 0 40px;align-items:start}
.tg-banner-hero .hero-copy{padding:0 22px 0 0;min-height:0;max-width:560px}
.tg-banner-hero .tg-banner-captions{height:350px;display:flex;align-items:center}
.tg-banner-hero .tg-banner-caption h2{font-family:var(--serif);font-size:clamp(2.6rem,4vw,4rem);font-weight:400}
.tg-banner-hero .eyebrow{color:#f1dba4}
.tg-banner-hero .tg-banner-controls{margin-top:4px}
.tg-banner-hero .tg-dual-cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.tg-banner-hero .tg-dual-cta .btn{font-size:13px;padding:12px 16px;min-height:46px}
.tg-banner-hero .tg-btn-whatsapp{background:#075e54;color:#fff;border-color:#ffffff60}
@media(max-width:900px){.tg-banner-hero .hero-inner{padding:24px 0 40px;gap:28px}.tg-banner-hero .hero-copy{padding:0;display:block}.tg-banner-hero .hero-media{height:560px}.tg-banner-hero .tg-banner-captions{height:340px}.tg-banner-hero .booking-card{margin-top:28px}.tg-banner-hero .hero-media:before{background:linear-gradient(90deg,#061f23dd,#061f2360)}}
@media(max-width:420px){.tg-banner-hero .tg-banner-caption h2{font-size:2.6rem}.tg-banner-hero .tg-banner-caption p{font-size:1rem}.tg-banner-hero .tg-dual-cta .btn{padding:10px;font-size:12px}}
