
:root{
  --bg:#021522;
  --bg2:#06344c;
  --text:#f4fdff;
  --muted:rgba(244,253,255,.72);
  --line:rgba(190,242,255,.22);
  --cyan:#86eaff;
  --cyan2:#c9f7ff;
  --ice:#eefdff;
  --glass:rgba(214,248,255,.10);
  --shadow:0 32px 100px rgba(0,42,68,.48);
  --radius:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 80% 8%, rgba(80,217,246,.22), transparent 34%),
    linear-gradient(180deg,#021522,#052c43 46%,#021522);
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.68;
  letter-spacing:.012em;
  overflow-x:hidden;
}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
.container{width:min(1240px,calc(100% - 32px));margin:0 auto}
.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:80;background:linear-gradient(180deg,rgba(2,21,34,.90),rgba(2,21,34,.55));border-bottom:1px solid var(--line);backdrop-filter:blur(22px)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--ice),var(--cyan));color:#02283a;font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:700}
.brand-text{font-family:"Cormorant Garamond",serif;font-size:25px;letter-spacing:.07em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:26px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}
.nav a{position:relative;padding:8px 0}
.nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--cyan);transition:.35s}
.nav a:hover,.nav a.is-active{color:var(--text)}
.nav a:hover:after,.nav a.is-active:after{width:100%}
.header-book{min-height:46px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;background:linear-gradient(135deg,var(--ice),var(--cyan));color:#02283a}
.menu{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--glass)}
.menu span{display:block;width:18px;height:2px;background:var(--text);margin:5px auto;border-radius:2px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:600;letter-spacing:.025em;line-height:1}
h1{font-size:clamp(58px,8vw,126px);max-width:900px;margin-bottom:28px}
h2{font-size:clamp(44px,6vw,92px);margin-bottom:24px}
h3{font-size:clamp(30px,3.2vw,48px);line-height:1.06;margin-bottom:16px}
.eyebrow,.section-label{display:block;margin:0 0 22px;color:var(--cyan2);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900}
.lead{max-width:700px;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.7;margin-bottom:32px}
.big-text{font-size:clamp(22px,2.5vw,34px);line-height:1.55;color:rgba(244,253,255,.84)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border-radius:999px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;border:1px solid transparent;transition:.35s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:linear-gradient(135deg,var(--ice),var(--cyan));color:#02283a;box-shadow:0 20px 50px rgba(134,234,255,.16)}
.btn-glass{background:rgba(214,248,255,.10);border-color:var(--line);backdrop-filter:blur(22px)}
.hero{position:relative;min-height:100svh;padding:124px 0 72px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{height:100%;object-fit:cover;object-position:center;filter:saturate(1.12) contrast(1.06);animation:kenburns 16s ease-in-out infinite alternate}
.hero:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 74% 26%, rgba(110,223,247,.18), transparent 34%),linear-gradient(90deg, rgba(2,21,34,.97), rgba(2,45,68,.72) 48%, rgba(2,45,68,.20)),linear-gradient(0deg, rgba(2,21,34,.88), rgba(2,21,34,0) 42%)}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:clamp(34px,6vw,90px);align-items:center}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.booking-card{width:100%;display:grid;gap:18px;padding:24px;border:1px solid rgba(190,242,255,.28);border-radius:34px;background:radial-gradient(circle at 100% 0%, rgba(201,247,255,.24), transparent 36%),linear-gradient(180deg,rgba(217,249,255,.18),rgba(217,249,255,.07)),rgba(2,31,48,.70);box-shadow:var(--shadow);backdrop-filter:blur(34px)}
.booking-head{display:grid;gap:8px;padding-bottom:18px;border-bottom:1px solid rgba(190,242,255,.20)}
.booking-head span{color:var(--cyan2);font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.booking-head strong{font-family:"Cormorant Garamond",serif;font-size:42px;line-height:1.02;font-weight:600;letter-spacing:.02em}
.booking-fields{display:grid;gap:12px}
.booking-fields label{display:grid;gap:8px;padding:15px 16px;border:1px solid rgba(190,242,255,.22);border-radius:22px;background:rgba(2,42,64,.48)}
.booking-fields label span{color:rgba(244,253,255,.60);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(217,249,255,.08);color:var(--text);border-radius:18px;padding:16px;font:inherit;outline:none}
.booking-fields input,.booking-fields select{padding:0;border:0;background:transparent;color:var(--text);font-weight:800;letter-spacing:.04em}
select option{color:#02283a}
.booking-button{width:100%}
.booking-card p{margin:0;color:rgba(244,253,255,.62);font-size:13px;line-height:1.55}
.marquee{border-block:1px solid var(--line);overflow:hidden;background:linear-gradient(90deg,#effcff,#8beaff,#d7fbff);color:#02283a}
.marquee div{display:flex;width:max-content;gap:60px;padding:18px 0;animation:marquee 24s linear infinite}
.marquee span{font-family:"Cormorant Garamond",serif;font-size:34px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.section{padding:clamp(92px,10vw,150px) 0}
.section-soft{background:rgba(214,248,255,.04);border-block:1px solid var(--line)}
.dark-feature{background:linear-gradient(180deg,#021522,#010b12);border-block:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}
.stats div,.contact-card,.form,.amenities div{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(22px)}
.stats b{display:block;font-family:"Cormorant Garamond",serif;font-size:54px;line-height:1;color:var(--cyan2)}
.stats span{color:var(--muted);font-size:14px}
.section-head{max-width:850px;margin-bottom:52px}
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.room-card{min-height:100%;border:1px solid var(--line);border-radius:32px;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(217,249,255,.15),rgba(217,249,255,.06));box-shadow:var(--shadow)}
.room-card img{height:310px;object-fit:cover}
.room-card-body{padding:28px;display:flex;flex-direction:column;flex:1;min-height:360px}
.room-card-body span{color:var(--cyan2);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px}
.room-card-body h3{min-height:112px;margin-bottom:16px}
.room-card-body p{color:var(--muted);margin-bottom:24px;line-height:1.72;min-height:118px}
.room-card-body ul{margin:auto 0 0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.room-card-body li{padding:9px 12px;border-radius:999px;background:rgba(232,252,255,.10);border:1px solid var(--line);color:var(--text);font-size:13px;font-weight:800}
.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.feature-media{border-radius:38px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.feature-copy p:not(.section-label){color:var(--muted);font-size:20px;line-height:1.7}
.text-link{color:var(--cyan2);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.page-hero{padding:170px 0 70px;background:radial-gradient(circle at 76% 18%,rgba(110,223,247,.24),transparent 34%),linear-gradient(180deg,#042d45,#021522)}
.amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.amenities div{min-height:88px;display:flex;align-items:center;font-weight:900}
.wellness-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.wellness-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,rgba(217,249,255,.15),rgba(217,249,255,.06))}
.wellness-card img{height:420px;object-fit:cover}
.wellness-card div{padding:28px;flex:1}
.wellness-card p{color:var(--muted);line-height:1.72}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:16px}
.mosaic figure{margin:0;overflow:hidden;border-radius:30px;border:1px solid var(--line);background:#052b43}
.mosaic .tall{grid-row:span 2}
.mosaic .wide{grid-column:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.mosaic figure:hover img{transform:scale(1.06)}
.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:22px}
.contact-card{display:grid;gap:12px;align-content:start}
.contact-card a{font-size:24px;font-weight:800}
.contact-card p,.contact-card span{color:var(--muted)}
.form{display:grid;gap:16px}
.form label{display:grid;gap:8px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
textarea{min-height:132px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(109,223,247,.14)}
.form-note,.success{margin:0;color:var(--muted);font-size:13px;text-transform:none;letter-spacing:.02em}
.success{color:var(--cyan2);font-weight:900}
.footer{padding:70px 0 26px;background:#010b12;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .8fr;gap:50px;margin-bottom:40px}
.footer-logo{font-family:"Cormorant Garamond",serif;font-size:38px;text-transform:uppercase;letter-spacing:.08em}
.footer p{max-width:420px;color:var(--muted)}
.footer-links,.footer-contacts{display:grid;gap:10px;align-content:start;color:var(--muted)}
.footer a:hover{color:var(--cyan2)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:rgba(244,253,255,.45);font-size:13px;border-top:1px solid var(--line);padding-top:24px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.12)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:1100px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){
  .nav,.header-book{display:none}
  .menu{display:block}
  .nav.is-open{display:grid;position:absolute;top:82px;left:16px;right:16px;padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(2,21,34,.96);backdrop-filter:blur(20px)}
  .hero{min-height:auto;padding:116px 0 76px}
  .hero-grid,.split,.feature-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .booking-card{max-width:620px}
  .stats{grid-template-columns:1fr}
}
@media(max-width:700px){
  .brand-text{font-size:19px}
  h1{font-size:clamp(50px,16vw,72px)}
  h2{font-size:48px}
  .hero-actions,.form-row,.rooms-grid,.wellness-grid,.amenities{grid-template-columns:1fr;display:grid}
  .hero-actions .btn{width:100%}
  .room-card-body,.room-card-body h3,.room-card-body p{min-height:auto}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:260px}
  .mosaic .wide,.mosaic .tall{grid-column:auto;grid-row:auto}
  .footer-bottom{display:grid}
}
