.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-b5aeb33:#0a0a0a;--e-global-color-c58817e:#0a0a0a;--e-global-color-5420d44:#cc2222;--e-global-color-58be983:#ffffff;--e-global-color-09cc561:#0d141a;--e-global-color-a495fd4:#B8C0CC;--e-global-color-dff8941:#F3EFE3;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Cormorant Garamond";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Great Vibes";--e-global-typography-accent-font-weight:400;--e-global-typography-6b5a36a-font-family:"Inter";--e-global-typography-6b5a36a-font-size:12px;--e-global-typography-6b5a36a-font-weight:400;--e-global-typography-6b5a36a-word-spacing:2px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}.entry-title, .wp-block-post-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{
  --rs-bg:#0A0908;
  --rs-bg-alt:#0C0907;
  --rs-card:#100D0B;
  --rs-ink:#F5F5F0;
  --rs-red:#8B0000;
  --rs-red-hover:#A30505;
  --rs-gold:#BD9B5A;
  --rs-line:rgba(189,155,90,.16);
  --rs-serif:'Cormorant Garamond',serif;
  --rs-script:'Great Vibes',cursive;
  --rs-sans:'Inter',sans-serif;
}

/* Contenedor raíz del body */
.rs-body{ background:var(--rs-bg); color:var(--rs-ink); font-family:var(--rs-serif); }
.rs-body *{ box-sizing:border-box; }
.rs-body img{ display:block; max-width:100%; }
.rs-body ::selection{ background:var(--rs-red); color:var(--rs-ink); }

/* Estructura */
.rs-section{ padding:120px 24px; background:var(--rs-bg); }
.rs-section--alt{ background:var(--rs-bg-alt); border-top:1px solid rgba(189,155,90,.1); border-bottom:1px solid rgba(189,155,90,.1); }
.rs-wrap{ max-width:1180px; margin:0 auto; }
.rs-wrap--wide{ max-width:1280px; }
.rs-wrap--narrow{ max-width:820px; }
.rs-split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.rs-split--loc{ grid-template-columns:.95fr 1.05fr; gap:64px; }

/* Tipografía */
.rs-eyebrow{ font-family:var(--rs-sans); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--rs-red); margin:0 0 16px; font-weight:400; }
.rs-eyebrow--gold{ color:var(--rs-gold); }
.rs-eyebrow--light{ color:rgba(245,245,240,.8); }
.rs-script{ font-family:var(--rs-script); color:var(--rs-gold); line-height:1; margin:0 0 6px; font-size:32px; }
.rs-h1{ font-family:var(--rs-serif); font-weight:600; font-size:clamp(40px,5.4vw,64px); line-height:1.08; margin:0; color:var(--rs-ink); }
.rs-h2{ font-family:var(--rs-serif); font-weight:600; font-size:clamp(32px,4vw,46px); line-height:1.15; margin:0; color:var(--rs-ink); }
.rs-h3{ font-family:var(--rs-serif); font-weight:600; font-size:24px; margin:0 0 10px; color:var(--rs-ink); }
.rs-lead{ font-family:var(--rs-serif); font-size:20px; line-height:1.55; color:rgba(245,245,240,.78); margin:26px 0 0; }
.rs-lead--tight{ max-width:440px; margin:20px 0 28px; }
.rs-center{ text-align:center; }
.rs-center .rs-lead{ margin-left:auto; margin-right:auto; }
.rs-em{ font-style:italic; color:var(--rs-gold); }

/* Botones */
.rs-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.rs-btn{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; border-radius:4px; padding:16px 40px; font-family:var(--rs-serif); font-size:18px; letter-spacing:1.4px; text-transform:uppercase; transition:background .25s ease,border-color .25s ease,color .25s ease; cursor:pointer; border:0; }
.rs-btn--red{ background:var(--rs-red); color:var(--rs-ink); }
.rs-btn--red:hover{ background:var(--rs-red-hover); }
.rs-btn--ghost{ background:rgba(20,17,15,.55); color:var(--rs-ink); border:1px solid rgba(245,245,240,.22); backdrop-filter:blur(4px); }
.rs-btn--ghost:hover{ border-color:rgba(245,245,240,.55); }
.rs-btn--gold{ background:transparent; color:var(--rs-gold); border:1px solid rgba(189,155,90,.55); font-size:15px; padding:12px 26px; letter-spacing:1px; }
.rs-btn--gold:hover{ background:var(--rs-gold); color:var(--rs-bg); }
.rs-link{ display:inline-flex; align-items:center; gap:8px; color:var(--rs-gold); text-decoration:none; font-family:var(--rs-serif); font-size:18px; letter-spacing:.5px; }
.rs-link:hover{ color:var(--rs-ink); }

