/* Regla del maquetado antiguo del blog, retirada: los articulos usan ahora la
   estructura fgx-article-*, cuyos titulares estilia fgx.css. El !important de
   aqui dejaba el titular del hero en azul sobre fondo azul, ilegible. */
/* Diseno propio heredado de Flor de Galicia.
   Estaba minificado dentro de estilos.css, en la misma linea que Bootstrap.
   La capa nueva del rediseno esta en rediseno.css, que se carga despues. */
/* El @font-face de Raleway Regular se ha retirado: rediseno.css declara la
   version variable (400-800) y aqui solo se descargaba un peso extra. */
:root {
  --azul: #00285a;
  --azulc: #0065d1;
  --black: #000000;
  --blanco: #ffffff;
  --amarillo: #ffb703;
  --dorado: #d1ba90}
.azul {
  color:var(--azul)!important}
.black {
  color:var(--black)!important}
.blanco {
  color:var(--blanco)!important}
.amarillo {
  color:var(--amarillo)!important}
.dorado {
  color:var(--dorado)!important}
.btn-primary {
  font-weight:600;
  font-size:16px;
  letter-spacing:1px;
  display:flex;
  padding:10px;
  border-radius:20px;
  transition:.5s;
  margin-top:0;
  color:var(--azul)!important;
  background:var(--amarillo);
  text-transform:uppercase;
  border:1px solid #fff;
  box-shadow:0 10px 20px #0003;
  width:200px;
  white-space:nowrap;
  max-width:100%;
  height:70px}
.btn-primary:hover {
  color:var(--azul);
  font-weight:700}
.btn-primary .btn-text {
  margin-left:10px}
*,*:before,*:after {
  box-sizing:border-box}
html {
  overflow-x:hidden;
  margin:0;
  padding:0;
  max-width:100%}
body {
  font-family:Raleway,sans-serif;
  background:#fff;
  font-size:16px;
  line-height:1.6;
  color:#090a0a;
  max-width:100%}
.services-gallery,.services-stripes {
  overflow-x:clip}
a {
  -webkit-transition:.3s all ease;
  -o-transition:.3s all ease;
  transition:.3s all ease;
  color:var(--azulc);
  text-decoration:none}
a:hover {
  text-decoration:none;
  color:#fda403}
ul li {
  line-height:1.8;
  margin-bottom:10px}
.h1,.h2,.h3,.h4,h1,h2,h3,h4 {
  line-height:1.45;
  color:#000;
  font-family:Raleway,sans-serif;
  font-weight:700}
h2 {
  font-size:2rem}
h3 {
  font-size:1.6rem!important}
img {
  max-width:100%;
  height:auto}
.site-sub-title {
  font-size:16px;
  letter-spacing:.15em;
  color:#486589;
  font-family:Raleway,sans-serif;
  font-weight:700}
.display-6 {
  font-size:2rem}
.section_title h1,.section_title h2,.section_title h3 {
  font-size:2.1rem!important;
  font-weight:600;
  line-height:1.5;
  color:var(--azul);
  letter-spacing:2px}
.section_title span {
  font-size:14px;
  display:block;
  margin-bottom:10px;
  color:var(--amarillo);
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:700}
.display-2 {
  font-size:1.2rem!important;
  font-weight:400!important}
.display-4 {
  font-size:3.5rem!important}
.btn-outline-secondary {
  background-color:#ffc107;
  color:var(--azul);
  padding:1.2rem 1.5rem;
  border-radius:50px;
  font-weight:700;
  transition:background-color .3s ease;
  border:1px solid #fff;
  white-space:nowrap;
  max-width:100%}
.btn-outline-secondary:hover {
  color:#fff}
.contacto-banner span {
  font-size:1.2rem}
.contacto-banner i {
  font-size:2rem}
.domicilio h3 {
  font-size:1.2rem!important;
  margin-top:10px;
  color:var(--azul)}
.domicilio img {
  border-radius:8px}
.alert-warning img,.cta-call img {
  width:200px;
  height:auto}
.alert-warning .flex-grow-1>div.mb-4 {
  text-align:center}
.card.cta-call .card-img-top {
  display:block;
  margin-left:auto;
  margin-right:auto}
.aspect-ratio {
  aspect-ratio:4 / 2!important;
  object-fit:cover}
#recentArticlesAside {
  min-height:400px}
#recentArticles ul {
  list-style-type:none;
  padding:0}
#recentArticles li {
  margin-bottom:10px;
  min-height:30px}
.idiomas img {
  aspect-ratio:4 / 4}
@media only screen and (max-width: 576px) {
  .aspect-ratio {
  aspect-ratio:4 / 3!important}
.section_title h2,.section_title h3 {
  font-size:1.5rem;
  font-weight:600;
  line-height:1.2;
  color:var(--azul)}
.section_title span {
  font-size:12px}
.sloganBanner .fs-1 {
  font-size:20px!important}
.lead {
  font-size:1.1rem;
  font-weight:300}
.our-services .section-heading {
  margin-left:0!important;
  margin-right:0!important}
.our-services .container-fluid {
  padding:25px!important}
.display-4 {
  font-size:2rem!important}
.display-6 {
  font-size:1.6rem!important}
.btn-outline {
  font-size:22px}
.section_title h2,.section_title h3 {
  font-size:1.5rem!important}
.horario {
  border:none!important;
  box-shadow:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important}
.horario .logo {
  margin-bottom:20px}
.horario .horario-item {
  border:1px solid gainsboro;
  margin-bottom:15px;
  padding:20px}
.cta-call a.btn {
  width:75%!important;
  font-size:1rem}
#recentArticles li {
  min-height:56px;
  margin-bottom:8px}
#asideBanner {
  display:none}}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .display-6 {
  font-size:1.6rem}
.btn-outline {
  font-size:22px}
.lead {
  font-size:1.1rem;
  font-weight:300}
.section_title h2,.section_title h3 {
  font-size:1.8rem!important}
.horario {
  border:none!important;
  box-shadow:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important}
.horario .logo {
  margin-bottom:20px}
.horario .horario-item {
  border:1px solid gainsboro;
  margin-bottom:15px;
  padding:20px}
.cta-call a.btn {
  width:60%!important}
#asideBanner {
  min-height:800px!important}
#asideBanner {
  display:none}}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .section_title h2,.section_title h3 {
  font-size:2rem!important}
.horario {
  border:none!important;
  box-shadow:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important}
.horario .logo {
  margin-bottom:20px}
.horario .horario-item {
  border:1px solid gainsboro;
  margin-bottom:15px;
  padding:20px}
.cta-call a.btn {
  width:50%!important}
#asideBanner {
  min-height:800px!important}}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .section_title h3 {
  font-size:3rem!important}
.section_title h2,.section_title h3 {
  font-size:2.1rem!important}
#hero h1 {
  font-size:50px!important}
#hero h2 {
  font-size:26px!important}
.horario {
  border:none!important;
  box-shadow:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important}
.horario .logo {
  margin-bottom:20px}
.horario .horario-item {
  border:1px solid gainsboro;
  margin-bottom:15px;
  padding:20px}
.cta-call a.btn {
  font-size:1rem}
.article-card {
  flex-direction:column}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .navbar-expand-lg .navbar-nav .nav-link {
  font-size:13px!important}}
@media only screen and (min-width: 1400px) {
  #hero {
  min-height:700px!important}
.sloganBanner {
  margin-top:-5%}}
#site-navbar {
  background-color:#2c3e50;
  padding:1rem 0;
  box-shadow:0 4px 6px #0000001a}
#site-navbar .navbar-brand img {
  max-width:140px;
  height:auto}
#site-navbar .nav-link {
  font-size:15px;
  color:#fff!important;
  font-weight:500;
  padding:.5rem .8rem;
  text-transform:uppercase;
  letter-spacing:.1em}
#site-navbar .nav-link:hover {
  color:#ff5400!important;
  background-color:transparent;
  text-decoration:none}
#site-navbar .nav-item.active .nav-link {
  color:var(--amarillo)!important}
#site-navbar .navbar-toggler {
  border:none}
#site-navbar .navbar-toggler-icon {
  background-image:url('data:image/svg+xml;charset=UTF8,%3Csvg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath stroke="rgba%28255,255,255,0.5%29" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4 7h22M4 15h22M4 23h22"/%3E%3C/svg%3E')}
#site-navbar .btn-primary {
  font-weight:600;
  font-size:13px;
  letter-spacing:1px;
  display:flex;
  padding:10px;
  border-radius:20px;
  transition:.5s;
  margin-top:0;
  color:var(--azul)!important;
  background:var(--amarillo);
  text-transform:uppercase;
  border:1px solid #fff;
  box-shadow:0 10px 20px #0003;
  width:156px;
  white-space:nowrap;
  max-width:100%;
  height:60px}
#site-navbar .btn-primary:hover {
  background-color:#fff;
  border-color:var(--amarillo);
  color:var(--azul)!important}
#site-navbar .icon-badge {
  width:35px;
  height:35px}
#site-navbar .idiomas {
  position:absolute;
  top:10px;
  right:2%}
#site-navbar .idiomas a {
  color:#fff;
  font-size:9px;
  font-weight:500;
  text-transform:uppercase;
  transition:color .3s ease}
#site-navbar .idiomas a:hover {
  color:#ff5400}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  #site-navbar .navbar-brand img {
  max-width:100px}
#site-navbar .nav-link {
  font-size:12px;
  padding:.5rem}
#site-navbar .btn-primary {
  padding:.5rem 1rem;
  font-size:12px}}
:root {
  --fg-azulo: #1c4a82;
  --fg-amarillo: #ffb703;
  --fg-negro: #0d0f12;
  --fg-overlay-1: rgba(12, 16, 24, .45);
  --fg-overlay-2: rgba(12, 16, 24, .15)}
body {
  margin:0;
  background:#fff}
#fg-hero.fg-hero {
  position:relative;
  height:clamp(600px,80vh,750px);
  min-height:0;
  display:grid;
  align-items:center;
  isolation:isolate;
  overflow:hidden}
#fg-hero #fg-heroCarousel,#fg-hero .carousel-inner,#fg-hero .carousel-item {
  height:100%}
#fg-hero .fg-hero-img {
  height:100%!important;
  width:100%;
  object-fit:cover;
  aspect-ratio:auto;
  transform:scale(1.02);
  filter:saturate(1.05) contrast(1.02)}
