:root{
  --dark:#050706;
  --green:#071b15;
  --gold:#c9a35a;
  --gold-soft:#e3c17a;
  --cream:#f6efe3;
  --white:#ffffff;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat', Arial, sans-serif;
  background:var(--dark);
  color:var(--cream);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}

.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:10;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 7vw;
  transition:.35s ease;
}
.site-header.scrolled{
  background:rgba(5,7,6,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(201,163,90,.22);
}
.brand-mini{
  position:absolute;
  left:7vw;
  font-family:'Cormorant Garamond', serif;
  letter-spacing:3px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}
nav a{
  color:var(--gold-soft);
  font-size:15px;
  letter-spacing:2px;
  padding-bottom:12px;
  border-bottom:2px solid var(--gold);
}

.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:url('images/hero.jpg') center/cover no-repeat;
  transform:scale(1.05);
  animation:slowZoom 18s ease-in-out infinite alternate;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 42%, rgba(0,0,0,.12) 100%),
             linear-gradient(0deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,0) 38%);
}
.hero-content{
  position:relative;
  z-index:2;
  width:min(900px, 88vw);
  margin-left:7vw;
  padding-top:70px;
}
.logo-mark,.logo-small{
  width:max-content;
  text-align:center;
  color:var(--white);
  margin-bottom:54px;
  text-shadow:0 10px 24px rgba(0,0,0,.45);
}
.crown{font-size:62px;color:var(--gold);line-height:.75}
.logo-mark span,.logo-small span{display:block;font-family:'Cormorant Garamond',serif;font-size:28px;letter-spacing:5px}
.logo-mark strong,.logo-small strong{display:block;font-family:'Cormorant Garamond',serif;font-size:58px;letter-spacing:3px;line-height:.9;text-transform:uppercase}
.logo-mark small{display:block;margin-top:12px;font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:7px}

h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(72px, 12vw, 165px);
  line-height:.78;
  text-transform:uppercase;
  letter-spacing:3px;
  text-shadow:0 18px 38px rgba(0,0,0,.58);
}
.address{
  margin-top:38px;
  color:var(--gold-soft);
  font-size:clamp(22px,3vw,38px);
  font-weight:600;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:1px;
}
.gold-line{width:min(560px,80vw);height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:28px 0 34px}
.tagline{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(22px,2.3vw,35px);
  line-height:1.25;
  color:rgba(255,255,255,.94);
}
.actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap}
.btn,.map-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  border:1px solid var(--gold);
  letter-spacing:1.6px;
  text-transform:uppercase;
  font-size:13px;
  font-weight:600;
  transition:.3s ease;
}
.btn.primary,.map-link{background:var(--gold);color:#10100d}
.btn.secondary{background:transparent;color:var(--cream)}
.btn:hover,.map-link:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.35)}

.showcase{
  background:radial-gradient(circle at top, #0c2b20 0%, #07120f 48%, #030403 100%);
  padding:72px 7vw 86px;
  border-top:1px solid rgba(201,163,90,.48);
}
.decor{text-align:center;color:var(--gold);font-size:32px;margin-bottom:44px}
.showcase-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.photo-card{
  border:1px solid rgba(201,163,90,.7);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.44);
}
.photo-card img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
.contact-card{padding:25px 0}
.logo-small{margin:0 0 38px}
.logo-small .crown{font-size:50px}
.logo-small span{font-size:24px}
.logo-small strong{font-size:52px}
.contacts{list-style:none;display:grid;gap:26px;margin-bottom:34px}
.contacts li{display:flex;gap:20px;align-items:flex-start;color:var(--cream);font-size:21px;line-height:1.35}
.contacts span{color:var(--gold);font-size:27px;min-width:32px;text-align:center}

footer{
  border-top:1px solid rgba(201,163,90,.25);
  background:#020302;
  text-align:center;
  padding:24px 20px;
  color:rgba(246,239,227,.62);
  font-size:13px;
}

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

@keyframes slowZoom{
  from{transform:scale(1.05)}
  to{transform:scale(1.12)}
}

@media (max-width:900px){
  .site-header{height:70px;padding:0 24px}.brand-mini{display:none}
  .hero-content{margin-left:24px;width:calc(100% - 48px);padding-top:30px}.logo-mark{margin-bottom:38px}.logo-mark strong{font-size:44px}.logo-mark span{font-size:22px}.logo-mark small{font-size:18px}.crown{font-size:48px}
  .showcase{padding:54px 24px 64px}.showcase-inner{grid-template-columns:1fr;gap:40px}.contacts li{font-size:18px}
}
@media (max-width:520px){
  h1{font-size:72px}.address{font-size:22px}.tagline{font-size:21px}.actions{display:none}.logo-mark{transform:scale(.82);transform-origin:left top}.showcase{padding-top:44px}.logo-small strong{font-size:42px}.contacts li{font-size:17px}.map-link{width:100%}
}