/* Hero */
.rs-hero{ position:relative; min-height:100vh; display:flex; align-items:center; padding:120px 24px 90px; overflow:hidden; }
.rs-hero__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.rs-hero__overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,9,8,.62) 0%,rgba(10,9,8,.55) 40%,rgba(10,9,8,.86) 100%),radial-gradient(120% 80% at 18% 50%,rgba(10,9,8,.7) 0%,rgba(10,9,8,0) 60%); }
.rs-hero__inner{ position:relative; z-index:2; width:100%; }
.rs-hero__inner .rs-lead{ max-width:560px; }
.rs-hero__scroll{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(245,245,240,.5); }
.rs-hero__scroll span{ font-family:var(--rs-sans); font-size:10px; letter-spacing:2px; text-transform:uppercase; }
.rs-hero__scroll i{ width:1px; height:34px; background:linear-gradient(rgba(189,155,90,.8),rgba(189,155,90,0)); }

/* Formulario (contenedor; los campos los pinta FluentForms) */
.rs-form-card{ background:var(--rs-card); border:1px solid rgba(189,155,90,.22); border-radius:14px; padding:38px 34px; }
.rs-checks{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.rs-checks li{ display:flex; align-items:center; gap:13px; font-family:var(--rs-serif); font-size:18px; color:rgba(245,245,240,.82); }
.rs-check{ flex:none; width:24px; height:24px; border-radius:50%; border:1px solid var(--rs-gold); color:var(--rs-gold); display:flex; align-items:center; justify-content:center; font-size:13px; }

/* Grid de tarjetas */
.rs-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rs-card{ background:var(--rs-card); border:1px solid var(--rs-line); border-radius:10px; padding:40px 32px; transition:border-color .3s ease,transform .3s ease; }
.rs-card:hover{ border-color:rgba(189,155,90,.45); transform:translateY(-4px); }
.rs-card__mark{ font-family:var(--rs-script); font-size:40px; line-height:1; color:var(--rs-gold); margin-bottom:18px; }
.rs-card p{ font-family:var(--rs-serif); font-size:17px; line-height:1.55; color:rgba(245,245,240,.66); margin:0; }

/* Cita / diferenciación */
.rs-quote{ font-family:var(--rs-serif); font-weight:400; font-size:clamp(24px,3vw,32px); line-height:1.4; margin:0; color:var(--rs-ink); }

/* Mosaico instalaciones */
.rs-mosaic{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:240px 240px; gap:16px; }
.rs-mosaic a{ position:relative; border-radius:10px; overflow:hidden; display:block; }
.rs-mosaic a img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.rs-mosaic a:hover img{ transform:scale(1.05); }
.rs-mosaic__tall{ grid-row:span 2; }
.rs-mosaic__wide{ grid-column:span 2; }

/* Ubicación / mapa */
.rs-address{ font-style:normal; font-family:var(--rs-serif); font-size:20px; line-height:1.55; color:rgba(245,245,240,.78); margin:24px 0 0; display:block; }
.rs-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.rs-badge{ display:inline-flex; align-items:center; gap:8px; border-radius:9999px; font-family:var(--rs-serif); font-size:15px; padding:7px 16px; }
.rs-badge--l4{ color:#3FA9D6; background:rgba(63,169,214,.14); border:1px solid #3FA9D6; }
.rs-badge--l3{ color:#27AE60; background:rgba(39,174,96,.14); border:1px solid #27AE60; }
.rs-map{ position:relative; aspect-ratio:5/4; border-radius:12px; overflow:hidden; border:1px solid rgba(189,155,90,.18); }
.rs-map__frame{ width:100%; height:100%; border:0; filter:grayscale(.3) contrast(1.05); }
.rs-map__facade{ position:absolute; inset:0; width:100%; height:100%; border:0; cursor:pointer; padding:0; background:#15110e; }
.rs-map__facade img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.32; }
.rs-map__cta{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; font-family:var(--rs-serif); font-size:19px; color:var(--rs-ink); }
.rs-map__cta small{ font-family:var(--rs-sans); font-size:11px; letter-spacing:1px; text-transform:uppercase; color:rgba(245,245,240,.55); }
.rs-map__pin{ font-size:30px; color:var(--rs-gold); }

/* Agenda */
.rs-event{ background:var(--rs-card); border:1px solid var(--rs-line); border-radius:10px; padding:32px 28px; display:flex; flex-direction:column; gap:14px; transition:border-color .3s ease,transform .3s ease; }
.rs-event:hover{ border-color:rgba(139,0,0,.55); transform:translateY(-4px); }
.rs-event__when{ font-family:var(--rs-sans); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--rs-gold); }
.rs-event p{ font-family:var(--rs-serif); font-size:17px; line-height:1.5; color:rgba(245,245,240,.64); margin:0; flex:1; }
.rs-event__meta{ font-family:var(--rs-serif); font-size:15px; color:rgba(245,245,240,.45); }

/* FAQ (acordeón) */
.rs-faq-nav{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:820px; margin:0 auto 56px; }
.rs-faqcat{ font-family:var(--rs-sans); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:rgba(245,245,240,.72); text-decoration:none; padding:9px 18px; border:1px solid rgba(189,155,90,.3); border-radius:9999px; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.rs-faqcat:hover{ background:var(--rs-gold); color:var(--rs-bg); border-color:var(--rs-gold); }
.rs-faq-block{ scroll-margin-top:110px; }
.rs-faq{ display:flex; flex-direction:column; gap:14px; }
.rs-faq__item{ background:var(--rs-card); border:1px solid var(--rs-line); border-radius:10px; overflow:hidden; }
.rs-faq__q{ width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:18px; font-family:var(--rs-serif); font-size:21px; font-weight:500; color:var(--rs-ink); }
.rs-faq__icon{ color:var(--rs-gold); font-size:24px; flex:none; transition:transform .3s ease; }
.rs-faq__item.is-open .rs-faq__icon{ transform:rotate(45deg); }
.rs-faq__a{ display:none; }
.rs-faq__item.is-open .rs-faq__a{ display:block; }
.rs-faq__a p{ font-family:var(--rs-serif); font-size:18px; line-height:1.6; color:rgba(245,245,240,.72); margin:0; padding:0 26px 26px; }

/* Reseñas */
.rs-reviews{ min-height:120px; }

/* CTA final */
.rs-cta{ position:relative; padding:150px 24px; text-align:center; overflow:hidden; }
.rs-cta__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.rs-cta__overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,9,8,.82),rgba(10,9,8,.9)),radial-gradient(70% 100% at 50% 50%,rgba(139,0,0,.28),rgba(10,9,8,0) 60%); }
.rs-cta__inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; }