#fg-hero .fg-hero-overlay {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:linear-gradient(180deg,var(--fg-overlay-1) 0%,transparent 40%,var(--fg-overlay-2) 100%),linear-gradient(90deg,#00000059,#00000026 60%,#0000);
  z-index:1}
#fg-hero .fg-hero-content {
  position:absolute;
  top:0;
  right:0;
  bottom:60px;
  left:0;
  z-index:2;
  display:grid;
  align-content:center;
  pointer-events:none;
  padding:0 1rem}
#fg-hero .fg-hero-content a {
  pointer-events:auto}
#fg-hero .fg-hero-title {
  margin:0 0 .25rem;
  font-family:Raleway,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;
  font-weight:800;
  letter-spacing:.4px;
  font-size:clamp(32px,4.2vw,60px);
  line-height:1.15;
  color:#fff;
  text-shadow:0 10px 30px rgba(0,0,0,.45),0 2px 10px rgba(0,0,0,.35);
  text-transform:uppercase}
#fg-hero .fg-site-sub-title {
  margin:.5rem 0 0;
  font-size:clamp(21px,1.6vw,32px);
  color:#fff;
  opacity:.95;
  text-shadow:0 6px 18px rgba(0,0,0,.35);
  font-weight:500}
#fg-hero .fg-btn-reserva {
  font-weight:700;
  font-size:clamp(16px,1.4vw,20px);
  letter-spacing:.5px;
  padding:14px 28px;
  border-radius:999px;
  border:none;
  color:#0d0d0d;
  background:linear-gradient(180deg,#ffd869,#eaa733);
  box-shadow:0 16px 40px #00000040,inset 0 1px #ffffffa6;
  transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;
  width:240px;
  text-transform:uppercase}
#fg-hero .fg-btn-reserva:hover {
  transform:translateY(-3px);
  filter:brightness(1.02);
  box-shadow:0 22px 50px #00000052,inset 0 1px #ffffffb3}
#fg-hero .fg-hero-cta-alt a {
  font-family:Raleway,sans-serif;
  color:#1c1919;
  text-transform:uppercase;
  font-weight:600;
  font-size:15px;
  display:inline-block;
  background:#fff;
  padding:10px 14px;
  border-radius:8px;
  transition:color .3s ease,transform .25s ease,box-shadow .25s ease;
  box-shadow:0 12px 30px #00000026;
  text-decoration:none}
#fg-hero .fg-hero-cta-alt a:hover {
  color:#ff5400;
  transform:translateY(-2px);
  box-shadow:0 16px 40px #00000038}
#fg-hero.fg-hero {
  overflow:visible}
#fg-hero .fg-wave {
  position:absolute;
  left:0;
  right:0;
  bottom:-149px;
  width:100%;
  z-index:2;
  line-height:0;
  pointer-events:none}
#fg-hero .fg-wave svg {
  display:block;
  width:100%;
  height:265px}
#fg-hero .carousel-control-prev,#fg-hero .carousel-control-next {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:45px;
  height:45px;
  border:0;
  outline:0;
  border-radius:50%;
  background:#00000047!important;
  z-index:3;
  box-shadow:none}
.carousel-control-prev-icon,.carousel-control-next-icon {
  width:1.5rem;
  height:1.5rem}
#fg-hero .carousel-control-prev-icon {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L6.707 7l4.647 4.646a.5.5 0 0 1-.708.708l-5-5a.5.5 0 0 1 0-.708l5-5a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}
#fg-hero .carousel-control-next-icon {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l5 5a.5.5 0 0 1 0 .708l-5 5a.5.5 0 0 1-.708-.708L9.293 7 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}
#fg-hero .carousel-control-prev {
  left:12px;
  right:auto}
#fg-hero .carousel-control-next {
  right:12px;
  left:auto}
#fg-hero .carousel-control-prev:focus,#fg-hero .carousel-control-next:focus {
  box-shadow:none;
  outline:none}
#fg-hero .carousel-control-prev:hover,#fg-hero .carousel-control-next:hover {
  background:#0000006b;
  transform:translateY(-50%) scale(1.03)}
#fg-hero .carousel-indicators [data-bs-target] {
  width:10px;
  height:10px;
  border-radius:50%;
  background-color:#2e3e51;
  display:none}
#fg-hero .carousel-indicators .active {
  background-color:#fff}
.fg-hero {
  overflow:hidden}
.fg-hero-img {
  width:100%;
  height:100%;
  object-fit:cover;
  transform-origin:center center;
  animation:fgKenBurns 12s ease-out forwards}
.carousel-item {
  overflow:hidden}
.carousel-item.active .fg-hero-img {
  animation:fgKenBurns 12s ease-out forwards}
@keyframes fgKenBurns {
  0% {
  transform:scale(1.15) translateY(0)}
to {
  transform:scale(1) translateY(-10px)}}
@media (max-width: 575px) {
  #fg-hero.fg-hero {
  height:clamp(400px,52vh,600px)}
#fg-hero .fg-hero-img {
  height:100%!important}}
@media (min-width: 576px) and (max-width: 767px) {
  #fg-hero.fg-hero {
  height:clamp(580px,62vh,700px)}
#fg-hero .fg-hero-content {
  bottom:40px}
#fg-hero .fg-hero-img {
  height:100%!important}}
@keyframes fgFadeUp {
  0% {
  opacity:0;
  transform:translateY(12px)}
to {
  opacity:1;
  transform:translateY(0)}}
#fg-hero .fg-animate {
  opacity:0;
  will-change:opacity,transform}
#fg-hero.is-animating .fg-animate {
  animation:fgFadeUp .6s ease both}
#fg-hero.is-animating .fg-animate--2 {
  animation-delay:.1s}
#fg-hero.is-animating .fg-animate--3 {
  animation-delay:.2s}
#fg-hero.is-animating .fg-animate--4 {
  animation-delay:.3s}
#fg-hero .fg-progress {
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translate(-50%);
  width:min(420px,86%);
  height:3px;
  background:#ffffff47;
  border-radius:999px;
  overflow:hidden;
  z-index:3;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px)}
#fg-hero .fg-progress>span {
  display:block;
  width:0;
  height:100%;
  background:#fff;
  opacity:.9;
  border-radius:inherit}
@keyframes fgProgress {
  0% {
  width:0%}
to {
  width:100%}}
@media (max-width: 1199px) {
  #fg-hero .fg-wave {
  bottom:-167px}
#fg-hero.fg-hero {
  margin-bottom:80px;
  overflow:hidden}}
@media (max-width: 991px) {
  #fg-hero .carousel-control-prev,#fg-hero .carousel-control-next {
  width:48px;
  height:48px}}
@media (max-width: 767px) {
  #fg-hero .fg-hero-img {
  height:72vh}
#fg-hero .fg-hero-overlay {
  background:linear-gradient(180deg,#0000008c,#00000040 70%,#0000001a);
  background:none}}
@media (max-width: 575px) {
  #fg-hero.fg-hero {
  margin-bottom:10px;
  overflow:hidden}
#fg-hero .fg-hero-img {
  height:68vh}
#fg-hero .fg-wave {
  display:none}}
@media (prefers-reduced-motion: reduce) {
  #fg-hero .fg-animate {
  opacity:1;
  animation:none!important}
#fg-hero .fg-progress>span {
  width:100%;
  animation:none!important}}
@media (max-width: 575.98px) {
  #fg-hero .fg-hero-content.container {
  max-width:100%!important}
#fg-hero.fg-hero {
  height:auto;
  min-height:0}
#fg-hero #fg-heroCarousel,#fg-hero .carousel-inner,#fg-hero .carousel-item {
  height:clamp(360px,52vh,560px)}
#fg-hero .fg-hero-img {
  height:100%!important;
  object-fit:cover;
  aspect-ratio:auto}
#fg-hero .fg-hero-content {
  position:static;
  inset:auto;
  z-index:auto;
  pointer-events:auto;
  padding:30px 16px;
  background:#2c3e50}
#fg-hero .fg-hero-content .text-center {
  background:#ffffffeb;
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 24px #00000014;
  background:#2c3e50}
#fg-hero .fg-wave {
  display:none}}
:root {
  --amarillo: #ffb703}
#hero {
  width:100%;
  min-height:750px;
  min-height:clamp(650px,60vh,750px);
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  will-change:transform;
  font-family:Raleway,sans-serif}
#hero .hero-media {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  background-color:#2e3e51}
#hero .hero-media picture,#hero .hero-media img {
  width:100%;
  height:100%;
  display:block}
#hero .hero-media img {
  object-fit:cover;
  object-position:center}
#hero:before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:linear-gradient(180deg,var(--fg-overlay-1) 0%,transparent 40%,var(--fg-overlay-2) 100%),linear-gradient(90deg,#00000059,#00000026 60%,#0000);
  z-index:1;
  pointer-events:none}
#hero .container {
  position:relative;
  z-index:3}
#hero .wave,#fg-hero .wave {
  position:absolute;
  left:0;
  right:0;
  bottom:-120px;
  width:100%;
  z-index:2;
  line-height:0;
  pointer-events:none}
#hero .wave svg,#fg-hero .wave svg {
  display:block;
  width:100%;
  height:265px}
#hero h1 {
  margin:0;
  font-size:55px;
  font-weight:800;
  line-height:1.2;
  color:#fff;
  text-shadow:3px 3px 8px rgba(0,0,0,.6);
  text-transform:uppercase;
  transition:color .3s ease-in-out}
#hero h2 {
  margin:30px 0 20px;
  font-size:20px!important;
  color:#fff;
  text-shadow:2px 2px 4px rgba(0,0,0,.6)}
#hero .btn-reserva,#fg-hero .btn-reserva {
  font-weight:600;
  font-size:15px;
  letter-spacing:1px;
  display:flex;
  padding:10px;
  border-radius:20px;
  transition:.5s;
  margin-top:0;
  color:var(--azul)!important;
  background:var(--amarillo);
  text-transform:uppercase;
  border:1px solid #fff;
  box-shadow:0 10px 20px #0003;
  width:250px;
  white-space:nowrap;
  max-width:100%;
  height:80px}
#hero .btn-reserva:hover,#fg-hero .btn-reserva:hover {
  background-color:#fff;
  transform:translateY(-3px)}
