/* Home hero — cinematic media + clear hierarchy */
.hero-shell{
  position:relative;
  overflow:clip;
  padding-top:clamp(2.5rem,5vw,4.5rem);
  padding-bottom:clamp(2.75rem,5vw,4.75rem);
  background:
    radial-gradient(ellipse 70% 55% at 12% 8%,rgba(245,158,11,0.14),transparent 58%),
    radial-gradient(ellipse 55% 50% at 92% 18%,rgba(127,29,29,0.22),transparent 55%),
    linear-gradient(180deg,#0c1018 0%,#121212 55%,#121212 100%);
}
.hero-shell-glow{
  pointer-events:none;
  position:absolute;
  inset:auto -10% -35% auto;
  width:min(70vw,520px);
  height:min(70vw,520px);
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,0.12),transparent 68%);
  filter:blur(8px);
}
.hero-layout{
  position:relative;
  z-index:1;
  align-items:center;
  gap:clamp(1.75rem,4vw,3.5rem);
}
@media (min-width:1024px){
  .hero-layout{
    grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
    align-items:stretch;
    gap:clamp(2rem,3.5vw,3.25rem);
  }
  .hero-copy-block{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    max-width:none;
    position:relative;
    z-index:2;
  }
  .hero-media-block{
    min-width:0;
    min-height:min(70vh,680px);
    position:relative;
    z-index:1;
  }
  .hero-visual{
    height:100%;
    min-height:min(70vh,680px);
    max-height:min(78vh,720px);
    aspect-ratio:auto;
    width:100%;
  }
}
@media (min-width:1280px){
  .hero-layout{
    grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);
    gap:clamp(2.25rem,3vw,3.5rem);
  }
  .hero-media-block,
  .hero-visual{
    min-height:min(74vh,740px);
  }
  .hero-visual{
    max-height:min(80vh,780px);
  }
}
@media (min-width:1440px){
  .hero-media-block,
  .hero-visual{
    min-height:min(76vh,780px);
  }
  .hero-visual{
    max-height:min(82vh,820px);
  }
}
.hero-copy-block{
  max-width:36rem;
  display:flex;
  flex-direction:column;
  gap:0.15rem;
  min-width:0;
}
@media (min-width:1024px){
  .hero-copy-block{
    max-width:none;
  }
}
.hero-shell .hero-heading{
  font-size:clamp(2rem,3.4vw,2.85rem);
  line-height:1.08;
  letter-spacing:0.03em;
  margin-bottom:var(--space-4);
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
}
.hero-shell .hero-heading span{
  display:block;
  max-width:100%;
}
.hero-shell .hero-heading-accent{
  background:linear-gradient(105deg,#fbbf24 0%,#f59e0b 45%,#ea580c 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-shell .hero-lede{
  font-size:1.02rem;
  line-height:1.65;
  color:#c4c4bc;
  margin-bottom:var(--space-5);
}
.hero-shell .hero-kpi-row{
  gap:0.75rem;
  margin-bottom:var(--space-5);
}
.hero-shell .hero-kpi{
  min-width:0;
  flex:1 1 7.5rem;
  padding:0.7rem 0.85rem;
  border-radius:0.85rem;
  border:1px solid rgba(245,245,240,0.08);
  background:linear-gradient(160deg,rgba(24,28,36,0.95),rgba(8,10,14,0.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.hero-shell .hero-kpi-value{
  font-size:1.05rem;
  color:#f5f5f0;
}
.hero-shell .hero-kpi-label{
  letter-spacing:0.12em;
  color:#9a9a92;
}
.hero-primary-cta,
.hero-secondary-cta{
  min-width:170px;
  min-height:44px;
}
.hero-media-block{
  min-height:0;
  width:100%;
}
.hero-visual{
  position:relative;
  margin:0;
  isolation:isolate;
  border-radius:1.35rem;
  overflow:hidden;
  border:1px solid rgba(245,245,240,0.12);
  background:#05070c;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.55),
    0 28px 60px rgba(0,0,0,0.65),
    0 8px 24px rgba(245,158,11,0.08);
  aspect-ratio:4/5;
  max-height:min(72vh,640px);
}
.hero-image-main{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  border-radius:0;
  transform:scale(1.04);
  filter:saturate(1.08) contrast(1.06) brightness(0.92);
  animation:hero-image-settle 1.15s ease-out both;
}
.hero-visual-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(5,7,12,0.15) 0%,rgba(5,7,12,0.05) 38%,rgba(5,7,12,0.72) 100%),
    linear-gradient(90deg,rgba(5,7,12,0.35) 0%,transparent 42%),
    radial-gradient(circle at 78% 18%,rgba(245,158,11,0.18),transparent 42%);
  pointer-events:none;
}
.hero-visual-frame{
  position:absolute;
  inset:0.85rem;
  border-radius:1rem;
  border:1px solid rgba(245,245,240,0.14);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.25);
  pointer-events:none;
}
.hero-visual-caption{
  position:absolute;
  inset:auto 1.1rem 1.1rem 1.1rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.65rem;
  z-index:2;
  animation:hero-caption-rise 0.85s ease-out 0.25s both;
}
@keyframes hero-image-settle{
  from{transform:scale(1.1);filter:saturate(1.02) contrast(1) brightness(0.7)}
  to{transform:scale(1.04);filter:saturate(1.08) contrast(1.06) brightness(0.92)}
}
@keyframes hero-caption-rise{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .hero-image-main,
  .hero-visual-caption{animation:none}
}
.hero-visual-tag{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.35rem 0.75rem;
  border-radius:999px;
  border:1px solid rgba(245,245,240,0.16);
  background:rgba(8,10,14,0.78);
  backdrop-filter:blur(12px);
  font-size:0.68rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#f5f5f0;
}
.hero-visual-tag-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:radial-gradient(circle at center,#fbbf24,#b45309);
  box-shadow:0 0 10px rgba(245,158,11,0.55);
}
.hero-visual-stat{
  display:flex;
  flex-direction:column;
  gap:0.15rem;
  max-width:16rem;
  padding:0.65rem 0.85rem;
  border-radius:0.9rem;
  border:1px solid rgba(245,245,240,0.14);
  background:rgba(5,7,12,0.82);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 30px rgba(0,0,0,0.45);
}
.hero-visual-stat-label{
  font-size:0.68rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#a3a39a;
}
.hero-visual-stat-value{
  font-size:0.92rem;
  font-weight:600;
  color:#f59e0b;
}
@media (max-width:1023.98px){
  .hero-layout{
    display:flex;
    flex-direction:column;
  }
  .hero-media-block{
    width:100%;
  }
  .hero-visual{
    aspect-ratio:16/11;
    max-height:none;
    min-height:240px;
    border-radius:1.1rem;
  }
  .hero-image-main{
    object-position:center 32%;
  }
  .hero-visual-frame{
    inset:0.65rem;
  }
  .hero-copy-block{
    max-width:none;
  }
}
@media (max-width:767.98px){
  .hero-shell > .container{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }
  .hero-shell .hero-kpi-row{
    display:grid;
    grid-template-columns:1fr;
    gap:0.65rem;
  }
  .hero-shell .hero-kpi{
    flex:none;
    width:auto;
    max-width:100%;
    box-sizing:border-box;
    padding:0.7rem 0.9rem;
  }
  .hero-shell .hero-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0.7rem;
  }
  .hero-primary-cta,
  .hero-secondary-cta{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .hero-visual-caption{
    inset:auto 0.75rem 0.75rem 0.75rem;
  }
}
@media (max-width:479.98px){
  .hero-shell > .container{
    padding-left:1.35rem;
    padding-right:1.35rem;
  }
}

.section-catalog-preview{
  padding-top:0;
}
.catalog-strip--home .catalog-strip-media{
  min-height:280px;
}
.catalog-strip--home .catalog-strip-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.04);
  position:absolute;
  inset:0;
}
.catalog-strip--home .catalog-strip-image-inner{
  background:none;
}
.catalog-strip--home .catalog-strip-image-inner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,0.72) 100%);
  pointer-events:none;
}
.catalog-strip--home .catalog-strip-image-tag,
.catalog-strip--home .catalog-strip-image-stat{
  z-index:2;
}

