:root{
  --navy:#0d2f4f;
  --navy-deep:#081d33;
  --sky:#2e86d3;
  --sunrise:#f07f2d;
  --snow:#f5f7fa;
  --ink:#17222e;
  --grey:#5a6b7c;
  --line:#dde5ec;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Barlow',sans-serif;font-size:17px;line-height:1.7;
  color:var(--ink);background:var(--snow);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:1.05;text-transform:uppercase;letter-spacing:.015em;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{
  text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:700;
  color:var(--sunrise);margin-bottom:12px;
}
.eyebrow.light{color:#ffcfa5;}

/* Buttons */
.btn{
  display:inline-block;padding:15px 34px;font-weight:700;font-size:.9rem;
  letter-spacing:.08em;text-transform:uppercase;transition:all .22s ease;
}
.btn.solid{background:var(--sunrise);color:#fff;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);}
.btn.solid:hover{background:#ff8f3d;transform:translateY(-2px);}
.btn.solid.big{font-size:1.15rem;padding:18px 44px;}
.btn.ghost{border:2px solid rgba(255,255,255,.9);color:#fff;}
.btn.ghost:hover{background:rgba(255,255,255,.15);}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s ease;
  background:linear-gradient(180deg,rgba(8,20,33,.6),transparent);}
.nav.scrolled{background:var(--navy-deep);box-shadow:0 4px 18px rgba(0,0,0,.3);}
.nav-in{display:flex;align-items:center;gap:30px;padding:16px 28px;}
.brand{
  display:flex;align-items:center;gap:10px;color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;
  text-transform:uppercase;letter-spacing:.04em;
}
.brand img{width:34px;height:34px;}
.links{display:flex;gap:26px;margin-left:auto;}
.links a{
  color:#dce8f2;font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  border-bottom:2px solid transparent;padding-bottom:3px;
}
.links a:hover{border-bottom-color:var(--sunrise);color:#fff;}
.nav-cta{
  background:var(--sunrise);color:#fff;padding:10px 18px;font-weight:700;font-size:.82rem;
  letter-spacing:.05em;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);
}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;}

/* Hero */
.hero{position:relative;min-height:96vh;display:flex;align-items:center;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,29,51,.82) 0%,rgba(8,29,51,.45) 55%,rgba(8,29,51,.2) 100%);}
.hero-inner{position:relative;z-index:2;color:#fff;padding-top:90px;}
.hero-over{
  text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;font-weight:700;
  color:var(--sunrise);margin-bottom:18px;
}
.hero h1{font-size:clamp(3rem,7.5vw,5.6rem);margin-bottom:20px;}
.hero-sub{max-width:520px;font-size:1.12rem;color:#d8e3ee;margin-bottom:34px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

/* Stat bar */
.stat-bar{background:var(--navy-deep);border-top:4px solid var(--sunrise);}
.stat-in{display:grid;grid-template-columns:repeat(4,1fr);}
.stat-in div{padding:26px 20px;color:#fff;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.stat-in div:last-child{border-right:none;}
.stat-in b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:2.2rem;color:var(--sunrise);line-height:1;
}
.stat-in span{font-size:.78rem;color:#9fb4c8;text-transform:uppercase;letter-spacing:.1em;}

/* About */
.about{padding:110px 0;}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.about-photo{position:relative;}
.about-photo img{width:100%;clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%);}
.about-photo figcaption{
  margin-top:12px;font-size:.8rem;color:var(--grey);text-transform:uppercase;letter-spacing:.08em;
}
.about h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:22px;color:var(--navy);}
.about-copy p{color:var(--grey);margin-bottom:16px;}
.feature-list{list-style:none;margin-top:26px;}
.feature-list li{
  padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-weight:600;position:relative;
}
.feature-list li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:16px;height:3px;background:var(--sunrise);
}

/* Rooms */
.rooms{padding:110px 0;background:#fff;}
.rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.rooms h2{font-size:clamp(2rem,3.6vw,3rem);color:var(--navy);margin-bottom:20px;}
.rooms-copy>p{color:var(--grey);margin-bottom:30px;}
.room-types{display:grid;gap:18px;}
.room-type{
  border-left:4px solid var(--sky);background:var(--snow);padding:22px 26px;
}
.room-type h3{font-size:1.3rem;color:var(--navy);margin-bottom:6px;}
.room-type p{color:var(--grey);font-size:.95rem;}
.rooms-photo img{width:100%;clip-path:polygon(34px 0,100% 0,100% 100%,0 100%,0 34px);}

/* Gallery */
.gallery{padding:110px 0 0;}
.gallery h2{font-size:clamp(2rem,3.6vw,3rem);color:var(--navy);margin-bottom:44px;}
.gallery-grid{
  display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:300px;gap:6px;padding:0 6px 6px;
}
.gallery-grid figure{overflow:hidden;position:relative;}
.gallery-grid .tall{grid-row:span 2;}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-grid figure:hover img{transform:scale(1.04);}

/* CTA band */
.cta-band{
  background:linear-gradient(120deg,var(--navy-deep),var(--navy));
  padding:90px 0;border-top:4px solid var(--sunrise);
}
.cta-in{text-align:center;color:#fff;}
.cta-band h2{font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:20ch;margin:0 auto 30px;}

/* Contact */
.contact{padding:110px 0;}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;}
.contact h2{font-size:clamp(2rem,3.4vw,2.7rem);color:var(--navy);margin-bottom:26px;}
.contact-list{list-style:none;margin-bottom:30px;}
.contact-list li{padding:13px 0;border-bottom:1px solid var(--line);}
.contact-list span{
  display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;
  font-weight:700;color:var(--sky);margin-bottom:2px;
}
.contact-list a{color:var(--navy);font-weight:700;}
.contact-map iframe{width:100%;height:440px;border:0;}

/* Footer */
.foot{background:var(--navy-deep);color:#b9c9d8;padding:60px 0 30px;}
.foot-in{text-align:center;}
.brand.light{justify-content:center;margin-bottom:18px;}
.foot p{margin-bottom:14px;}
.foot a{color:var(--sunrise);font-weight:600;}
.fine{font-size:.8rem;color:#61788e;margin-top:20px;}

@media(max-width:960px){
  .about-grid,.rooms-grid,.contact-grid{grid-template-columns:1fr;gap:44px;}
  .stat-in{grid-template-columns:repeat(2,1fr);}
  .stat-in div{border-bottom:1px solid rgba(255,255,255,.08);}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px;}
  .gallery-grid .tall{grid-row:span 1;}
  .about,.rooms,.gallery,.contact{padding:70px 0;}
}
@media(max-width:680px){
  .links,.nav-cta{display:none;}
  .burger{display:block;margin-left:auto;}
  .links.open{
    display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--navy-deep);padding:20px 28px;gap:16px;
  }
  .stat-in{grid-template-columns:1fr;}
}