#hero .btn-carta {
  font-weight:600;
  font-size:15px;
  letter-spacing:1px;
  display:flex;
  padding:10px;
  border-radius:20px;
  transition:.5s;
  margin-top:0;
  color:var(--azul)!important;
  background:var(--amarillo);
  text-transform:uppercase;
  border:1px solid #fff;
  box-shadow:0 10px 20px #0003;
  width:250px;
  white-space:nowrap;
  max-width:100%;
  margin-bottom:10px;
  height:80px}
#hero .btn-carta:hover {
  background-color:var(--amarillo);
  transform:translateY(-3px)}
.fg-hero-cta .btn {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  column-gap:.75rem;
  min-height:80px;
  padding-inline:2.5rem}
.fg-hero-cta .icon-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center}
.fg-hero-cta .btn-text {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  line-height:1.2}
.fg-hero-cta .btn-line1 {
  font-weight:700;
  text-transform:uppercase}
#hero span a {
  color:#1c1919;
  text-transform:uppercase;
  font-weight:500;
  font-size:16px;
  display:inline-block;
  margin-top:20px;
  transition:color .3s ease-in-out;
  background:#fff;
  padding:10px;
  border-radius:6px;
  width:330px;
  text-decoration:none}
#hero span a:hover {
  color:#ff5400}
@media (max-width: 1199px) {
  #hero .wave {
  bottom:-100px}}
@media (max-width: 991px) {
  #hero h1 {
  font-size:48px;
  line-height:1.2}
#hero h2 {
  font-size:24px!important}
#hero .wave {
  bottom:-190px}}
@media (max-width: 767px) {
  #hero .hero-media img {
  object-fit:contain;
  object-position:22% -5%}
#hero:before {
  background-color:transparent}
.sloganBanner {
  height:auto;
  margin:48% 0 8%}
#hero h1 {
  font-size:32px;
  line-height:1.5}
#hero h2 {
  font-size:18px!important;
  line-height:1.5;
  margin-top:15px}
#hero .wave {
  display:none}}
@media (max-width: 575px) {
  #hero {
  box-shadow:0 5px 10px #dcdcdc;
  padding:0}
#hero .hero-media img {
  object-fit:contain;
  object-position:22% -5%}
#hero:before {
  background:none}
#hero .wave {
  display:none}
#hero h2 {
  margin:42px 0 0;
  font-size:1.2rem!important;
  color:#fff}
.sloganBanner {
  height:auto;
  margin:80% auto 75px}
#hero .btn-carta {
  width:90%!important}}
.about_area {
  padding-bottom:100px;
  position:relative;
  z-index:3;
  top:35px}
main#especialidades .about_area {
  top:15px}
main#menus .about_area {
  top:65px}
.section_title span {
  font-size:14px;
  display:block;
  margin-bottom:10px;
  color:var(--amarillo);
  text-transform:uppercase;
  letter-spacing:5px;
  font-weight:700}
.mb-20px {
  margin-bottom:20px}
.section_title h3 {
  font-size:4rem;
  font-weight:400;
  line-height:56px;
  color:var(--azul)}
.about_area .about_info p {
  font-size:16px;
  line-height:28px;
  margin-top:0;
  margin-bottom:15px}
.about_area .about_thumb,.about_carta .about_thumb {
  -webkit-justify-content:flex-end;
  -moz-justify-content:flex-end;
  -ms-justify-content:flex-end;
  justify-content:center;
  -ms-flex-pack:flex-end}
.about_area .about_thumb img,.about_carta .about_thumb img {
  width:100%}
.about_area .about_thumb .img_2,.about_carta .about_thumb .img_2 {
  margin-top:40px;
  margin-left:10px}
.about_area .accordion-item,.about_carta .accordion-item {
  border:none!important}
.about_area .accordion-body,.about_carta .accordion-body {
  padding:0!important}
.accordion.leer-mas div.accordion-item {
  position:relative;
  border:none!important;
  padding:0!important}
.accordion.leer-mas button.accordion-button {
  background-color:var(--blanco);
  width:140px;
  border:1px solid var(--amarillo);
  border-radius:10px!important;
  padding:10px;
  font-size:19px;
  color:var(--azul)!important;
  font-weight:700;
  position:absolute;
  bottom:-60px;
  left:0;
  right:0;
  font-weight:100}
.about_area .accordion-item {
  border:none!important}
@media (max-width: 575px) {
  .about_area {
  top:40px!important}
.section_title h3 {
  font-size:3rem}
.about_area .about_thumb,.about_carta .about_thumb {
  margin-top:115px}}
@media (max-width: 991px) {
  .about_area {
  top:-145px}
main#especialidades .about_area {
  top:60px!important}}
@media (max-width: 1199px) {
  .about_area {
  top:-50px}
main#especialidades .about_area {
  top:0}
.about_area .about_thumb,.about_carta .about_thumb {
  margin-top:115px}}
.horario {
  border:1px solid var(--amarillo)}
.card {
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease;
  border:none;
  border-radius:10px}
.card:hover {
  transform:scale(1.03);
  box-shadow:0 8px 20px #0003}
.our-services .section-heading {
  text-align:center;
  margin-left:75px;
  margin-right:75px}
.our-services .container-fluid {
  padding:0 80px}
.service-item {
  padding:30px;
  border:2px solid #f7f7f7;
  border-radius:5px;
  transition:all .3s;
  margin-bottom:30px}
.our-services a {
  color:#000}
.service-item:hover {
  background-color:#fff;
  border:2px solid transparent;
  box-shadow:0 0 10px #0000001a}
.service-item .icon {
  margin-top:10px;
  width:80px;
  height:80px;
  display:inline-block;
  text-align:center;
  line-height:80px;
  background-color:#fff;
  border-radius:50%;
  border:1px solid var(--amarillo)}
.service-item .icon img {
  width:50px;
  height:50px}
.service-item h4 {
  font-size:22px;
  font-weight:700;
  color:#0a295b;
  margin-bottom:15px}
#gallery img {
  border-radius:6px;
  aspect-ratio:4 / 3}
.gallery {
  position:relative}
.accordion-button:focus {
  z-index:0!important}
.galeria img {
  border-radius:15px}
footer {
  background-color:#2c3e50;
  padding:1rem 0;
  box-shadow:0 4px 6px #0000001a;
  color:var(--blanco)}
.footer ul li {
  margin-bottom:5px}
.footer i {
  font-size:25px}
.footer h3 {
  color:var(--dorado);
  font-size:1.2rem!important}
.footer a {
  color:var(--blanco)}
.footer .legal {
  font-size:14px}
#carta .nav-link {
  color:#526e99;
  background:#faebd7;
  margin:0 1px}
#carta .nav {
  flex-wrap:nowrap}
.carta .btn-group {
  flex-wrap:wrap!important}
#large-screen-content .media-body h2 {
  font-size:1.1rem!important}
#large-screen-content .media-body p {
  font-size:13px!important}
.qr div {
  font-size:180%;
  line-height:125%}
.section-content {
  display:none}
.btn-outline {
  border:1px solid var(--dorado);
  color:#fff;
  margin:0 3px;
  border-radius:10px!important;
  padding:12px 15px;
  background:#2e3e51}
.btn-outline:hover {
  border-color:#9d8b6a}
.active-section {
  display:block}
.btn.active-btn {
  background-color:var(--dorado)!important;
  color:#00142c!important;
  box-shadow:0 4px 6px #0000001a;
  border:none;
  font-weight:bolder}
.btn.active-mobile-btn {
  background-color:var(--dorado)!important;
  color:#000!important;
  box-shadow:0 4px 6px #0000001a;
  border:none}
#large-screen-content img {
  border-radius:10px}
#large-screen-content .menu-item {
  margin-bottom:35px}
#large-screen-content .menu-price {
  font-size:20px!important;
  margin-bottom:20px}
@media (max-width: 768px) {
  #carta .media-body h2,#menus .media-body h2,#bodega .media-body h2 {
  font-size:18px!important}
.btn-group-vertical {
  width:100%}
#entrantes {
  display:block}
.btn-outline {
  margin-bottom:4px;
  font-size:1.6rem}
.pantallas-pequenas img {
  border-radius:10px;
  margin-bottom:2px}
.pantallas-pequenas .menu-price {
  margin-bottom:30px;
  font-size:20px!important}
.pantallas-pequenas h2 {
  font-size:1.3rem!important}}
/* El id ganaba a la clase .fgx-article-sidebar y devolvia el anclaje por
   arriba, que es justo lo que dejaba la mitad del aside fuera de la pantalla.
   El anclaje lo decide ahora fgx.css; aqui solo queda el relleno. */
#recentArticlesAside {
  padding:15px}
.cta-call {
  background:linear-gradient(45deg,#007bff,#17a2b8);
  color:#fff;
  padding:2rem;
  border-radius:10px;
  box-shadow:0 4px 8px #0000001a;
  font-size:1.25rem}
#articlesContainer {
  min-height:2000px}
#articlesContainer .btn-primary {
  font-weight:600;
  font-size:15px;
  letter-spacing:1px;
  display:flex;
  padding:10px;
  border-radius:20px;
  transition:.5s;
  margin-top:0;
  color:var(--azul)!important;
  background:#fff;
  text-transform:uppercase;
  border:1px solid var(--amarillo);
  box-shadow:0 10px 20px #0003;
  width:140px;
  white-space:nowrap;
  max-width:100%;
  height:auto}
#articlesContainer .btn-primary {
  position:relative;
  padding-right:32px}
#articlesContainer .btn-primary:after {
  content:"➜";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:16px;
  font-weight:700;
  color:var(--azul)}
#recentArticles {
  min-height:300px}
.cta-call h3 {
  font-weight:700;
  margin-bottom:1rem}
.cta-call a.btn {
  background-color:#ffc107;
  color:#212529;
  padding:.75rem 1.5rem;
  border-radius:50px;
  font-weight:700;
  transition:background-color .3s ease;
  white-space:nowrap;
  max-width:100%;
  width:100%}