.section-featured .featured-layout{display:grid;grid-template-columns:minmax(0,1.6fr)minmax(0,2fr);gap:var(--space-6);align-items:stretch}@media(max-width:1023.98px){.section-featured .featured-layout{grid-template-columns:1fr}}.featured-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background-color:#050505;box-shadow:var(--shadow-sm)}.featured-image-main{width:100%;height:100%;min-height:260px;object-fit:cover}.featured-list{display:flex;flex-direction:column;gap:var(--space-4)}.section-organizers .organizers-layout{display:grid;grid-template-columns:minmax(0,1.6fr)minmax(0,2fr);gap:var(--space-6);align-items:stretch}@media(max-width:1023.98px){.section-organizers .organizers-layout{grid-template-columns:1fr}}.organizers-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background-color:#050505;box-shadow:var(--shadow-sm)}.organizers-image-main{width:100%;height:100%;min-height:260px;object-fit:cover}.organizers-grid{align-self:stretch}.section-packages .packages-grid .card{height:100%}.section-why .why-layout{align-items:flex-start}.why-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.why-item-title{font-size:1rem;margin-bottom:var(--space-2)}.why-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.why-aside{max-width:360px}@media(max-width:1023.98px){.why-aside{max-width:none}}.why-quicklinks{display:flex;flex-direction:column;gap:var(--space-3)}.why-quicklinks li{display:flex;align-items:center;gap:var(--space-3)}.why-quicklinks a{font-size:0.9rem}.section-gastronomy .gastronomy-layout{align-items:center}.gastronomy-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background-color:#050505;box-shadow:var(--shadow-sm)}.gastronomy-image-main{width:100%;height:100%;min-height:260px;object-fit:cover}.gastronomy-copy{max-width:560px}.gastronomy-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.gastronomy-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.section-planners .planners-layout{align-items:flex-start}.planners-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.planners-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.planners-aside{max-width:380px}@media(max-width:1023.98px){.planners-aside{max-width:none}}.planners-facts{display:flex;flex-direction:column;gap:var(--space-3)}.section-testimonials .testimonials-grid .card{height:100%}.section-faq .faq-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:767.98px){.section-faq .faq-layout{grid-template-columns:1fr}}.section-get-started .get-started-inner{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:radial-gradient(circle at top,#111827 0,#020617 60%);box-shadow:var(--shadow-md);padding:var(--space-6)}@media(max-width:639.98px){.section-get-started .get-started-inner{padding:var(--space-5)}}.get-started-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:767.98px){.get-started-grid{grid-template-columns:1fr}}.get-started-card ul{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:0}.get-started-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-start}.testimonial-card .card-body p{font-style:italic}.faq-item .card-title{font-size:0.98rem}.get-started-card a{text-decoration:underline;text-decoration-color:rgba(245,158,11,0.7);text-underline-offset:3px}.why-quicklinks .pill-label{min-width:78px;text-align:center}