/* Utilidades de cabecera de sección */
.rs-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; }
.rs-mb-lg{ margin-bottom:56px; }

/* RESPONSIVE (solo el body) */
@media (max-width:980px){
  .rs-split, .rs-split--loc, .rs-grid-3, .rs-mosaic{ grid-template-columns:1fr !important; }
  .rs-mosaic{ grid-template-rows:none; }
  .rs-mosaic__tall{ grid-row:auto; }
  .rs-mosaic__wide{ grid-column:auto; }
  .rs-mosaic a{ aspect-ratio:16/10; }
  .rs-h1{ font-size:40px; line-height:1.12; }
}
@media (max-width:560px){
  .rs-section, .rs-hero, .rs-cta{ padding-left:18px; padding-right:18px; }
  .rs-h1{ font-size:32px; }
  .rs-section{ padding-top:80px; padding-bottom:80px; }
}

/* ===== BLOG — tarjetas de post (para Loop Grid de Elementor) ===== */
.rs-postgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.rs-postcard{ display:flex; flex-direction:column; background:var(--rs-card); border:1px solid var(--rs-line); border-radius:12px; overflow:hidden; transition:border-color .3s ease,transform .3s ease; height:100%; }
.rs-postcard:hover{ border-color:rgba(189,155,90,.45); transform:translateY(-4px); }
.rs-postcard__cat{ font-family:var(--rs-sans); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--rs-gold); margin:0 0 12px; }
.rs-postcard__body{ padding:30px 28px; display:flex; flex-direction:column; flex:1; }
.rs-postcard__title{ font-family:var(--rs-serif); font-weight:600; font-size:24px; line-height:1.2; margin:0 0 12px; color:var(--rs-ink); }
.rs-postcard__title a{ color:inherit; text-decoration:none; }
.rs-postcard__title a:hover{ color:var(--rs-gold); }
.rs-postcard__excerpt{ font-family:var(--rs-serif); font-size:17px; line-height:1.5; color:rgba(245,245,240,.66); margin:0 0 18px; flex:1; }
.rs-postcard__meta{ font-family:var(--rs-sans); font-size:12px; letter-spacing:.5px; color:rgba(245,245,240,.45); }
/* Franja superior de color de la tarjeta (sustituye la miniatura, sin imagen) */
.rs-postcard__top{ height:120px; background:linear-gradient(135deg,#1a1310,#241a15); border-bottom:1px solid var(--rs-line); position:relative; display:flex; align-items:flex-end; padding:16px 18px; }
.rs-postcard__top span{ font-family:var(--rs-script); font-size:26px; color:rgba(189,155,90,.75); line-height:1; }

/* ===== BLOG — cabecera de post SIN imagen destacada (CSS) ===== */
.rs-posthead{ position:relative; padding:120px 24px 80px; text-align:center; overflow:hidden; background:radial-gradient(120% 90% at 50% 0%,rgba(139,0,0,.22) 0%,rgba(10,9,8,0) 55%),linear-gradient(180deg,#0C0907,#0A0908); border-bottom:1px solid var(--rs-line); }
.rs-posthead::before{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(135deg,rgba(189,155,90,.05) 0 22px,rgba(189,155,90,0) 22px 44px); pointer-events:none; }
.rs-posthead__in{ position:relative; z-index:1; max-width:820px; margin:0 auto; }
.rs-posthead__cat{ font-family:var(--rs-sans); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--rs-gold); margin:0 0 18px; }
.rs-posthead__title{ font-family:var(--rs-serif); font-weight:600; font-size:clamp(30px,3.6vw,46px); line-height:1.12; margin:0; color:#F5F5F0 !important; letter-spacing:-.3px; text-wrap:balance; }
.rs-posthead__over{ font-family:var(--rs-script); font-size:32px; color:var(--rs-gold); line-height:1; margin:0 0 10px; }
.rs-posthead__meta{ font-family:var(--rs-sans); font-size:13px; letter-spacing:.5px; color:rgba(245,245,240,.5); margin:22px 0 0; }

/* ===== BLOG — cuerpo del post (tipografía de lectura) ===== */
.rs-article{ max-width:720px; margin:0 auto; padding:20px 24px 90px; text-align:left; }
.rs-article h2,.rs-article h3{ text-align:left; }
.rs-article p{ font-family:var(--rs-serif); font-size:20px; line-height:1.7; color:rgba(245,245,240,.82); margin:0 0 24px; }
.rs-article h2{ font-family:var(--rs-serif); font-weight:600; font-size:32px; line-height:1.2; color:var(--rs-ink); margin:44px 0 18px; }
.rs-article h3{ font-family:var(--rs-serif); font-weight:600; font-size:24px; color:var(--rs-ink); margin:32px 0 14px; }
.rs-article a{ color:var(--rs-gold); text-decoration:none; border-bottom:1px solid rgba(189,155,90,.5); }
.rs-article ul,.rs-article ol{ font-family:var(--rs-serif); font-size:20px; line-height:1.7; color:rgba(245,245,240,.82); margin:0 0 24px; padding-left:24px; }
.rs-article blockquote{ border-left:2px solid var(--rs-gold); margin:32px 0; padding:6px 0 6px 24px; font-style:italic; font-size:22px; color:rgba(245,245,240,.9); }

@media (max-width:980px){ .rs-postgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .rs-postgrid{ grid-template-columns:1fr; } }/* End custom CSS */