/* A live wordmark, crisp vector arrows and legible photo captions. */
.brand-wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:178px;height:74px;overflow:visible;color:#e1c8a2;line-height:1;gap:0}
.brand-name{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:7px;padding-left:7px;line-height:1}
.brand-subtitle{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:5px;padding-left:5px;line-height:1;margin-top:5px}
.brand-ornament{display:flex;align-items:center;justify-content:center;gap:9px;width:113px;margin-top:7px;color:#c5a67d}
.brand-ornament>span{height:1px;background:currentColor;flex:1;opacity:.8}
.brand-ornament>svg{width:10px;height:10px;fill:currentColor;flex-shrink:0}
.icon-arrow{display:inline-block;width:20px;height:20px;min-width:20px;flex:0 0 20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.header-cta .icon-arrow{color:#c5a87c;width:18px;height:18px;min-width:18px;flex-basis:18px}
.hero-bottom .icon-arrow{width:17px;height:17px;min-width:17px;flex-basis:17px}
.back-button{display:inline-flex;align-items:center;gap:5px}
.back-button .icon-arrow{width:16px;height:16px;min-width:16px;flex-basis:16px}
.eyebrow.light{color:#fff;font-weight:600;text-shadow:0 1px 5px #0008}
.hero-content .eyebrow.light{font-size:11px;letter-spacing:1.8px;line-height:1.8}
.hero-shade{background:linear-gradient(90deg,rgba(12,23,22,.78),rgba(12,23,22,.47) 65%,rgba(12,23,22,.24)),linear-gradient(0deg,rgba(13,24,20,.76),transparent 65%)}
.hero-description,.hero-bottom{color:#fff;text-shadow:0 1px 5px #0007}
.hero-bottom>span{font-size:11px}
.hero-bottom>a{font-size:10px;font-weight:600}
.destination-overlay{background:linear-gradient(0deg,rgba(11,22,18,.95),rgba(11,22,18,.65) 58%,rgba(11,22,18,.12))}
.destination-content .eyebrow.light{font-size:11px;letter-spacing:1.5px;line-height:1.8}
.destination-content>p{font-size:14px;color:#fff;line-height:1.85;text-shadow:0 1px 5px #0006}
.circle-link{font-size:12px;font-weight:600;color:#fff}
.service-photo:after{background:linear-gradient(0deg,rgba(12,28,23,.9),rgba(12,28,23,.55) 52%,transparent)}
.service-photo figcaption>span{font-size:11px;font-weight:600;line-height:1.8;letter-spacing:1.5px;color:#fff;text-shadow:0 1px 5px #0008}

/* The link remains usable without JavaScript; pointer events add dragging. */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid #ffffff55;border-radius:50%;background:#1d704f;color:#fff;box-shadow:0 5px 24px #0d251f38;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;transition:background .2s,box-shadow .2s}
.whatsapp-float:hover{background:#145d40;box-shadow:0 7px 26px #0d251f55}
.whatsapp-float.is-dragging{cursor:grabbing;box-shadow:0 9px 30px #0d251f70;transition:none}
.whatsapp-icon{width:33px;height:33px;pointer-events:none;flex-shrink:0}
.whatsapp-tooltip{position:absolute;right:calc(100% + 12px);white-space:nowrap;padding:6px 12px;background:var(--espresso);color:var(--cream);font-size:11px;font-weight:500;border:1px solid #c5a87c55;opacity:0;transform:translateX(4px);pointer-events:none;transition:opacity .2s,transform .2s}
.whatsapp-float:focus-visible .whatsapp-tooltip{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.whatsapp-float:hover .whatsapp-tooltip{opacity:1;transform:none}}
.whatsapp-float.is-dragging .whatsapp-tooltip{opacity:0}
body.menu-open .whatsapp-float{visibility:hidden}
@media(max-width:820px){
  .brand-wordmark{width:155px;height:66px}
  .brand-name{font-size:30px;letter-spacing:6px;padding-left:6px}
  .brand-subtitle{font-size:8px;letter-spacing:4px;padding-left:4px;margin-top:4px}
  .brand-ornament{width:100px;gap:8px;margin-top:6px}
  .brand-ornament>svg{width:9px;height:9px}
  .whatsapp-float{width:56px;height:56px;right:18px;bottom:calc(90px + env(safe-area-inset-bottom))}
  .mobile-contact>a .icon-arrow{width:18px;height:18px;min-width:18px;flex-basis:18px}
}
@media(max-width:580px){
  .site-header{padding:0 18px;gap:12px}
  .brand-wordmark{width:142px;height:66px}
  .brand-name{font-size:29px;letter-spacing:5px;padding-left:5px}
  .header-cta{font-size:10px;gap:8px;white-space:nowrap}
  .header-cta .icon-arrow{width:16px;height:16px;min-width:16px;flex-basis:16px}
  .hero-content .eyebrow.light{font-size:11px;line-height:1.85;letter-spacing:1.25px;max-width:100%;margin-bottom:24px}
  .hero-shade{background:linear-gradient(90deg,rgba(11,24,20,.77),rgba(11,24,20,.5)),linear-gradient(0deg,rgba(11,24,20,.85),transparent 70%)}
  .hero-description{font-size:15px;line-height:1.8;margin-top:24px}
  .hero .button{font-size:12px;line-height:1.6;min-height:54px;gap:18px}
  .hero-bottom{gap:18px;align-items:center;bottom:24px;padding-top:17px}
  .hero-bottom>span{font-size:11px;line-height:1.7;max-width:158px}
  .hero-bottom>a{font-size:10px;letter-spacing:1px;gap:12px;flex-shrink:0}
  .destination-content .eyebrow.light{font-size:11px;letter-spacing:1.25px}
  .destination-content>p{font-size:14px;line-height:1.8}
  .destination-content .circle-link{font-size:12px;min-height:48px}
  .service-photo figcaption>span{font-size:11px;letter-spacing:1.5px}
  .text-link{max-width:100%;gap:18px}
  .mobile-nav>a{min-height:70px}
}
@media(max-width:359px){
  .site-header{padding:0 14px;gap:10px}
  .brand-wordmark{width:133px}
  .brand-name{font-size:27px}
  .header-cta{font-size:9px;gap:6px}
  .hero-bottom>span{max-width:132px;font-size:10px}
  .hero-bottom>a{font-size:9px;gap:8px}
  .hero .button{font-size:11px;padding:13px 15px}
}
