:root{
  --wood1:#4a2a14;
  --wood2:#2b1409;
  --paper:#e7d2b9;
  --paper2:#dcc1a4;
  --ink:#2a160c;
  --gold:#c9a36b;
  --gold2:#e2c28e;
  --shadow: 0 10px 22px rgba(0,0,0,.28);

  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;

  --wrap: 1040px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--ink);
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1200px 700px at 50% -100px, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(180deg, #f3e3cf, #ead3b8);
}

/* util */
.wrap{ width:min(var(--wrap), calc(100% - 32px)); margin:0 auto; }
.center{ display:flex; justify-content:center; }
a{ color:inherit; text-decoration:none; }

/* TOPBAR madeira */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.16)),
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 18px, rgba(255,255,255,.02) 18px 36px),
    linear-gradient(90deg, var(--wood1), var(--wood2));
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 16px rgba(0,0,0,.28);
}

.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
}

.nav{
  display:flex;
  gap:10px;
  align-items:center;
}

.nav__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 14px;
  border-radius: 10px;
  font-family: Cinzel, serif;
  letter-spacing:.6px;
  font-weight:700;
  font-size:14px;
  color:#f2e2c8;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.20));
}

.nav__link.is-active{
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.18));
  box-shadow: inset 0 0 0 2px rgba(201,163,107,.35);
}

.btn{
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  font-weight:700;
  letter-spacing:.3px;
  user-select:none;
}

.btn--top{
  white-space:nowrap;
  padding:10px 14px;
}

.btn--wa{
  color:#14310f;
  border:1px solid rgba(255,255,255,.25);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.45), transparent 55%),
    linear-gradient(180deg, #79dd6a, #2aa03a);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.10), 0 10px 18px rgba(0,0,0,.25);
}

.btn--wa:hover{ filter:brightness(1.02); transform: translateY(-1px); }

.btn--wood{
  margin-top:18px;
  color:#2b1409;
  border:1px solid rgba(0,0,0,.18);
  background:
    linear-gradient(180deg, #f1d6b4, #d6b186);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 10px 18px rgba(0,0,0,.18);
  font-family: Cinzel, serif;
}

.btn--send{
  margin-top:18px;
  font-family: Cinzel, serif;
  font-size:16px;
  padding:12px 34px;
  border-radius: 16px;
  color:#f3e1c8;
  border:1px solid rgba(255,255,255,.2);
  background:
    linear-gradient(180deg, #6a2d13, #3b160b);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.20), 0 16px 24px rgba(0,0,0,.28);
}

.btn--youtube{
  width:100%;
  border-radius: 14px;
  font-size:13px;
  padding:12px 12px;
}

.btn--big{
  width:100%;
  padding:14px 14px;
  border-radius: 16px;
  font-size:16px;
}

.btn--full{ width:100%; }

/* Ícones (CSS simples) */
.icon{ display:inline-block; width:18px; height:18px; }
.icon--wa{
  width:18px; height:18px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.35), transparent 55%);
  border-radius:999px;
  position:relative;
}
.icon--wa::before{
  content:"";
  position:absolute; inset:3px;
  border-radius:999px;
  background: rgba(0,0,0,.18);
}
.icon--wa::after{
  content:"";
  position:absolute;
  width:6px; height:6px;
  left:6px; top:6px;
  border:2px solid rgba(255,255,255,.9);
  border-top-color:transparent;
  border-right-color:transparent;
  border-radius: 0 0 10px 0;
  transform: rotate(-35deg);
}

/* play */
.icon--play{
  width:18px; height:18px;
  border-radius:999px;
  background: linear-gradient(180deg, #6b2f14, #3b160b);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.20);
  position:relative;
}
.icon--play::after{
  content:"";
  position:absolute;
  left:7px; top:5px;
  width:0; height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:6px solid var(--gold2);
}

.icon--playBig{
  width:46px; height:46px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.75));
  position:relative;
  border:1px solid rgba(255,255,255,.25);
}
.icon--playBig::after{
  content:"";
  position:absolute;
  left:18px; top:14px;
  width:0; height:0;
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  border-left:14px solid rgba(255,255,255,.92);
}

