:root{
  --navy:#16294b; --navy-2:#1d4a75; --gold:#a98232; --gold-lt:#e8c66f; --gold-dk:#c98f1c;
  --cream:#fcebdb; --sand:#ecc98f; --sky:#8cc3ea;
  --font:Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--navy);background:var(--cream);line-height:1.3;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:4px}
h1,h2,p,ul{margin:0}
ul{padding:0;list-style:none}

/* Hero */
.hero{background: url("../assets/sky.webp") no-repeat top center / cover; text-align:center; }
.logo{display:block;width:min(46vw,300px);margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) 0 clamp(1.5rem,4vw,3rem);
 }
.logo svg{display:block;width:100%;height:auto}
.hero__photo,.hero__photo img{width:100%}
.hero__photo img{aspect-ratio:1540/326;object-fit:cover;min-height:120px}

/* Sand area */
.sand{background:linear-gradient(180deg,#f3d9ae 0,var(--sand) 45%,#e6bd7d 70%,#e9c99a 100%);padding-bottom:clamp(2rem,5vw,4rem)}
.prices{position:relative;display:grid;gap:1.5rem}
.prices__intro{background:var(--cream);padding:1.6rem 1.5rem 1.4rem max(1.5rem,calc((100vw - 1100px)/2 + 1.5rem));border-radius:0 0 2rem 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start}
h1{font-size:clamp(2rem,6vw,3.2rem);font-weight:400;line-height:1.1}
h1 strong{display:block;font-weight:800;letter-spacing:-.01em}
h1 span{display:block;font-weight:300;font-size:1.05em}
.lang{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.85rem,2.4vw,1.25rem);line-height:1.35}
.lang svg{width:2.1em;height:auto;flex:none;color:var(--gold)}

/* Price badges */
.rooms{padding:0 1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,4vw,3rem);margin-top:-.5rem}
.badge{width:min(74vw,320px);aspect-ratio:1;border-radius:50%;padding:7px;text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--gold-lt),var(--gold-dk));box-shadow:0 18px 32px rgba(70,45,5,.28)}
.badge>*{position:relative}
.badge{display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.14),transparent 30%),linear-gradient(160deg,var(--navy) 45%,var(--navy-2)) padding-box,linear-gradient(135deg,var(--gold-lt),var(--gold-dk)) border-box;border:9px solid transparent;padding:0}
.badge h2{font-size:clamp(1.1rem,3.6vw,1.5rem);font-weight:600;line-height:1.25}
.price{display:flex;align-items:center;gap:.4rem;line-height:1;margin:.25em 0 .1em}
.cur{font-size:clamp(1.5rem,5vw,2.2rem);font-weight:800}
.num{font-size:clamp(4.5rem,15vw,7rem);font-weight:500;letter-spacing:-.04em;color:var(--gold-lt);
  background:linear-gradient(180deg,#f4d67e 10%,#b98a24 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tax{font-size:clamp(1.1rem,3.6vw,1.5rem);font-weight:500}

/* Contact */
.contact{max-width:1040px;margin:clamp(2rem,5vw,3.5rem) auto 0;width:calc(100% - 2rem);background:var(--cream);border-radius:2rem;overflow:hidden;box-shadow:0 10px 30px rgba(70,45,5,.15)}
address{font-style:normal;padding:clamp(1.2rem,4vw,2.5rem) clamp(1rem,5vw,5rem) 1rem;display:grid;gap:.9rem}
address p{display:flex;align-items:center;gap:.9rem;font-size:clamp(1.1rem,3.4vw,2.2rem);font-weight:500;letter-spacing:.01em}
address svg{width:1.3em;height:1.3em;flex:none}
address a{text-decoration:none}
address a:hover{text-decoration:underline;text-underline-offset:.2em}
.contact img{width:100%;aspect-ratio:1388/605}

@media (min-width:760px){
  .prices__intro{display:block;width:56%;min-height:250px;border-radius:0 0 2.5rem 0}
  .lang{position:absolute;top:1.5rem;right:max(1.5rem,calc((100vw - 1100px)/2 + 1.5rem))}
  .rooms{margin-top:-8rem;justify-content:flex-start;padding-left:max(2rem,calc((100vw - 1100px)/2 + 14rem));position:relative;z-index:1}
  .badge{width:clamp(260px,32vw,360px)}
}
@media (min-width:760px) and (max-width:1000px){.lang{font-size:.9rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

  .btn-sms {
    position: fixed;
    right: 16px;
    bottom: 16px;
    padding: 14px 20px;
    background: #1a73e8;
    color: #fff;
    border-radius: 999px;
    font: 600 16px sans-serif;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
    z-index: 1000;
    display: none;
  }
  @media (max-width: 768px) {
    .btn-sms { display: inline-block; }
  }