/* =========================================================
   GOLDEN SANDS — TIDEGLASS EDITION
   A distinct coastal editorial redesign layered over the
   existing PHP structure. Loaded after the legacy styles.
   ========================================================= */
:root{
  --ocean-950:#032e36;
  --ocean-900:#063f49;
  --ocean-800:#075864;
  --ocean-700:#08717c;
  --ocean-600:#0a8993;
  --aqua:#67d6d3;
  --aqua-soft:#dff7f4;
  --sun:#f2b35f;
  --sun-deep:#dc8c37;
  --coral:#5ebeb9;
  --shell:#fffaf3;
  --sand:#f5eadc;
  --sand-deep:#e8d5bd;
  --night:#09272b;
  --ink:#173b3d;
  --copy:#5e7473;
  --line:rgba(7,88,100,.13);
  --glass:rgba(255,255,255,.72);
  --shadow-soft:0 18px 55px rgba(3,46,54,.10);
  --shadow-card:0 24px 70px rgba(3,46,54,.14);
  --shadow-dark:0 35px 90px rgba(0,20,24,.30);
  --radius-xl:38px;
  --radius-lg:28px;
  --radius-md:20px;
  --display:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",system-ui,sans-serif;
}

/* Core atmosphere */
html{scroll-padding-top:110px}
body.gs-tideglass{
  color:var(--ink);
  background:
    radial-gradient(circle at 4% 12%,rgba(103,214,211,.14),transparent 23rem),
    radial-gradient(circle at 96% 38%,rgba(242,179,95,.12),transparent 24rem),
    var(--shell);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.75;
}
body.gs-tideglass:before{
  background:
    linear-gradient(90deg,rgba(7,88,100,.035) 1px,transparent 1px),
    linear-gradient(rgba(7,88,100,.035) 1px,transparent 1px);
  background-size:56px 56px;
  opacity:.45;
  mask-image:linear-gradient(to bottom,transparent 0,#000000 13%,#000000 72%,transparent 100%);
}
body.gs-tideglass:after{display:none}
::selection{background:var(--aqua);color:var(--ocean-950)}
.gs-tideglass h1,.gs-tideglass h2,.gs-tideglass h3,.gs-tideglass .brand-title{
  color:var(--ocean-950);
  font-family:var(--display);
  font-weight:600;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.gs-tideglass h2{font-size:clamp(42px,4.7vw,68px);line-height:.98}
.gs-tideglass h3{line-height:1.08}
.gs-tideglass p{color:var(--copy)}
.gs-tideglass .section{padding-block:118px}
.gs-tideglass .container{width:min(1280px,calc(100% - 64px))}
.gs-tideglass .lead{font-size:18px;line-height:1.8}
.gs-tideglass .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--ocean-700);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.gs-tideglass .eyebrow:before{
  content:"";
  width:28px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--coral),var(--sun));
}
.gs-tideglass .eyebrow.light{color:#b9f0e9}
.gs-tideglass .section-head.center{max-width:880px}
.gs-tideglass .section-head.center .lead{max-width:720px}
.gs-tideglass .heading-ornament{display:none}
.gs-tideglass .text-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--ocean-800);
  font-size:12px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.gs-tideglass .text-link svg{stroke:var(--coral);transition:transform .3s ease}
.gs-tideglass .text-link:hover svg{transform:translateX(6px)}

/* Scroll progress inserted by JS */
.gs-scroll-progress{
  position:fixed;
  left:0;top:0;
  z-index:10050;
  width:100%;height:3px;
  pointer-events:none;
  transform-origin:left center;
  transform:scaleX(var(--scroll-progress,0));
  background:linear-gradient(90deg,var(--aqua),var(--sun),var(--coral));
  box-shadow:0 0 16px rgba(103,214,211,.55);
}

/* Loader */
.gs-tideglass .site-loader{
  gap:14px;
  background:
    radial-gradient(circle at 25% 20%,rgba(103,214,211,.18),transparent 30%),
    radial-gradient(circle at 80% 75%,rgba(242,179,95,.16),transparent 28%),
    linear-gradient(145deg,#021f26,#063f49 52%,#032e36);
}
.gs-tideglass .site-loader:before{
  inset:22px;
  border-color:rgba(103,214,211,.25);
  border-radius:28px;
}
.gs-tideglass .site-loader:after{
  inset:auto;
  width:250px;height:250px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  animation:loaderOrbit 5s linear infinite;
}
.gs-tideglass .site-loader .loader-emblem{
  width:92px;height:92px;min-height:0;padding:0;
  border-radius:28px;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.20);
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  box-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 0 0 1px rgba(103,214,211,.10);
  transform:rotate(45deg);
  animation:loaderFloat 1.6s ease-in-out infinite alternate;
}
.gs-tideglass .site-loader .loader-icon{transform:rotate(-45deg);display:grid;place-items:center}
.gs-tideglass .site-loader .loader-icon svg{width:44px;height:44px;stroke:var(--aqua);fill:none;stroke-width:1.45}
.gs-tideglass .site-loader>span{font-size:28px;color:#ffffff;font-weight:600}
.gs-tideglass .site-loader small{color:#aadcd9;letter-spacing:.28em}
@keyframes loaderFloat{to{transform:rotate(45deg) translate(-6px,-6px)}}
@keyframes loaderOrbit{to{transform:rotate(360deg)}}

/* Top bar */
.gs-tideglass .luxury-topbar{
  position:relative;
  background:var(--ocean-950);
  border:0;
  overflow:hidden;
}
.gs-tideglass .luxury-topbar:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(103,214,211,.08),transparent);
  transform:translateX(-100%);animation:topbarSweep 7s linear infinite;
}
@keyframes topbarSweep{to{transform:translateX(100%)}}
.gs-tideglass .luxury-topbar .topbar-inner{min-height:42px}
.gs-tideglass .top-coast{color:#c9e8e5;font-size:10px;letter-spacing:.14em}
.gs-tideglass .top-coast strong{color:#ffffff}
.gs-tideglass .top-coast i{background:var(--coral)}
.gs-tideglass .top-coast-icon{border-color:rgba(103,214,211,.35);background:rgba(103,214,211,.08)}
.gs-tideglass .top-coast svg{stroke:var(--aqua)}
.gs-tideglass .luxury-topbar a{color:#d7edeb;font-size:10px;font-weight:600;letter-spacing:.02em}
.gs-tideglass .luxury-topbar a:hover{color:#ffffff}
.gs-tideglass .luxury-topbar svg{stroke:var(--aqua)}

/* Navigation — floating coastal capsule */
.gs-tideglass .luxury-header{
  position:sticky;
  top:0;
  background:rgba(255,250,243,.83);
  border:0;
  box-shadow:none;
  backdrop-filter:blur(22px) saturate(1.25);
  transition:background .35s ease,box-shadow .35s ease,transform .35s ease;
}
.gs-tideglass .luxury-header:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(7,88,100,.18),transparent);
}
.gs-tideglass .luxury-header.scrolled{
  background:rgba(255,252,247,.96);
  box-shadow:0 14px 45px rgba(3,46,54,.10);
}
.gs-tideglass .luxury-header .nav-wrap{min-height:96px;gap:24px}
.gs-tideglass .luxury-header .brand{position:relative;flex:0 0 auto}
.gs-tideglass .luxury-header .brand:after{
  content:"";position:absolute;left:7px;right:7px;bottom:-6px;height:7px;
  border-radius:50%;background:rgba(7,88,100,.11);filter:blur(7px);z-index:-1;
}
.gs-tideglass .luxury-header .brand img{width:250px;filter:saturate(.9) contrast(1.06)}
.gs-tideglass .luxury-header .main-nav{
  margin-left:auto;
  gap:2px;
  padding:6px;
  border:1px solid rgba(7,88,100,.10);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 30px rgba(3,46,54,.06);
}
.gs-tideglass .luxury-header .main-nav>a:not(.btn){
  min-height:42px;
  padding:0 14px;
  display:inline-flex;align-items:center;
  border-radius:999px;
  color:#426361;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  transition:color .25s ease,background .25s ease,transform .25s ease;
}
.gs-tideglass .luxury-header .main-nav>a:not(.btn):after{display:none}
.gs-tideglass .luxury-header .main-nav>a:not(.btn):hover,
.gs-tideglass .luxury-header .main-nav>a:not(.btn).active{
  color:#ffffff;
  background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600));
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(7,88,100,.18);
}
.gs-tideglass .luxury-header .header-phone{display:none}
.gs-tideglass .nav-cta{min-height:44px!important;padding-inline:18px!important;border-radius:999px!important}