.icon--ig{
  width:18px; height:18px;
  border-radius: 6px;
  background: radial-gradient(circle at 30% 20%, #ffd7a5, transparent 45%),
              linear-gradient(135deg, #f58529, #dd2a7b, #8134af, #515bd4);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
}
.icon--phone{
  width:18px; height:18px;
  border-radius: 6px;
  background: linear-gradient(180deg, #6b2f14, #3b160b);
  position:relative;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}
.icon--phone::after{
  content:"";
  position:absolute;
  width:9px; height:9px;
  left:4.5px; top:4.5px;
  border:2px solid var(--gold2);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius: 10px;
  transform: rotate(35deg);
}

.icon--yt{
  width:18px; height:18px;
  border-radius: 6px;
  background: linear-gradient(180deg, #b32112, #6a1309);
  position:relative;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}
.icon--yt::after{
  content:"";
  position:absolute;
  left:7px; top:6px;
  width:0;height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:7px solid rgba(255,255,255,.9);
}

.icon--waSmall, .icon--mail, .icon--pin{
  width:18px; height:18px;
  border-radius: 8px;
  background: linear-gradient(180deg, #f1d6b4, #d6b186);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35);
}

/* MENU mobile */
.burger{
  display:none;
  width:42px; height:40px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.20));
  padding:10px;
}
.burger span{
  display:block;
  height:2px;
  background:#f2e2c8;
  margin:5px 0;
  border-radius:999px;
  opacity:.92;
}

.mobilemenu{
  background:
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.15)),
    linear-gradient(90deg, var(--wood1), var(--wood2));
  border-top:1px solid rgba(255,255,255,.12);
  padding:14px 0 16px;
}
.mobilemenu__inner{
  display:grid;
  gap:10px;
}
.mobilemenu__link{
  display:block;
  padding:12px 14px;
  border-radius: 12px;
  color:#f2e2c8;
  font-family: Cinzel, serif;
  font-weight:700;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.20));
}

/* HERO */
.hero{
  padding:18px 0 0;
}
.hero__inner{
  padding:18px 0 8px;
}
.hero__card{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:16px;
  padding:18px;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(900px 400px at 60% 40%, rgba(255,255,255,.28), transparent 60%),
    linear-gradient(180deg, var(--paper), var(--paper2));
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
}
.hero__card::before{
  content:"";
  position:absolute; inset:10px;
  border-radius: calc(var(--radius-lg) - 8px);
  border: 2px solid rgba(201,163,107,.45);
  pointer-events:none;
}

.hero__left{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height: 240px;
  padding:6px 0 0;
}
.hero__duo{
  width:min(100%, 520px);
  height:auto;
  filter: drop-shadow(0 16px 18px rgba(0,0,0,.22));
}

.hero__right{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:6px 4px;
  gap:12px;
  position:relative;
  z-index:2;
}
.hero__title{
  margin:0;
  text-align:center;
  font-family: Cinzel, serif;
  letter-spacing: 1.2px;
  font-weight: 700;
  font-size: 34px;
  color: #5a2b12;
  text-shadow: 0 2px 0 rgba(255,255,255,.30);
}

.cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius: 14px;
  border:1px solid rgba(0,0,0,.22);
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.40), transparent 55%),
    linear-gradient(180deg, #6b2f14, #3b160b);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.12), 0 16px 26px rgba(0,0,0,.22);
  color:#f4e2c7;
  font-family: Cinzel, serif;
  font-weight:700;
}
.cta__text{ letter-spacing:.5px; }
.cta__arrow{ color: var(--gold2); font-size:22px; line-height:1; margin-left:2px; }

.cta--wide{
  width:min(620px, 100%);
  margin: 14px auto 0;
}

.hero__social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  border:1px solid rgba(0,0,0,.20);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
  background: linear-gradient(180deg, #6b2f14, #3b160b);
  color:#f4e2c7;
  font-family: Cinzel, serif;
  font-weight:700;
  font-size:12px;
}
.pill--ig{
  width:44px;
  justify-content:center;
  padding:10px 0;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.35));
}
.pill--wa{ min-width: 240px; }
.pill__text{ letter-spacing:.4px; opacity:.92; }

.hero__below{
  margin-top:12px;
  display:flex;
  justify-content:center;
}

/* SECTIONS */
.section{
  padding:18px 0;
}

.section--agenda{
  padding-top:8px;
}

.section__inner{
  padding:16px 16px 20px;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(900px 500px at 50% 30%, rgba(255,255,255,.22), transparent 60%),
    linear-gradient(180deg, rgba(231,210,185,.92), rgba(220,193,164,.92));
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.18);
  position:relative;
}
.section__inner::before{
  content:"";
  position:absolute; inset:10px;
  border-radius: calc(var(--radius-lg) - 8px);
  border: 2px solid rgba(201,163,107,.40);
  pointer-events:none;
}

.titleband{
  display:flex;
  justify-content:center;
  margin: 0 0 12px;
}
.titleband__title{
  margin:0;
  font-family: Cinzel, serif;
  color:#5a2b12;
  letter-spacing:1px;
  font-weight: 700;
  font-size: 30px;
  text-shadow: 0 2px 0 rgba(255,255,255,.25);
}
.titleband__title small{
  font-size: 16px;
  font-weight: 700;
  opacity: .9;
  margin-left: 10px;
}

