:root{
      --gd:#12301e;
      --gm:#1e6b38;
      --gs:#2e8a50;
      --gl:#52b06a;
      --gold:#c8922a;
      --glf:#f0c060;
      --crm:#f5f3ee;
      --wht:#ffffff;
      --drk:#0a160d;
      --mut:#4e5e52;
      --bdr:rgba(30,107,56,.13);
      --sh:0 4px 28px rgba(0,0,0,.07);
      --shl:0 14px 50px rgba(0,0,0,.13);
      --r:18px;
      --rs:10px;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:'Outfit',sans-serif;background:var(--crm);color:var(--drk);overflow-x:hidden}
    img{max-width:100%;display:block}
    a{text-decoration:none;color:inherit}
    ul{list-style:none}
    .container{max-width:1200px;margin:0 auto;padding:0 32px}
    .section{padding:90px 0}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
      color:var(--gold);background:rgba(200,146,42,.08);
      border:1px solid rgba(200,146,42,.28);
      padding:5px 14px;border-radius:100px;margin-bottom:16px;
    }
    .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold)}
    .s-title{
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(1.9rem,3.2vw,2.6rem);
      color:var(--gd);letter-spacing:-.01em;line-height:1.18;
    }
    .s-title::after{
      content:'';display:block;height:3px;width:52px;
      background:linear-gradient(90deg,var(--gold),transparent);
      margin-top:12px;border-radius:2px;
    }

    /* ── NAVBAR ── */
    #navbar{
      position:fixed;top:0;left:0;right:0;z-index:1000;
      padding:14px 32px;
      display:flex;align-items:center;justify-content:space-between;
      transition:background .35s,box-shadow .35s,padding .35s;
    }
    #navbar.scrolled{
      background:rgba(245,243,238,.96);backdrop-filter:blur(14px);
      box-shadow:0 2px 24px rgba(0,0,0,.07);padding:10px 32px;
    }
    .nav-brand{display:flex;align-items:center;gap:12px}
    .nav-logo{
      width:46px;height:46px;border-radius:50%;overflow:hidden;
      border:2.5px solid var(--gold);
      box-shadow:0 0 0 4px rgba(200,146,42,.15);flex-shrink:0;
    }
    .nav-logo img{width:100%;height:100%;object-fit:cover}
    .nav-brand-text strong{display:block;font-size:.9rem;font-weight:700;color:var(--gd);line-height:1.2}
    .nav-brand-text span{font-size:.7rem;color:var(--mut)}
    #navbar.scrolled .nav-brand-text strong{color:var(--gd)}
    .nav-brand-text-light strong{color:#fff}
    .nav-brand-text-light span{color:rgba(255,255,255,.65)}
    .nav-cta{
      background:linear-gradient(135deg,var(--gs),var(--gd));
      color:#fff;padding:10px 22px;border-radius:100px;
      font-size:.84rem;font-weight:600;
      box-shadow:0 4px 16px rgba(30,107,56,.3);
      transition:transform .2s,box-shadow .2s;
      display:flex;align-items:center;gap:8px;
    }
    .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,107,56,.4)}

    /* ── HERO ── */
    #hero{
      position:relative;overflow:hidden;
      min-height:92vh;
      display:flex;flex-direction:column;
      background:linear-gradient(160deg,var(--gd) 0%,#1a4a2a 55%,#102818 100%);
    }
    #hero::before,#hero::after{
      content:'';position:absolute;border-radius:50%;
      border:1px solid rgba(240,192,96,.07);pointer-events:none;z-index:0;
    }
    #hero::before{width:580px;height:580px;top:-220px;right:-160px}
    #hero::after{width:340px;height:340px;bottom:-120px;left:36%;border-color:rgba(240,192,96,.05)}

    .hero-inner{
      flex:1;position:relative;z-index:2;
      max-width:1280px;width:100%;margin:0 auto;
      padding:150px 32px 80px;
      display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
    }
    .hero-content{max-width:540px}
    #hero .eyebrow{color:var(--glf);background:rgba(240,192,96,.12);border-color:rgba(240,192,96,.32)}
    .hero-tagline{
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(2.2rem,4.5vw,3.6rem);
      color:#fff;line-height:1.12;letter-spacing:-.01em;
      margin-bottom:20px;
    }
    .hero-tagline em{color:var(--glf);font-style:normal}
    .hero-desc{
      font-size:1rem;color:rgba(255,255,255,.7);
      line-height:1.85;margin-bottom:32px;max-width:460px;
    }
    .hero-btns{display:flex;gap:12px;flex-wrap:wrap}
    .btn-gold{
      display:inline-flex;align-items:center;gap:9px;
      background:linear-gradient(135deg,var(--gold),#9a6a14);
      color:#fff;padding:14px 28px;border-radius:100px;
      font-size:.9rem;font-weight:700;
      box-shadow:0 8px 24px rgba(200,146,42,.5);
      transition:transform .2s,box-shadow .2s;
    }
    .btn-gold:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(200,146,42,.65)}
    .btn-ghost{
      display:inline-flex;align-items:center;gap:9px;
      border:1.5px solid rgba(255,255,255,.4);color:#fff;
      padding:13px 26px;border-radius:100px;
      font-size:.9rem;font-weight:600;
      backdrop-filter:blur(6px);background:rgba(255,255,255,.06);
      transition:background .2s,transform .2s;
    }
    .btn-ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
    .hero-trust{
      display:flex;align-items:center;gap:18px;flex-wrap:wrap;
      margin-top:38px;padding-top:24px;border-top:1px solid rgba(255,255,255,.13);
    }
    .trust-item{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:500;color:rgba(255,255,255,.65)}
    .trust-item i{color:var(--glf);font-size:.85rem}
    .trust-div{width:1px;height:14px;background:rgba(255,255,255,.18)}

    /* hero visual */
    .hero-visual{display:flex;justify-content:center;align-items:center}
    .resort-frame{position:relative;width:clamp(260px,32vw,440px);aspect-ratio:1/1}
    .ring{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
    .ring-1{width:82%;height:82%;border:1.5px solid rgba(240,192,96,.32)}
    .ring-2{width:96%;height:96%;border:1.5px solid rgba(240,192,96,.16)}
    .ring-3{width:110%;height:110%;border:1px solid rgba(240,192,96,.07)}
    .ring-ping{
      position:absolute;top:50%;left:50%;width:80%;height:80%;border-radius:50%;
      border:1.5px solid rgba(240,192,96,.55);
      transform:translate(-50%,-50%) scale(.82);
      animation:ringPing 3.6s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none;
    }
    .ring-ping.delay{animation-delay:1.8s}
    @keyframes ringPing{
      0%{transform:translate(-50%,-50%) scale(.8);opacity:.55}
      70%{opacity:.12}
      100%{transform:translate(-50%,-50%) scale(1.28);opacity:0}
    }
    .resort-circle{
      position:absolute;top:50%;left:50%;width:68%;height:68%;
      transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;
      border:6px solid rgba(255,255,255,.08);
      box-shadow:0 25px 60px rgba(0,0,0,.45),0 0 0 1px rgba(240,192,96,.25);
    }
    .resort-circle img{width:100%;height:100%;object-fit:cover}
    .resort-shine{
      position:absolute;top:6%;left:10%;width:38%;height:38%;border-radius:50%;
      background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.45),rgba(255,255,255,0) 70%);
      pointer-events:none;
    }
    .float-badge{
      position:absolute;width:20%;height:20%;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--gold),#8a5010);color:#fff;
      font-size:clamp(.8rem,1.6vw,1.1rem);
      box-shadow:0 10px 24px rgba(0,0,0,.4);border:3px solid var(--gd);
      animation:floatBadge 4.5s ease-in-out infinite;
    }
    .float-badge-a{top:2%;right:1%}
    .float-badge-b{bottom:6%;left:-2%;animation-delay:1.4s}
    @keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

    .hero-wave{position:absolute;bottom:-2px;left:0;right:0;z-index:3;height:90px;overflow:hidden}
    .hero-wave svg{display:block;width:100%;height:100%}

    /* ── CONTACT STRIP ── */
    #contact-strip{background:var(--wht);padding:24px 0;box-shadow:0 4px 24px rgba(0,0,0,.06);z-index:10;position:relative}
    .icon-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
    .icon-btn{
      display:flex;flex-direction:column;align-items:center;gap:6px;
      width:74px;padding:14px 0;border-radius:var(--rs);
      background:var(--crm);
      box-shadow:3px 3px 8px rgba(0,0,0,.05),-2px -2px 6px #fff;
      font-size:1.45rem;transition:transform .25s,box-shadow .25s;cursor:pointer;
    }
    .icon-btn:hover{transform:translateY(-5px);box-shadow:0 10px 26px rgba(0,0,0,.1)}
    .icon-btn span{font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
    .icon-btn:nth-child(1) i{color:#25d366}
    .icon-btn:nth-child(2) i{color:#e53935}
    .icon-btn:nth-child(3) i{color:#ea4335}
    .icon-btn:nth-child(4) i{color:#1e88e5}
    .icon-btn:nth-child(5) i{color:#1e88e5}

    /* ── ABOUT ── */
    #about{background:var(--wht)}
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
    .about-img-wrap{position:relative}
    .about-img-main{border-radius:var(--r);overflow:hidden;box-shadow:var(--shl)}
    .about-img-main img{width:100%;height:440px;object-fit:cover}
    .about-badge{
      position:absolute;bottom:-18px;right:-18px;
      background:var(--gd);color:#fff;
      border-radius:var(--rs);padding:18px 22px;
      text-align:center;box-shadow:var(--shl);
      border:3px solid var(--wht);
    }
    .about-badge .num{font-family:'Cormorant Garamond',serif;font-size:2.1rem;color:var(--glf)}
    .about-badge .lbl{font-size:.74rem;color:rgba(255,255,255,.65);margin-top:2px}
    .about-text p{font-size:1rem;line-height:1.9;color:var(--mut);margin-top:16px}
    .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
    .stat-card{
      background:var(--crm);border-radius:var(--rs);
      padding:18px;border:1px solid var(--bdr);position:relative;overflow:hidden;
    }
    .stat-card::before{
      content:'';position:absolute;top:0;left:0;width:3px;height:100%;
      background:linear-gradient(to bottom,var(--gs),var(--gold));
    }
    .stat-card .num{font-family:'Cormorant Garamond',serif;font-size:1.85rem;color:var(--gm);font-weight:700}
    .stat-card .lbl{font-size:.77rem;color:var(--mut);font-weight:500;margin-top:3px}

    /* ── FACILITIES ── */
    #facilities{background:var(--crm)}
    .facilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:42px}
    .fac-card{
      background:var(--wht);border-radius:var(--r);padding:28px 20px;
      border:1px solid var(--bdr);box-shadow:var(--sh);
      display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
      transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;
    }
    .fac-card:hover{transform:translateY(-7px);box-shadow:var(--shl)}
    .fac-bar{
      position:absolute;top:0;left:0;right:0;height:4px;
      background:linear-gradient(90deg,var(--gs),var(--gold));
      transform:scaleX(0);transform-origin:left;transition:transform .35s;
    }
    .fac-card:hover .fac-bar{transform:scaleX(1)}
    .fac-icon{
      width:56px;height:56px;border-radius:14px;
      background:linear-gradient(135deg,rgba(30,107,56,.1),rgba(200,146,42,.08));
      display:flex;align-items:center;justify-content:center;
      font-size:1.65rem;
    }
    .fac-card h3{font-size:.95rem;font-weight:700;color:var(--gd)}
    .fac-card p{font-size:.8rem;color:var(--mut);line-height:1.5}

    /* ── ROOM TYPES ── */
    #rooms{background:var(--wht)}
    .rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:42px}
    .room-card{
      border-radius:var(--r);overflow:hidden;background:var(--wht);
      border:1px solid var(--bdr);box-shadow:var(--sh);
      transition:transform .3s,box-shadow .3s;
    }
    .room-card:hover{transform:translateY(-6px);box-shadow:var(--shl)}
    .room-img-wrap{overflow:hidden;height:180px;position:relative}
    .room-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
    .room-card:hover .room-img-wrap img{transform:scale(1.06)}
    .room-info{padding:16px 18px 20px}
    .room-tag{
      display:inline-block;
      font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
      color:var(--gold);background:rgba(200,146,42,.1);
      border:1px solid rgba(200,146,42,.25);
      padding:3px 10px;border-radius:100px;margin-bottom:8px;
    }
    .room-info h3{font-size:1rem;font-weight:700;color:var(--gd)}

    /* ── GALLERY (PORTFOLIO) ── */
    #portfolio{background:var(--crm)}
    .gallery-masonry{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      grid-template-rows:280px 210px;
      gap:14px;margin-top:42px;
    }
    .g-item{border-radius:var(--r);overflow:hidden;position:relative;cursor:zoom-in}
    .g-item:nth-child(1){grid-row:span 2}
    .g-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
    .g-item:hover img{transform:scale(1.07)}
    .g-ov{
      position:absolute;inset:0;
      background:linear-gradient(to top,rgba(10,40,16,.55),transparent 60%);
      opacity:0;transition:opacity .35s;
      display:flex;align-items:flex-end;padding:18px;
    }
    .g-ov i{color:#fff;font-size:1.2rem}
    .g-item:hover .g-ov{opacity:1}

    /* overview rooms grid */
    .overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
    .overview-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rs);transition:transform .3s}
    .overview-grid img:hover{transform:scale(1.03)}
    .overview-sub{margin-top:36px}
    .overview-label{
      font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
      color:var(--gs);margin-bottom:10px;
    }

    /* hotel overview */
    #hotel-overview{background:var(--crm)}
    .hotel-ov-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      grid-template-rows:220px 160px;
      gap:12px;margin-top:42px;
    }
    .hotel-ov-grid .g-item:nth-child(2){grid-column:span 1}

    /* ── BOOKING ── */
    #booking{background:var(--wht)}
    .booking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:42px}
    .booking-btn{
      background:var(--crm);border:1px solid var(--bdr);
      border-radius:var(--rs);padding:22px 16px;
      display:flex;align-items:center;justify-content:center;
      transition:transform .2s,box-shadow .2s;box-shadow:var(--sh);
    }
    .booking-btn:hover{transform:translateY(-4px);box-shadow:var(--shl)}
    .booking-btn img{max-height:32px;max-width:100%;object-fit:contain}
    .booking-name{font-size:.85rem;font-weight:700;color:var(--gd)}

    /* ── REVIEWS ── */
    #reviews{background:var(--crm);text-align:center}
    .reviews-wrap{display:flex;flex-direction:column;align-items:center;margin-top:42px;gap:26px}
    .rating-img img{width:280px}
    .review-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
    .btn-teal{
      background:linear-gradient(135deg,#00b4d8,#0090ab);color:#fff;
      padding:13px 28px;border-radius:100px;font-weight:700;font-size:.9rem;
      box-shadow:0 6px 20px rgba(0,180,216,.3);transition:transform .2s;
      display:inline-flex;align-items:center;gap:8px;
    }
    .btn-teal:hover{transform:translateY(-2px)}
    .btn-pink{
      background:linear-gradient(135deg,#ff477e,#c52050);color:#fff;
      padding:13px 28px;border-radius:100px;font-weight:700;font-size:.9rem;
      box-shadow:0 6px 20px rgba(255,71,126,.3);transition:transform .2s;
      display:inline-flex;align-items:center;gap:8px;
    }
    .btn-pink:hover{transform:translateY(-2px)}

    /* ── CONTACT / MAP ── */
    #contact{background:var(--gd)}
    .contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
    #contact .eyebrow{color:var(--glf);background:rgba(240,192,96,.1);border-color:rgba(240,192,96,.3)}
    #contact .s-title{color:var(--glf)}
    #contact .s-title::after{background:linear-gradient(90deg,var(--glf),transparent)}
    .cinfo-list{margin-top:26px;display:flex;flex-direction:column;gap:16px}
    .cinfo-item{display:flex;align-items:flex-start;gap:13px}
    .cinfo-item .ic{
      width:40px;height:40px;border-radius:10px;flex-shrink:0;
      background:rgba(255,255,255,.09);
      display:flex;align-items:center;justify-content:center;
    }
    .cinfo-item .ic i{color:var(--glf);font-size:.95rem}
    .cinfo-item strong{color:#fff;font-size:.84rem;display:block;margin-bottom:2px}
    .cinfo-item p{color:rgba(255,255,255,.65);font-size:.86rem;line-height:1.6}
    .cinfo-item a{color:var(--glf)}
    .social-row{display:flex;gap:10px;margin-top:26px}
    .soc-btn{
      width:40px;height:40px;border-radius:50%;
      background:rgba(255,255,255,.1);
      display:flex;align-items:center;justify-content:center;
      transition:background .2s,transform .2s;
    }
    .soc-btn i{color:#fff;font-size:.95rem}
    .soc-btn:hover{background:var(--gold);transform:translateY(-3px)}
    .map-wrap{border-radius:var(--r);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);height:380px}
    .map-wrap iframe{width:100%;height:100%;border:0}

    /* ── FOOTER ── */
    /* ── FOOTER ── */
 footer {
  background: #060F09;
  padding: 52px 5% 28px;
  text-align: center;
}
.footer-powered { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 24px; flex-wrap: wrap; }
.footer-powered span { font-size: 0.7rem; color: rgba(255,255,255,0.35); text-transform: uppercase; letter-spacing: 0.12em; }
.footer-powered img { height: 38px; width: auto; object-fit: contain; vertical-align: middle; }
.footer-links { display: flex; justify-content: center; gap: 28px; margin-bottom: 28px; flex-wrap: wrap; }
.footer-links a { color: rgba(255,255,255,.45); text-decoration: none; font-size: 0.85rem; transition: color 0.2s; }
.footer-links a:hover { color: var(--sun); }
.footer-section-label { font-size: 0.68rem; color: rgba(255,255,255,0.35); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 12px; }
.footer-social { display: flex; justify-content: center; gap: 10px; margin-bottom: 28px; flex-wrap: wrap; }
.footer-social a {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.65); font-size: 0.95rem; text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.2s, border-color 0.2s;
}
.footer-social a:hover { transform: translateY(-3px); }
.footer-social a:nth-child(1):hover { background: #3b5999; border-color: #3b5999; color: #fff; }
.footer-social a:nth-child(2):hover { background: #1d9bf0; border-color: #1d9bf0; color: #fff; }
.footer-social a:nth-child(3):hover { background: #e4405f; border-color: #e4405f; color: #fff; }
.footer-social a:nth-child(4):hover { background: #ff0000; border-color: #ff0000; color: #fff; }
.footer-social a.wa-icon { background: rgba(37,211,102,0.15); border-color: rgba(37,211,102,0.3); color: #25D366; }
.footer-social a.wa-icon:hover { background: #25D366; border-color: #25D366; color: #fff; }
.footer-share-row { display: flex; justify-content: center; gap: 10px; margin-bottom: 32px; flex-wrap: wrap; }
.fsr-btn {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1rem; text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; border: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.fsr-btn:hover { transform: translateY(-3px) scale(1.08); box-shadow: 0 8px 20px rgba(0,0,0,0.35); }
.fsr-wa  { background: #25D366; }
.fsr-fb  { background: #3b5999; }
.fsr-tw  { background: #1d9bf0; }
.fsr-li  { background: #0077b5; }
.fsr-em  { background: #e8593f; }
.fsr-sm  { background: #4c53ef; }
.footer-bottom { font-size: 0.78rem; color: rgba(255,255,255,.28); border-top: 1px solid rgba(255,255,255,.07); padding-top: 20px; }



    /* ── FLOATS ── */
    .wa-float{
      position:fixed;bottom:28px;left:24px;z-index:999;
      width:58px;height:58px;border-radius:50%;
      background:linear-gradient(135deg,#25d366,#1da851);
      display:flex;align-items:center;justify-content:center;
      font-size:1.85rem;color:#fff;
      box-shadow:0 6px 24px rgba(37,211,102,.5);
      animation:waPulse 2.8s ease-in-out infinite;
      transition:transform .2s;
    }
    .wa-float:hover{transform:scale(1.12)}
    @keyframes waPulse{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.5)}50%{box-shadow:0 8px 36px rgba(37,211,102,.8)}}

    #share-btn{
      position:fixed;bottom:100px;left:24px;z-index:999;
      width:50px;height:50px;border-radius:50%;
      background:linear-gradient(135deg,var(--gs),var(--gd));
      display:flex;align-items:center;justify-content:center;
      font-size:1.15rem;color:#fff;
      box-shadow:0 4px 16px rgba(30,107,56,.4);
      cursor:pointer;border:none;transition:transform .2s;
    }
    #share-btn:hover{transform:scale(1.1)}
    .share-panel{
      position:fixed;bottom:162px;left:24px;z-index:998;
      display:flex;flex-direction:column;gap:9px;
      opacity:0;pointer-events:none;transform:translateY(12px);
      transition:opacity .25s,transform .25s;
    }
    .share-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}
    .share-pill{
      display:flex;align-items:center;gap:10px;
      background:#fff;border-radius:100px;padding:8px 16px 8px 10px;
      box-shadow:0 4px 16px rgba(0,0,0,.12);
      font-size:.79rem;font-weight:600;color:var(--drk);
      transition:transform .2s;white-space:nowrap;
    }
    .share-pill:hover{transform:translateX(5px)}
    .share-pill i{font-size:1rem;width:20px;text-align:center}

    #back-top{
      position:fixed;bottom:28px;right:24px;z-index:999;
      width:48px;height:48px;border-radius:50%;
      background:linear-gradient(135deg,var(--gold),#8a5010);
      display:flex;align-items:center;justify-content:center;
      color:#fff;font-size:.95rem;
      box-shadow:0 4px 16px rgba(200,146,42,.45);
      opacity:0;pointer-events:none;
      transition:opacity .3s,transform .2s;
      cursor:pointer;border:none;
    }
    #back-top.visible{opacity:1;pointer-events:all}
    #back-top:hover{transform:translateY(-4px)}

    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
    .reveal.visible{opacity:1;transform:none}

    /* ── RESPONSIVE ── */
    @media(max-width:960px){
      .hero-inner{grid-template-columns:1fr;padding:130px 24px 70px;text-align:center}
      .hero-content{max-width:none;margin:0 auto}
      .hero-desc,.hero-btns,.hero-trust{margin-left:auto;margin-right:auto;justify-content:center}
      .hero-visual{margin-top:44px}
      .resort-frame{width:clamp(220px,60vw,360px)}
      .about-grid,.contact-grid{grid-template-columns:1fr}
      .about-img-wrap{order:-1}
      .about-badge{right:10px;bottom:-12px}
      #hero::before,#hero::after{display:none}
    }
    @media(max-width:640px){
      .section{padding:60px 0}
      .gallery-masonry{grid-template-columns:1fr 1fr;grid-template-rows:auto}
      .g-item:nth-child(1){grid-column:span 2;grid-row:span 1}
      .gallery-masonry .g-item{height:190px}
      .hotel-ov-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
      .overview-grid{grid-template-columns:1fr 1fr}
      .hero-tagline{font-size:2rem}
    }
    @media(max-width:400px){
      .gallery-masonry,.hotel-ov-grid{grid-template-columns:1fr}
      .g-item:nth-child(1){grid-column:span 1}
      .overview-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:520px){
      .trust-div{display:none}
    }