.cta-call a.btn:hover {
  background-color:#e0a800;
  color:#fff}
.titulo_blog {
  margin:40px 0 20px;
  padding:15px 15px 15px 25px;
  border-radius:0 10px 10px 0;
  border-bottom:5px solid #ebebeb;
  text-align:left;
  font-size:28px;
  color:#2c3e50}
.article-card {
  display:flex;
  align-items:center;
  border:1px solid #eee;
  border-radius:5px;
  margin-bottom:20px;
  padding:15px;
  background-color:#fff}
.article-card img {
  aspect-ratio:4 / 3;
  border-radius:5px}
.article-description {
  flex-grow:1;
  padding-left:20px}
.article-description h2 {
  font-size:1.5rem!important;
  margin-bottom:10px;
  color:var(--azul)}
.article-description p {
  color:#555;
  margin-bottom:15px}
.article-description .btn-read-more {
  margin-top:10px}
#asideBanner {
  position:sticky;
  top:125px!important}
#asideBanner .btn {
  padding:.7rem 3.5rem}
@media (max-width: 991.98px) {
  .article-card {
  flex-direction:column}
.article-card img {
  margin-bottom:15px;
  aspect-ratio:4 / 2}
#asideBanner {
  position:static}}
@media (min-width: 1400px) {
  .article-card img {
  aspect-ratio:4 / 3!important}}
@media (max-width: 575px) {
  .cta-call {
  min-height:650px}
#recentArticles {
  min-height:250px}}
.header-recipe {
  background-color:#f8f9fa;
  padding:2rem;
  text-align:center}
.section-title {
  margin-top:1.5rem;
  margin-bottom:1rem}
.bg-light-blue {
  background-color:#e0f7fa}
.circle {
  width:200px;
  height:200px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin:auto;
  box-shadow:0 8px 15px #0003;
  transition:transform .3s ease,box-shadow .3s ease;
  border:5px solid var(--amarillo)}
.circle:hover {
  transform:scale(1.1);
  box-shadow:0 12px 20px #0000004d}
.circle p {
  font-size:60px!important;
  margin:0;
  color:var(--amarillo);
  font-weight:700}
.small-text {
  font-size:16px!important;
  margin-top:0}
.small-text2 {
  font-size:16px!important}
.nombreMenu {
  border:1px solid var(--amarillo);
  width:60%;
  margin:auto;
  padding:10px;
  border-radius:10px;
  text-shadow:3px 3px 8px rgba(0,0,0,.5);
  font-size:3rem;
  font-weight:100;
  line-height:1}
.nombreMenu span {
  font-size:2rem;
  text-shadow:none}
.precioMenu ul li {
  font-size:110%;
  line-height:1.6;
  margin-bottom:15px}
.precio {
  text-align:center;
  font-size:24px;
  margin:0}
.precio span {
  border-bottom:4px solid var(--amarillo)}
.menu-section {
  margin-bottom:30px}
.menu-section h2 {
  font-size:28px;
  color:#333;
  border-bottom:2px solid #ffcc00;
  padding-bottom:10px;
  margin-bottom:15px}
.menu-section ul {
  list-style-type:none;
  padding:0}
.menu-section ul li {
  font-size:20px;
  color:#555;
  margin:8px 0;
  padding:10px 10px 10px 50px;
  background-color:#f9f9f9;
  border-left:5px solid #ffcc00;
  border-radius:4px;
  transition:background-color .3s ease;
  line-height:1.5}
.menu-section ul li:hover {
  background-color:#fff8dc}
.pantallas-pequenas .section-content {
  display:none;
  width:100%;
  margin:auto}
.pantallas-pequenas .section-content h4 {
  font-size:19px;
  color:#333;
  padding-bottom:10px;
  margin-bottom:15px}
.pantallas-pequenas .section-content ul li {
  font-size:19px;
  color:#555;
  margin:8px 0;
  padding:10px 0 10px 10px;
  background-color:#f9f9f9;
  border-left:5px solid #ffcc00;
  border-radius:4px;
  transition:background-color .3s ease;
  list-style:none;
  line-height:1.5}
.guiones-titulo {
  display:flex;
  align-items:center;
  justify-content:space-between;
  white-space:wrap}
.guiones-titulo:before,.guiones-titulo:after {
  content:"";
  flex-grow:1;
  border-bottom:1px solid var(--amarillo);
  margin:0 10px}
.guiones-titulo:before {
  text-align:right}
.guiones-titulo:after {
  text-align:left}
#menus ul {
  list-style-type:none;
  padding:0}
#menus .menu-item,#blog .menu-item {
  display:flex;
  align-items:center;
  margin-bottom:10px}
#menus .menu-item img,#blog .menu-item img {
  margin-right:10px}
#blog .menu-section ul li {
  font-size:16px}
@media (max-width: 575px) {
  .nombreMenu {
  width:100%;
  font-size:2.5rem;
  line-height:1.2}
.nombreMenu span {
  font-size:1.5rem}
.guiones-titulo {
  white-space:wrap}
.circle {
  width:150px;
  height:150px}
.circle p {
  font-size:30px!important}
.small-text {
  font-size:17px!important;
  margin-top:-6px}
.small-text2 {
  font-size:12px!important}
.precio {
  text-align:center;
  font-size:24px;
  margin:20px 0 0}}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .pantallas-pequenas .section-content {
  width:90%;
  margin:auto}
.circle {
  width:150px;
  height:150px}
.circle p {
  font-size:30px!important}
.small-text {
  font-size:17px!important;
  margin-top:-6px}
.small-text2 {
  font-size:12px!important}
.precio {
  text-align:center;
  font-size:24px;
  margin:20px 0 0}}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .nombreMenu {
  width:70%}}
.platform-links {
  display:flex;
  justify-content:center;
  gap:20px;
  margin:30px 0}
.platform-links a {
  text-decoration:none}
.platform-links img {
  width:150px;
  aspect-ratio:4 / 4;
  transition:transform .3s;
  border-radius:25px}
.platform-links img:hover {
  transform:scale(1.05)}
section ol {
  max-width:600px;
  margin:0 auto;
  padding-left:20px;
  font-size:1.2em}
section ol li {
  margin-bottom:10px}
@media (max-width: 768px) {
  .platform-links {
  flex-direction:row}
.platform-links img {
  width:200px}
section h2 {
  font-size:1.5em}}
.counts {
  background:linear-gradient(135deg,#fffefd,#fff6d6 45%,#ffe6a8);
  padding:70px 0 60px}
.counts .count-box {
  padding:44px 30px 25px;
  width:100%;
  position:relative;
  text-align:center;
  background:#fff;
  border-radius:12px;
  box-shadow:0 10px 20px #00000014;
  transform:translateZ(0);
  will-change:transform,box-shadow;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
  overflow:visible}
.counts .count-box i {
  position:absolute;
  top:-24px;
  left:50%;
  transform:translate(-50%);
  font-size:20px;
  background:var(--amarillo);
  color:#fff;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border:4px solid #fff;
  box-shadow:0 8px 18px #0000002e;
  z-index:2;
  transition:transform .24s ease,box-shadow .24s ease}
.counts .count-box span {
  font-size:17px;
  display:block;
  font-weight:600;
  color:#0b2f6b;
  transition:transform .28s ease,opacity .28s ease}
.counts .count-box p {
  padding:0;
  margin:0;
  font-family:Raleway,sans-serif;
  font-size:14px;
  color:var(--azul);
  transition:transform .28s ease,opacity .28s ease}
.counts .count-box:after {
  content:"";
  position:absolute;
  inset:-120% -60% auto -60%;
  height:220%;
  transform:rotate(12deg) translate(-120%);
  background:linear-gradient(90deg,#fff0,#ffffff59 45%,#fff0 85%);
  pointer-events:none;
  opacity:0}
.counts h2.guiones-titulo {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-bottom:28px;
  line-height:1.2}
.counts .guiones-titulo:before,.counts .guiones-titulo:after {
  content:"";
  display:block;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffb703,#ffd166);
  opacity:.75;
  flex:1 1 220px;
  max-width:360px}
.counts h2.guiones-titulo {
  color:#0a295b}
@media (max-width: 768.98px) {
  .counts h2.guiones-titulo {
  gap:12px}
.counts .guiones-titulo:before,.counts .guiones-titulo:after {
  flex-basis:120px;
  max-width:160px}}
@media (max-width: 575.98px) {
  .counts h2.guiones-titulo {
  gap:8px}
.counts .guiones-titulo:before,.counts .guiones-titulo:after {
  flex-basis:60px;
  max-width:100px}}
.counts h2.guiones-titulo {
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin:0 auto 28px;
  line-height:1.2;
  position:relative}
.counts h2.guiones-titulo:before,.counts h2.guiones-titulo:after {
  content:"";
  display:block;
  width:90px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffb703,#ffd166);
  opacity:.85}
@media (max-width: 768.98px) {
  .counts h2.guiones-titulo {
  gap:10px;
  margin-bottom:22px}
.counts h2.guiones-titulo:before,.counts h2.guiones-titulo:after {
  width:70px}}
@media (max-width: 575.98px) {
  .counts h2.guiones-titulo {
  gap:8px}
.counts h2.guiones-titulo:before,.counts h2.guiones-titulo:after {
  width:44px}}
.counts .guiones-titulo {
  position:relative;
  color:#0a295b}
.counts .guiones-titulo:before,.counts .guiones-titulo:after {
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:28%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffb703,#ffd166);
  opacity:.7}
.counts .guiones-titulo:before {
  left:0}
.counts .guiones-titulo:after {
  right:0}
@media (max-width: 575.98px) {
  .counts .count-box {
  padding-top:40px}
.counts .guiones-titulo:before,.counts .guiones-titulo:after {
  width:18%}}
.counts .row.justify-content-center {
  align-items:stretch}
.counts .row.justify-content-center>[class*=col-] {
  display:flex}
.counts .row.justify-content-center>[class*=col-]>a {
  display:flex;
  width:100%}
.counts .count-box {
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start}
.counts .count-box span {
  margin-bottom:.35rem}
.counts .count-box p {
  margin-top:auto}
@media (max-width: 575.98px) {
  .counts .row.justify-content-center {
  align-items:stretch}}
.counts .count-box:hover {
  transform:translateY(-6px) scale(1.012);
  box-shadow:0 22px 45px #0000002e}
.counts .count-box:after {
  content:"";
  position:absolute;
  inset:-120% -60% auto -60%;
  height:220%;
  transform:rotate(12deg) translate(-120%);
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg,#fff0,#ffffff59 45%,#fff0 85%)}
.counts .count-box:hover:after {
  animation:sheen .9s ease forwards}
.counts .count-box:hover i {
  transform:translateY(-2px) scale(1.07);
  box-shadow:0 12px 26px #0000002e;
  animation:pop .3s ease}
.counts .count-box i:after {
  content:"";
  position:absolute;
  top:-6px;
  right:-6px;
  bottom:-6px;
  left:-6px;
  border-radius:50%;
  background:radial-gradient(circle at center,#ffffffd9,#ffb70373 60%,#ffb70300 72%);
  opacity:0;
  transform:scale(.85);
  transition:opacity .25s ease,transform .25s ease}
.counts .count-box:hover i:after {
  opacity:1;
  transform:scale(1)}
.counts .count-box:hover span {
  transform:translateY(-2px)}
.counts .count-box:hover p {
  transform:translateY(-1px);
  opacity:.95}
.counts a:focus-visible .count-box {
  outline:0;
  box-shadow:0 0 0 6px #ffb70340,0 18px 40px #0000002e;
  transform:translateY(-4px)}
@keyframes sheen {
  0% {
  transform:rotate(12deg) translate(-120%);
  opacity:0}
15% {
  opacity:.7}
to {
  transform:rotate(12deg) translate(120%);
  opacity:0}}
@keyframes pop {
  0% {
  transform:translateY(0) scale(1)}
50% {
  transform:translateY(-3px) scale(1.1)}
to {
  transform:translateY(-2px) scale(1.07)}}
@media (prefers-reduced-motion: reduce) {
  .counts .count-box,.counts .count-box * {
  transition:none!important;
  animation:none!important}}
#banner-enamorados {
  background:url(/assets/san-valentin-cena-BjhrQfzA.jpg);
  width:100%;
  min-height:500px;
  position:relative;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  will-change:background-position;
  aspect-ratio:4 / 1}
#banner-enamorados:before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  height:100%;
  z-index:0}
#banner-enamorados .wave {
  width:100%;
  overflow:hidden;
  position:absolute;
  z-index:1;
  bottom:-150px}
#banner-enamorados .container {
  position:relative;
  z-index:2}
#banner-enamorados .sloganBanner {
  margin-top:11%}
#banner-enamorados .btn-reserva {
  font-weight:600;
  font-size:20px;
  letter-spacing:1px;
  display:inline-block;
  padding:15px 30px;
  border-radius:30px;
  transition:.5s;
  margin-top:15px;
  color:#fff;
  background:var(--amarillo);
  text-transform:uppercase;
  border:none;
  box-shadow:0 10px 20px #0003;
  width:235px;
  white-space:nowrap;
  max-width:100%}
#banner-enamorados .btn-reserva:hover {
  background-color:#e64b00;
  transform:translateY(-3px)}