/* agenda cards */
.agenda{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:6px;
}
.event{
  display:grid;
  grid-template-columns: 96px 1fr;
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.22);
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.25), transparent 55%),
    linear-gradient(180deg, #5a2b12, #2e1208);
  box-shadow: 0 14px 22px rgba(0,0,0,.22);
  min-height: 96px;
}
.event__date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.25));
  border-right:1px solid rgba(255,255,255,.10);
  color:#f6e5cc;
  font-family: Cinzel, serif;
}
.event__dow{ font-size: 14px; letter-spacing: 1px; }
.event__day{ font-size: 34px; line-height:1; color: var(--gold2); }
.event__mon{ font-size: 14px; letter-spacing: 1px; }
.event__info{
  padding:10px 12px;
  color:#f6e5cc;
}
.event__big{
  font-family: Cinzel, serif;
  font-weight: 700;
  letter-spacing: .7px;
}
.event__city{ margin-top:6px; font-weight: 700; }
.event__place{ margin-top:3px; opacity:.9; font-size: 13px; }

/* galeria */
.gallery{
  display:grid;
  grid-template-columns: 48px 1fr 48px;
  align-items:center;
  gap:10px;
  margin-top: 10px;
}

.gallery__arrow{
  width:42px; height:42px;
  border-radius: 999px;
  border:1px solid rgba(0,0,0,.18);
  background: linear-gradient(180deg, #f1d6b4, #d6b186);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 10px 18px rgba(0,0,0,.16);
  font-size: 24px;
  cursor:pointer;
}
.gallery__track{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.shot{
  display:block;
  padding:10px;
  border-radius: 14px;
  border:1px solid rgba(0,0,0,.20);
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.25), transparent 55%),
    linear-gradient(180deg, #5a2b12, #2e1208);
  box-shadow: 0 16px 22px rgba(0,0,0,.22);
}
.shot img{
  width:100%;
  height:100%;
  display:block;
  border-radius: 10px;
  border: 2px solid rgba(201,163,107,.55);
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: rgba(255,255,255,.05);
}

/* videos */
.section--videos .section__inner{ padding-bottom: 22px; }
.videoGrid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:16px;
  margin-top: 12px;
  align-items:start;
}
.videoCard{
  border-radius: 16px;
  padding: 12px;
  border:1px solid rgba(0,0,0,.20);
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.25), transparent 55%),
    linear-gradient(180deg, #5a2b12, #2e1208);
  box-shadow: 0 18px 26px rgba(0,0,0,.24);
}
.videoThumb{
  position:relative;
  border-radius: 12px;
  overflow:hidden;
  border:2px solid rgba(201,163,107,.55);
}
.videoThumb img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio: 16 / 9;
  object-fit:cover;
}
.videoPlay{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background: radial-gradient(circle at 50% 50%, rgba(0,0,0,.08), rgba(0,0,0,.45));
  border:none;
  cursor:pointer;
}

.contactCard{
  border-radius: 16px;
  padding: 12px;
  border:1px solid rgba(0,0,0,.20);
  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.25), transparent 55%),
    linear-gradient(180deg, #f1d6b4, #d6b186);
  box-shadow: 0 18px 26px rgba(0,0,0,.18);
}

.contactList{
  margin: 12px 0 12px;
  padding: 12px;
  border-radius: 14px;
  border:1px solid rgba(0,0,0,.14);
  background: rgba(255,255,255,.28);
}
.contactRow{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 8px 0;
  font-weight: 700;
  color:#2b1409;
}
.contactRow + .contactRow{
  border-top:1px dashed rgba(0,0,0,.18);
}

.sendWrap{
  display:flex;
  justify-content:center;
}

/* footer madeira */
.footer{
  margin-top: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22)),
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 18px, rgba(255,255,255,.02) 18px 36px),
    linear-gradient(90deg, var(--wood1), var(--wood2));
  border-top: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 -10px 18px rgba(0,0,0,.25);
  color:#f2e2c8;
}
.footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  font-size: 12px;
  opacity:.95;
}
.footer__left{ display:flex; gap:8px; align-items:center; }
.miniIcon{
  width:22px; height:22px;
  border-radius: 8px;
  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.22));
}
.miniIcon--yt::after{
  content:"";
  display:block;
  width:0;height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:8px solid rgba(255,255,255,.9);
  margin: 6px 0 0 8px;
}
.miniIcon--fb::after{
  content:"f";
  display:block;
  font-family: Playfair Display, serif;
  font-weight:700;
  font-size: 16px;
  margin: 1px 0 0 9px;
}

/* RESPONSIVO */
@media (max-width: 960px){
  .nav{ display:none; }
  .burger{ display:block; }
}

@media (max-width: 900px){
  .hero__card{ grid-template-columns: 1fr; }
  .hero__title{ font-size: 30px; }
  .hero__left{ min-height: 200px; }
  .agenda{ grid-template-columns: 1fr; }
  .gallery__track{ grid-template-columns: 1fr; }
  .gallery{ grid-template-columns: 42px 1fr 42px; }
  .videoGrid{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
  .topbar__inner{ gap:10px; }
  .btn--top{ display:none; } /* no print mobile fica melhor assim */
  .hero__card{ padding:14px; }
  .section__inner{ padding:14px 12px 18px; }
  .titleband__title{ font-size: 26px; }
  .pill--wa{ min-width: 0; width: 100%; justify-content:center; }
  .hero__social{ flex-direction:column; }
}