:root{
  --black:#060504;
  --charcoal:#11100e;
  --gold:#c99a35;
  --gold-light:#f2d38a;
  --cream:#f7f0df;
  --paper:#fffaf0;
  --text:#201914;
  --muted:#76664c;
  --white:#ffffff;
  --line:rgba(201,154,53,.65);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--cream);
  background:var(--black);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:18px;
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
strong{color:var(--gold)}
.announcement{
  text-align:center;
  color:var(--gold-light);
  background:#000;
  border-bottom:1px solid var(--line);
  padding:8px 18px;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(5,4,3,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  width:min(1240px,94vw);
  margin:auto;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark,.crest,.footer-mark{
  font-family:"Cinzel Decorative", Georgia, serif;
  border:1px solid var(--gold);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold-light);
  background:radial-gradient(circle,rgba(201,154,53,.22),#070604 70%);
}
.brand-mark{width:46px;height:46px;font-size:1.25rem}
.brand-name{
  font-family:"Cinzel Decorative", Georgia, serif;
  color:var(--gold-light);
  font-size:1.08rem;
  letter-spacing:.04em;
}
.nav-links{display:flex;gap:22px}
.nav-links a,.nav-call,.button,.eyebrow{
  font-family:"Cinzel Decorative", Georgia, serif;
  letter-spacing:.07em;
}
.nav-links a{font-size:.78rem;text-transform:uppercase;color:#dccca8}
.nav-links a:hover,.nav-call:hover{color:var(--gold-light)}
.nav-call{border:1px solid var(--line);padding:10px 15px;border-radius:999px;color:var(--gold-light);font-size:.82rem}
.menu-toggle{display:none}

.hero{
  width:min(1240px,94vw);
  margin:auto;
  min-height:calc(100vh - 120px);
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:3rem;
  align-items:center;
  padding:4.5rem 0;
}
.hero-copy{
  background:linear-gradient(145deg,rgba(255,250,240,.97),rgba(245,232,202,.93));
  color:var(--text);
  border:1px solid var(--gold);
  padding:3rem;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  position:relative;
}
.hero-copy:before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(201,154,53,.35);
  pointer-events:none;
}
.crest{width:74px;height:74px;margin-bottom:1rem;font-size:2rem}
.eyebrow{margin:0 0 .85rem;color:var(--gold);text-transform:uppercase;font-size:.85rem}
.eyebrow.dark{color:#926b20}
h1,h2,h3{
  margin:0 0 1rem;
  font-family:"Cinzel Decorative", Georgia, serif;
  font-weight:700;
  line-height:1.08;
  letter-spacing:.02em;
}
h1{font-size:clamp(3rem,6vw,6rem);color:#16110d}
h2{font-size:clamp(2rem,3.6vw,4rem)}
h3{font-size:1.55rem}
.hero-subtitle{font-size:1.35rem;color:#5e4f3b;max-width:42rem}
.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:999px;
  padding:13px 22px;
  border:1px solid var(--gold);
  transition:.2s ease;
  font-size:.85rem;
  text-transform:uppercase;
}
.button.primary{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#14100c}
.button.secondary{background:#111;color:var(--gold-light)}
.button:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(201,154,53,.22)}
.hero-image-card{border:1px solid var(--line);padding:10px;background:#000;box-shadow:0 28px 80px rgba(0,0,0,.5)}
.hero-image-card img{border:1px solid rgba(201,154,53,.3)}

.cream-band{
  background:var(--paper);
  color:var(--text);
  padding:3rem max(4vw,22px);
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:2rem;
  align-items:center;
  border-block:1px solid var(--gold);
}
.cream-band p{font-size:1.25rem;color:var(--muted);max-width:850px}
.section{
  width:min(1240px,94vw);
  margin:auto;
  padding:5rem 0;
}
.section-heading{text-align:center;max-width:900px;margin:0 auto 2.5rem}
.section-heading p:not(.eyebrow){color:#d8c7a4;font-size:1.18rem}
.two-column,.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.panel,.service-grid article,.supplier-grid article,.contact-card,.show-card{
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 22px 70px rgba(0,0,0,.35);
}
.panel{padding:2rem;color:#ddcfad}
.panel h3,.service-grid h3,.supplier-grid h3{color:var(--gold-light)}
.highlighted{background:linear-gradient(145deg,rgba(201,154,53,.18),rgba(255,255,255,.025))}
.split-feature{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:2rem;
  align-items:center;
}
.feature-image img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.feature-copy{padding:2rem}
.tick-list{list-style:none;padding:0;margin:1.3rem 0 0}
.tick-list li{margin:.7rem 0;color:#e8d9b8}
.tick-list li:before{content:"✓";color:var(--gold-light);margin-right:.7rem}
.service-grid,.supplier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.service-grid article,.supplier-grid article{padding:1.5rem}
.service-grid span{
  font-family:"Cinzel Decorative", Georgia, serif;
  color:var(--gold);
  font-size:1.6rem;
}
.service-grid p,.supplier-grid p{color:#d8c7a4}
.area-section{
  background:linear-gradient(145deg,rgba(255,250,240,.96),rgba(246,232,199,.92));
  color:var(--text);
  width:100%;
  max-width:none;
  padding:5rem max(4vw,22px);
}
.area-section .section-heading p:not(.eyebrow),.seo-text{color:var(--muted)}
.area-list{
  width:min(1100px,94vw);
  margin:0 auto 1.8rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem;
}
.area-list span{
  border:1px solid rgba(201,154,53,.7);
  text-align:center;
  padding:12px 10px;
  background:rgba(255,255,255,.45);
  font-family:"Cinzel Decorative", Georgia, serif;
  font-size:.84rem;
}
.seo-text{max-width:900px;margin:0 auto;text-align:center;font-size:1.15rem}
.show-card{
  width:min(1120px,94vw);
  margin:0 auto 1rem;
  padding:2rem;
  background:var(--paper);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.show-card p{color:var(--muted);font-size:1.15rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery-grid img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border:1px solid var(--line);
  background:#000;
  box-shadow:0 22px 70px rgba(0,0,0,.4);
}
.supplier-grid{grid-template-columns:repeat(3,1fr)}
.supplier-grid article{text-align:center}
.contact-section{
  background:var(--paper);
  color:var(--text);
  padding:5rem max(4vw,22px);
}
.contact-card{
  width:min(1120px,94vw);
  margin:auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:2rem;
  padding:2rem;
  background:#fffdf7;
}
.contact-card p{color:var(--muted)}
.contact-lines{display:grid;gap:.7rem;margin-top:1.4rem;color:#8a651c;font-weight:700}
form{display:grid;gap:1rem}
label{display:grid;gap:.35rem;color:#8a651c;font-size:.9rem;text-transform:uppercase}
input,textarea{
  width:100%;
  border:1px solid rgba(201,154,53,.65);
  padding:13px 14px;
  border-radius:0;
  font:inherit;
  background:#fff;
  color:var(--text);
}
textarea{resize:vertical}
.footer{
  text-align:center;
  color:#d8c7a4;
  padding:2.5rem 1rem;
  border-top:1px solid var(--line);
  background:#050403;
}
.footer-mark{width:64px;height:64px;margin:0 auto 1rem;font-size:1.8rem}
.footer a{color:var(--gold-light)}
@media(max-width:1060px){
  .nav{flex-wrap:wrap;justify-content:center;padding:12px 0}
  .nav-links{order:3;width:100%;justify-content:center;flex-wrap:wrap}
  .nav-call{display:none}
  .hero,.cream-band,.split-feature,.contact-card{grid-template-columns:1fr}
  .hero{min-height:auto;text-align:center}
  .crest{margin-left:auto;margin-right:auto}
  .hero-buttons{justify-content:center}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .area-list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  body{font-size:16px}
  .brand-name{font-size:.9rem}
  .nav-links{gap:12px}
  .hero-copy{padding:2.2rem 1.4rem}
  .two-column,.intro-grid,.service-grid,.gallery-grid,.supplier-grid,.area-list{grid-template-columns:1fr}
  h1{font-size:3.2rem}
  h2{font-size:2.35rem}
  .show-card{display:block;text-align:center}
}
