:root{
  --bg:#090909;
  --bg2:#111111;
  --panel:#121212;
  --gold:#d4a44b;
  --gold-soft:#f1d9a0;
  --text:#f5f1e6;
  --muted:#d8cfbf;
  --line:rgba(212,164,75,.35);
  --shadow:0 18px 45px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at top right, rgba(212,164,75,.12), transparent 30%),
    linear-gradient(180deg, #080808 0%, #0e0e0e 40%, #080808 100%);
  color:var(--text);
  font-family: Georgia, "Times New Roman", serif;
}
img{max-width:100%; display:block}
a{text-decoration:none; color:inherit}
.container{width:min(1280px, 92%); margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(6,6,6,.84);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(212,164,75,.18);
}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:12px 0}
.brand img{height:74px; width:auto}
.main-nav{display:flex; align-items:center; gap:1.4rem; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase}
.main-nav a{color:#f0ebdf; opacity:.92}
.main-nav a:hover,.main-nav a.active{color:var(--gold)}
.nav-cta{
  border:1px solid var(--gold); padding:.9rem 1.1rem; border-radius:2px;
  background:linear-gradient(180deg, rgba(212,164,75,.08), rgba(212,164,75,.02));
}
.menu-toggle{display:none; background:none; border:1px solid var(--line); color:var(--gold); font-size:1.2rem; padding:.4rem .65rem}

.hero{
  position:relative;
  overflow:hidden;
  min-height:680px;
  background:
    linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.63) 44%, rgba(5,5,5,.35) 100%),
    radial-gradient(circle at 80% 15%, rgba(242,188,85,.25), transparent 16%),
    linear-gradient(180deg, #1e1b17 0%, #101010 52%, #090909 100%);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,203,109,.75), rgba(255,203,109,.08) 9%, transparent 18%),
    radial-gradient(circle at 68% 18%, rgba(255,244,205,.8), transparent 4%),
    linear-gradient(to top, rgba(0,0,0,.35), rgba(0,0,0,0)),
    linear-gradient(165deg, transparent 0 58%, rgba(255,199,92,.05) 58% 59%, transparent 59% 100%);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:72%;
  background:
    radial-gradient(circle at 15% 85%, rgba(255,255,255,.06), transparent 10%),
    radial-gradient(circle at 30% 75%, rgba(255,255,255,.05), transparent 8%),
    linear-gradient(180deg, transparent, rgba(0,0,0,.15)),
    linear-gradient(180deg, transparent 0%, rgba(255,255,255,.05) 48%, transparent 52%);
  mask:
    linear-gradient(to top, black 0 68%, transparent 100%);
  opacity:.55;
  pointer-events:none;
}
.hero-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.1fr .82fr; gap:2rem; align-items:end;
  min-height:680px; padding:3rem 0 0;
}
.hero-copy{padding:2rem 0 5.5rem}
.eyebrow{
  display:inline-block;
  margin:0 0 1rem;
  color:var(--gold);
  text-transform:uppercase; letter-spacing:.16em; font-size:.84rem;
  border-bottom:1px solid var(--line); padding-bottom:.35rem;
}
.hero h1{
  margin:.2rem 0 1rem;
  font-size:clamp(3rem, 6.2vw, 5.6rem);
  line-height:.93;
  font-weight:400;
  letter-spacing:.01em;
}
.hero h1 span{
  color:var(--gold-soft);
  font-style:italic;
}
.lead{
  max-width:620px;
  font-size:1.25rem;
  line-height:1.6;
  color:var(--muted);
  margin:0 0 1.7rem;
}
.hero-buttons{display:flex; flex-wrap:wrap; gap:1rem}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:1rem 1.45rem; font-size:1rem; letter-spacing:.04em;
  border:1px solid var(--gold); transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.25)}
.btn-primary{background:linear-gradient(180deg, #e6bc67, #c8942d); color:#17130b; font-weight:700}
.btn-secondary{background:rgba(0,0,0,.25); color:var(--text)}
.credentials-mobile{display:none}

.hero-photo{
  position:relative; align-self:end; justify-self:end;
  width:min(100%, 520px);
}
.hero-photo img{
  width:100%; height:auto;
  border-radius:12px 12px 0 0;
  box-shadow:var(--shadow);
  object-fit:cover;
  filter:saturate(1.02) contrast(1.02);
}
.photo-card{
  position:absolute; left:1.3rem; bottom:1.6rem;
  background:rgba(0,0,0,.52);
  border:1px solid var(--line);
  padding:1rem 1.1rem;
  box-shadow:var(--shadow);
}
.script{
  margin:0 0 .3rem; color:var(--gold-soft); font-size:2rem; font-style:italic;
}
.small-caps{
  margin:0; font-size:1rem; line-height:1.5; letter-spacing:.08em; text-transform:uppercase;
}

.pricing-bar{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(10,10,10,.92), rgba(17,17,17,.95));
}
.pricing-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
}
.price-card{
  padding:1.6rem 1.5rem;
  border-right:1px solid var(--line);
}
.price-card:last-child{border-right:none}
.price-card h3{
  margin:0 0 .25rem;
  color:var(--gold-soft); font-weight:400; font-size:1.55rem;
}
.duration{margin:.15rem 0; text-transform:uppercase; letter-spacing:.12em; font-size:.84rem; color:var(--muted)}
.price{margin:.45rem 0 .6rem; color:var(--gold); font-size:2.6rem}