/* Buttons */
.gs-tideglass .btn{
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid transparent;
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease;
}
.gs-tideglass .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.gs-tideglass .btn:before{
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.42) 46%,transparent 68%);
}
.gs-tideglass .btn-gold{
  color:#173638;
  background:linear-gradient(135deg,#ffd898,var(--sun) 46%,#e99743);
  border-color:rgba(255,255,255,.62);
  box-shadow:0 16px 34px rgba(220,140,55,.22);
}
.gs-tideglass .btn-gold:hover{color:#102f32;transform:translateY(-3px);box-shadow:0 23px 44px rgba(220,140,55,.30)}
.gs-tideglass .btn-teal,.gs-tideglass .btn-ocean{
  color:#ffffff;
  background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600));
  border-color:rgba(103,214,211,.30);
  box-shadow:0 16px 34px rgba(7,88,100,.22);
}
.gs-tideglass .btn-teal:hover,.gs-tideglass .btn-ocean:hover{transform:translateY(-3px);box-shadow:0 23px 44px rgba(7,88,100,.28)}
.gs-tideglass .btn-glass,.gs-tideglass .btn-ghost{
  color:#ffffff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.32);
  backdrop-filter:blur(12px);
}
.gs-tideglass .btn-glass:hover,.gs-tideglass .btn-ghost:hover{color:#ffffff;background:rgba(255,255,255,.16);transform:translateY(-3px)}
.gs-tideglass .btn-outline-dark{
  color:var(--ocean-800);
  background:transparent;
  border-color:rgba(7,88,100,.25);
}
.gs-tideglass .btn-outline-dark:hover{color:#ffffff;background:var(--ocean-800);transform:translateY(-3px)}

/* Hero — cinematic split with floating reservation glass */
.gs-tideglass .lux-hero{
  min-height:820px;
  background:var(--ocean-950);
  border-radius:0 0 64px 64px;
  overflow:hidden;
}
.gs-tideglass .lux-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:120px;z-index:1;
  background:var(--shell);
  clip-path:polygon(0 76%,52% 100%,100% 64%,100% 100%,0 100%);
}
.gs-tideglass .lux-hero-media img{object-position:center 47%;animation:heroBreath 18s ease-in-out infinite alternate}
.gs-tideglass .lux-hero-overlay{
  background:
    linear-gradient(90deg,rgba(2,30,36,.95) 0,rgba(3,46,54,.80) 38%,rgba(3,46,54,.22) 70%,rgba(2,30,36,.45) 100%),
    linear-gradient(180deg,rgba(3,46,54,.03),rgba(3,46,54,.60));
}
.gs-tideglass .lux-hero-pattern{
  opacity:.32;
  background-image:
    radial-gradient(circle at center,transparent 0 26px,rgba(103,214,211,.18) 27px 28px,transparent 29px),
    linear-gradient(135deg,transparent 49.4%,rgba(255,255,255,.07) 50%,transparent 50.6%);
  background-size:120px 120px,70px 70px;
  mask-image:linear-gradient(90deg,#000000,transparent 66%);
}
.gs-tideglass .lux-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.52fr);
  gap:70px;
  padding-block:105px 175px;
}
.gs-tideglass .lux-hero-copy{max-width:760px}
.gs-tideglass .lux-badge{
  padding:10px 16px;
  color:#d7f6f1;
  background:rgba(103,214,211,.08);
  border-color:rgba(103,214,211,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.gs-tideglass .lux-badge svg{stroke:var(--aqua)}
.gs-tideglass .lux-overline{margin-top:29px;color:#ffc979;letter-spacing:.28em}
.gs-tideglass .lux-hero h1{
  color:#ffffff;
  font-size:clamp(60px,6vw,92px);
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:0 12px 45px rgba(0,0,0,.28);
}
.gs-tideglass .lux-hero h1 em{color:var(--aqua);font-weight:600}
.gs-tideglass .lux-hero-lead{max-width:650px;color:rgba(231,247,244,.80);font-size:17px}
.gs-tideglass .lux-trust-row{border-top-color:rgba(103,214,211,.18)}
.gs-tideglass .lux-trust-row span{color:#d6ebe8}
.gs-tideglass .lux-trust-row svg{stroke:var(--sun)}
.gs-tideglass .lux-booking{
  padding:34px;
  border-radius:32px;
  color:#ffffff;
  background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 35px 95px rgba(0,17,20,.32),inset 0 0 0 1px rgba(103,214,211,.10);
  backdrop-filter:blur(24px) saturate(1.18);
}
.gs-tideglass .lux-booking:before{
  inset:-60% 20% 45% -30%;
  background:radial-gradient(circle,rgba(103,214,211,.22),transparent 64%);
}
.gs-tideglass .booking-symbol{
  color:#073d45;
  background:linear-gradient(145deg,#baf2ed,#62d1ce);
  box-shadow:0 12px 30px rgba(103,214,211,.22);
}
.gs-tideglass .lux-booking-head small{color:#aadfdb}
.gs-tideglass .lux-booking h2{color:#ffffff;font-size:36px}
.gs-tideglass .lux-booking>p{color:rgba(231,247,244,.74)}
.gs-tideglass .lux-booking label{color:#c6e4e1}
.gs-tideglass .lux-booking input,.gs-tideglass .lux-booking select{
  min-height:52px;
  color:#ffffff;
  background:rgba(1,35,41,.36);
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
}
.gs-tideglass .lux-booking select option{color:#173b3d;background:#ffffff}
.gs-tideglass .lux-booking input:focus,.gs-tideglass .lux-booking select:focus{border-color:var(--aqua);box-shadow:0 0 0 4px rgba(103,214,211,.13)}
.gs-tideglass .lux-booking-note{color:#c8e0de}
.gs-tideglass .lux-hero-seal{filter:hue-rotate(122deg) saturate(.65) brightness(1.5);opacity:.45}
.gs-tideglass .lux-scroll{color:#c8e1de}

/* Quick highlights ribbon */
.gs-tideglass .coastal-ribbon{
  position:relative;
  z-index:5;
  margin-top:-34px;
  background:transparent;
  border:0;
}
.gs-tideglass .coastal-ribbon-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-radius:28px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
.gs-tideglass .coastal-ribbon-grid>div{
  min-height:106px;
  padding:24px;
  border-right:1px solid var(--line);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(223,247,244,.32));
}
.gs-tideglass .coastal-ribbon-grid>div:last-child{border-right:0}
.gs-tideglass .coastal-ribbon-grid span{
  background:var(--aqua-soft);color:var(--ocean-700);border-radius:15px;
}
.gs-tideglass .coastal-ribbon-grid svg{stroke:currentColor}
.gs-tideglass .coastal-ribbon-grid strong{color:var(--ocean-950);font-family:var(--display);font-size:21px}
.gs-tideglass .coastal-ribbon-grid small{color:#728684}

/* Story — editorial composition */
.gs-tideglass .luxury-story{padding-top:140px;background:transparent}
.gs-tideglass .luxury-story-grid{gap:95px;align-items:center}
.gs-tideglass .luxury-story-media{position:relative}
.gs-tideglass .luxury-story-media:before{
  content:"";position:absolute;left:-22px;top:38px;width:62%;height:74%;z-index:-1;
  border-radius:40px 40px 160px 40px;
  background:linear-gradient(145deg,var(--aqua-soft),#c6eee9);
}
.gs-tideglass .luxury-story-media>picture:first-child img,
.gs-tideglass .luxury-story-media>img:first-child{
  border-radius:40px 40px 180px 40px;
  box-shadow:var(--shadow-card);
}
.gs-tideglass .luxury-story-media .story-detail{
  border:7px solid var(--shell);
  border-radius:28px 90px 28px 28px;
  box-shadow:0 22px 60px rgba(3,46,54,.20);
}
.gs-tideglass .story-monogram{
  border-radius:22px;
  background:var(--ocean-950);
  border:1px solid rgba(103,214,211,.22);
  box-shadow:0 20px 50px rgba(3,46,54,.22);
}
.gs-tideglass .story-monogram-icon{background:rgba(103,214,211,.12);color:var(--aqua)}
.gs-tideglass .luxury-story-copy h2{font-size:clamp(48px,5.1vw,72px)}
.gs-tideglass .luxury-story-list>div{
  border-color:var(--line);
  background:rgba(255,255,255,.55);
  border-radius:18px;
  transition:transform .3s ease,background .3s ease,box-shadow .3s ease;
}
.gs-tideglass .luxury-story-list>div:hover{transform:translateX(8px);background:#ffffff;box-shadow:var(--shadow-soft)}
.gs-tideglass .luxury-story-list span{color:var(--ocean-700);background:var(--aqua-soft)}
.gs-tideglass .luxury-story-list strong{color:var(--ocean-950)}

/* Experience strip / bento */
.gs-tideglass .experience-strip{
  padding:110px 0;
  background:
    radial-gradient(circle at 10% 10%,rgba(103,214,211,.13),transparent 22rem),
    linear-gradient(180deg,#f2faf7,#e8f4f0);
  border-block:1px solid rgba(7,88,100,.08);
}
.gs-tideglass .experience-strip-heading{max-width:780px;text-align:center;margin:0 auto 44px}
.gs-tideglass .experience-strip-heading h2{font-size:clamp(43px,4.6vw,64px)}
.gs-tideglass .experience-strip-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  padding:14px;
  border:1px solid rgba(7,88,100,.09);
  border-radius:34px;
  background:rgba(255,255,255,.55);
  box-shadow:var(--shadow-soft);
}
.gs-tideglass .experience-strip-grid article{
  min-height:220px;
  padding:28px 18px;
  border:0!important;
  border-radius:23px;
  background:#ffffff;
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  box-shadow:0 8px 25px rgba(3,46,54,.05);
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease;
}
.gs-tideglass .experience-strip-grid article:nth-child(2n){background:linear-gradient(145deg,#ffffff,#eef9f6)}
.gs-tideglass .experience-strip-grid article:hover{transform:translateY(-10px);box-shadow:0 24px 50px rgba(3,46,54,.12)}
.gs-tideglass .experience-strip-grid article:after{display:none}
.gs-tideglass .experience-strip-grid span{
  width:52px;height:52px;display:grid;place-items:center;
  border-radius:17px 17px 17px 5px;
  background:linear-gradient(145deg,var(--ocean-800),var(--ocean-600));
  color:#ffffff;
  box-shadow:0 12px 25px rgba(7,88,100,.18);
}
.gs-tideglass .experience-strip-grid svg{width:25px;height:25px;stroke:currentColor}
.gs-tideglass .experience-strip-grid h3{margin:26px 0 8px;color:var(--ocean-950);font-size:22px}
.gs-tideglass .experience-strip-grid p{margin:0;font-size:13px;line-height:1.65}

/* Signature section */
.gs-tideglass .coastal-signature{
  min-height:690px;
  background:var(--ocean-950);
  border-radius:58px;
  width:min(1480px,calc(100% - 34px));
  margin:34px auto 0;
  overflow:hidden;
  box-shadow:var(--shadow-dark);
}
.gs-tideglass .coastal-signature-media{left:47%}
.gs-tideglass .coastal-signature-media img{object-position:center}
.gs-tideglass .coastal-signature-shade{
  background:linear-gradient(90deg,rgba(2,29,35,.98) 0,rgba(3,48,56,.91) 43%,rgba(3,48,56,.28) 73%,rgba(3,48,56,.43));
}
.gs-tideglass .coastal-signature-grid{padding-block:100px;gap:76px}
.gs-tideglass .coastal-signature-copy h2{color:#ffffff;font-size:clamp(48px,5vw,72px)}
.gs-tideglass .coastal-signature-copy p{color:#c4dcd9}
.gs-tideglass .signature-values>div{border-color:rgba(103,214,211,.16)}
.gs-tideglass .signature-values span{color:var(--aqua);background:rgba(103,214,211,.10)}
.gs-tideglass .signature-values strong{color:#ffffff}
.gs-tideglass .signature-values small{color:#a9c7c4}
.gs-tideglass .resort-quote{
  border-radius:30px 80px 30px 30px!important;
  color:var(--ink);
  background:rgba(255,250,243,.93)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 30px 85px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px);
}
.gs-tideglass .resort-quote .quote-mark{color:var(--coral)}
.gs-tideglass .resort-quote blockquote{color:var(--ocean-950)!important}
.gs-tideglass .resort-quote p,.gs-tideglass .resort-quote small{color:var(--copy)!important}

/* Rooms — asymmetric editorial cards */
.gs-tideglass .luxury-rooms,.gs-tideglass .section-soft{background:transparent}
.gs-tideglass .rooms-v2-head{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:50px;text-align:left;max-width:none}
.gs-tideglass .rooms-v2-head .lead{margin:0 0 5px auto;max-width:620px}
.gs-tideglass .rooms-v2-grid,.gs-tideglass .room-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}
.gs-tideglass .room-v2-card,.gs-tideglass .room-card{
  grid-column:span 4;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(7,88,100,.10);
  border-radius:32px;
  background:#ffffff;
  box-shadow:var(--shadow-soft);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;
}
.gs-tideglass .room-v2-card:nth-child(1),.gs-tideglass .room-card:nth-child(1){grid-column:span 7}
.gs-tideglass .room-v2-card:nth-child(2),.gs-tideglass .room-card:nth-child(2){grid-column:span 5}
.gs-tideglass .room-v2-card:hover,.gs-tideglass .room-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-card)}
.gs-tideglass .premium-room-image,.gs-tideglass .card-image{position:relative;overflow:hidden}
.gs-tideglass .premium-room-image:after,.gs-tideglass .card-image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(3,46,54,.32));
  pointer-events:none;
}
.gs-tideglass .premium-room-image img,.gs-tideglass .card-image img{transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.gs-tideglass .room-v2-card:hover img,.gs-tideglass .room-card:hover img{transform:scale(1.055)}
.gs-tideglass .room-category,.gs-tideglass .card-badge{
  color:var(--ocean-950);
  background:rgba(255,250,243,.92);
  border:1px solid rgba(255,255,255,.70);
  backdrop-filter:blur(12px);
  border-radius:999px;
  font-size:9px;font-weight:800;letter-spacing:.10em;
}
.gs-tideglass .room-card-symbol{
  color:#ffffff;
  background:linear-gradient(145deg,var(--coral),#26979a);
  box-shadow:0 12px 30px rgba(94,190,185,.26);
}
.gs-tideglass .premium-room-content,.gs-tideglass .card-body{padding:28px}
.gs-tideglass .premium-room-content h3,.gs-tideglass .card-body h3{font-size:30px;color:var(--ocean-950)}
.gs-tideglass .premium-room-facts span,.gs-tideglass .card-meta span{color:var(--ocean-700);background:var(--aqua-soft);border-radius:999px}
.gs-tideglass .room-comfort-list li:before{color:var(--coral)}
.gs-tideglass .premium-room-link{color:var(--ocean-800)}
.gs-tideglass .rooms-v2-note{
  border-radius:18px;
  background:linear-gradient(90deg,var(--aqua-soft),rgba(255,255,255,.7));
  border:1px solid rgba(7,88,100,.09);
}
.gs-tideglass .rooms-v2-note svg{stroke:var(--ocean-700)}

/* Why + amenities */
.gs-tideglass .why-luxury{background:linear-gradient(180deg,var(--shell),#ffffff)}
.gs-tideglass .why-luxury-grid{gap:90px}
.gs-tideglass .why-luxury-heading{
  position:sticky;top:150px;
  padding:42px;
  border-radius:34px 100px 34px 34px;
  background:linear-gradient(145deg,var(--ocean-950),var(--ocean-800));
  box-shadow:var(--shadow-card);
}
.gs-tideglass .why-luxury-heading .eyebrow{color:#bdece7}
.gs-tideglass .why-luxury-heading h2{color:#ffffff}
.gs-tideglass .why-luxury-heading p{color:#c8dfdc}
.gs-tideglass .why-luxury-heading img{filter:hue-rotate(128deg) saturate(.7) brightness(1.5);opacity:.35}
.gs-tideglass .why-luxury-list{display:grid;gap:16px}
.gs-tideglass .why-luxury-list article{
  position:relative;
  padding:28px;
  border-radius:24px;
  border:1px solid var(--line);
  background:#ffffff;
  box-shadow:0 10px 30px rgba(3,46,54,.06);
  transition:transform .35s ease,box-shadow .35s ease;
}
.gs-tideglass .why-luxury-list article:hover{transform:translateX(10px);box-shadow:var(--shadow-soft)}
.gs-tideglass .why-luxury-list article>span{color:var(--ocean-700);background:var(--aqua-soft);border-radius:18px}
.gs-tideglass .why-luxury-list h3{font-size:27px}

.gs-tideglass .amenities-luxury{
  padding:105px 0;
  background:
    radial-gradient(circle at 8% 50%,rgba(103,214,211,.12),transparent 22rem),
    linear-gradient(145deg,var(--ocean-950),#064b55 58%,#075e66);
  border-radius:58px;
  width:min(1480px,calc(100% - 34px));
  margin-inline:auto;
  overflow:hidden;
}
.gs-tideglass .amenities-luxury .light-head h2{color:#ffffff}
.gs-tideglass .amenities-luxury .light-head .eyebrow{color:#bdece7}
.gs-tideglass .amenities-luxury-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:45px;
}
.gs-tideglass .amenities-luxury-grid article{
  min-height:210px;
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  transition:transform .35s ease,background .35s ease,border-color .35s ease;
}
.gs-tideglass .amenities-luxury-grid article:hover{transform:translateY(-8px);background:rgba(255,255,255,.11);border-color:rgba(103,214,211,.32)}
.gs-tideglass .amenities-luxury-grid article>span{color:var(--aqua);background:rgba(103,214,211,.10);border-radius:17px}
.gs-tideglass .amenities-luxury-grid strong{color:#ffffff;font-family:var(--display);font-size:24px}
.gs-tideglass .amenities-luxury-grid small{color:#b9d5d2}

/* Gallery */
.gs-tideglass .gallery-v6{padding-top:135px;background:transparent}
.gs-tideglass .gallery-v6-shell{grid-template-columns:.42fr .58fr;gap:58px;align-items:center}
.gs-tideglass .gallery-v6-intro{
  padding:42px;
  border-radius:34px;
  background:linear-gradient(145deg,#ffffff,#eef9f6);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.gs-tideglass .gallery-v6-intro h2{font-size:clamp(43px,4.5vw,62px)}
.gs-tideglass .gallery-v6-count strong{color:var(--coral);font-size:54px}
.gs-tideglass .gallery-v6-grid{gap:14px}
.gs-tideglass .gallery-v6-grid a,.gs-tideglass .gallery-item{
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 16px 40px rgba(3,46,54,.12);
}
.gs-tideglass .gallery-v6-grid a:after,.gs-tideglass .gallery-item:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(2,33,39,.72));
  opacity:.78;transition:opacity .35s ease;
}
.gs-tideglass .gallery-v6-grid a:hover:after,.gs-tideglass .gallery-item:hover:after{opacity:.95}
.gs-tideglass .gallery-v6-grid img,.gs-tideglass .gallery-item img{transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.gs-tideglass .gallery-v6-grid a:hover img,.gs-tideglass .gallery-item:hover img{transform:scale(1.075)}
.gs-tideglass .gallery-v6-grid a>span,.gs-tideglass .gallery-item>span{z-index:2;color:#ffffff}
.gs-tideglass .gallery-v6-grid small{color:var(--aqua)}
.gs-tideglass .gallery-grid{gap:16px}
.gs-tideglass .gallery-grid .gallery-item:nth-child(7n+1){border-radius:34px 100px 34px 34px}

/* Direct enquiry */
.gs-tideglass .luxury-enquiry{
  background:linear-gradient(180deg,#ffffff,var(--shell));
}
.gs-tideglass .luxury-enquiry-grid{gap:70px}
.gs-tideglass .luxury-enquiry-copy>h2{font-size:clamp(48px,5.1vw,72px)}
.gs-tideglass .enquiry-steps{gap:13px}
.gs-tideglass .enquiry-steps>div{
  border:1px solid var(--line);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(3,46,54,.06);
}
.gs-tideglass .enquiry-steps .step-icon{color:var(--ocean-700);background:var(--aqua-soft);border-radius:15px}
.gs-tideglass .enquiry-steps>div>span{color:var(--coral)}
.gs-tideglass .luxury-enquiry-card{
  border-radius:40px 100px 40px 40px;
  overflow:hidden;
  box-shadow:var(--shadow-card);
  background:var(--ocean-950);
}
.gs-tideglass .luxury-enquiry-card>div{background:linear-gradient(180deg,rgba(3,46,54,.12),rgba(3,46,54,.96));}
.gs-tideglass .luxury-enquiry-card h3{color:#ffffff;font-size:38px}
.gs-tideglass .luxury-enquiry-card .eyebrow{color:#bdece7}
.gs-tideglass .luxury-whatsapp{color:var(--aqua)}

/* FAQ */
.gs-tideglass .luxury-faq,.gs-tideglass .contact-faq-section{background:#eaf5f1}
.gs-tideglass .faq-v2-shell,.gs-tideglass .contact-faq-layout{gap:70px}
.gs-tideglass .faq-v2-intro{
  border-radius:36px;
  background:linear-gradient(145deg,var(--ocean-950),var(--ocean-800));
  box-shadow:var(--shadow-card);
}
.gs-tideglass .faq-v2-intro h2{color:#ffffff}
.gs-tideglass .faq-v2-intro p{color:#c7dddb}
.gs-tideglass .faq-v2-intro .eyebrow{color:#bdece7}
.gs-tideglass .faq-intro-points span{color:#d8ebe9}
.gs-tideglass .faq-intro-points svg{stroke:var(--sun)}
.gs-tideglass .faq-v2-help{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.gs-tideglass .faq-v2-help span{color:var(--aqua)}
.gs-tideglass .faq-v2-help strong,.gs-tideglass .faq-v2-help a{color:#ffffff}
.gs-tideglass .faq-v2-seal{filter:hue-rotate(125deg) saturate(.6) brightness(1.6);opacity:.32}
.gs-tideglass .faq-v2-list,.gs-tideglass .contact-faq-accordion{gap:13px}
.gs-tideglass .faq-v2-item,.gs-tideglass .faq-premium,.gs-tideglass .faq{
  border:1px solid rgba(7,88,100,.10)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 10px 32px rgba(3,46,54,.06)!important;
  overflow:hidden;
}
.gs-tideglass .faq button{padding:24px 25px!important;color:var(--ocean-950)}
.gs-tideglass .faq button b,.gs-tideglass .faq-plus{color:var(--coral)}
.gs-tideglass .faq.open{box-shadow:0 22px 45px rgba(3,46,54,.11)!important}
.gs-tideglass .faq.open button{background:linear-gradient(90deg,var(--aqua-soft),rgba(255,255,255,.1))}
.gs-tideglass .faq-answer p{color:var(--copy)}

/* Blog */
.gs-tideglass .luxury-blog{background:var(--shell)}
.gs-tideglass .blog-v2-grid,.gs-tideglass .trending-blog-grid{gap:24px}
.gs-tideglass .blog-v2-card,.gs-tideglass .trending-blog-card{
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
  background:#ffffff;
  box-shadow:var(--shadow-soft);
  transition:transform .4s ease,box-shadow .4s ease;
}
.gs-tideglass .blog-v2-card:hover,.gs-tideglass .trending-blog-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-card)}
.gs-tideglass .blog-feature-image,.gs-tideglass .trending-card-media{overflow:hidden}
.gs-tideglass .blog-feature-image img,.gs-tideglass .trending-card-media img{transition:transform .7s ease}
.gs-tideglass .blog-v2-card:hover img,.gs-tideglass .trending-blog-card:hover img{transform:scale(1.06)}
.gs-tideglass .blog-number{color:var(--coral);font-family:var(--display)}
.gs-tideglass .blog-date{color:var(--ocean-700)}
.gs-tideglass .blog-v2-body h3{font-size:30px}
.gs-tideglass .topic-chips a{color:var(--ocean-700);background:var(--aqua-soft);border-color:rgba(7,88,100,.08)}

/* Inner page hero */
.gs-tideglass .page-hero{
  min-height:500px;
  padding:120px 0 110px;
  border-radius:0 0 58px 58px;
  overflow:hidden;
  position:relative;
  background-color:var(--ocean-950)!important;
}
.gs-tideglass .page-hero:before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(2,30,36,.92),rgba(3,50,57,.60) 45%,rgba(3,50,57,.18)),
    radial-gradient(circle at 80% 20%,rgba(103,214,211,.18),transparent 25rem);
}
.gs-tideglass .page-hero:after{
  content:"";position:absolute;z-index:1;right:-120px;bottom:-180px;width:460px;height:460px;
  border:1px solid rgba(103,214,211,.20);border-radius:50%;box-shadow:0 0 0 45px rgba(103,214,211,.035),0 0 0 90px rgba(103,214,211,.025);
}
.gs-tideglass .page-hero>.container{z-index:2}
.gs-tideglass .page-hero h1{max-width:920px;color:#ffffff;font-size:clamp(58px,6vw,88px);line-height:.93}
.gs-tideglass .page-hero p{max-width:720px;color:#d3e6e3;font-size:18px}
.gs-tideglass .breadcrumbs,.gs-tideglass .page-kicker{color:#a9dbd6}
.gs-tideglass .breadcrumbs a{color:#ffffff}

/* Standard cards and grids across inner pages */
.gs-tideglass .section-lux{background:var(--shell)}
.gs-tideglass .section-soft{background:#eef7f3}
.gs-tideglass .story-grid,.gs-tideglass .cottage-grid,.gs-tideglass .split{gap:80px}
.gs-tideglass .story-main img,.gs-tideglass .cottage-large img,.gs-tideglass .room-main-image{
  border-radius:36px 36px 130px 36px;
  box-shadow:var(--shadow-card);
}
.gs-tideglass .story-small img,.gs-tideglass .cottage-inset img,.gs-tideglass .thumbs img{border-radius:20px;box-shadow:var(--shadow-soft)}
.gs-tideglass .story-stamp{
  color:#ffffff;background:linear-gradient(145deg,var(--ocean-800),var(--ocean-600));border-color:rgba(103,214,211,.30);box-shadow:var(--shadow-card);
}
.gs-tideglass .story-copy h2,.gs-tideglass .cottage-copy h2{font-size:clamp(46px,5vw,68px)}
.gs-tideglass .story-points>div,.gs-tideglass .mini-feature,.gs-tideglass .facility-card,.gs-tideglass .experience-card{
  border:1px solid var(--line);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 10px 32px rgba(3,46,54,.06);
  transition:transform .35s ease,box-shadow .35s ease;
}
.gs-tideglass .story-points>div:hover,.gs-tideglass .mini-feature:hover,.gs-tideglass .facility-card:hover,.gs-tideglass .experience-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card)}
.gs-tideglass .story-points span,.gs-tideglass .mini-feature .icon,.gs-tideglass .facility-card .icon,.gs-tideglass .experience-card .icon{
  color:var(--ocean-700);background:var(--aqua-soft);border-radius:17px;
}
.gs-tideglass .facility-grid{gap:20px}
.gs-tideglass .beach-banner{border-radius:58px;width:min(1480px,calc(100% - 34px));margin-inline:auto;overflow:hidden}
.gs-tideglass .beach-banner-shade{background:linear-gradient(90deg,rgba(2,30,36,.90),rgba(3,50,57,.45),rgba(3,50,57,.18))}
.gs-tideglass .beach-banner-copy h2{color:#ffffff}
.gs-tideglass .beach-banner-copy p{color:#d4e6e4}
.gs-tideglass .beach-banner-copy .script{color:var(--aqua)}
.gs-tideglass .experience-bento{gap:18px}
.gs-tideglass .experience-card{overflow:hidden}
.gs-tideglass .experience-card img{transition:transform .7s ease}
.gs-tideglass .experience-card:hover img{transform:scale(1.06)}

/* Room detail */
.gs-tideglass .room-detail-grid{gap:70px}
.gs-tideglass .room-info{
  padding:38px;
  border-radius:32px;
  background:#ffffff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.gs-tideglass .room-info h2{font-size:46px}
.gs-tideglass .room-specs{gap:12px}
.gs-tideglass .room-spec{
  border-radius:18px;background:var(--aqua-soft);border:1px solid rgba(7,88,100,.08)
}
.gs-tideglass .room-spec span{color:var(--ocean-700)}
.gs-tideglass .check-list li:before{color:var(--coral)}
.gs-tideglass .form-card,.gs-tideglass .contact-form-shell{
  border:1px solid rgba(7,88,100,.13);
  border-radius:34px;
  background:linear-gradient(145deg,#ffffff,#f1faf7);
  box-shadow:var(--shadow-card);
}
.gs-tideglass .form-card:after,.gs-tideglass .contact-form-shell:after{border-color:rgba(7,88,100,.10)}

/* Forms */
.gs-tideglass .field label,.gs-tideglass .form-grid label{color:var(--ocean-800);font-weight:800;letter-spacing:.03em}
.gs-tideglass input,.gs-tideglass select,.gs-tideglass textarea{
  color:var(--ink);
  background:#ffffff;
  border:1px solid rgba(7,88,100,.15);
  border-radius:16px;
  outline:none;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.gs-tideglass input:focus,.gs-tideglass select:focus,.gs-tideglass textarea:focus{
  border-color:var(--ocean-600);
  box-shadow:0 0 0 4px rgba(103,214,211,.18);
  transform:translateY(-1px);
}
.gs-tideglass .form-note{color:#718583}

/* Contact */
.gs-tideglass .contact-premium{background:var(--shell)}
.gs-tideglass .contact-premium-grid{gap:70px}
.gs-tideglass .contact-info-panel h2{font-size:clamp(48px,5vw,70px)!important}
.gs-tideglass .contact-action-grid{gap:14px}
.gs-tideglass .contact-action-card{
  border-color:var(--line);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 12px 34px rgba(3,46,54,.06);
}
.gs-tideglass .contact-action-card:hover{border-color:rgba(7,88,100,.30);box-shadow:var(--shadow-soft)}
.gs-tideglass .contact-action-card .contact-icon{color:#ffffff;background:linear-gradient(145deg,var(--ocean-800),var(--ocean-600))}
.gs-tideglass .contact-action-card.whatsapp-card .contact-icon{background:linear-gradient(145deg,#26c96b,#0ca956)}
.gs-tideglass .contact-action-card small{color:var(--coral)}
.gs-tideglass .contact-action-card strong{color:var(--ocean-950)}
.gs-tideglass .contact-action-card .action-arrow svg{stroke:var(--ocean-700)}
.gs-tideglass .contact-resort-note{background:linear-gradient(145deg,var(--ocean-950),var(--ocean-800));color:#ffffff;border-radius:22px}
.gs-tideglass .contact-resort-note>span{color:var(--aqua);background:rgba(103,214,211,.10)}
.gs-tideglass .contact-resort-note p{color:#c2d9d6}
.gs-tideglass .contact-mini-benefits>div{background:#ffffff;border-color:var(--line)}
.gs-tideglass .contact-mini-benefits span{color:var(--ocean-700);background:var(--aqua-soft)}
.gs-tideglass .contact-mini-benefits strong{color:var(--ocean-950)}
.gs-tideglass .contact-form-emblem{color:#ffffff;background:linear-gradient(145deg,var(--coral),#26979a)}
.gs-tideglass .contact-confidence{
  background:
    radial-gradient(circle at 90% 80%,rgba(103,214,211,.14),transparent 20rem),
    linear-gradient(145deg,var(--ocean-950),var(--ocean-800));
}
.gs-tideglass .contact-confidence:before{background-image:none}
.gs-tideglass .contact-confidence .section-head .eyebrow{color:#bcece7!important}
.gs-tideglass .contact-confidence .section-head p{color:#bfd6d3}
.gs-tideglass .contact-steps>div{border-color:rgba(103,214,211,.16)!important;background:rgba(255,255,255,.06)}
.gs-tideglass .contact-steps .step-no{color:var(--coral)}
.gs-tideglass .contact-steps .step-icon{color:var(--aqua);background:rgba(103,214,211,.10)}
.gs-tideglass .contact-steps p{color:#bfd6d3}
.gs-tideglass .faq-side-card{background:linear-gradient(145deg,var(--ocean-950),var(--ocean-800));box-shadow:var(--shadow-card)}
.gs-tideglass .faq-title-wrap b{color:var(--ocean-700);background:var(--aqua-soft)}

/* Article */
.gs-tideglass .article{
  max-width:900px;
  padding:54px;
  margin-block:55px;
  border:1px solid var(--line);
  border-radius:34px;
  background:#ffffff;
  box-shadow:var(--shadow-soft);
}
.gs-tideglass .article h2{color:var(--ocean-950)}
.gs-tideglass .article a{color:var(--ocean-700)}
.gs-tideglass .article-image{border-radius:28px;box-shadow:var(--shadow-soft)}
.gs-tideglass .article-note{border-color:rgba(7,88,100,.13);background:var(--aqua-soft)}
.gs-tideglass .article-note>span{color:#ffffff;background:var(--ocean-700)}
.gs-tideglass .article-meta-strip span{color:var(--ocean-700);background:var(--aqua-soft)}

/* CTA and Footer */
.gs-tideglass .cta-band{
  position:relative;
  padding:90px 0;
  background:
    radial-gradient(circle at 10% 50%,rgba(103,214,211,.16),transparent 20rem),
    linear-gradient(130deg,var(--ocean-950),#064b55 60%,#075f67);
  overflow:hidden;
}
.gs-tideglass .cta-band:after{
  content:"";position:absolute;right:-120px;top:-190px;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(103,214,211,.17);box-shadow:0 0 0 55px rgba(103,214,211,.03),0 0 0 110px rgba(103,214,211,.02);
}
.gs-tideglass .cta-grid{position:relative;z-index:2;gap:50px}
.gs-tideglass .cta-band h2{color:#ffffff;font-size:clamp(44px,4.6vw,66px)}
.gs-tideglass .cta-band p{color:#c0d8d5}
.gs-tideglass .cta-band .eyebrow{color:#bdece7}
.gs-tideglass .footer{
  background:#021f25;
  color:#ffffff;
  border:0;
}
.gs-tideglass .footer:before{
  content:"";display:block;height:1px;
  background:linear-gradient(90deg,transparent,var(--aqua),transparent);opacity:.35;
}
.gs-tideglass .footer-grid{gap:55px}
.gs-tideglass .footer-resort-logo{width:min(100%,300px)!important;max-width:300px!important;border-radius:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.gs-tideglass .footer-brand p{color:#9fb9b6}
.gs-tideglass .footer h3{color:#ffffff;font-size:22px}
.gs-tideglass .footer h3:after{background:linear-gradient(90deg,var(--aqua),transparent)}
.gs-tideglass .footer a,.gs-tideglass .footer span{color:#a9c1be}
.gs-tideglass .footer a:hover{color:#ffffff;transform:translateX(5px)}
.gs-tideglass .footer svg{stroke:var(--aqua)}
.gs-tideglass .footer-badges span{color:#cde3e0;background:rgba(103,214,211,.07);border-color:rgba(103,214,211,.15)}
.gs-tideglass .footer-enquire{color:#ffffff!important;background:linear-gradient(135deg,var(--ocean-700),var(--ocean-600));border-radius:999px!important}
.gs-tideglass .footer-bottom{border-top-color:rgba(255,255,255,.08);color:#789895}

/* Floating actions */
.gs-tideglass .floating-actions{right:18px;bottom:22px;gap:10px}
.gs-tideglass .float-action{
  min-width:190px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.54);
  box-shadow:0 18px 40px rgba(3,46,54,.22);
  backdrop-filter:blur(12px);
}
.gs-tideglass .float-action.call{background:linear-gradient(145deg,var(--ocean-800),var(--ocean-950))}
.gs-tideglass .float-action.whatsapp{background:linear-gradient(145deg,#2ac96f,#0aa854)}
.gs-tideglass .float-action.scroll-top{background:rgba(255,250,243,.90);color:var(--ocean-800)}
.gs-tideglass .float-action .icon-wrap{background:rgba(255,255,255,.11)}
.gs-tideglass .float-action.scroll-top .icon-wrap{background:var(--aqua-soft)}
.gs-tideglass .float-action .float-label small{opacity:.72}

/* Lightbox */
.gs-tideglass .lightbox{background:rgba(2,26,31,.94);backdrop-filter:blur(16px)}
.gs-tideglass .lightbox img{border-radius:26px;box-shadow:0 35px 90px rgba(0,0,0,.40)}
.gs-tideglass .lightbox button{background:var(--shell);color:var(--ocean-950);border-radius:50%}

/* Motion system */
.gs-tideglass .reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);
}
.gs-tideglass .reveal.visible{opacity:1;transform:none}
.gs-tideglass [data-stagger]>*{transition-delay:calc(var(--stagger-index,0) * 70ms)}
.gs-tideglass .magnetic{will-change:transform}

/* Tablet */
@media(max-width:1180px){
  .gs-tideglass .container{width:min(100% - 44px,1280px)}
  .gs-tideglass .luxury-header .brand img{width:215px}
  .gs-tideglass .luxury-header .main-nav>a:not(.btn){padding-inline:10px;font-size:9px}
  .gs-tideglass .nav-cta{padding-inline:14px!important}
  .gs-tideglass .experience-strip-grid{grid-template-columns:repeat(3,1fr)}
  .gs-tideglass .amenities-luxury-grid{grid-template-columns:repeat(2,1fr)}
  .gs-tideglass .room-v2-card,.gs-tideglass .room-card{grid-column:span 6}
  .gs-tideglass .room-v2-card:nth-child(1),.gs-tideglass .room-card:nth-child(1),.gs-tideglass .room-v2-card:nth-child(2),.gs-tideglass .room-card:nth-child(2){grid-column:span 6}
}

/* Mobile navigation and layout */
@media(max-width:900px){
  html{scroll-padding-top:82px}
  body.gs-tideglass{font-size:15px}
  .gs-tideglass .section{padding-block:82px}
  .gs-tideglass .container{width:min(100% - 28px,1280px)}
  .gs-tideglass h2{font-size:clamp(36px,9.5vw,52px)!important;line-height:1.02!important}
  .gs-tideglass .lead{font-size:16px}

  .gs-tideglass .luxury-topbar .topbar-inner{min-height:36px}
  .gs-tideglass .top-coast{display:none}
  .gs-tideglass .luxury-topbar .top-left{width:100%;justify-content:center;gap:18px}
  .gs-tideglass .luxury-topbar .top-left a{font-size:9px}
  .gs-tideglass .luxury-topbar .top-left a:nth-child(2){display:none}

  .gs-tideglass .luxury-header{background:rgba(255,250,243,.94)!important;border-bottom:1px solid rgba(7,88,100,.10)!important;box-shadow:0 10px 32px rgba(3,46,54,.09)!important}
  .gs-tideglass .luxury-header .nav-wrap{min-height:78px!important}
  .gs-tideglass .luxury-header .brand img{width:184px!important;height:52px!important}
  .gs-tideglass .mobile-brand-note{color:var(--ocean-700)}
  .gs-tideglass .mobile-brand-note strong{color:var(--coral)}
  .gs-tideglass .mobile-brand-note small{color:#67817f}
  .gs-tideglass .mobile-header-book{
    color:var(--ocean-950)!important;
    background:linear-gradient(135deg,#ffd38d,var(--sun))!important;
    border-radius:14px!important;
    box-shadow:0 10px 24px rgba(220,140,55,.22)!important;
  }
  .gs-tideglass .menu-toggle{
    color:#ffffff!important;
    background:linear-gradient(145deg,var(--ocean-800),var(--ocean-950))!important;
    border-color:rgba(103,214,211,.25)!important;
    border-radius:14px!important;
    box-shadow:0 10px 24px rgba(3,46,54,.20)!important;
  }
  .gs-tideglass .main-nav{
    width:min(92vw,440px)!important;
    inset:0 0 0 auto!important;
    padding:104px 20px 24px!important;
    gap:7px!important;
    border-radius:32px 0 0 32px!important;
    background:
      radial-gradient(circle at 92% 5%,rgba(103,214,211,.19),transparent 180px),
      linear-gradient(165deg,#fffdf8,#edf8f5)!important;
    box-shadow:-30px 0 80px rgba(3,46,54,.23)!important;
  }
  .gs-tideglass .mobile-nav-brand{
    height:88px!important;
    background:rgba(255,250,243,.88)!important;
    border-bottom-color:rgba(7,88,100,.10)!important;
    backdrop-filter:blur(18px);
  }
  .gs-tideglass .mobile-nav-copy strong{color:var(--ocean-950)!important}
  .gs-tideglass .mobile-nav-copy span{color:var(--ocean-700)!important}
  .gs-tideglass .nav-close{color:var(--ocean-950)!important;background:var(--aqua-soft)!important;border-color:rgba(7,88,100,.10)!important}
  .gs-tideglass .main-nav>a:not(.btn){
    min-height:50px!important;
    padding:0 17px!important;
    color:var(--ocean-950)!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(7,88,100,.08)!important;
    border-radius:15px!important;
    box-shadow:0 7px 20px rgba(3,46,54,.04)!important;
    font-size:12px!important;
  }
  .gs-tideglass .main-nav>a:not(.btn).active{color:#ffffff!important;background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600))!important;border-color:transparent!important}
  .gs-tideglass .main-nav .nav-cta{min-height:54px!important;margin-top:8px}
  .gs-tideglass .mobile-nav-footer{border-color:rgba(7,88,100,.10)!important;background:rgba(255,255,255,.6)!important}
  .gs-tideglass .mobile-nav-footer a{color:var(--ocean-800)!important}

  .gs-tideglass .lux-hero{min-height:auto;border-radius:0 0 36px 36px}
  .gs-tideglass .lux-hero:after{height:62px}
  .gs-tideglass .lux-hero-grid{grid-template-columns:1fr;gap:36px;padding-block:75px 105px}
  .gs-tideglass .lux-hero-copy{text-align:center;margin-inline:auto}
  .gs-tideglass .lux-hero h1{font-size:clamp(51px,13vw,72px)!important;line-height:.92!important}
  .gs-tideglass .lux-hero-lead{margin-inline:auto}
  .gs-tideglass .lux-hero-actions,.gs-tideglass .lux-trust-row{justify-content:center}
  .gs-tideglass .lux-booking{max-width:620px;margin-inline:auto;padding:28px;border-radius:26px}
  .gs-tideglass .lux-scroll{display:none}

  .gs-tideglass .coastal-ribbon{margin-top:-18px}
  .gs-tideglass .coastal-ribbon-grid{grid-template-columns:1fr 1fr;border-radius:22px}
  .gs-tideglass .coastal-ribbon-grid>div{border-bottom:1px solid var(--line);min-height:96px;padding:19px}
  .gs-tideglass .coastal-ribbon-grid>div:nth-child(2){border-right:0}
  .gs-tideglass .coastal-ribbon-grid>div:nth-last-child(-n+2){border-bottom:0}

  .gs-tideglass .luxury-story{padding-top:100px}
  .gs-tideglass .luxury-story-grid,.gs-tideglass .why-luxury-grid,.gs-tideglass .luxury-enquiry-grid,.gs-tideglass .gallery-v6-shell,.gs-tideglass .faq-v2-shell,.gs-tideglass .contact-premium-grid,.gs-tideglass .contact-faq-layout,.gs-tideglass .story-grid,.gs-tideglass .cottage-grid,.gs-tideglass .split,.gs-tideglass .room-detail-grid{grid-template-columns:1fr!important;gap:48px}
  .gs-tideglass .luxury-story-media{max-width:680px;margin-inline:auto}
  .gs-tideglass .experience-strip{padding:82px 0}
  .gs-tideglass .experience-strip-grid{grid-template-columns:repeat(2,1fr)}
  .gs-tideglass .experience-strip-grid article{min-height:200px}
  .gs-tideglass .coastal-signature{width:calc(100% - 20px);border-radius:36px}
  .gs-tideglass .coastal-signature-media{left:0;opacity:.32}
  .gs-tideglass .coastal-signature-grid{grid-template-columns:1fr!important;padding-block:78px;gap:36px}
  .gs-tideglass .resort-quote{max-width:620px}
  .gs-tideglass .rooms-v2-head{grid-template-columns:1fr;gap:14px;text-align:center}
  .gs-tideglass .rooms-v2-head .lead{margin-inline:auto}
  .gs-tideglass .why-luxury-heading{position:relative;top:auto;border-radius:30px 70px 30px 30px}
  .gs-tideglass .amenities-luxury{width:calc(100% - 20px);border-radius:36px}
  .gs-tideglass .gallery-v6-intro{padding:32px}
  .gs-tideglass .page-hero{min-height:390px;padding:95px 0 80px;border-radius:0 0 38px 38px}
  .gs-tideglass .page-hero h1{font-size:clamp(48px,12vw,70px)!important}
  .gs-tideglass .article{padding:34px;margin-block:35px}
  .gs-tideglass .beach-banner{width:calc(100% - 20px);border-radius:36px}
}

@media(max-width:650px){
  .gs-tideglass .container{width:min(100% - 22px,1280px)}
  .gs-tideglass .section{padding-block:72px}
  .gs-tideglass .eyebrow{font-size:9px;letter-spacing:.17em}
  .gs-tideglass .luxury-topbar .top-left{justify-content:space-between}
  .gs-tideglass .luxury-topbar .top-left a:first-child:after{display:none}
  .gs-tideglass .luxury-header .nav-wrap{min-height:72px!important}
  .gs-tideglass .luxury-header .brand img{width:157px!important;height:45px!important}
  .gs-tideglass .mobile-brand-note{display:none!important}
  .gs-tideglass .lux-hero-grid{padding-block:62px 92px}
  .gs-tideglass .lux-hero h1{font-size:48px!important}
  .gs-tideglass .lux-overline{font-size:9px;letter-spacing:.20em}
  .gs-tideglass .lux-hero-lead{font-size:15px;line-height:1.65}
  .gs-tideglass .lux-hero-actions{display:grid;grid-template-columns:1fr;max-width:340px;margin-inline:auto}
  .gs-tideglass .lux-hero-actions .btn{width:100%}
  .gs-tideglass .lux-trust-row{gap:12px;padding-top:20px}
  .gs-tideglass .lux-trust-row span{font-size:10px}
  .gs-tideglass .lux-booking{padding:22px;border-radius:22px}
  .gs-tideglass .lux-booking h2{font-size:29px!important}
  .gs-tideglass .lux-booking .field-row{grid-template-columns:1fr}
  .gs-tideglass .coastal-ribbon-grid{grid-template-columns:1fr}
  .gs-tideglass .coastal-ribbon-grid>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .gs-tideglass .coastal-ribbon-grid>div:last-child{border-bottom:0!important}
  .gs-tideglass .luxury-story-media:before{left:-8px;top:22px}
  .gs-tideglass .luxury-story-media>picture:first-child img,.gs-tideglass .luxury-story-media>img:first-child{border-radius:28px 28px 90px 28px}
  .gs-tideglass .luxury-story-media .story-detail{border-width:5px;border-radius:20px 55px 20px 20px}
  .gs-tideglass .story-monogram{display:none}
  .gs-tideglass .experience-strip-grid{grid-template-columns:1fr}
  .gs-tideglass .experience-strip-grid article{min-height:auto;padding:23px}
  .gs-tideglass .coastal-signature-copy{text-align:center}
  .gs-tideglass .signature-values{text-align:left}
  .gs-tideglass .resort-quote{border-radius:24px 55px 24px 24px!important}
  .gs-tideglass .rooms-v2-grid,.gs-tideglass .room-grid{display:grid;grid-template-columns:1fr;gap:18px}
  .gs-tideglass .room-v2-card,.gs-tideglass .room-card,.gs-tideglass .room-v2-card:nth-child(1),.gs-tideglass .room-card:nth-child(1),.gs-tideglass .room-v2-card:nth-child(2),.gs-tideglass .room-card:nth-child(2){grid-column:auto}
  .gs-tideglass .premium-room-content,.gs-tideglass .card-body{padding:23px}
  .gs-tideglass .premium-room-content h3,.gs-tideglass .card-body h3{font-size:27px}
  .gs-tideglass .why-luxury-heading{padding:30px}
  .gs-tideglass .why-luxury-list article{padding:23px}
  .gs-tideglass .amenities-luxury{padding:75px 0}
  .gs-tideglass .amenities-luxury-grid{grid-template-columns:1fr}
  .gs-tideglass .amenities-luxury-grid article{min-height:auto;padding:24px}
  .gs-tideglass .gallery-v6-grid{grid-template-columns:1fr 1fr!important}
  .gs-tideglass .gallery-v6-grid .gallery-tall{grid-column:1/-1!important}
  .gs-tideglass .gallery-v6-grid a{min-height:190px}
  .gs-tideglass .gallery-v6-grid .gallery-tall{min-height:320px}
  .gs-tideglass .gallery-v6-intro{padding:26px}
  .gs-tideglass .enquiry-steps{grid-template-columns:1fr}
  .gs-tideglass .luxury-enquiry-card{border-radius:28px 65px 28px 28px}
  .gs-tideglass .faq-v2-intro{padding:30px;border-radius:28px}
  .gs-tideglass .blog-v2-grid,.gs-tideglass .trending-blog-grid{grid-template-columns:1fr}
  .gs-tideglass .page-hero{min-height:350px;padding:78px 0 68px}
  .gs-tideglass .page-hero h1{font-size:43px!important}
  .gs-tideglass .page-hero p{font-size:15px}
  .gs-tideglass .story-main img,.gs-tideglass .cottage-large img,.gs-tideglass .room-main-image{border-radius:25px 25px 72px 25px}
  .gs-tideglass .story-points{grid-template-columns:1fr}
  .gs-tideglass .facility-grid{grid-template-columns:1fr}
  .gs-tideglass .experience-bento{grid-template-columns:1fr}
  .gs-tideglass .room-info{padding:26px}
  .gs-tideglass .room-info h2{font-size:37px!important}
  .gs-tideglass .room-specs{grid-template-columns:1fr 1fr}
  .gs-tideglass .contact-info-panel h2{font-size:42px!important}
  .gs-tideglass .contact-action-card{grid-template-columns:52px 1fr 22px;padding:17px}
  .gs-tideglass .contact-action-card .contact-icon{width:52px;height:52px}
  .gs-tideglass .contact-mini-benefits{grid-template-columns:1fr}
  .gs-tideglass .contact-form-shell{padding:25px!important;border-radius:27px}
  .gs-tideglass .contact-steps{grid-template-columns:1fr}
  .gs-tideglass .article{padding:23px;border-radius:24px}
  .gs-tideglass .cta-band{padding:70px 0}
  .gs-tideglass .cta-grid{text-align:center}
  .gs-tideglass .cta-actions{justify-content:center}
  .gs-tideglass .footer-grid{gap:36px}
  .gs-tideglass .footer-resort-logo{margin-inline:auto!important;width:min(100%,235px)!important}
  .gs-tideglass .footer-brand{text-align:left!important}
  .gs-tideglass .floating-actions{right:11px;bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}
  .gs-tideglass .float-action{width:54px!important;height:54px!important;min-width:54px!important;border-radius:18px!important;padding:0!important}
  .gs-tideglass .float-action .icon-wrap{border-radius:16px!important}
  .gs-tideglass .float-action .float-label{display:none!important}
}

@media(max-width:420px){
  .gs-tideglass .luxury-header .brand img{width:142px!important}
  .gs-tideglass .lux-hero h1{font-size:43px!important}
  .gs-tideglass .lux-badge{font-size:8px;padding:8px 12px}
  .gs-tideglass .lux-booking{padding:19px}
  .gs-tideglass .gallery-v6-grid{grid-template-columns:1fr!important}
  .gs-tideglass .gallery-v6-grid .gallery-tall{grid-column:auto!important}
  .gs-tideglass .gallery-v6-grid a,.gs-tideglass .gallery-v6-grid .gallery-tall{min-height:250px}
  .gs-tideglass .room-specs{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .gs-tideglass *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .gs-tideglass .reveal{opacity:1!important;transform:none!important}
}