#banner-enamorados h1 {
  margin:0;
  font-size:55px;
  font-weight:700;
  line-height:1.2;
  color:var(--azul);
  font-family:Raleway,sans-serif;
  text-transform:uppercase;
  transition:color .3s ease-in-out}
#banner-enamorados h2 {
  margin:10px auto;
  font-size:28px!important;
  color:var(--amarillo);
  font-family:Raleway,sans-serif;
  max-width:75%}
.about_carta {
  padding-top:100px;
  padding-bottom:40px;
  position:relative;
  z-index:3;
  top:-140px}
.about_carta h2 {
  font-size:2.1rem;
  font-weight:600;
  line-height:1.5;
  color:var(--azul);
  letter-spacing:2px}
.about_carta .section_titulo span {
  font-size:14px;
  display:block;
  margin-bottom:10px;
  color:var(--amarillo);
  text-transform:uppercase;
  letter-spacing:5px;
  font-weight:700}
.media-body h2 {
  font-size:1.1rem!important;
  line-height:1.45;
  color:#000;
  font-family:Raleway,sans-serif;
  font-weight:700;
  letter-spacing:0}
@media (max-width: 1199px) {
  #banner-enamorados {
  background-size:cover}
#banner-enamorados .wave {
  bottom:-145px}}
@media (max-width: 991px) {
  #banner-enamorados {
  background-size:cover}
#banner-enamorados h1 {
  font-size:48px;
  line-height:1.2}
#banner-enamorados h2 {
  font-size:24px!important}
.about_carta {
  top:-50px}}
@media (max-width: 767px) {
  .about_carta {
  top:-50px}
#banner-enamorados {
  background:url(/assets/san-valentin-cena-tablet-E0DQtKKe.jpg);
  background-size:cover;
  height:auto;
  padding:40px 0;
  background-position:22% 0%;
  background-repeat:no-repeat}
#banner-enamorados:before {
  background-color:transparent}
#banner-enamorados .sloganBanner {
  height:auto;
  margin:35% 0 20%}
#banner-enamorados h1 {
  font-size:32px;
  line-height:1.5}
#banner-enamorados h2 {
  font-size:18px!important;
  line-height:1.5;
  margin-top:10px}
#banner-enamorados .btn-reserva {
  font-size:22px}}
@media (max-width: 575px) {
  #banner-enamorados {
  background:url(/assets/san-valentin-cena-movil-D9o54_D3.jpg);
  background-size:cover;
  height:auto;
  padding:0;
  background-position:22% 0%;
  background-repeat:no-repeat;
  box-shadow:0 5px 10px #dcdcdc}
#banner-enamorados:before {
  background-color:transparent}
#banner-enamorados .wave {
  display:none}
#banner-enamorados h2 {
  margin:25px auto 5px;
  font-size:1.2rem!important;
  max-width:100%}
#banner-enamorados .sloganBanner {
  height:auto;
  margin:30% auto 50px}
.about_carta {
  top:-50px}}