.info-grid-section{padding:0}
.info-grid{
  display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr;
  border-bottom:1px solid var(--line);
}
.panel{
  background:linear-gradient(180deg, rgba(16,16,16,.96), rgba(10,10,10,.96));
  border-right:1px solid var(--line);
  border-top:1px solid var(--line);
  padding:1.65rem;
}
.info-grid .panel:last-child{border-right:none}
.panel h2{
  margin:0 0 .85rem;
  color:var(--gold-soft); font-weight:400; font-size:1.65rem;
}
.panel p{margin:.55rem 0; font-size:1.08rem; line-height:1.6; color:#eee5d1}
.text-link{
  display:inline-block; margin-top:.65rem; padding:.8rem 1rem;
  border:1px solid var(--line); color:var(--gold-soft)
}
..about-panel {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: start;
}

.mini-profile {
    overflow: hidden;
    border: 2px solid #c8a25d;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(200,162,93,.25);
}

.mini-profile img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}
.map{margin-top:1rem; border:1px solid var(--line)}
.testimonials .testimonial{display:none}
.testimonials .testimonial.active{display:block}
.testimonial p{font-style:italic}
.dots{display:flex; gap:.55rem; margin-top:1.1rem}
.dot{
  width:12px; height:12px; border-radius:50%; border:none; cursor:pointer;
  background:#4a4334;
}
.dot.active{background:var(--gold)}

.bottom-grid{padding:0 0 2rem}
.bottom-layout{
  display:grid; grid-template-columns:1.2fr 1fr 1fr;
}
.bottom-layout .panel{min-height:100%}
.faq-panel details{
  border:1px solid var(--line); margin-bottom:.75rem; background:#0d0d0d;
}
.faq-panel summary{
  cursor:pointer; list-style:none; padding:1rem 1rem; color:var(--text);
}
.faq-panel details p{padding:0 1rem 1rem; color:#e7dfcd}
.book-panel{
  background:
    linear-gradient(180deg, rgba(8,8,8,.8), rgba(8,8,8,.88)),
    linear-gradient(140deg, #1e1a14, #0b0b0b 55%, #1b1711);
}
.book-panel .tiny{font-size:.92rem; color:var(--muted)}
.contact-list{padding-left:1.2rem; margin:0}
.contact-list li{margin:.8rem 0; color:#e8decb; font-size:1.06rem}

.site-footer{
  border-top:1px solid var(--line);
  background:#080808;
  padding:1.3rem 0 2rem;
}
.footer-grid{
  display:grid; gap:1rem; align-items:center;
}
.footer-logo{height:70px; width:auto}
.footer-nav{
  display:flex; flex-wrap:wrap; gap:1rem 1.3rem;
  font-size:.95rem; text-transform:uppercase; letter-spacing:.06em;
}
.copyright{margin:0; color:#b9ac8e; font-size:.95rem}

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

@media (max-width: 1180px){
  .hero-grid{grid-template-columns:1fr; align-items:center; padding-top:2rem}
  .hero-copy{padding-bottom:1.6rem}
  .hero-photo{justify-self:center; width:min(500px, 100%)}
  .info-grid{grid-template-columns:1fr 1fr}
  .bottom-layout{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .menu-toggle{display:block}
  .main-nav{
    position:absolute; top:100%; left:0; right:0; display:none;
    flex-direction:column; align-items:flex-start; gap:0;
    background:rgba(6,6,6,.96); border-bottom:1px solid var(--line); padding:1rem 4%;
  }
  .main-nav.open{display:flex}
  .main-nav a{width:100%; padding:.8rem 0; border-bottom:1px solid rgba(212,164,75,.08)}
  .nav-cta{padding:.85rem 0; border:none}
  .pricing-grid{grid-template-columns:1fr}
  .price-card{border-right:none; border-bottom:1px solid var(--line)}
  .price-card:last-child{border-bottom:none}
  .info-grid{grid-template-columns:1fr}
  .about-panel{grid-template-columns:1fr}
  .mini-profile img{width:100%; max-width:220px; height:auto}
  .bottom-layout{grid-template-columns:1fr}
  .brand img{height:62px}
  .hero h1{font-size:clamp(2.6rem, 12vw, 4rem)}
  .lead{font-size:1.08rem}
  .script{font-size:1.6rem}
}
