:root{
  --black:#090909;
  --black-2:#121212;
  --cream:#f7f2e8;
  --cream-2:#fffdf8;
  --gold:#d7a62d;
  --gold-light:#efc45b;
  --text:#1d1d1d;
  --muted:#555;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Montserrat",sans-serif;
  color:var(--text);
  background:var(--cream);
}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{
  position:absolute;
  inset:0 0 auto 0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px clamp(20px,5vw,72px);
}
.brand img{width:92px;height:92px;object-fit:contain}
.header-actions{display:flex;align-items:center;gap:22px}
.header-call{
  padding:11px 18px;
  border:1px solid var(--gold);
  border-radius:999px;
  color:var(--gold-light);
  text-decoration:none;
  font-weight:700;
}
.language-switcher{color:white;font-weight:700}
.lang-button{
  border:0;background:none;color:white;cursor:pointer;
  font:inherit;padding:4px 5px
}
.lang-button.active{color:var(--gold)}
.hero{
  min-height:760px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:130px 24px 80px;
  color:white;
  background:
    radial-gradient(circle at 12% 22%,rgba(215,166,45,.16),transparent 24%),
    radial-gradient(circle at 88% 28%,rgba(215,166,45,.13),transparent 22%),
    radial-gradient(circle at 50% 100%,rgba(255,255,255,.05),transparent 42%),
    linear-gradient(135deg,#050505 0%,#101010 52%,#040404 100%);
}
.hero::before,.hero::after{
  content:"";
  position:absolute;
  width:430px;height:430px;border-radius:50%;
  filter:blur(1px);
  opacity:.52;
  background:
    radial-gradient(circle at 25% 30%,#d7a62d 0 2px,transparent 3px),
    radial-gradient(circle at 65% 55%,#eee 0 1px,transparent 2px),
    radial-gradient(circle at 40% 75%,#a64b14 0 3px,transparent 4px);
  background-size:34px 34px,27px 27px,49px 49px;
}
.hero::before{left:-150px;top:100px;transform:rotate(18deg)}
.hero::after{right:-130px;top:70px;transform:rotate(-14deg)}
.hero-decor{
  position:absolute;
  width:220px;height:220px;border-radius:50%;
  border:1px solid rgba(215,166,45,.22);
  box-shadow:0 0 70px rgba(215,166,45,.08);
}
.hero-decor-left{left:-90px;bottom:70px}
.hero-decor-right{right:-80px;top:150px}
.hero-content{position:relative;z-index:2;text-align:center;max-width:800px}
.hero-logo{width:220px;margin:0 auto 12px;filter:drop-shadow(0 10px 35px rgba(0,0,0,.5))}
.hero h1{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(58px,8vw,105px);
  line-height:.88;
  letter-spacing:-2px;
}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 strong{color:var(--gold-light);font-weight:700}
.gold-rule,.section-rule{width:70px;height:2px;background:var(--gold);margin:28px auto}
.hero p{font-size:clamp(16px,2vw,23px);margin:0 0 30px}
.hero-buttons{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
.outline-button,.dark-button,.gold-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 28px;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:700;
  text-decoration:none;
  transition:.2s ease;
}
.outline-button{
  min-width:220px;
  border:2px solid var(--gold);
  color:var(--gold-light);
}
.outline-button:hover,.outline-button:focus{background:var(--gold);color:#111}
.product-section{
  min-height:560px;
  display:grid;
  grid-template-columns:42% 58%;
  background:var(--cream-2);
}
.product-copy{
  align-self:center;
  padding:70px clamp(28px,8vw,110px);
}
.product-copy h2{
  margin:5px 0 0;
  font-family:"Cormorant Garamond",serif;
  text-transform:uppercase;
  font-size:clamp(48px,5vw,76px);
}
.product-copy p{max-width:410px;line-height:1.7;color:var(--muted)}
.product-icon{font-size:42px;color:var(--gold)}
.section-rule{margin:12px 0 28px;width:60px}
.product-image{min-height:560px;overflow:hidden;background:#111}
.product-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.product-image:hover img{transform:scale(1.025)}
.product-section-reverse{grid-template-columns:58% 42%}
.dark-button{
  margin-top:12px;
  background:#080808;color:var(--gold-light);
  border:1px solid #080808;border-radius:3px;
}
.dark-button:hover{background:var(--gold);color:#111}
.contact-section{
  padding:55px clamp(22px,6vw,90px);
  background:var(--cream);
  text-align:center;
}
.contact-section>h2{
  margin:0 0 34px;
  color:#b88720;
  text-transform:uppercase;
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
}
.contact-grid{
  max-width:1200px;margin:auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.contact-card{
  min-height:220px;
  padding:15px 28px;
  border-right:1px solid rgba(184,135,32,.55);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
}
.contact-card:last-child{border-right:0}
.contact-card h3{text-transform:uppercase;font-size:14px}
.contact-card p{line-height:1.6;margin:0 0 15px}
.contact-card>a:not(.gold-button):not(.dark-button){text-decoration:none;font-weight:700}
.contact-icon{font-size:30px;color:var(--gold);margin-bottom:8px}
.gold-button{
  margin-top:20px;background:var(--gold);color:#111;border-radius:3px;
}
.map-placeholder{
  width:100%;height:115px;
  display:grid;place-items:center;
  margin-bottom:8px;
  background:
    linear-gradient(30deg,transparent 45%,rgba(70,130,180,.22) 46% 48%,transparent 49%),
    linear-gradient(-20deg,transparent 45%,rgba(215,166,45,.25) 46% 48%,transparent 49%),
    #e8eee8;
}
.map-placeholder span{
  width:22px;height:22px;border-radius:50%;background:#d71920;color:#d71920;
  box-shadow:0 10px 0 -6px #d71920;
}
footer{
  min-height:170px;
  display:flex;justify-content:center;align-items:center;gap:52px;
  padding:28px;
  background:linear-gradient(135deg,#080808,#151515);
  color:white;text-align:left;
}
footer img{width:130px}
.footer-slogan{
  margin:0 0 12px;
  color:var(--gold-light);
  font-family:"Cormorant Garamond",serif;
  font-size:32px;
}
.mobile-call{display:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .site-header{padding:14px 18px;position:absolute}
  .brand img{width:66px;height:66px}
  .header-call{display:none}
  .header-actions{gap:10px}
  .hero{min-height:690px;padding-top:120px}
  .hero-logo{width:150px}
  .product-section,.product-section-reverse{grid-template-columns:1fr}
  .product-copy{order:1;padding:45px 28px}
  .product-image{order:2;min-height:360px}
  .product-section-reverse .product-image{order:2}
  .product-section-reverse .product-copy{order:1}
  .contact-grid{grid-template-columns:1fr}
  .contact-card{border-right:0;border-bottom:1px solid rgba(184,135,32,.4);min-height:auto;padding:22px 15px}
  .contact-card:last-child{border-bottom:0}
  footer{flex-direction:column;gap:12px;text-align:center;padding-bottom:95px}
  .mobile-call{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;z-index:50;
    min-height:64px;
    align-items:center;justify-content:center;gap:12px;
    background:linear-gradient(90deg,#d79e22,#efc45b);
    color:#090909;text-decoration:none;font-weight:800;
    text-transform:uppercase;
    box-shadow:0 -4px 18px rgba(0,0,0,.28);
  }
}
@media(max-width:520px){
  .hero h1{font-size:56px}
  .hero p{font-size:16px}
  .outline-button{width:100%;min-width:0}
  .hero-buttons{width:min(100%,320px);margin:auto}
  .product-image{min-height:280px}
}

/* ===== Menu pages ===== */
.menu-page{background:#f7f2e8;color:#1a1a1a}
.menu-top{position:sticky;top:0;z-index:30;background:#090909;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,5vw,60px);border-bottom:1px solid rgba(215,166,45,.35)}
.menu-top img{width:78px;height:78px;object-fit:contain}
.menu-top-actions{display:flex;gap:12px;align-items:center}
.menu-top a.button{border:1px solid #d7a62d;color:#efc45b;padding:11px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.menu-hero{background:radial-gradient(circle at 15% 15%,rgba(215,166,45,.15),transparent 24%),linear-gradient(135deg,#050505,#131313);color:white;text-align:center;padding:55px 20px}
.menu-hero h1{font-family:"Cormorant Garamond",serif;color:#efc45b;font-size:clamp(50px,8vw,90px);margin:0;text-transform:uppercase}
.menu-hero p{font-size:18px;line-height:1.6;margin:10px auto;max-width:760px}
.menu-wrap{max-width:1120px;margin:0 auto;padding:46px 20px 85px}
.menu-notice{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:28px;font-weight:700}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.menu-card{background:#fffdf8;border:1px solid rgba(215,166,45,.28);padding:22px;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.menu-card h2{font-family:"Cormorant Garamond",serif;font-size:30px;margin:0 0 8px}
.menu-prices{display:flex;gap:14px;flex-wrap:wrap;color:#9b6c08;font-weight:800;margin:7px 0 10px}
.menu-card p{margin:0;line-height:1.55;color:#555}
.menu-promo{margin-top:35px;background:#0b0b0b;color:white;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr}
.menu-promo img{width:100%;height:100%;object-fit:cover}
.menu-promo-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.menu-promo-copy h2{font-family:"Cormorant Garamond",serif;color:#efc45b;font-size:40px;margin:0 0 10px}
.menu-cta{display:inline-flex;align-items:center;justify-content:center;background:#d7a62d;color:#111;padding:14px 20px;border-radius:4px;font-weight:800;margin-top:16px;align-self:flex-start;text-decoration:none}
.menu-footer{background:#090909;color:#fff;text-align:center;padding:28px 20px}
.menu-footer img{width:95px;margin:auto}
.menu-bottom-call{display:none}
@media(max-width:750px){
 .menu-grid{grid-template-columns:1fr}
 .menu-top img{width:58px;height:58px}
 .menu-top-actions .home{display:none}
 .menu-promo{grid-template-columns:1fr}
 .menu-bottom-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:linear-gradient(90deg,#d79e22,#efc45b);padding:17px;justify-content:center;font-weight:900;text-decoration:none;color:#111}
 .menu-wrap{padding-bottom:110px}
}


/* ===== Minimal split hero refresh ===== */
.hero.hero-split{
  min-height:760px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items:stretch;
  padding:0;
  color:white;
  background:
    radial-gradient(circle at 18% 20%, rgba(215,166,45,.12), transparent 26%),
    linear-gradient(135deg,#050505 0%,#101010 55%,#050505 100%);
}
.hero.hero-split::before,
.hero.hero-split::after,
.hero.hero-split .hero-decor{
  display:none !important;
}
.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:150px clamp(32px,7vw,110px) 90px;
  position:relative;
  z-index:2;
}
.hero-copy h1{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(64px,7vw,108px);
  line-height:.88;
  letter-spacing:-2px;
  text-align:left;
}
.hero-copy h1 span,
.hero-copy h1 strong{
  display:block;
}
.hero-copy h1 strong{
  color:var(--gold-light);
  font-weight:700;
}
.hero-copy .gold-rule{
  margin:30px 0 24px;
}
.hero-copy p{
  margin:0 0 30px;
  max-width:520px;
  font-size:clamp(17px,1.7vw,23px);
  line-height:1.5;
}
.hero-copy .hero-buttons{
  justify-content:flex-start;
}
.hero-visual{
  min-height:760px;
  overflow:hidden;
  border-left:1px solid rgba(215,166,45,.28);
  background:#050505;
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){
  .hero.hero-split{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-copy{
    min-height:620px;
    align-items:center;
    text-align:center;
    padding:130px 24px 70px;
  }
  .hero-copy h1{
    text-align:center;
    font-size:clamp(56px,15vw,82px);
  }
  .hero-copy .gold-rule{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-copy .hero-buttons{
    justify-content:center;
  }
  .hero-visual{
    min-height:0;
    border-left:0;
    border-top:1px solid rgba(215,166,45,.28);
  }
  .hero-visual img{
    height:auto;
    aspect-ratio:16/7;
    object-fit:cover;
  }
}
@media(max-width:520px){
  .hero-copy{
    min-height:560px;
    padding-top:120px;
  }
  .hero-copy p{
    max-width:320px;
  }
  .hero-visual img{
    aspect-ratio:16/8.8;
  }
}


/* ===== Homepage v2: image-first + 3 clear menu choices ===== */
.image-hero{
  margin:0;
  padding:0;
  background:#050505;
  border-bottom:1px solid rgba(215,166,45,.45);
}
.image-hero img{
  display:block;
  width:100%;
  height:auto;
  max-height:760px;
  object-fit:cover;
  object-position:center;
}
.choice-section{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  background:#f7f2e8;
  border-bottom:1px solid rgba(184,135,32,.3);
}
.choice-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  color:#1d1d1d;
  text-decoration:none;
  background:#fffdf8;
  border-right:1px solid rgba(184,135,32,.3);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.choice-card:last-child{border-right:0}
.choice-card:hover{
  background:#fffaf0;
  box-shadow:0 14px 38px rgba(0,0,0,.10);
  position:relative;
  z-index:2;
}
.choice-image{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#111;
}
.choice-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.choice-card:hover .choice-image img{transform:scale(1.025)}
.diy-choice-image img{
  object-position:75% center;
}
.choice-copy{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:34px 32px 38px;
}
.choice-kicker{
  color:#b88720;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  font-size:13px;
}
.choice-copy h2{
  margin:8px 0 14px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(34px,3vw,48px);
  line-height:1;
}
.choice-copy p{
  margin:0 0 28px;
  line-height:1.65;
  color:#555;
}
.choice-link{
  margin-top:auto;
  color:#9b6c08;
  font-weight:800;
  text-transform:uppercase;
  font-size:13px;
}
@media(max-width:900px){
  .site-header{
    background:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,0));
  }
  .image-hero{
    padding-top:86px;
  }
  .image-hero img{
    max-height:none;
  }
  .choice-section{
    grid-template-columns:1fr;
  }
  .choice-card{
    border-right:0;
    border-bottom:1px solid rgba(184,135,32,.28);
  }
  .choice-card:last-child{border-bottom:0}
  .choice-card{
    display:grid;
    grid-template-columns:44% 56%;
  }
  .choice-image{
    aspect-ratio:auto;
    min-height:245px;
  }
  .choice-copy{
    padding:28px 24px;
  }
}
@media(max-width:580px){
  .image-hero{
    padding-top:76px;
  }
  .choice-card{
    display:flex;
  }
  .choice-image{
    min-height:0;
    aspect-ratio:16/9;
  }
  .choice-copy{
    padding:26px 22px 30px;
  }
}


/* ===== Homepage v3: compact top banner + 3 vertical menu panels ===== */
.image-hero{
  height:clamp(300px, 42vw, 570px);
  overflow:hidden;
  background:#050505;
  padding:0 !important;
}
.image-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Three equal, clearly separated vertical choices */
.choice-section{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  background:#0a0a0a;
  gap:1px;
  border-top:1px solid rgba(215,166,45,.55);
  border-bottom:1px solid rgba(215,166,45,.55);
}
.choice-card{
  display:flex !important;
  flex-direction:column;
  min-height:610px;
  background:#f8f3e9;
  border:0;
  color:#171717;
}
.choice-card + .choice-card{
  border-left:1px solid rgba(184,135,32,.38);
}
.choice-image{
  width:100%;
  aspect-ratio:1.18/1;
  min-height:0;
  overflow:hidden;
  background:#090909;
}
.choice-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.diy-choice-image img{
  object-position:center;
}
.choice-copy{
  flex:1;
  padding:30px clamp(22px,3vw,42px) 36px;
  display:flex;
  flex-direction:column;
}
.choice-kicker{
  font-size:14px;
  letter-spacing:.16em;
}
.choice-copy h2{
  font-size:clamp(36px,3.2vw,52px);
  margin:7px 0 12px;
}
.choice-copy p{
  max-width:390px;
  margin-bottom:24px;
}
.choice-link{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(184,135,32,.35);
}

/* Keep header compact over the image, without creating a second hero */
.site-header{
  background:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,.25),transparent);
}

/* Tablet/mobile: panels stack for large, easy tap targets */
@media(max-width:900px){
  .image-hero{
    height:auto;
    padding-top:78px !important;
  }
  .image-hero img{
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  .choice-section{
    grid-template-columns:1fr;
  }
  .choice-card{
    min-height:0;
    display:grid !important;
    grid-template-columns:48% 52%;
    border-left:0 !important;
    border-bottom:1px solid rgba(184,135,32,.38);
  }
  .choice-card:last-child{
    border-bottom:0;
  }
  .choice-image{
    aspect-ratio:auto;
    min-height:300px;
  }
  .choice-copy{
    padding:30px 26px;
  }
}
@media(max-width:580px){
  .image-hero{
    padding-top:70px !important;
  }
  .choice-card{
    display:flex !important;
    flex-direction:column;
  }
  .choice-image{
    aspect-ratio:16/10;
    min-height:0;
  }
  .choice-copy{
    padding:25px 22px 30px;
  }
  .choice-copy h2{
    font-size:38px;
  }
}

/* FINAL MASTER HOMEPAGE */
.master-hero{min-height:560px;padding:120px 24px 55px;background:radial-gradient(circle at 10% 22%,rgba(215,166,45,.10),transparent 22%),radial-gradient(circle at 90% 22%,rgba(215,166,45,.08),transparent 20%),linear-gradient(135deg,#050505,#0d0d0d 55%,#040404)}
.master-hero::before,.master-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;opacity:.42;background:radial-gradient(circle at 25% 30%,#d7a62d 0 2px,transparent 3px),radial-gradient(circle at 65% 55%,#eee 0 1px,transparent 2px),radial-gradient(circle at 40% 75%,#a64b14 0 3px,transparent 4px);background-size:34px 34px,27px 27px,49px 49px}
.master-hero::before{left:-130px;top:80px;transform:rotate(18deg)}.master-hero::after{right:-120px;top:70px;transform:rotate(-14deg)}
.master-hero .hero-logo{width:170px;margin-bottom:6px}.master-hero h1{font-size:clamp(58px,7.3vw,92px);line-height:.9}.master-hero .hero-content{max-width:760px}.master-hero p{margin-bottom:24px}.master-hero .gold-rule{margin:22px auto}

.feature-row{display:grid;grid-template-columns:38% 62%;min-height:430px;background:#fffdf8}.feature-row-reverse{grid-template-columns:62% 38%}
.feature-copy{align-self:center;padding:56px clamp(30px,7vw,92px)}.feature-copy h2{margin:4px 0 0;font-family:"Cormorant Garamond",serif;text-transform:uppercase;font-size:clamp(48px,5vw,72px)}
.feature-copy p{line-height:1.65;color:#555;max-width:390px}.feature-icon{font-size:38px;color:var(--gold)}
.feature-image{min-height:430px;overflow:hidden;background:#111}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.feature-image:hover img{transform:scale(1.02)}

.diy-strip{display:grid;grid-template-columns:minmax(240px,34%) 1fr;align-items:stretch;background:#111;color:white;border-top:1px solid rgba(215,166,45,.45);border-bottom:1px solid rgba(215,166,45,.45)}
.diy-thumb{min-height:230px;overflow:hidden;background:#050505}.diy-thumb img{width:100%;height:100%;object-fit:cover}
.diy-copy{display:flex;flex-direction:column;justify-content:center;padding:32px clamp(28px,6vw,80px)}.diy-label{color:var(--gold-light);font-size:13px;font-weight:800;letter-spacing:.16em}
.diy-copy h2{margin:5px 0 10px;font-family:"Cormorant Garamond",serif;color:var(--gold-light);font-size:clamp(34px,4vw,52px)}.diy-copy p{max-width:560px;line-height:1.6;margin:0 0 12px;color:#ddd}.text-link{color:var(--gold-light);font-weight:800;text-decoration:none;text-transform:uppercase;font-size:13px}

@media(max-width:900px){
.master-hero{min-height:520px;padding-top:105px}.master-hero .hero-logo{width:135px}
.feature-row,.feature-row-reverse{grid-template-columns:1fr}.feature-copy{order:1;padding:42px 28px}.feature-image{order:2;min-height:330px}
.feature-row-reverse .feature-image{order:2}.feature-row-reverse .feature-copy{order:1}
.diy-strip{grid-template-columns:1fr}.diy-thumb{min-height:0}.diy-thumb img{height:auto;aspect-ratio:16/9;object-fit:cover}
}
@media(max-width:520px){.master-hero{min-height:500px}.master-hero h1{font-size:56px}.feature-image{min-height:270px}}

/* CLEAN FINAL: top-left logo only; no DIY homepage section */
.master-hero .hero-content{padding-top:12px}
.master-hero h1{margin-top:0}
