.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:grid; place-items:center;
  text-align:center; color:#fff;
  padding:calc(var(--header-h) + 2rem) 0 3.5rem;
  isolation:isolate;
  overflow:hidden;
}

.hero-media{ position:absolute; inset:0; z-index:-2; }

.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(46,13,24,.74) 0%, rgba(46,13,24,.55) 45%, rgba(46,13,24,.9) 100%);
}

.hero-inner{ max-width:900px; }

.hero h1{
  color:#fff;
  margin-bottom:1.1rem;
  text-shadow:0 12px 40px rgba(0,0,0,.4);
}

.hero h1 em{
  display:block; font-style:italic; font-weight:400;
  color:var(--gold-2);
}

.hero-lead{
  max-width:640px; margin:0 auto 2.4rem;
  font-size:clamp(1rem, 1.6vw, 1.18rem);
  font-weight:300; line-height:1.9;
  color:rgba(255,255,255,.9);
}

.hero-actions{
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:center;
  margin-bottom:2.6rem;
}

.hero .eyebrow{ color:var(--gold-2); }

.scroll-cue{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  font-size:.6rem; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(255,255,255,.65);
}

.scroll-cue i{
  display:block; width:1px; height:52px;
  background:linear-gradient(180deg, rgba(226,204,147,.9), transparent);
  animation:cue 2.4s ease-in-out infinite;
}

@keyframes cue{ 0%,100%{ transform:scaleY(.35); opacity:.4 } 50%{ transform:scaleY(1); opacity:1 } }

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem, 5vw, 5rem);
  align-items:center;
}

.about-media{ position:relative; }

.about-media::before{
  content:""; position:absolute;
  left:-18px; top:-18px; width:58%; height:58%;
  border:1px solid var(--gold); z-index:-1;
}

.about-text h2{ margin-bottom:1.2rem; }

.about-text > p{ color:var(--muted); font-size:1.03rem; }

.about-cta{ margin-top:2.2rem; }

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:1.8rem;
}

.stats{
  position:relative;
  background:var(--bordeaux-deep);
  color:#fff;
  overflow:hidden;
}

.stats::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(192,160,98,.22), transparent 55%),
    radial-gradient(circle at 85% 80%, rgba(122,39,64,.55), transparent 55%);
  pointer-events:none;
}

.stats .container{ position:relative; }

.stats h2{ color:#fff; }

.stats .section-head p{ color:rgba(255,255,255,.72); }

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(1.6rem, 3vw, 2.8rem);
  text-align:center;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
  gap:1rem;
}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.7rem;
}

.rating-panel{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:clamp(1.5rem, 4vw, 3.5rem);
  margin-top:clamp(2.5rem, 5vw, 4rem);
  padding:clamp(1.8rem, 4vw, 2.8rem);
  background:var(--white);
  border:1px solid rgba(192,160,98,.35);
  text-align:center;
}

.rating-score{
  font-family:var(--ff-display);
  font-size:clamp(3rem, 7vw, 4.6rem); font-weight:600;
  line-height:1; color:var(--bordeaux);
}

.rating-panel .review-stars{ justify-content:center; margin-top:.5rem; }

.rating-meta{ text-align:left; max-width:34ch; }

.rating-meta strong{ display:block; font-family:var(--ff-display); font-size:1.3rem; }

.rating-meta p{ margin:.3rem 0 0; color:var(--muted); font-size:.92rem; }

.insta-panel{
  position:relative;
  padding:clamp(2.4rem, 5vw, 4rem);
  background:linear-gradient(135deg, var(--bordeaux), var(--bordeaux-deep));
  color:#fff; overflow:hidden;
  text-align:center;
}

.insta-panel::before{
  content:"";
  position:absolute; inset:14px;
  border:1px solid rgba(192,160,98,.35);
  pointer-events:none;
}

.insta-panel h2{ color:#fff; }

.insta-panel .eyebrow{ color:var(--gold-2); }

.insta-panel > p{
  color:rgba(255,255,255,.78);
  max-width:56ch; margin-inline:auto;
}

.insta-handle{
  display:inline-block; margin-bottom:1.4rem;
  font-family:var(--ff-display); font-size:1.35rem;
  color:var(--gold-2); letter-spacing:.04em;
}

.insta-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:.8rem;
  margin:clamp(2rem, 4vw, 3rem) 0 2.2rem;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(2rem, 4vw, 3.5rem);
  align-items:stretch;
}

.contact-grid > *{ min-width:0; }

.map-frame{
  position:relative;
  min-width:0;
  min-height:440px; height:100%;
  border:1px solid rgba(192,160,98,.32);
  overflow:hidden;
  box-shadow:var(--sh-sm);
}

.map-frame iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0; display:block;
  filter:grayscale(.25) contrast(1.03);
}

.hero-media picture{ display:block; width:100%; height:100%; }

.hero-media img{ object-position:center 60%; }

@media (max-aspect-ratio: 3/4){
  .hero-media img{ object-position:center center; }
  .hero::after{
    background:linear-gradient(180deg,
      rgba(46,13,24,.62) 0%,
      rgba(46,13,24,.44) 42%,
      rgba(46,13,24,.86) 100%);
  }
}

.about-media .about-main{ height:auto; aspect-ratio:4/5; box-shadow:var(--sh-md); }

.about-media .about-sub{
  position:absolute; right:-8%; bottom:-10%;
  width:52%; height:auto; aspect-ratio:1/1;
  border:5px solid var(--cream);
  outline:1px solid var(--gold);
  box-shadow:var(--sh-lg);
}

.katalog{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.8rem, 4vw, 3.4rem);
  align-items:center;
  padding:clamp(1.5rem, 3vw, 2.6rem);
  margin-bottom:clamp(2.6rem, 5vw, 4rem);
  background:
    linear-gradient(135deg, rgba(192,160,98,.12), rgba(92,27,46,.05)),
    var(--white);
  border:1px solid rgba(192,160,98,.42);
  box-shadow:var(--sh-md);
}

.katalog--rehber{
  margin:clamp(2.4rem, 4.5vw, 3.6rem) 0 0;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
}

.katalog--rehber .katalog-media{ order:2; max-width:360px; margin-inline-start:auto; }

.katalog--rehber .katalog-body{ order:1; }

.package-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.8rem;
}

.tag-block{
  margin-top:clamp(2.8rem, 5vw, 4.2rem);
  padding-top:clamp(2.2rem, 4vw, 3rem);
  border-top:1px solid rgba(192,160,98,.35);
}

.tag-head{ max-width:660px; margin:0 auto clamp(1.6rem, 3vw, 2.2rem); text-align:center; }

.tag-head h3{ font-size:clamp(1.35rem, 2.6vw, 1.85rem); margin-bottom:.6rem; }

.tag-head p{ color:var(--muted); font-size:.98rem; margin:0; }

.tag-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1.5rem;
  max-width:880px; margin-inline:auto;
}

.ikram-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.4rem;
  max-width:1020px; margin-inline:auto;
}

.ikram-note{
  margin:clamp(2rem, 4vw, 2.8rem) auto 0;
  max-width:760px; text-align:center;
  color:var(--muted); font-size:.92rem;
}
