:root{
  --bg:#fbf7f1;
  --bg-2:#f4ecdf;
  --surface:#fffdf9;
  --surface-2:#fff7ea;
  --text:#2c241d;
  --muted:#6f6254;
  --gold:#c99b3b;
  --gold-deep:#a6771f;
  --gold-soft:#f1deba;
  --wine:#7a2031;
  --wine-deep:#561524;
  --line:rgba(122,32,49,.10);
  --shadow:0 26px 60px rgba(74, 48, 20, .12);
  --radius:28px;
  --container:min(1200px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Manrope', system-ui, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(201,155,59,.10), transparent 18%),
    linear-gradient(180deg, #fffdf9 0%, var(--bg) 100%);
  line-height:1.6;
  overflow-x:hidden;
}
img{display:block;width:100%}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:0 auto}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  padding:18px 0;
  transition:.3s ease;
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 20px;
  border-radius:999px;
  transition:.3s ease;
}
.site-header.scrolled .nav-wrap{
  background:rgba(255,251,245,.92);
  backdrop-filter:blur(16px);
  border:1px solid rgba(122,32,49,.08);
  box-shadow:0 14px 40px rgba(58,32,10,.10);
}
.site-header.scrolled .brand strong,
.site-header.scrolled .brand small{
  color:var(--text);
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand{
  overflow: visible;
  display:flex;
  align-items:center;
  gap:18px;
}
.brand img{
  height: 100px;
  width: auto;
  max-height: 56px;
  object-fit: contain;
  transform: scale(1.3);
  transform-origin: center;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.18));
  transition: transform .3s ease, filter .3s ease;
}
.brand strong{
  display:block;
  font-family:'Cormorant Garamond', serif;
  font-size:2.08rem;
  line-height:.95;
  letter-spacing:.01em;
}
.brand small{
  display:block;
  font-size:.76rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:2px;
}
.nav-links{display:flex;gap:28px}
.nav-links a{
  font-weight:600;
  color:#fefbf5;
  transition:.2s ease;
}
.site-header.scrolled .nav-links a{color:var(--text)}
.nav-links a:hover{color:var(--wine)}
.nav-cta,.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  font-weight:700;
  transition:.25s ease;
}
.nav-cta,.btn-gold{
  background:linear-gradient(135deg, #e3bd72 0%, var(--gold) 55%, var(--gold-deep) 100%);
  color:#24190d;
  box-shadow:0 16px 34px rgba(201,155,59,.24);
}
.nav-cta:hover,.btn-gold:hover{transform:translateY(-2px)}
.btn-light{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
  backdrop-filter:blur(10px);
}
.btn-light:hover{background:rgba(255,255,255,.26)}
.btn-full{width:100%}

.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg,.hero-overlay,.hero-glow{
  position:absolute;inset:0;
}
.hero-bg{
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  will-change:transform;
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(50,26,15,.72) 0%, rgba(50,26,15,.42) 40%, rgba(50,26,15,.12) 100%),
    linear-gradient(180deg, rgba(50,26,15,.20) 0%, rgba(50,26,15,.54) 100%);
}
.hero-glow{
  background:radial-gradient(circle at 78% 22%, rgba(241,222,186,.28), transparent 18%);
}
.hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.65fr);
  gap:24px;
  align-items:center;
  padding:120px 0 44px;
}
.eyebrow,.section-kicker{
  margin:0 0 14px;
  color:#f5dfb3;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.74rem;
  font-weight:700;
}
.hero h1,.section-heading h2,.about-copy h2,.enquiry-copy h2{
  margin:0;
  font-family:'Cormorant Garamond', serif;
  line-height:.95;
}
.hero h1{
  max-width:760px;
  font-size:clamp(2.8rem, 5vw, 5.4rem);
  color:#fffaf2;
}
.hero-text{
  max-width:670px;
  margin:22px 0 0;
  font-size:1.06rem;
  color:rgba(255,248,237,.90);
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.hero-panel{
  padding:28px 24px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.panel-kicker{
  display:block;
  color:#fff0ca;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:8px;
}
.hero-panel h3{
  margin:0 0 22px;
  font-family:'Cormorant Garamond', serif;
  font-size:2rem;
  color:#fffaf2;
  line-height:1;
}
.mini-stats{
  display:grid;
  gap:14px;
}
.mini-stats article{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
}
.mini-stats strong{
  display:block;
  font-size:1.9rem;
  color:#fff2d1;
}
.mini-stats span{
  display:block;
  color:#f7ebd8;
  font-size:.92rem;
}

.intro-band{
  margin-top:0;
  position:relative;
  z-index:2;
  padding-top:24px;
}
.intro-shell{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.intro-card{
  padding:22px 20px;
  border-radius:24px;
  background:rgba(255,253,249,.95);
  border:1px solid rgba(122,32,49,.08);
  box-shadow:var(--shadow);
}
.intro-card strong{
  display:block;
  font-family:'Cormorant Garamond', serif;
  font-size:1.45rem;
  color:var(--wine);
  line-height:1.05;
}
.intro-card span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.92rem;
}

.section{padding:96px 0}
.about-grid,.enquiry-wrap,.footer-wrap{
  display:grid;
  gap:28px;
}
.about-grid{
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.about-copy h2,.enquiry-copy h2,.section-heading h2{
  font-size:clamp(2.3rem, 4vw, 4.2rem);
  color:var(--wine-deep);
}
.about-copy p{color:var(--muted)}
.feature-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.feature-list span{
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(180deg, #fff1cf, #f6e1b0);
  color:#6f4b11;
  font-weight:700;
  border:1px solid rgba(166,119,31,.16);
}
.about-visual{
  overflow:hidden;
  border-radius:32px;
  box-shadow:var(--shadow);
}
.about-visual img{
  min-height:500px;
  object-fit:cover;
}

.spaces-section{
  background:linear-gradient(180deg, rgba(255,255,255,.40), rgba(201,155,59,.08));
}
.section-heading.center{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.section-kicker{color:var(--wine)}
.spaces-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.space-card{
  overflow:hidden;
  border-radius:30px;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.space-card:hover{
  transform:translateY(-8px);
  box-shadow:0 34px 70px rgba(74,48,20,.16);
}
.space-image{
  overflow:hidden;
}
.space-image img{
  height:280px;
  object-fit:cover;
  transition:transform .6s ease;
}
.space-card:hover .space-image img{transform:scale(1.06)}
.space-content{padding:24px}
.space-tag{
  margin:0 0 10px;
  color:var(--wine);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:700;
}
.space-content h3{
  margin:0 0 10px;
  font-family:'Cormorant Garamond', serif;
  font-size:2rem;
  color:var(--wine-deep);
  line-height:1;
}
.space-content p:last-child{margin:0;color:var(--muted)}

.luxury-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.luxury-card{
  padding:28px 24px;
  border-radius:26px;
  background:linear-gradient(180deg, #fffdf9, #fff5e8);
  border:1px solid rgba(122,32,49,.08);
  box-shadow:var(--shadow);
}
.luxury-number{
  display:inline-block;
  margin-bottom:18px;
  font-family:'Cormorant Garamond', serif;
  font-size:3rem;
  color:rgba(201,155,59,.42);
  line-height:1;
}
.luxury-card h3{
  margin:0 0 10px;
  font-size:1.12rem;
  color:var(--wine-deep);
}
.luxury-card p{margin:0;color:var(--muted)}

.gallery-section{
  background:linear-gradient(180deg, transparent, rgba(201,155,59,.08));
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-grid figure{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  box-shadow:var(--shadow);
}
.gallery-grid .gallery-large{
  grid-column:span 2;
  grid-row:span 2;
}
.gallery-grid img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  transition:transform .6s ease;
}
.gallery-grid figure:hover img{transform:scale(1.05)}

.enquiry-section{
  background:linear-gradient(180deg, #fbf3e8, #f7efe3);
}
.enquiry-contact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:stretch;
}
.enquiry-card,
.contact-card{
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,251,245,.88));
  border:1px solid rgba(201,155,59,.20);
  box-shadow:var(--shadow);
}
.enquiry-card h2,
.contact-card h2{
  margin:0 0 26px;
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(2.7rem, 4.4vw, 4.3rem);
  line-height:.95;
  color:var(--wine-deep);
  max-width:560px;
}
.enquiry-card .section-kicker,
.contact-card .section-kicker{
  color:var(--gold);
  letter-spacing:.42em;
  margin-bottom:14px;
}
.enquiry-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.enquiry-form label{
  display:grid;
  gap:8px;
  color:var(--muted);
  font-weight:600;
}
.enquiry-form input{
  min-height:50px;
  border-radius:14px;
  border:1px solid rgba(122,32,49,.12);
  background:#fffdf9;
  color:var(--text);
  padding:0 14px;
  font:inherit;
}
.enquiry-submit{
  grid-column:1/2;
  width:100%;
  min-height:52px;
  border:2px solid #211408;
  box-shadow:none;
}
.contact-info-block{
  margin-top:24px;
}
.contact-info-block h3{
  margin:0 0 8px;
  font-family:'Cormorant Garamond', serif;
  font-size:1.65rem;
  line-height:1;
  color:var(--wine-deep);
}
.contact-info-block p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
}
.contact-info-block a{
  color:var(--wine);
}

.site-footer{
  padding:38px 0 46px;
  background:linear-gradient(180deg, #5d1a28, #45111c);
  color:#fff6ea;
}
.footer-wrap{
  grid-template-columns:.8fr 1.2fr;
  align-items:start;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.footer-brand img{
  width:60px;height:60px;object-fit:contain;
}
.footer-brand strong{
  display:block;
  font-family:'Cormorant Garamond', serif;
  font-size:1.8rem;
  line-height:1;
}
.footer-brand span{display:block;opacity:.82}
.footer-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.footer-info h4{
  margin:0 0 8px;
  color:#f6dfb1;
  font-size:.84rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-info p{
  margin:0;
  color:rgba(255,246,234,.82);
}

.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .9s ease, transform .9s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}

@media (max-width: 1100px){
  .hero-inner,
  .about-grid,
  .enquiry-wrap,
  .enquiry-contact-grid,
  .footer-wrap{grid-template-columns:1fr}
  .luxury-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 820px){
  .nav-links,.nav-cta{display:none}
  .hero{min-height:auto}
  .hero-inner,
  .intro-shell,
  .spaces-grid,
  .luxury-grid,
  .gallery-grid,
  .enquiry-form,
  .footer-info{grid-template-columns:1fr}
  .gallery-grid .gallery-large{grid-column:span 1;grid-row:span 1}
  .enquiry-submit{grid-column:1/-1}
  .intro-band{margin-top:0;padding-top:18px}
  .about-visual img{min-height:340px}
}
@media (max-width: 560px){
  .section{padding:74px 0}
  .hero-inner{padding:110px 0 36px}
  .hero h1{font-size:clamp(2.4rem, 11vw, 3.5rem)}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .btn,.btn-gold,.btn-light{width:100%}
}


.hero-copy{
  max-width: 100%;
}
.intro-card{
  min-height: 160px;
}
@media (max-width: 1200px){
  .hero-inner{
    grid-template-columns: minmax(0,1fr) minmax(300px,.62fr);
    gap: 18px;
  }
  .hero h1{
    font-size: clamp(2.7rem, 4.7vw, 4.8rem);
  }
}
@media (max-width: 980px){
  .hero-inner{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 118px 0 34px;
    align-items: end;
  }
  .hero-panel{
    max-width: 620px;
  }
  .intro-shell{
    grid-template-columns: repeat(2,1fr);
  }
}


.brand-logo-shell{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  overflow: visible;
  flex: 0 0 64px;
}
.brand-logo-shell::after{
  content:"";
  position:absolute;
  top:-6px;
  bottom:-6px;
  left:-20px;
  width:42px;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.0) 25%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 75%, transparent 100%);
  opacity:0;
  transform: translateX(-120px) skewX(-18deg);
  pointer-events:none;
}
.site-header.logo-shimmer .brand-logo-shell::after{
  opacity:.6;
  animation: logoShimmer .8s ease;
}
.site-header.scrolled .brand img{
  filter: drop-shadow(0 8px 18px rgba(166,119,31,.22));
}
.site-header.scrolled .brand strong{
  font-size: 2rem;
}
.site-header.scrolled .brand small{
  letter-spacing:.22em;
}
.site-header.scrolled .brand img{
  transform: scale(1.26);
}
@keyframes logoShimmer{
  0%{transform: translateX(-120px) skewX(-18deg); opacity:0;}
  18%{opacity:1;}
  100%{transform: translateX(140px) skewX(-18deg); opacity:0;}
}
@media (max-width: 820px){
  .brand-logo-shell{
    width: 60px;
    height: 52px;
    flex-basis: 60px;
  }
  .brand img{
    transform: scale(1.18);
    max-height: 52px;
  }
  .brand strong{
    font-size: 1.7rem;
  }
}
@media (max-width: 560px){
  .brand-logo-shell{
    width: 54px;
    height: 48px;
    flex-basis: 54px;
  }
  .brand img{
    transform: scale(1.08);
    max-height: 48px;
  }
  .brand strong{
    font-size: 1.48rem;
  }
  .brand small{
    font-size:.68rem;
    letter-spacing:.18em;
  }
}


.brand-logo-shell::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(201,155,59,.22) 0%, rgba(201,155,59,.10) 36%, rgba(201,155,59,0) 72%);
  filter: blur(6px);
  opacity:.55;
  z-index:-1;
  animation: goldPulse 3.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes goldPulse{
  0%,100%{
    transform:scale(.92);
    opacity:.34;
  }
  50%{
    transform:scale(1.08);
    opacity:.62;
  }
}
.brand:hover img{
  transform: scale(1.34);
}
.site-header.scrolled .brand-logo-shell::before{
  opacity:.48;
}

.success-popup{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.45);
justify-content:center;
align-items:center;
z-index:9999;
}

.success-box{
background:#fffdf8;
padding:40px;
border-radius:24px;
text-align:center;
max-width:500px;
box-shadow:0 20px 60px rgba(0,0,0,.2);
}

.success-box h3{
font-size:42px;
margin-bottom:15px;
color:#5d1a28;
}

.success-box p{
font-size:18px;
margin-bottom:25px;
}

.success-box button{
padding:14px 30px;
border:none;
border-radius:40px;
background:#c99b3b;
font-weight:bold;
cursor:pointer;
}