.banner-carta {
  position:relative;
  border-radius:.9rem;
  overflow:hidden;
  background:linear-gradient(120deg,#1c4a82,#3098cf,#26bdd2);
  background-size:300% 300%;
  animation:gradientMove 18s ease infinite;
  box-shadow:0 12px 28px #0000001f;
  transition:transform .28s ease,box-shadow .28s ease;
  will-change:transform;
  background:linear-gradient(135deg,#fffefd,#ffeab0,#ffd166)}
.banner-carta:hover {
  transform:scale(1.02);
  box-shadow:0 16px 32px #0000002e}
@media (prefers-reduced-motion: reduce) {
  .banner-carta {
  transition:none;
  animation:none}
.banner-carta:hover {
  transform:none;
  box-shadow:0 12px 28px #0000001f}}
.banner-carta:before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:radial-gradient(1200px 500px at 10% -20%,rgba(255,255,255,.1),transparent 60%),radial-gradient(800px 400px at 90% 120%,rgba(255,255,255,.08),transparent 60%);
  pointer-events:none}
.banner-inner {
  position:relative;
  z-index:1;
  -webkit-backdrop-filter:saturate(110%) blur(2px);
  backdrop-filter:saturate(110%) blur(2px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem}
.banner-logo {
  transform:translateY(6px);
  opacity:0;
  animation:floatIn .9s ease forwards .2s;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));
  height:auto}
.banner-lead {
  color:var(--azul);
  text-shadow:0 1px 1px rgba(0,0,0,.25);
  opacity:0;
  transform:translateY(6px);
  animation:fadeUp .8s ease forwards .35s;
  margin:0;
  text-align:center;
  line-height:1.3;
  font-size:clamp(1rem,1vw + .9rem,1.75rem);
  text-wrap:balance}
.banner-text-wrap {
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:center}
@media (max-width: 767.98px) {
  .banner-text-wrap {
  max-width:32rem;
  margin-inline:auto}
.banner-lead {
  margin:20px 10px}}
@media (min-width: 768px) {
  .banner-text-wrap {
  max-width:75ch;
  margin-inline:1rem}}
.banner-logo-wrap {
  flex:0 0 auto}
.banner-cta-wrap {
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center}
.btn-carta {
  --btnBase: #ff5400;
  --btnHover: #ff6e29;
  background:linear-gradient(180deg,var(--btnBase),#e94f00);
  border:0;
  color:#fff;
  box-shadow:0 10px 22px #0000002e;
  transform:translateY(6px);
  opacity:0;
  animation:fadeUp .8s ease forwards .45s;
  border-radius:.9rem;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
  white-space:nowrap}
.btn-carta.btn-xl {
  padding:1rem 2.4rem;
  font-size:1.125rem;
  line-height:1.1;
  min-width:14rem;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center}
.btn-carta:hover,.btn-carta:focus {
  background:linear-gradient(180deg,var(--btnHover),#ff5400);
  box-shadow:0 12px 26px #0003;
  transform:translateY(5px)}
.btn-carta:active {
  transform:translateY(6px);
  box-shadow:0 8px 18px #00000026}
.btn-reservas {
  background:#fff!important;
  color:#1c4a82!important;
  border:2px solid #ffffff!important;
  box-shadow:0 10px 22px #0000001f;
  text-shadow:none;
  line-height:1.3;
  font-weight:600}
.btn-reservas:hover,.btn-reservas:focus {
  background:#f8fbff!important;
  color:#1c4a82!important;
  border-color:#f8fbff!important;
  box-shadow:0 12px 26px #0000002e;
  transform:translateY(-1px)}
.btn-reservas:active {
  transform:translateY(0);
  box-shadow:0 8px 18px #00000026}
.banner-cta-wrap .btn+.btn {
  margin-top:1rem}
@media (max-width: 1199.98px) {
  .banner-inner {
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center}
.banner-one-line {
  flex-wrap:wrap!important}
.banner-logo {
  max-width:160px}
.banner-text-wrap {
  max-width:36rem;
  margin-inline:auto}
.banner-cta-wrap {
  width:100%;
  align-items:center}}
@media (min-width: 1200px) {
  .banner-one-line {
  flex-wrap:nowrap!important}
.banner-logo {
  max-width:130px;
  height:auto}}
@keyframes fadeUp {
  to {
  opacity:1;
  transform:translateY(0)}}
@keyframes floatIn {
  40% {
  opacity:1;
  transform:translateY(0)}
70% {
  transform:translateY(-3px)}
to {
  transform:translateY(0);
  opacity:1}}
.accordion-flor {
  --flor-bg: #ffffff;
  --flor-text: #2c3e50;
  --flor-accent: #eaa733;
  --flor-muted: #001528;
  --flor-border: rgba(0, 0, 0, .06);
  --flor-shadow: 0 8px 24px rgba(0, 0, 0, .06);
  --flor-shadow-hover: 0 10px 28px rgba(0, 0, 0, .1);
  --flor-radius: 14px;
  --flor-pad-y: .9rem;
  --flor-pad-x: 1.1rem;
  --flor-transition: .25s ease}
.accordion-flor .accordion-item {
  background:var(--flor-bg);
  border:1px solid var(--flor-border);
  border-radius:var(--flor-radius);
  box-shadow:var(--flor-shadow);
  overflow:hidden;
  margin-bottom:.9rem;
  transition:box-shadow var(--flor-transition),transform var(--flor-transition)}
.accordion-flor .accordion-item:hover {
  box-shadow:var(--flor-shadow-hover);
  transform:translateY(-1px)}
.accordion-flor .accordion-button {
  background:linear-gradient(180deg,#fff,#fcfcfc);
  color:var(--flor-text);
  font-weight:600;
  padding:var(--flor-pad-y) var(--flor-pad-x);
  border:none;
  box-shadow:none;
  outline:none}
.accordion-flor .accordion-button:focus {
  box-shadow:0 0 0 3px #eaa73359}
.accordion-flor .accordion-button:not(.collapsed) {
  background:#fff;
  color:var(--flor-text);
  border-bottom:1px solid var(--flor-border)}
.accordion-flor .accordion-button:after {
  flex-shrink:0;
  width:1.2rem;
  height:1.2rem;
  background-size:1.2rem 1.2rem;
  transition:transform var(--flor-transition),opacity var(--flor-transition);
  filter:none}
.accordion-flor .accordion-button.collapsed:after {
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%232c3e50' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='11' y='5' width='2' height='14' rx='1'/%3E%3Crect x='5' y='11' width='14' height='2' rx='1'/%3E%3C/svg%3E");
  transform:rotate(0);
  opacity:.9}
.accordion-flor .accordion-button:not(.collapsed):after {
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%23eaa733' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='5' y='11' width='14' height='2' rx='1'/%3E%3C/svg%3E");
  transform:rotate(0);
  opacity:1}
.accordion-flor .accordion-body {
  color:var(--flor-muted);
  padding:calc(var(--flor-pad-y) + .2rem) var(--flor-pad-x);
  line-height:1.7}
.accordion-flor .accordion-body h3,.accordion-flor .accordion-body h4 {
  color:var(--flor-text);
  margin-top:.4rem;
  margin-bottom:.25rem;
  font-weight:700}
.accordion-flor a {
  color:var(--flor-accent);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px dashed rgba(234,167,51,.55);
  transition:color var(--flor-transition),border-color var(--flor-transition)}
.accordion-flor a:hover {
  color:#c9871d;
  border-color:#eaa733e6}
@media (max-width: 576px) {
  .accordion-flor .accordion-button {
  padding:.85rem .95rem}
.accordion-flor .accordion-body {
  padding:.9rem .95rem 1.05rem}}
@media (prefers-contrast: more) {
  .accordion-flor .accordion-item {
  border-color:#cfcfcf}
.accordion-flor .accordion-button:focus {
  box-shadow:0 0 0 3px #00000059}}
.why-arroceria {
  position:relative;
  background:radial-gradient(1200px 400px at 50% -10%,rgba(234,167,51,.1),transparent 60%),linear-gradient(180deg,#fff,#f9fafb);
  border-radius:1rem;
  overflow:hidden}
.why-title {
  font-weight:800;
  letter-spacing:-.2px;
  color:var(--azul);
  margin-bottom:.25rem}
.why-subtitle {
  color:#5b6775;
  max-width:760px;
  margin-inline:auto}
.why-divider {
  width:88px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#eaa733,#f5c66f);
  opacity:.9}
.why-card {
  background:#ffffffb3;
  border:1px solid rgba(44,62,80,.06);
  border-radius:18px;
  padding:2.25rem 1.5rem;
  box-shadow:0 10px 30px #2c3e500f,0 1px #2c3e5008 inset;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  backdrop-filter:saturate(1.05) blur(6px);
  -webkit-backdrop-filter:saturate(1.05) blur(6px)}
.why-card:hover {
  transform:translateY(-6px);
  box-shadow:0 18px 40px #2c3e5014,0 1px #2c3e500a inset;
  border-color:#eaa7334d}
.why-icon-wrap {
  width:70px;
  height:70px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  color:#2c3e50;
  background:radial-gradient(120% 120% at 30% 20%,#eaa73342,#eaa73314),#fff;
  border:1px solid rgba(234,167,51,.35);
  box-shadow:0 10px 20px #eaa73326,inset 0 0 0 6px #eaa7330f}
.why-icon-wrap i {
  font-size:1.45rem}
.why-card-title {
  font-size:1.125rem!important;
  font-weight:800;
  color:var(--azul);
  margin-top:.35rem;
  margin-bottom:.5rem}
.why-card-text {
  color:#2c3e50;
  line-height:1.7;
  margin:0;
  font-size:14px}
.reveal {
  opacity:0;
  transform:translateY(12px);
  animation:whyFade .6s ease forwards;
  animation-delay:var(--reveal-delay, 0s)}
@keyframes whyFade {
  to {
  opacity:1;
  transform:translateY(0)}}
@media (prefers-reduced-motion: reduce) {
  .why-card,.reveal {
  transition:none!important;
  animation:none!important;
  transform:none!important;
  opacity:1!important}}
@media (max-width: 991.98px) {
  .why-card {
  padding:2rem 1.25rem}
.why-icon-wrap {
  width:64px;
  height:64px}}
:root {
  --prep-accent: #ffb703;
  --prep-accent-2: #ffd166;
  --prep-bg: #ffffff;
  --prep-text: #1f2937;
  --prep-muted: #6b7280;
  --prep-shadow: 0 10px 25px rgba(0, 0, 0, .06);
  --prep-radius: 18px}
.prep-section {
  background:linear-gradient(180deg,rgba(255,183,3,.08),transparent);
  border-radius:22px;
  padding:clamp(14px,2vw,22px);
  border:1px solid rgba(0,0,0,.06)}
.prep-header i {
  font-size:1.25rem;
  color:var(--prep-accent);
  filter:drop-shadow(0 4px 10px rgba(255,183,3,.25));
  margin-right:15px}
.prep-header h4 {
  color:var(--prep-text);
  font-weight:800;
  letter-spacing:.2px;
  position:relative;
  display:inline-block;
  padding-bottom:6px}
.prep-header h4:after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:54%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--prep-accent),var(--prep-accent-2));
  opacity:.85}
.prep-steps {
  counter-reset:section;
  border:0;
  background:transparent;
  padding-left:0}
.prep-steps .list-group-item {
  background:var(--prep-bg);
  color:var(--prep-text);
  border:0;
  margin-bottom:14px;
  padding:18px 18px 18px 64px;
  border-radius:var(--prep-radius);
  box-shadow:var(--prep-shadow);
  position:relative;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
  line-height:1.55}
.prep-steps .list-group-item:last-child {
  margin-bottom:4px}
.prep-steps .list-group-item:before {
  content:counter(section);
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#0b0b0b;
  background:radial-gradient(circle at 30% 30%,var(--prep-accent-2),var(--prep-accent));
  border-radius:50%;
  box-shadow:0 6px 18px #ffb70359,inset 0 0 0 2px #fff9}
.prep-steps .list-group-item:not(:last-child):after {
  content:"";
  position:absolute;
  left:36px;
  top:calc(50% + 18px);
  width:2px;
  height:calc(100% - 18px);
  background:linear-gradient(180deg,var(--prep-accent),transparent 80%);
  opacity:.35}
.prep-steps .list-group-item:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 30px #0000001a}
.prep-steps .list-group-item small {
  color:var(--prep-muted)}
.amarillo {
  color:var(--prep-accent)!important}
@media (max-width: 575.98px) {
  .prep-steps .list-group-item {
  padding:16px 16px 16px 56px;
  border-radius:16px}
.prep-steps .list-group-item:before {
  left:14px;
  width:32px;
  height:32px;
  font-size:.95rem}
.prep-steps .list-group-item:not(:last-child):after {
  left:30px}}
:root {
  --rec-accent: #ffb703;
  --rec-accent-2: #ffd166;
  --rec-ink: #1f2937;
  --rec-muted: #6b7280;
  --rec-surface: #ffffff;
  --rec-shadow: 0 12px 28px rgba(0, 0, 0, .08)}
.recipe-hero {
  padding:clamp(18px,3.2vw,28px);
  background:radial-gradient(1200px 200px at 0% 0%,rgba(255,183,3,.12),transparent 55%),linear-gradient(180deg,#ffd1662e,#ffb7031a);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--rec-shadow);
  position:relative;
  overflow:hidden}
.recipe-hero:after {
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--rec-accent-2),var(--rec-accent));
  filter:blur(18px);
  opacity:.25}
.recipe-hero h2 {
  color:var(--rec-ink);
  font-weight:800;
  letter-spacing:.3px;
  margin-bottom:.35rem}
.recipe-hero .lead {
  color:var(--rec-muted);
  font-weight:500}
.recipe-image {
  box-shadow:0 18px 36px #0000001f;
  border:1px solid rgba(0,0,0,.06);
  position:relative}
.recipe-image {
  outline:2px solid transparent;
  background:linear-gradient(var(--rec-surface),var(--rec-surface)) padding-box,linear-gradient(135deg,#ffb7038c,#ffd16659) border-box;
  border:2px solid transparent}
.section-title {
  font-weight:800;
  color:var(--rec-ink);
  position:relative;
  display:inline-block;
  padding-bottom:6px}
.section-title:after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:60%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--rec-accent),var(--rec-accent-2));
  opacity:.9}
.ingredients-list {
  border:0;
  background:transparent;
  padding-left:0}
.ingredients-list .list-group-item {
  background:var(--rec-surface);
  border:0;
  margin-bottom:12px;
  padding:14px 16px 14px 54px;
  border-radius:14px;
  box-shadow:0 8px 18px #0000000d;
  color:var(--rec-ink);
  position:relative;
  transition:transform .18s ease,box-shadow .18s ease}
.ingredients-list .list-group-item:before {
  /* Era un glifo de Font Awesome incrustado (U+F00C). Al retirarse la fuente
     el navegador pintaba el cuadradito de caracter desconocido. Ahora el
     check es un SVG en linea, que no depende de ninguna fuente. */
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#0b0b0b;
  /* La imagen va DENTRO del atajo: como declaracion suelta la borraba este
     mismo `background`, que viene despues y reinicia background-image. */
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%230b0b0b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px 14px no-repeat,radial-gradient(circle at 30% 30%,var(--rec-accent-2),var(--rec-accent));
  border-radius:50%;
  box-shadow:0 8px 18px #ffb70359,inset 0 0 0 2px #ffffffb3;
  font-size:.9rem}
.ingredients-list .list-group-item:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 26px #0000001a}
@media (max-width: 575.98px) {
  .recipe-hero {
  padding:16px}
.ingredients-list .list-group-item {
  padding:12px 14px 12px 50px;
  border-radius:12px}
.ingredients-list .list-group-item:before {
  left:14px;
  width:26px;
  height:26px;
  font-size:.85rem}}
:root {
  --toc-accent: #ffb703;
  --toc-accent-2: #ffd166;
  --toc-bg: #f6f7f9;
  --toc-ink: #111827;
  --toc-muted: #6b7280;
  --toc-shadow: 0 12px 28px rgba(0, 0, 0, .06)}
#tocContainer {
  padding:40px 60px;
  border-radius:20px;
  max-width:100%;
  margin:auto}
.toc {
  padding:clamp(16px,2.4vw,26px);
  margin:40px 0}
.toc-header {
  position:relative;
  margin-bottom:.75rem}
.toc-header h4 {
  color:var(--toc-ink);
  font-weight:800;
  letter-spacing:.2px;
  position:relative;
  text-align:center;
  width:100%}
.toc-header h4:before,.toc-header h4:after {
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:28%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--toc-accent),var(--toc-accent-2));
  opacity:.8}
.toc-header h4:before {
  left:0}
.toc-header h4:after {
  right:0}
.toc-list a {
  color:#2563eb;
  text-decoration:none;
  font-weight:600;
  transition:color .15s ease,transform .15s ease,text-shadow .15s ease}
.toc-list a:hover {
  color:#1d4ed8;
  text-shadow:0 1px 0 rgba(0,0,0,.05);
  transform:translate(2px)}
.toc-list ul {
  list-style:none;
  padding-left:16px;
  margin-top:8px}
.toc-list ul li {
  margin:8px 0}
.toc-list ul li:before {
  width:8px;
  height:8px;
  top:9px;
  background:radial-gradient(circle at 30% 30%,#fff,var(--toc-accent))}
@media (max-width: 575.98px) {
  #tocContainer {
  aria-collapsed:true}
.toc-header h4:before,.toc-header h4:after {
  width:18%}}
:root {
  --ul-accent: #ffb703;
  --ul-accent-2: #ffd166;
  --ul-ink: #1f2937;
  --ul-muted: #6b7280;
  --ul-surface: #fff;
  --tick-size: 30px;
  --tick-gap: 12px;
  --tick-text: #0b0b0b}
.ul-modern {
  list-style:none;
  padding-left:0;
  margin:1rem 0 1.25rem}
.ul-modern>li {
  position:relative;
  background:var(--ul-surface);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:16px 18px 16px calc(var(--tick-size) + var(--tick-gap) + 14px);
  margin:12px 0;
  color:var(--ul-ink);
  line-height:1.65;
  box-shadow:0 10px 24px #0000000f;
  transition:transform .18s ease,box-shadow .18s ease}
.ul-modern>li:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 32px #0000001a}
.ul-modern>li>strong {
  font-weight:800;
  color:var(--ul-ink)}
.ul-modern>li small {
  color:var(--ul-muted)}
.ul-modern.ul-tick>li:before {
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:var(--tick-size);
  height:var(--tick-size);
  border-radius:50%;
  background:radial-gradient(60% 60% at 30% 30%,var(--ul-accent-2),var(--ul-accent));
  box-shadow:0 0 0 4px #ffffffbf inset,0 8px 18px #ffb70347}
.ul-modern.ul-tick>li:after {
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:var(--tick-size);
  height:var(--tick-size);
  background:var(--tick-text);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.285 6.708a1 1 0 0 1 0 1.414l-9.192 9.192a1 1 0 0 1-1.414 0L3.707 11.53a1 1 0 1 1 1.414-1.414l5.108 5.108 8.485-8.485a1 1 0 0 1 1.571-.031z'/></svg>") center/60% 60% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.285 6.708a1 1 0 0 1 0 1.414l-9.192 9.192a1 1 0 0 1-1.414 0L3.707 11.53a1 1 0 1 1 1.414-1.414l5.108 5.108 8.485-8.485a1 1 0 0 1 1.571-.031z'/> </svg>") center/60% 60% no-repeat}
@supports not ((mask: url()) or (-webkit-mask: url())) {
  .ul-modern.ul-tick>li:after {
  content:"✓";
  display:grid;
  place-items:center;
  color:var(--tick-text);
  background:none;
  font-weight:900;
  font-size:1rem}}
.ul-modern ul {
  list-style:none;
  margin:10px 0 0;
  padding-left:18px;
  border-left:2px dashed rgba(0,0,0,.08)}
.ul-modern ul li {
  margin-top:8px;
  padding-left:0;
  background:transparent;
  border:0;
  box-shadow:none}
@media (max-width: 575.98px) {
  :root {
  --tick-size: 28px}
.ul-modern>li {
  padding:14px 14px 14px calc(var(--tick-size) + var(--tick-gap) + 12px);
  border-radius:14px}}
a.btn-dark {
  color:var(--blanco)!important;
  border:1px solid var(--azul)!important;
  background:linear-gradient(135deg,#1f5ca8,#174985);
  border-radius:999px}
a.btn-dark::hover {
  color:var(--azul)!important}
.btn-outline-dark {
  background-color:var(--blanco);
  border:1px solid var(--amarillo);
  color:var(--azul);
  border-radius:999px}
.btn-outline-dark a {
  color:var(--azul)!important}
.btn-outline-dark .stripe {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:center;
  gap:clamp(18px,3vw,40px);
  padding:var(--pad)}
.stripe__media {
  position:relative;
  border-radius:24px;
  overflow:hidden;
  min-height:46vh;
  box-shadow:0 24px 60px #0000002e}
.stripe__media>picture,.stripe__media>img {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block}
.stripe .eyebrow {
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--amarillo);
  display:block;
  margin-bottom:.3rem}
.stripe h3 {
  color:var(--ink);
  font-size:clamp(26px,4vw,40px);
  margin:0 0 .4rem;
  font-size:25px}
@media (max-width: 991.98px) {
  .stripe,.stripe--reverse {
  grid-template-columns:1fr}
.stripe--reverse .stripe__media,.stripe--reverse .stripe__content {
  order:initial}
.stripe__media {
  min-height:38vh}}
@supports (aspect-ratio: 1) {
  @media (max-width: 575.98px) {
  .stripe__media {
  min-height:auto;
  aspect-ratio:16 / 11}}}
:root {
  --ink: #0a295b;
  --muted: #475569;
  --bg: #f8fafc;
  --pad: clamp(24px, 5vw, 64px)}
.services-stripes {
  background:var(--bg)}
.stripe {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:center;
  gap:clamp(18px,3vw,40px);
  padding:var(--pad)}
.stripe--reverse {
  grid-template-columns:1fr 1.1fr}
.stripe--reverse .stripe__media {
  order:2}
.stripe--reverse .stripe__content {
  order:1}
.stripe__media {
  border-radius:24px;
  overflow:hidden;
  min-height:46vh;
  background-image:var(--img);
  background-size:cover;
  background-position:center;
  box-shadow:0 24px 60px #0000002e;
  position:relative}
.stripe__media:after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:linear-gradient(180deg,#00000026,#0000000d 50%,#00000026);
  pointer-events:none}
.stripe__content {
  padding:clamp(10px,2vw,16px)}
.stripe .eyebrow {
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  color:#caa24a;
  display:block;
  margin-bottom:.3rem}
.stripe h3 {
  font-weight:800;
  color:var(--ink);
  font-size:clamp(26px,4vw,40px);
  margin:0 0 .4rem}
.stripe p {
  color:var(--muted);
  margin:0 0 1rem;
  line-height:1.6}
@media (max-width: 991.98px) {
  .stripe,.stripe--reverse {
  grid-template-columns:1fr}
.stripe--reverse .stripe__media,.stripe--reverse .stripe__content {
  order:initial}
.stripe__media {
  min-height:auto;
  aspect-ratio:16 / 11}}
:root {
  --gold: #ffb703;
  --gold-2: #ffd166;
  --ink: #0a295b;
  --text: #1e293b;
  --muted: #64748b;
  --card-bg: #ffffff;
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .18);
  --shadow-md: 0 14px 30px rgba(0, 0, 0, .12);
  --radius: 22px;
  --media-h: clamp(180px, 28vh, 260px)}
.services-gallery .eyebrow {
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  color:#a3a3a3;
  display:block;
  margin-bottom:.4rem}
.services-gallery .section-title {
  font-weight:800;
  color:var(--ink)}
.service-card {
  position:relative;
  display:grid;
  grid-template-rows:var(--media-h) auto;
  min-height:320px;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--card-bg);
  text-decoration:none;
  box-shadow:var(--shadow-md);
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
  color:inherit;
  height:100%}
.service-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg)}
.service-img {
  overflow:hidden;
  border-radius:14px 14px 0 0}
.service-img:after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:linear-gradient(180deg,#00000026,#0000 30%),linear-gradient(180deg,#0000 55%,#00000038);
  pointer-events:none}
.service-img img {
  width:100%;
  height:260px;
  object-fit:cover;
  transition:transform .4s ease}
.service-card:hover .service-img img {
  transform:scale(1.05)}
.service-content {
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:6px}
.service-content h3 {
  font-size:1.22rem!important;
  font-weight:800;
  color:var(--ink);
  margin:2px 0 4px}
.service-content p {
  color:var(--muted);
  margin:0;
  line-height:1.55;
  font-size:14px}
.badge-gold {
  align-self:flex-start;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  color:#0b0b0b;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  box-shadow:0 6px 16px #ffb70359}
.service-card:hover .service-img {
  transform:scale(1.03);
  transition:transform .6s cubic-bezier(.2,.8,.2,1)}
@media (max-width: 575.98px) {
  :root {
  --media-h: clamp(160px, 32vh, 220px)}
.service-card {
  min-height:280px;
  border-radius:18px}
.service-content {
  padding:16px}
.service-content h3 {
  font-size:1.1rem}}
.service-card.horizontal {
  display:grid;
  grid-template-columns:minmax(180px,42%) 1fr;
  grid-template-rows:auto;
  min-height:260px}
.service-card.horizontal .service-img {
  height:auto;
  min-height:100%}
.service-card.horizontal .service-content {
  padding:18px 20px}
@media (prefers-reduced-motion: reduce) {
  .service-card,.service-card:hover,.service-img {
  transition:none!important}
.service-card:hover .service-img {
  transform:none}}
:root {
  --azul: #0a295b;
  --amarillo: #ffb703;
  --amarillo-2: #ffd166;
  --ink: #0a295b;
  --muted: #475569;
  --surface: #ffffff;
  --shadow: 0 10px 30px rgba(0, 0, 0, .08)}
.contacto-section {
  background:linear-gradient(135deg,#fffefd,#fff6d6 45%,#ffe6a8)}
.contact-card {
  background:var(--surface);
  border:1px solid rgba(255,183,3,.35);
  border-radius:16px;
  box-shadow:var(--shadow)}
@media (min-width: 768px) {
  .border-end-md {
  border-right:1px dashed rgba(10,41,91,.12)}}
@media (min-width: 1200px) {
  .border-end-xl {
  border-right:1px dashed rgba(10,41,91,.12)}}
.contact-subtitle {
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--azul);
  font-weight:800;
  font-size:clamp(20px,2.2vw,24px);
  margin:0}
.icon-badge {
  width:44px;
  height:44px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:radial-gradient(circle at 30% 30%,var(--amarillo-2),var(--amarillo));
  box-shadow:0 8px 18px #ffb7034d,inset 0 0 0 3px #fff}
.ul-contact li {
  padding:.35rem 0 .35rem 1.65rem;
  position:relative;
  color:var(--ink)}
.ul-contact li a {
  color:#1c4a82;
  text-decoration:none}
.ul-contact li a:hover {
  text-decoration:underline}
.ul-contact li:before {
  content:"";
  position:absolute;
  left:0;
  top:.65rem;
  width:10px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,var(--amarillo-2),var(--amarillo));
  box-shadow:0 6px 12px #ffb70359}
.map-wrap {
  aspect-ratio:16 / 9;
  background:#f6f7fb}
.map-wrap iframe {
  width:100%;
  height:100%;
  border:0;
  display:block}
.contact-logo {
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.08))}
.photo-frame {
  overflow:hidden}
.photo-frame img {
  display:block;
  width:100%;
  height:auto;
  transform:scale(1.0001);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.photo-frame:hover img {
  transform:scale(1.03)}
.guiones-titulo {
  align-items:center;
  position:relative;
  margin:0 auto 12px;
  line-height:1.2}
.guiones-titulo:before,.guiones-titulo:after {
  content:"";
  width:40px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--amarillo),var(--amarillo-2));
  opacity:.85}
@media (max-width: 575.98px) {
  .guiones-titulo:before,.guiones-titulo:after {
  width:54px}}
.section_title>span {
  letter-spacing:.25em;
  text-transform:uppercase;
  color:#caa24a;
  font-weight:700}
.section_title>p {
  color:#556276}
.azul {
  color:var(--azul)}
@media (prefers-reduced-motion: reduce) {
  .photo-frame img {
  transition:none!important}}
.toc-toggle-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:fit-content;
  margin:16px auto 0;
  padding:10px 18px;
  background:#fff;
  border:1px solid #1f4e8c;
  border-radius:30px;
  color:#1f4e8c;
  font-weight:600;
  cursor:pointer;
  transition:all .2s ease}
.toc-toggle-btn:hover {
  background:#1f4e8c;
  color:#fff}
.toc-toggle-arrow {
  font-size:12px;
  line-height:1}
#tableOfContents {
  text-align:center}
#tableOfContents .toc-list,#tableOfContents .toc-hidden-list {
  text-align:left}
#tableOfContents {
  max-width:980px;
  margin:25px auto;
  padding:32px 34px 28px;
  background:linear-gradient(180deg,#f8faff,#eef4fb);
  border:1px solid #dbe7f5;
  border-radius:24px;
  box-shadow:0 10px 30px #0f346014}
#tableOfContents .toc-list,#tableOfContents .toc-hidden-list {
  margin:0;
  padding:0;
  list-style:none}
#tableOfContents .toc-list li,#tableOfContents .toc-hidden-list li {
  margin:0 0 12px}
#tableOfContents .toc-list li:last-child,#tableOfContents .toc-hidden-list li:last-child {
  margin-bottom:0}
#tableOfContents .toc-list a,#tableOfContents .toc-hidden-list a {
  position:relative;
  display:block;
  padding:14px 18px 14px 48px;
  background:#ffffffb8;
  border:1px solid #d9e6f4;
  border-radius:16px;
  color:#174f96;
  font-size:1.1rem;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
  box-shadow:0 4px 14px #1244780a}
#tableOfContents .toc-list a:before,#tableOfContents .toc-hidden-list a:before {
  content:"";
  position:absolute;
  top:50%;
  left:18px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff7a30,#ffb36b);
  transform:translateY(-50%);
  box-shadow:0 0 0 4px #ff7a301f}
#tableOfContents .toc-list a:hover,#tableOfContents .toc-hidden-list a:hover {
  transform:translateY(-2px);
  background:#fff;
  border-color:#bfd5ee;
  box-shadow:0 10px 24px #1244781a;
  color:#0f3f7c}
.toc-hidden-list {
  margin-top:12px!important}
.toc-toggle-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:230px;
  padding:12px 22px;
  background:linear-gradient(135deg,#1f5ca8,#174985);
  border:0;
  border-radius:999px;
  color:#fff;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 12px 24px #17498533;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
  margin-top:30px}
.toc-toggle-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 28px #17498540}
.toc-toggle-btn:active {
  transform:translateY(0)}
.toc-toggle-arrow {
  font-size:.9rem;
  line-height:1;
  transition:transform .25s ease}
.toc-toggle-btn[aria-expanded=true] .toc-toggle-arrow {
  transform:rotate(180deg)}
@media (max-width: 767.98px) {
  #tableOfContents {
  margin:24px auto;
  padding:24px 18px 22px;
  border-radius:20px}
#tableOfContents .toc-list a,#tableOfContents .toc-hidden-list a {
  padding:13px 14px 13px 42px;
  font-size:1rem;
  border-radius:14px}
#tableOfContents .toc-list a:before,#tableOfContents .toc-hidden-list a:before {
  left:15px;
  width:12px;
  height:12px}
.toc-toggle-btn {
  width:100%;
  min-width:0;
  max-width:320px;
  padding:12px 18px}}
#recentArticlesAside .bg-light.p-4 {
  padding:30px!important;
  background:linear-gradient(180deg,#f7f9fc,#eef3f9)!important;
  border:1px solid #d7e1ee;
  border-radius:28px;
  box-shadow:0 14px 34px #10345c14}
#recentArticlesAside .guiones-titulo {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0 0 10px;
  text-align:center;
  font-size:clamp(1.45rem,2vw,1.6rem);
  line-height:1.1;
  font-weight:700;
  color:var(--azulo, #0e2b55);
  letter-spacing:1.2px}
#recentArticlesAside .guiones-titulo:before,#recentArticlesAside .guiones-titulo:after {
  content:"";
  flex:1 1 auto;
  max-width:72px;
  height:1px;
  background:#f07c2f}
#recentArticlesAside .guiones-titulo:before {
  left:0}
#recentArticlesAside .guiones-titulo:after {
  right:0}
#recentArticlesAside #recentArticles {
  list-style:none;
  margin:0;
  padding:18px 0;
  background:#ffffff59;
  border-radius:24px}
#recentArticlesAside #recentArticles li {
  margin-bottom:14px}
#recentArticlesAside #recentArticles li:last-child {
  margin-bottom:0}
#recentArticlesAside #recentArticles a {
  position:relative;
  display:block;
  padding:18px 20px 18px 58px;
  background:#ffffffb8;
  border:1px solid #cfdae8;
  border-radius:18px;
  color:#1d57a0;
  text-decoration:none;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.45;
  box-shadow:0 4px 14px #1244780a;
  transition:all .25s ease}
#recentArticlesAside #recentArticles a:before {
  content:"";
  position:absolute;
  top:50%;
  left:20px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff7f32,#f2a45a);
  transform:translateY(-50%);
  box-shadow:0 0 0 6px #ff7f3221}
#recentArticlesAside #recentArticles a:hover {
  transform:translateY(-2px);
  background:#fff;
  border-color:#bdd0e7;
  color:#103f7e;
  box-shadow:0 12px 24px #1244781a}
@media (max-width: 991.98px) {
  #recentArticlesAside .bg-light.p-4 {
  padding:22px!important;
  border-radius:22px}
#recentArticlesAside .guiones-titulo {
  font-size:2rem;
  margin-bottom:20px}
