/* pages */
.page
{
  animation:in .9s var(--ease)
}
@keyframes in
{
  from
  {
    opacity:0;
    transform:translateY(20px)
  }
}
.hero
{
  min-height:100dvh;
  display:grid;
  align-items:center;
  padding:120px 0 70px
}
.hero .wrap
{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(24px,5vw,70px);
  align-items:center
}
.hero h1
{
  font-size:clamp(70px,12.5vw,176px);
  line-height:.88;
  margin:22px 0 0
}
.hero .script
{
  font:400 clamp(48px,6vw,78px)/.92 'Allura',cursive;
  color:var(--gold);
  text-transform:none;
  display:block;
  margin-bottom:-.1em
}
.hero p.lead
{
  max-width:44ch;
  color:var(--mut);
  margin:28px 0 30px;
  font-size:19px
}
.hours
{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  margin-bottom:34px
}
.hours div
{
  border-left:1px solid var(--gold);
  padding-left:14px
}
.hours b
{
  display:block;
  font:600 30px/1 'Barlow Condensed',sans-serif;
  text-transform:uppercase
}
.hours span
{
  font-size:13px;
  color:var(--mut)
}
.hero .lg
{
  width:100%;
  max-width:520px;
  justify-self:center;
  filter:drop-shadow(0 30px 60px rgba(210,164,60,.14));
  animation:fl 9s ease-in-out infinite
}
@keyframes fl
{
  50%
  {
    transform:translateY(-12px)
  }
}
@media(max-width:820px)
{
  .hero .wrap
  {
    grid-template-columns:1fr
  }
  .hero .lg
  {
    order:-1;
    max-width:min(64vw,300px);
    justify-self:start;
    margin-left:-8px
  }
}
.marquee
{
  overflow:hidden;
  border-block:1px solid var(--line);
  padding:16px 0
}
.marquee-track
{
  display:flex;
  width:max-content;
  animation:mq 34s linear infinite;
  will-change:transform
}
.marquee-group
{
  display:flex;
  flex:none;
  gap:44px;
  padding-right:44px;
  font:600 28px 'Barlow Condensed',sans-serif;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--mut)
}
.marquee-group span:nth-child(even)
{
  color:var(--gold)
}
@keyframes mq
{
  to
  {
    transform:translateX(-50%)
  }
}
@media(prefers-reduced-motion:reduce)
{
  .marquee-track
  {
    animation:mq 34s linear infinite!important
  }
}
.block
{
  padding-block:clamp(64px,10vw,140px)
}
.agenda-intro
{
  max-width:58ch;
  color:var(--mut);
  font-size:clamp(16px,1.8vw,19px);
  margin:-4px 0 28px
}
.agenda-filters
{
  margin:0 0 28px
}
.ev[hidden]
{
  display:none
}
h2
{
  font-size:clamp(44px,6.4vw,92px);
  line-height:.95;
  margin:18px 0 22px
}
h2 em
{
  font:inherit;
  font-style:normal;
  text-transform:inherit;
  color:var(--gold)
}
.split h2 em
{
  font:400 1.05em 'Great Vibes',cursive;
  text-transform:none;
  letter-spacing:normal
}
.split
{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(30px,6vw,90px);
  align-items:end
}
.split p
{
  color:var(--mut);
  margin-bottom:16px
}
@media(max-width:820px)
{
  .split
  {
    grid-template-columns:1fr
  }
}
.stats
{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  border-top:1px solid var(--line);
  margin-top:64px
}
.stats div
{
  padding:30px 24px 0 0
}
.stats b
{
  display:block;
  font:600 clamp(52px,8vw,110px)/1 'Barlow Condensed',sans-serif
}
.stats span
{
  color:var(--mut);
  font-size:14px
}
@media(max-width:600px)
{
  .stats
  {
    grid-template-columns:1fr
  }
}
.gallery-grid
{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1px;
  grid-auto-flow:dense;
  gap:16px
}
.gallery-item
{
  position:relative;
  overflow:hidden;
  margin:0;
  grid-row-end:span 27;
  border-radius:18px;
  background:var(--s2);
  box-shadow:0 0 0 1px var(--line);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease)
}
.gallery-feature
{
  grid-row-end:span 32
}
.gallery-item:nth-child(2)
{
  grid-row-end:span 22
}
.gallery-item:nth-child(6)
{
  grid-row-end:span 38
}
.gallery-item:nth-child(7)
{
  grid-row-end:span 22
}
.gallery-item:nth-child(8)
{
  grid-row-end:span 30
}
.gallery-item img
{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s var(--ease);
  filter:saturate(.95)
}
.gallery-item:hover
{
  transform:translateY(-4px);
  box-shadow:0 0 0 1px rgba(210,164,60,.45),0 20px 42px rgba(0,0,0,.28)
}
.gallery-item:hover img
{
  transform:scale(1.045)
}
@media(max-width:760px)
{
  .gallery-grid
  {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .gallery-item
  {
    grid-row-end:span 32
  }
  .gallery-feature
  {
    grid-row-end:span 36
  }
  .gallery-item:nth-child(2),.gallery-item:nth-child(7)
  {
    grid-row-end:span 28
  }
  .gallery-item:nth-child(6)
  {
    grid-row-end:span 44
  }
  .gallery-item:nth-child(8)
  {
    grid-row-end:span 32
  }
}
@media(max-width:480px)
{
  .gallery-grid
  {
    grid-template-columns:1fr
  }
  .gallery-item
  {
    grid-row-end:span 40
  }
  .gallery-feature
  {
    grid-row-end:span 46
  }
  .gallery-item:nth-child(2),.gallery-item:nth-child(7)
  {
    grid-row-end:span 36
  }
  .gallery-item:nth-child(6)
  {
    grid-row-end:span 53
  }
  .gallery-item:nth-child(8)
  {
    grid-row-end:span 44
  }
}
.grid2
{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,6vw,80px)
}
.maps-link
{
  margin-top:18px
}
.contact-intro
{
  max-width:46ch;
  color:var(--mut)
}
.contact-actions
{
  flex-direction:column;
  align-items:flex-start
}
.contact-actions .whatsapp-cta
{
  background:#dfb245;
  font-weight:600;
  box-shadow:0 0 0 1px rgba(223,178,69,.3),0 10px 26px rgba(210,164,60,.17)
}
.contact-actions .whatsapp-cta:hover
{
  background:#edc65e;
  box-shadow:0 0 0 1px rgba(237,198,94,.55),0 14px 32px rgba(210,164,60,.25)
}
.contact-email
{
  color:var(--mut);
  text-decoration:none;
  font-size:14px;
  transition:color .3s var(--ease)
}
.contact-email:hover
{
  color:var(--gold)
}
.price-title
{
  font-size:clamp(50px,8vw,104px);
  line-height:.92;
  margin:16px 0 18px
}
.price-title em
{
  font:inherit;
  font-style:normal;
  color:var(--gold)
}
.price-intro
{
  max-width:58ch;
  color:var(--mut);
  margin-bottom:24px
}
.price-sheet
{
  display:block;
  max-width:1587px;
  margin:46px auto 0;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 0 0 1px var(--line);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)
}
.price-sheet:hover
{
  transform:translateY(-3px);
  box-shadow:0 0 0 1px rgba(210,164,60,.45),0 22px 48px rgba(0,0,0,.28)
}
.price-sheet img
{
  display:block;
  width:100%;
  height:auto
}
@media(max-width:820px)
{
  .grid2
  {
    grid-template-columns:1fr
  }
  .price-sheet
  {
    margin-top:30px;
    border-radius:10px
  }
}
.legal
{
  max-width:760px;
  padding-block:150px 90px
}
.legal h1
{
  font-size:clamp(46px,7vw,84px);
  line-height:.95;
  margin-bottom:10px
}
.legal h2
{
  font-size:30px;
  margin:36px 0 10px;
  line-height:1
}
.legal p,.legal li
{
  color:var(--mut);
  margin-bottom:10px
}
.legal ul
{
  padding-left:20px
}
.legal .warn
{
  padding:14px 18px;
  border-radius:14px;
  background:rgba(210,164,60,.08);
  box-shadow:0 0 0 1px rgba(210,164,60,.25);
  color:var(--ink);
  font-size:14px;
  margin:20px 0
}
