
.rme-guard{all:unset}

.rme{ --bordo:#7a1426; --bordo-light:#8c1d31; --bordo-dark:#4f0a17; --dark-rgb:79,10,23;
  --cream:#f4ead9; --cream-2:#ede1cb; --ink:#241a12;
  font-family:'PT Sans',Arial,sans-serif; color:var(--cream); background:var(--bordo);
  line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.rme *{ box-sizing:border-box; }
.rme img{ max-width:100%; display:block; }
.rme a{ font-family:inherit; text-decoration:none; color:inherit; }
.rme button{ font-family:inherit; border:0; cursor:pointer; }
.rme h1,.rme h2,.rme h3{ font-family:'Prata',Georgia,serif; margin:0; }
.rme b{ color:inherit; }

.rme-h2{ font-size:clamp(22px,3.2vw,32px); text-align:center; margin-bottom:26px; }
.rme h2.rme-h2--script{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:600; font-size:clamp(32px,4.6vw,46px);
  line-height:1.15; text-align:center; margin-bottom:6px; }
.rme-h2--left{ text-align:left; }

.rme-btn{ display:inline-block; padding:14px 30px; border-radius:2px; font-family:'PT Sans',sans-serif;
  font-size:16px; letter-spacing:.04em; font-weight:700; }
.rme-btn--cream{ background:var(--cream); color:var(--bordo-dark); }
.rme-btn--ghost-dark{ border:1px solid rgba(244,234,217,.5); color:var(--cream); }
.rme a.rme-btn{ color:var(--bordo-dark); }
.rme a.rme-btn--ghost-dark{ color:var(--cream); }

/* NAV */
.rme-nav{ position:sticky; top:0; z-index:40; background:rgba(var(--dark-rgb),.94); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(244,234,217,.15); }
.rme-nav__inner{ max-width:1440px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:14px 32px; position:relative; }
.rme-nav__brand{ font-family:'Prata',serif; font-size:17px; display:flex; align-items:center; gap:10px; }
.rme-nav__logo{ width:38px; height:38px; flex-shrink:0; }
.rme-nav__links{ display:flex; gap:20px; font-size:15px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.rme-nav__links a:hover{ opacity:.75; }
.rme-nav__cta{ padding:9px 20px; font-size:14px; }
.rme-nav__burger{ display:none; flex-direction:column; gap:4px; background:none; border:0; padding:6px; cursor:pointer; }
.rme-nav__burger span{ width:20px; height:2px; background:var(--cream); display:block; }
.rme-nav__mobile{ display:none; flex-direction:column; padding:6px 20px 16px; }
.rme-nav__mobile a{ padding:10px 0; border-top:1px solid rgba(244,234,217,.12); font-size:16px; }
@media (max-width:860px){
  .rme-nav__links,.rme-nav__cta{ display:none; }
  .rme-nav__burger{ display:flex; }
  .rme-nav__mobile.is-open{ display:flex; }
}

/* HERO */
.rme-hero{ position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:calc(100vh - 69px); min-height:calc(100svh - 69px); }
.rme-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.rme-hero__shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(var(--dark-rgb),.4) 0%, rgba(var(--dark-rgb),.5) 30%, rgba(var(--dark-rgb),.97) 92%); }
.rme-hero__content{ position:relative; z-index:2; text-align:center; padding:80px 20px 40px; max-width:760px; width:100%; margin-inline:auto; }
.rme-hero__title{ font-size:clamp(28px,5vw,50px); color:var(--cream); text-wrap:balance; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.rme-hero__sub{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:clamp(21px,2.8vw,27px);
  line-height:1.35; color:var(--cream); margin:14px 0 24px; text-shadow:0 1px 10px rgba(0,0,0,.6); }
.rme-hero__facts{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:18px; }
.rme-hero__facts span{ font-size:16px; font-weight:700; letter-spacing:.03em; background:var(--bordo-dark); color:var(--cream);
  border:1px solid rgba(244,234,217,.35); padding:9px 18px; border-radius:20px; }
.rme-hero__ticket-line{ font-size:19px; font-weight:700; color:var(--cream); margin-bottom:24px; }
@media (max-height:720px) and (min-width:861px){
  .rme-hero__content{ padding-top:40px; padding-bottom:28px; }
  .rme-hero__title{ font-size:clamp(28px,4.4vw,44px); }
  .rme-hero__sub{ margin:10px 0 16px; }
  .rme-hero__ticket-line{ margin-bottom:16px; }
}
@media (max-width:860px){
  .rme-hero__content{ padding-bottom:92px; }
  .rme-hero__content > .rme-btn{ display:none; }
  .rme-hero__shade{ background:linear-gradient(180deg, rgba(var(--dark-rgb),.45) 0%, rgba(var(--dark-rgb),.7) 35%, rgba(var(--dark-rgb),.97) 85%); }
}

/* ROUTE (step 2) */
.rme-route{ background:var(--bordo); padding:56px 20px; }
.rme-route__grid{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rme-route__step{ position:relative; background:var(--bordo-light); border-radius:8px; overflow:hidden; text-align:center; padding-bottom:18px; }
.rme-route__step img{ width:100%; height:280px; object-fit:cover; }
.rme-route__n{ width:34px; height:34px; margin:20px auto 0; border-radius:50%; border:1px solid var(--cream);
  color:var(--cream); font-family:'Prata',serif; font-weight:700; display:flex; align-items:center; justify-content:center; }
.rme-route__step h3{ font-size:18px; margin:12px 14px 8px; }
.rme-route__step p{ font-size:15px; color:var(--cream-2); margin:0 14px; }
.rme-route__foot{ text-align:center; margin:26px 0 0; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--cream-2); }
@media (max-width:820px){ .rme-route__grid{ grid-template-columns:repeat(2,1fr); } }

/* VIDEO */
.rme-video{ background:var(--bordo); padding:56px 20px; }
.rme-video__grid{ max-width:920px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rme-video__card{ position:relative; aspect-ratio:9/16; border-radius:8px; overflow:hidden; background:var(--bordo-dark); }
.rme-video__card video{ width:100%; height:100%; object-fit:cover; }
@media (max-width:760px){ .rme-video__grid{ grid-template-columns:1fr; max-width:340px; } }

/* GALLERY */
.rme-gallery{ background:var(--bordo); padding:56px 20px; text-align:center; }
.rme-gallery__foot{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:18px; color:var(--cream-2); margin:0 0 28px; }
.rme-gallery__slider{ position:relative; max-width:1120px; margin:0 auto; }
.rme-gallery__slides{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch; padding:0 4px; scrollbar-width:none; }
.rme-gallery__slides::-webkit-scrollbar{ display:none; }
.rme-gallery__slide{ height:420px; width:auto; max-width:none; flex:0 0 auto; border-radius:10px;
  scroll-snap-align:start; background:var(--bordo-dark); }
.rme-gallery__arrow{ position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  background:rgba(36,26,18,.55); color:var(--cream); font-size:24px; line-height:1; display:flex; align-items:center;
  justify-content:center; z-index:2; border:0; cursor:pointer; }
.rme-gallery__arrow:hover{ background:rgba(36,26,18,.8); }
.rme-gallery__arrow--prev{ left:-6px; }
.rme-gallery__arrow--next{ right:-6px; }
@media (max-width:760px){ .rme-gallery__slide{ height:260px; } .rme-gallery__arrow{ display:none; } }

/* SPECTACLE / CONCERT split */
.rme-spectacle,.rme-concert{ display:flex; flex-wrap:wrap; }
.rme-spectacle{ background:var(--bordo); }
.rme-concert{ background:var(--bordo); flex-direction:row-reverse; }
.rme-spectacle__photo,.rme-concert__photo{ flex:1 1 380px; }
.rme-spectacle__photo img,.rme-concert__photo img{ width:100%; height:100%; min-height:340px; object-fit:cover; }
.rme-spectacle__text,.rme-concert__text{ flex:1 1 380px; padding:52px 40px; align-self:center; }
.rme-spectacle__kicker,.rme-concert__kicker{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:var(--cream-2); margin:0 0 18px; }
.rme-spectacle__text p,.rme-concert__text p{ font-size:17px; color:var(--cream-2); margin:0 0 14px; }

/* WORKSHOPS */
.rme-workshops{ background:var(--bordo); padding:56px 20px; text-align:center; }
.rme-workshops__photos{ max-width:1000px; margin:0 auto 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rme-workshops__photos img{ width:100%; height:260px; object-fit:cover; border-radius:8px; }
.rme-workshops__foot{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:18px; color:var(--cream-2); }
@media (max-width:760px){ .rme-workshops__photos{ grid-template-columns:1fr; } .rme-workshops__photos img{ height:220px; } }

/* PLACE */
.rme-place{ background:var(--bordo); padding:56px 20px; text-align:center; }
.rme-place__kicker{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:var(--cream-2); margin:0 0 24px; }
.rme-place__photos{ max-width:1100px; margin:0 auto 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rme-place__photos img{ width:100%; height:320px; object-fit:cover; border-radius:8px; }
.rme-place__text{ max-width:760px; margin:0 auto 28px; color:var(--cream-2); font-size:17px; text-align:left; }
.rme-place__card{ max-width:760px; margin:0 auto 24px; display:flex; align-items:center; justify-content:space-between;
  gap:18px; flex-wrap:wrap; border:1px solid rgba(244,234,217,.3); border-radius:6px; padding:20px 24px; text-align:left; }
.rme-place__name{ font-family:'Prata',serif; font-size:17px; margin:0 0 4px; }
.rme-place__addr{ font-size:15px; color:var(--cream-2); margin:0; }
.rme-place__map{ max-width:960px; margin:0 auto; border-radius:8px; overflow:hidden; line-height:0; }
.rme-place__map iframe{ width:100%; height:380px; border:0; display:block; }
@media (max-width:820px){ .rme-place__photos img{ height:220px; } }
@media (max-width:600px){ .rme-place__photos{ grid-template-columns:1fr; } .rme-place__map iframe{ height:280px; } }

/* TICKETS */
.rme-tickets{ background:var(--cream); color:var(--ink); padding:56px 20px; }
.rme-tickets .rme-h2{ color:var(--ink); }
.rme-schedule{ max-width:1020px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.rme-schedule__day{ background:#fff; border:1px solid #ddcdb0; border-radius:6px; padding:16px; text-align:center; }
.rme-schedule__date{ display:block; font-family:'Prata',serif; font-size:17px; color:var(--bordo); margin-bottom:10px; }
.rme-schedule__times{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.rme-schedule__times span{ font-size:14px; padding:5px 9px; border:1px solid #ddcdb0; border-radius:20px; color:#5b4a35; }
.rme-schedule__note{ text-align:center; max-width:640px; margin:20px auto 34px; font-size:15px; color:#7a6a52; }
@media (max-width:820px){ .rme-schedule{ grid-template-columns:repeat(2,1fr); } }
.rme-tariffs{ max-width:560px; margin:0 auto; display:flex; gap:18px; flex-wrap:wrap; justify-content:center; }
.rme-tariff{ flex:1 1 220px; background:#fff; border:1px solid #ddcdb0; border-radius:8px; padding:22px; text-align:center; }
.rme-tariff__price{ display:block; font-family:'Prata',serif; font-size:28px; color:var(--bordo); }
.rme-tariff__label{ font-size:15px; color:#5b4a35; }
.rme-tariffs__note{ max-width:640px; margin:16px auto 0; text-align:center; font-size:15px; color:#7a6a52; }
.rme-widget-slot{ max-width:640px; margin:26px auto 0; text-align:center; border:1px dashed var(--bordo);
  border-radius:8px; padding:28px; color:var(--bordo); font-size:16px; }

/* CORPORATE */
.rme-corporate{ background:var(--bordo-dark); padding:56px 20px; }
.rme-corporate__kicker{ text-align:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:var(--cream-2); margin:0 0 20px; }
.rme-corporate__lead{ max-width:760px; margin:0 auto 30px; text-align:center; color:var(--cream-2); font-size:17px; }
.rme-corporate__row{ max-width:920px; margin:0 auto; display:flex; gap:34px; flex-wrap:wrap; }
.rme-corporate__price{ flex:1 1 280px; }
.rme-corporate__price .rme-tariff__price{ color:var(--cream); }
.rme-corporate__price .rme-tariff__label{ display:block; font-size:17px; color:var(--cream-2); }
.rme-corporate__ask{ font-size:17px; color:var(--cream); margin:22px 0 6px; }
.rme a.rme-corporate__mail{ display:inline-block; font-family:'Prata',serif; font-size:26px; color:var(--cream); border-bottom:1px solid rgba(244,234,217,.45); }
.rme-corporate__form{ flex:1 1 320px; display:flex; flex-direction:column; gap:12px; }
.rme-corporate__form label{ display:flex; flex-direction:column; gap:6px; font-size:15px; color:var(--cream-2); }
.rme-corporate__form input{ background:rgba(244,234,217,.08); border:1px solid rgba(244,234,217,.35);
  border-radius:4px; padding:10px 12px; color:var(--cream); font-family:'PT Sans',sans-serif; font-size:16px; }
.rme-corporate__form input::placeholder{ color:rgba(244,234,217,.5); }
.rme-corporate__consent{ flex-direction:row !important; align-items:flex-start; gap:9px !important; font-size:13px !important;
  color:rgba(244,234,217,.75) !important; line-height:1.4; }
.rme-corporate__consent input{ width:16px; height:16px; flex-shrink:0; margin-top:2px; accent-color:var(--cream); }
.rme-corporate__consent a{ text-decoration:underline; }
.rme-corporate__form button{ margin-top:6px; align-self:flex-start; }

/* FAQ */
.rme-faq{ background:var(--cream); color:var(--ink); padding:56px 20px; }
.rme-faq .rme-h2{ color:var(--ink); }
.rme-faq__item{ max-width:700px; margin:0 auto 10px; background:#fff; border:1px solid #ddcdb0; border-radius:6px; padding:14px 20px; }
.rme-faq__item summary{ cursor:pointer; font-family:'Prata',serif; font-size:17px; color:var(--bordo); }
.rme-faq__item p{ margin:10px 0 2px; font-size:16px; color:#5b4a35; }

/* ORGANIZER */
.rme-org{ background:var(--bordo); padding:56px 20px; text-align:center; }
.rme-org__logo{ width:52px; height:52px; margin:0 auto 18px; }
.rme-org p{ max-width:720px; margin:0 auto 14px; font-size:17px; color:var(--cream-2); }
.rme-org__contacts{ display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:18px; font-size:16px; }

/* FOOTER */
.rme-footer{ background:var(--bordo-dark); border-top:1px solid rgba(244,234,217,.15); padding:28px 20px 84px;
  text-align:center; font-size:14px; color:var(--cream-2); }
.rme-footer p{ margin:4px 0; }
.rme-footer__links a{ text-decoration:underline; }
.rme-footer__social{ margin:10px 0 0; }
.rme-footer__social a{ text-decoration:underline; }
.rme-footer__legal{ opacity:.65; max-width:560px; margin:10px auto 0 !important; }

/* MOBILE STICKY CTA */
.rme-sticky-cta{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:50; padding:10px 16px;
  background:rgba(var(--dark-rgb),.96); backdrop-filter:blur(6px); border-top:1px solid rgba(244,234,217,.2); }
.rme-sticky-cta .rme-btn{ display:block; text-align:center; width:100%; }
@media (max-width:860px){ .rme-sticky-cta{ display:block; } .rme-footer{ padding-bottom:100px; } }
</style>