#recentArticlesAside .guiones-titulo:before,#recentArticlesAside .guiones-titulo:after {
  width:16%}
#recentArticlesAside #recentArticles {
  padding:14px 12px;
  border-radius:18px}
#recentArticlesAside #recentArticles a {
  padding:16px 16px 16px 48px;
  font-size:1rem;
  border-radius:16px}
#recentArticlesAside #recentArticles a:before {
  left:16px;
  width:12px;
  height:12px;
  box-shadow:0 0 0 5px #ff7f3221}}
@media (max-width: 575.98px) {
  #recentArticlesAside .guiones-titulo {
  font-size:1.45rem;
  line-height:1.15;
  margin-bottom:18px}
#recentArticlesAside .guiones-titulo:before,#recentArticlesAside .guiones-titulo:after {
  width:20%}}


.fg-mobile-cta {
  display:none}
@media (max-width: 767.98px) {
  .fg-mobile-cta {
  position:fixed;
  left:12px;
  right:12px;
  bottom:14px;
  z-index:9999;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:8px;
  background:#fffffff5;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 12px 35px #00000038;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px)}
.fg-mobile-cta__btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:48px;
  padding:10px 12px;
  border-radius:14px;
  font-size:15px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease}
.fg-mobile-cta__btn:hover,.fg-mobile-cta__btn:focus {
  transform:translateY(-1px);
  text-decoration:none}
.fg-mobile-cta__call {
  color:var(--azul);
  background:var(--amarillo);
  box-shadow:0 8px 18px #8b1e1e47}
.fg-mobile-cta__map {
  color:#fff;
  background:#1f2933;
  box-shadow:0 8px 18px #1f293340}
body {
  padding-bottom:88px}}
/*!

/* Honeypot antispam del formulario de contacto: oculto para personas,
   visible en el DOM para los bots. No usar display:none, algunos bots lo detectan. */
.hp-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Iconos que faltaban en el subset local (antes se cargaba Font Awesome entera desde CDN) */


