:root{
  --gold:#c9a24a;
  --gold-dark:#9e7b2f;
  --cream:#f7f3ec;
  --ecru:#efe7d8;
  --text:#26221d;
  --muted:#7b746b;
}

html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--cream);
}

h1,h2,h3,.logo span{
  font-family:'Playfair Display',serif;
  letter-spacing:.04em;
}

.gold-navbar{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(201,162,74,.18);
  min-height:82px;
}
.logo{
  color:var(--gold-dark)!important;
  text-decoration:none;
  line-height:1;
  display:inline-flex;
  flex-direction:column;
}
.logo span{
  font-size:2.15rem;
  font-weight:600;
}
.logo small{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.nav-link{
  text-transform:uppercase;
  font-size:.76rem;
  letter-spacing:.12em;
  color:#3e382f!important;
  margin:0 .55rem;
}
.nav-link:hover{color:var(--gold-dark)!important;}

.btn-gold{
  background:var(--gold);
  color:#fff;
  border:1px solid var(--gold);
  border-radius:0;
  padding:.86rem 1.9rem;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.1em;
  font-weight:600;
}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff;}
.btn-outline-gold{
  border:1px solid var(--gold);
  color:var(--gold-dark);
  border-radius:0;
  padding:.8rem 1.5rem;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.1em;
}
.btn-outline-gold:hover{background:var(--gold);color:#fff;}

.hero{
  min-height:85vh;
  /* background:url('img/widokZBalkonu2.png') center/cover no-repeat; */
  background:url('img/widokZBalkonu3.png') center 46% / cover no-repeat;
  position:relative;
  display:flex;
  align-items:center; 
  justify-content:center;
  margin-top:82px;
}
@media (max-aspect-ratio: 4/5){

  .hero{
    background:url('img/widokZBalkonu3.png') center center/cover no-repeat;
    min-height:65vh;
  }
}
  
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.18),rgba(0,0,0,.38));
}
.hero-content{position:relative;z-index:2;padding:4rem 1rem;}
.hero-kicker{
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.82rem;
  margin-bottom:1rem;
}
.hero h1{
  font-size:clamp(4rem,9vw,8.5rem);
  font-weight:500;
  line-height:.9;
}
.hero .lead{
  font-family:'Playfair Display',serif;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:clamp(1.2rem,2.5vw,2.1rem);
  margin-top:1.2rem;
}
.address{
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.85rem;
  margin:1.4rem 0 2rem;
}

.section{padding:5.8rem 0;}
.section-light{background:linear-gradient(135deg,#fbf9f4,#f3ede2);}
.section-label{
  color:var(--gold-dark);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.78rem;
  font-weight:600;
  margin-bottom:.8rem;
}
h2{font-size:clamp(2rem,4vw,3.25rem);font-weight:500;margin-bottom:1.3rem;}
.section-text{color:var(--muted);line-height:1.85;font-size:1.02rem;}
.features-list{margin-top:1.8rem;display:grid;gap:1rem;color:#4c453b;}
.features-list span{color:var(--gold);display:inline-block;width:2rem;font-size:1.1rem;}
.features-list.compact{gap:1.15rem;}
.image-card{overflow:hidden;box-shadow:0 30px 70px rgba(56,45,23,.15);}
.image-card img,.split-image,.gallery-grid img,.amenity-card img{width:100%;height:100%;object-fit:cover;display:block;}
.large-card{height:520px;}

.split-section{background:#fffaf2;padding:0;}
.split-image{height:620px;}
.split-text{padding:4rem clamp(2rem,7vw,7rem);}

.amenity-card{text-align:center;}
.amenity-card img{height:165px;margin-bottom:1.4rem;box-shadow:0 16px 38px rgba(60,45,15,.1);}
.amenity-card h3{font-size:1.25rem;text-transform:uppercase;margin-bottom:.7rem;}
.amenity-card p{color:var(--muted);font-size:.95rem;line-height:1.65;}

.view-banner{
  position:relative;
  background:url('img/widokZpobliskiejGory2.jpg') center/cover no-repeat;
  min-height:420px;
  display:flex;
  align-items:center;
  color:#fff;
}
.view-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.14));}
.view-banner h2{font-size:clamp(2.3rem,5vw,4rem);text-transform:uppercase;letter-spacing:.1em;}
.text-gold{color:#e6c775!important;}

.gallery-grid img{height:285px;transition:.35s ease;}
.gallery-grid img:hover{transform:scale(1.02);}

.reservation-section{padding:5rem 0;background:#fffaf2;}
.contact-card{background:#fff;padding:2rem;box-shadow:0 25px 60px rgba(76,62,28,.12);border:1px solid rgba(201,162,74,.18);}
.form-control{border-radius:0;border:1px solid #e1d8c8;padding:.9rem 1rem;background:#fffdf9;}
.form-control:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(201,162,74,.12);}
.footer{background:#fff;padding:2.4rem 0;border-top:1px solid rgba(201,162,74,.18);}
.footer-logo span{font-size:2rem;}
.small-text{color:var(--muted);font-size:.9rem;line-height:1.7;}

@media (max-width:991.98px){
  .gold-navbar{min-height:auto;}
  .hero{margin-top:72px;min-height:82vh;}
  .navbar-collapse{background:#fff;padding:1rem;margin-top:.8rem;border-top:1px solid #eee;}
  .nav-link{margin:.35rem 0;}
  .large-card{height:390px;}
  .split-image{height:430px;}
  .split-text{padding:3.5rem 1.5rem;}
}

@media (max-width:575.98px){
  .logo span{font-size:1.65rem;}
  .logo small{font-size:.55rem;}
  .hero{min-height:78vh;background-position:center;}
  .hero h1{font-size:4rem;}
  .address{letter-spacing:.16em;}
  .section{padding:4rem 0;}
  .large-card{height:280px;}
  .amenity-card img,.gallery-grid img{height:230px;}
  .contact-card{padding:1.3rem;}
}





.premium-contact-card{
  padding:2.7rem;
}

.contact-title{
  font-size:1.85rem;
  margin-bottom:2rem;
  color:var(--text);
}

.contact-line{
  display:flex;
  align-items:center;
  gap:1.2rem;
  padding:1.2rem 0;
  border-bottom:1px solid rgba(201,162,74,.18);
}

.contact-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  flex-shrink:0;
}

.contact-line span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:.25rem;
}

.contact-line a{
  color:var(--text);
  text-decoration:none;
  font-size:1.1rem;
  font-weight:600;
}

.contact-line a:hover{
  color:var(--gold-dark);
}

.contact-buttons{
  display:flex;
  gap:1rem;
  margin-top:2rem;
  flex-wrap:wrap;
}

@media (max-width:575.98px){
  .premium-contact-card{
    padding:1.6rem;
  }

  .contact-buttons .btn{
    width:100%;
  }
}