/* ===== SOURCE: styles.css ===== */
:root {
  --blue: #123b63;
  --blue2: #18568d;
  --green: #16744a;
  --ink: #172333;
  --muted: #617084;
  --line: #dce4ec;
  --soft: #f4f8fb;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.55;
}

a {
  color: inherit;
}

.container {
  width: min(1160px, 92%);
  margin: auto;
}

.topbar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 10;
}

.nav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--blue);
  color: white;
  font-size: 24px;
  font-weight: 800;
}

.brand strong,
.brand small {
  display: block;
}

.brand small {
  color: var(--muted);
  margin-top: 2px;
}

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

nav a {
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}

.hero {
  background:
    radial-gradient(circle at 85% 15%, #d8eee3 0, transparent 25%),
    linear-gradient(135deg, #f7fafc 0%, #edf5fa 100%);
  padding: 95px 0;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
  align-items: center;
}

.eyebrow {
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

h1 {
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.03;
  margin: 18px 0 22px;
  letter-spacing: -.035em;
}

h1 span {
  color: var(--blue2);
  display: block;
}

.hero-copy {
  max-width: 700px;
  font-size: 19px;
  color: var(--muted);
}

.actions {
  display: flex;
  gap: 12px;
  margin: 30px 0 18px;
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  border-radius: 12px;
  padding: 13px 20px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid transparent;
}

.btn-primary {
  background: var(--blue);
  color: white;
}

.btn-secondary {
  background: white;
  border-color: var(--line);
}

.btn-outline {
  border-color: var(--blue);
  color: var(--blue);
  padding: 9px 14px;
}

.btn-light {
  background: white;
  color: var(--blue);
}

.disclaimer {
  color: var(--muted);
  font-size: 12px;
}

.welcome-card {
  background: white;
  padding: 34px;
  border-radius: 24px;
  box-shadow: 0 25px 70px rgba(23,35,51,.12);
  border: 1px solid rgba(220,228,236,.8);
}

.card-label,
.badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--green);
  background: #e8f5ee;
  padding: 6px 9px;
  border-radius: 999px;
}

.welcome-card h2 {
  margin: 13px 0 25px;
}

.mini-feature {
  display: flex;
  gap: 14px;
  padding: 15px 0;
  border-top: 1px solid var(--line);
}

.mini-feature span {
  font-size: 25px;
}

.mini-feature strong,
.mini-feature small {
  display: block;
}

.mini-feature small {
  color: var(--muted);
}

.section {
  padding: 90px 0;
}

.section-soft {
  background: var(--soft);
}

.section-heading {
  max-width: 760px;
  margin-bottom: 42px;
}

.section-heading h2 {
  font-size: 38px;
  line-height: 1.1;
  margin: 12px 0;
}

.section-heading p {
  color: var(--muted);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.feature-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 27px;
  background: white;
}

.feature-card.cetc {
  border-top: 5px solid var(--green);
}

.feature-card .icon {
  font-size: 30px;
  margin-bottom: 15px;
}

.feature-card h3 {
  font-size: 21px;
}

.feature-card p {
  color: var(--muted);
}

.feature-card a {
  color: var(--blue2);
  font-weight: 800;
  text-decoration: none;
}

.countries {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 20px 0;
}

.countries span {
  background: var(--soft);
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.service-grid article {
  background: white;
  padding: 25px;
  border-radius: 17px;
  border: 1px solid var(--line);
}

.service-grid article > span {
  font-size: 29px;
}

.service-grid h3 {
  margin-bottom: 7px;
}

.service-grid p {
  color: var(--muted);
  margin-bottom: 0;
}

.cta {
  background: var(--blue);
  color: white;
  padding: 65px 0;
}

.cta .eyebrow {
  color: #aee0c5;
}

.cta h2 {
  font-size: 38px;
  margin: 8px 0;
}

.cta p {
  color: #dbe7f2;
}

.cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

footer {
  padding: 38px 0;
  border-top: 1px solid var(--line);
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.footer-grid p {
  color: var(--muted);
}

.footer-grid a {
  margin-left: 20px;
  color: var(--muted);
}

@media (max-width: 850px) {
  nav > a:not(.btn) {
    display: none;
  }

  .hero-grid,
  .feature-grid,
  .service-grid {
    grid-template-columns: 1fr;
  }

  .hero {
    padding: 65px 0;
  }

  .cta-inner,
  .footer-grid {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ==========================================
   BAGUET ANIMATED BRAND
   ========================================== */

.brand-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  flex-shrink: 0;
  animation: baguetFloat 3.2s ease-in-out infinite;
  filter: drop-shadow(0 8px 8px rgba(18,59,99,.18));
  transform-origin: center;
}

@keyframes baguetFloat {
  0%, 100% {
    transform: translateY(0) rotate(-2deg);
  }

  50% {
    transform: translateY(-7px) rotate(2deg);
  }
}

.brand:hover .brand-logo {
  animation: baguetHello .7s ease-in-out;
}

@keyframes baguetHello {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(-7deg) scale(1.05); }
  50% { transform: rotate(7deg) scale(1.08); }
  75% { transform: rotate(-4deg) scale(1.05); }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo {
    animation: none;
  }
}

html{
 scroll-behavior:smooth;
}

#migracion{
 scroll-margin-top:100px;
}


/* BAGUET RELEASE 2026-10-13: mobile overflow fix */
body{overflow-x:hidden}
@media(max-width:850px){
  .container{width:min(100% - 24px,1160px)}
  .nav{min-height:68px;gap:8px;flex-wrap:wrap;padding:8px 0}
  .brand{min-width:0;flex:1 1 150px}
  .brand-logo{width:42px;height:42px}
  .brand small{display:none}
  nav{margin-left:auto;gap:6px;max-width:100%;flex-wrap:nowrap}
  #languageSwitcher{gap:4px!important}
  #languageSwitcher .language-option{font-size:0!important;padding:8px 9px!important}
  #languageSwitcher .language-option[data-language=es]::after{content:'ES';font-size:12px}
  #languageSwitcher .language-option[data-language=en]::after{content:'EN';font-size:12px}
  nav .btn{padding:9px 10px;font-size:12px;white-space:nowrap}
}
@media(max-width:430px){
  .brand strong{font-size:13px}
  .nav{align-items:center}
}


/* ===== SOURCE: robot.css ===== */
/* BAGUET COSTA RICA - ROBOT GRANDE ANIMADO */

.hero-brand-area {
  position: relative;
  min-height: 590px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.hero-robot-wrap {
  position: absolute;
  z-index: 2;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: min(500px, 43vw);
  height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-robot {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 470px;
  height: auto;
  object-fit: contain;
  animation: baguetHeroFloat 3.8s ease-in-out infinite;
  filter: drop-shadow(0 25px 22px rgba(18,59,99,.24));
}

.robot-glow {
  position: absolute;
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255,215,0,.30) 0%,
    rgba(68,191,218,.15) 45%,
    transparent 72%
  );
  animation: robotGlow 4s ease-in-out infinite;
}

.hero-brand-area .welcome-card {
  position: relative;
  z-index: 3;
  width: 100%;
  margin-top: 300px;
}

@keyframes baguetHeroFloat {
  0%,100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-22px) rotate(2deg);
  }
}

@keyframes robotGlow {
  0%,100% {
    transform: scale(.94);
    opacity: .55;
  }
  50% {
    transform: scale(1.08);
    opacity: 1;
  }
}

.hero-robot:hover {
  animation: baguetHello .75s ease-in-out;
}

@keyframes baguetHello {
  0%,100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(-7deg) scale(1.05); }
  50% { transform: rotate(7deg) scale(1.08); }
  75% { transform: rotate(-4deg) scale(1.05); }
}

@media (max-width:850px) {
  .hero-brand-area {
    min-height: auto;
    display: block;
  }

  .hero-robot-wrap {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: min(390px,90vw);
    height: auto;
    margin: 30px auto 5px;
  }

  .hero-brand-area .welcome-card {
    margin-top: 10px;
  }

  .robot-glow {
    width: 260px;
    height: 260px;
  }
}


/* ===== SOURCE: bcr-v2.css ===== */
/* =========================================================
   BAGUET COSTA RICA V2
   Un nuevo país. Un nuevo comienzo. No estás solo.
   ========================================================= */

:root {
  --bcr-navy:#102f53;
  --bcr-blue:#175d96;
  --bcr-sky:#45bfd5;
  --bcr-green:#11875d;
  --bcr-green2:#42b883;
  --bcr-yellow:#ffd84a;
  --bcr-coral:#ff806c;
  --bcr-cream:#fffdf7;
}

/* ---------- HERO V2 ---------- */

.hero {
  position:relative;
  overflow:hidden;
  padding:95px 0 110px;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,216,74,.28),transparent 22%),
    radial-gradient(circle at 91% 55%,rgba(69,191,213,.24),transparent 28%),
    radial-gradient(circle at 10% 82%,rgba(66,184,131,.18),transparent 27%),
    linear-gradient(135deg,#fffdf7 0%,#f2fbf7 45%,#eaf8fb 100%);
}

.hero::before {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  border:1px solid rgba(17,135,93,.12);
  left:-220px;
  bottom:-220px;
}

.hero::after {
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  border-radius:50%;
  border:1px solid rgba(23,93,150,.10);
  right:-290px;
  top:-300px;
}

.hero-grid {
  position:relative;
  z-index:2;
}

/* ---------- NUEVO SLOGAN ---------- */

.bcr-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(17,135,93,.09);
  border:1px solid rgba(17,135,93,.16);
  color:var(--bcr-green);
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.bcr-slogan {
  margin:19px 0 20px;
  max-width:720px;
  font-size:clamp(46px,5.1vw,72px);
  line-height:.99;
  letter-spacing:-.045em;
  color:var(--bcr-navy);
}

.bcr-slogan .begin {
  color:var(--bcr-blue);
}

.bcr-slogan .alone {
  color:var(--bcr-green);
}

.bcr-intro {
  max-width:680px;
  font-size:18px;
  line-height:1.7;
  color:#52677a;
}

.bcr-service-line {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:23px 0 27px;
}

.bcr-service-line span {
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(16,47,83,.10);
  color:#38566d;
  font-size:12px;
  font-weight:800;
}

/* ---------- ESCENARIO DEL ROBOT ---------- */

.hero-brand-area {
  position:relative;
  min-height:610px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate;
}

.hero-robot-wrap {
  position:absolute;
  z-index:2;
  top:-75px;
  left:50%;
  transform:translateX(-50%);
  width:min(515px,44vw);
  height:455px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Anillo exterior */
.hero-robot-wrap::before {
  content:"";
  position:absolute;
  width:410px;
  height:410px;
  border-radius:50%;
  border:2px solid rgba(23,93,150,.13);
  box-shadow:
    0 0 0 14px rgba(255,255,255,.18),
    0 0 70px rgba(69,191,213,.15);
  animation:bcrOrbitPulse 4.5s ease-in-out infinite;
}

/* Segundo anillo */
.hero-robot-wrap::after {
  content:"✦  ·  ★  ·  ✦  ·  ★  ·  ✦  ·  ★";
  position:absolute;
  width:455px;
  height:455px;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top:3px;
  box-sizing:border-box;
  color:rgba(23,93,150,.50);
  font-size:15px;
  letter-spacing:16px;
  animation:bcrStarsRotate 18s linear infinite;
}

/* Estrellas decorativas adicionales */
.robot-glow::before {
  content:"★";
  position:absolute;
  left:-38px;
  top:80px;
  color:var(--bcr-yellow);
  font-size:23px;
  animation:bcrTwinkle 2.3s ease-in-out infinite;
}

.robot-glow::after {
  content:"✦";
  position:absolute;
  right:-48px;
  bottom:78px;
  color:var(--bcr-green2);
  font-size:28px;
  animation:bcrTwinkle 2.8s ease-in-out infinite reverse;
}

.robot-glow {
  position:absolute;
  width:355px;
  height:355px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,216,74,.35) 0%,
      rgba(69,191,213,.17) 43%,
      rgba(66,184,131,.08) 60%,
      transparent 72%);
  animation:robotGlow 4s ease-in-out infinite;
}

.hero-robot {
  position:relative;
  z-index:3;
  width:100%;
  max-width:485px;
  height:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 26px 24px rgba(16,47,83,.23));
  animation:bcrRobotHide 4.2s ease-in-out infinite;
}

/* La tarjeta queda delante del robot */
.hero-brand-area .welcome-card {
  position:relative;
  z-index:5;
  width:100%;
  margin-top:295px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:
    0 30px 80px rgba(16,47,83,.16),
    0 8px 25px rgba(16,47,83,.08);
  backdrop-filter:blur(10px);
}

.hero-brand-area .welcome-card::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:linear-gradient(
    90deg,
    var(--bcr-green),
    var(--bcr-sky),
    var(--bcr-yellow)
  );
}

/* ---------- MOVIMIENTO ---------- */

@keyframes bcrRobotHide {
  0%,100% {
    transform:translateY(-9px) rotate(-2deg);
  }

  50% {
    transform:translateY(42px) rotate(2deg);
  }
}

@keyframes bcrStarsRotate {
  from { transform:rotate(0deg); }
  to   { transform:rotate(360deg); }
}

@keyframes bcrOrbitPulse {
  0%,100% {
    transform:scale(.96);
    opacity:.55;
  }

  50% {
    transform:scale(1.04);
    opacity:1;
  }
}

@keyframes bcrTwinkle {
  0%,100% {
    opacity:.35;
    transform:scale(.75) rotate(0deg);
  }

  50% {
    opacity:1;
    transform:scale(1.25) rotate(15deg);
  }
}

/* ---------- BOTONES ---------- */

.hero .btn-primary {
  background:linear-gradient(135deg,var(--bcr-blue),var(--bcr-navy));
  box-shadow:0 12px 30px rgba(23,93,150,.20);
  transition:.25s ease;
}

.hero .btn-primary:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(23,93,150,.28);
}

.hero .btn-secondary {
  transition:.25s ease;
}

.hero .btn-secondary:hover {
  transform:translateY(-3px);
  border-color:rgba(17,135,93,.35);
}

/* ---------- TARJETAS CON VIDA ---------- */

.feature-card,
.service-grid article {
  position:relative;
  overflow:hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.feature-card:hover,
.service-grid article:hover {
  transform:translateY(-8px);
  border-color:rgba(69,191,213,.40);
  box-shadow:0 22px 45px rgba(16,47,83,.11);
}

.feature-card::after,
.service-grid article::after {
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-45px;
  bottom:-45px;
  border-radius:50%;
  background:rgba(69,191,213,.07);
  transition:.3s ease;
}

.feature-card:hover::after,
.service-grid article:hover::after {
  transform:scale(1.8);
}

/* ---------- MOBILE ---------- */

@media(max-width:850px) {

  .bcr-slogan {
    font-size:clamp(42px,12vw,58px);
  }

  .hero-brand-area {
    min-height:auto;
    display:block;
  }

  .hero-robot-wrap {
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:min(400px,92vw);
    height:390px;
    margin:25px auto -70px;
  }

  .hero-robot-wrap::before {
    width:310px;
    height:310px;
  }

  .hero-robot-wrap::after {
    width:350px;
    height:350px;
  }

  .hero-brand-area .welcome-card {
    margin-top:0;
  }

  .robot-glow {
    width:280px;
    height:280px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .hero-robot,
  .hero-robot-wrap::before,
  .hero-robot-wrap::after,
  .robot-glow,
  .robot-glow::before,
  .robot-glow::after {
    animation:none;
  }
}

/* =========================================================
   BCR V2.1 - AJUSTE DE PROFUNDIDAD DEL ROBOT
   ========================================================= */

/* Más espacio para que respire el personaje */
.hero-brand-area {
  min-height: 640px;
}

/* Subimos el escenario completo */
.hero-robot-wrap {
  top: -105px;
  width: min(535px, 46vw);
  height: 475px;
}

/* Robot un poco más grande */
.hero-robot {
  max-width: 510px;
}

/* La tarjeta baja para ocultar solamente la base del robot */
.hero-brand-area .welcome-card {
  margin-top: 385px;
}

/* Movimiento: baja detrás del portal, pero mucho menos */
@keyframes bcrRobotHide {
  0%,100% {
    transform: translateY(-20px) rotate(-2deg);
  }

  50% {
    transform: translateY(15px) rotate(2deg);
  }
}

/* Órbita ligeramente mayor */
.hero-robot-wrap::before {
  width: 435px;
  height: 435px;
}

.hero-robot-wrap::after {
  width: 485px;
  height: 485px;
}

/* En móvil tampoco esconder demasiado */
@media(max-width:850px) {

  .hero-brand-area {
    min-height:auto;
  }

  .hero-robot-wrap {
    top:auto;
    width:min(410px,92vw);
    height:390px;
    margin:25px auto -25px;
  }

  .hero-brand-area .welcome-card {
    margin-top:0;
  }
}



/* ===== SOURCE: bcr-v22.css ===== */
/* BAGUET COSTA RICA V2.2 */

.language-switcher {
  position: relative;
  margin-left: 4px;
}

.language-button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #dce4ec;
  background: #fff;
  color: #17324d;
  border-radius: 12px;
  padding: 9px 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 5px 16px rgba(16,47,83,.06);
}

.language-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  min-width: 175px;
  padding: 7px;
  background: white;
  border: 1px solid #dce4ec;
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(16,47,83,.16);
  display: none;
  z-index: 100;
}

.language-menu.open {
  display: block;
}

.language-option {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 9px;
  padding: 10px 11px;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}

.language-option:hover,
.language-option.active {
  background: #eef8f4;
  color: #11875d;
}

.about-section {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  background:
    radial-gradient(circle at 8% 20%, rgba(66,184,131,.10), transparent 25%),
    radial-gradient(circle at 92% 80%, rgba(69,191,213,.12), transparent 25%),
    #ffffff;
}

.about-intro {
  max-width: 850px;
  margin-bottom: 45px;
}

.about-intro h2 {
  margin: 12px 0 18px;
  font-size: clamp(34px,4vw,52px);
  line-height: 1.08;
  letter-spacing: -.03em;
  color: #102f53;
}

.about-intro .belief {
  font-size: 21px;
  line-height: 1.65;
  color: #52677a;
}

.about-quote {
  margin: 30px 0 0;
  padding: 22px 25px;
  border-left: 5px solid #11875d;
  background: #f1faf6;
  border-radius: 0 16px 16px 0;
  font-size: 19px;
  font-weight: 800;
  color: #174d3b;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.value-card {
  position: relative;
  padding: 30px;
  border: 1px solid #dce4ec;
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 35px rgba(16,47,83,.06);
  transition: .28s ease;
}

.value-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 48px rgba(16,47,83,.11);
}

.value-card .value-icon {
  font-size: 31px;
  display: block;
  margin-bottom: 14px;
}

.value-card h3 {
  margin: 0 0 10px;
  color: #102f53;
}

.value-card p {
  margin: 0;
  color: #617084;
}

.family-banner {
  margin-top: 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border-radius: 20px;
  background: linear-gradient(135deg,#102f53,#175d96);
  color: white;
}

.family-banner > span {
  font-size: 38px;
}

.family-banner strong {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
}

.family-banner p {
  margin: 0;
  color: #dbeaf5;
}

@media(max-width:950px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}

@media(max-width:850px) {
  .language-switcher {
    margin-left: auto;
  }

  .language-button {
    padding: 8px 10px;
    font-size: 12px;
  }

  .family-banner {
    grid-template-columns: 1fr;
  }
}

.bcr-center-nav{
 max-width:1180px;
 margin:0 auto;
 padding:20px 24px 0;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
}

.bcr-center-nav a{
 text-decoration:none;
 color:#123c65;
 font-weight:800;
 padding:10px 12px;
 border-radius:11px;
 transition:.2s ease;
}

.bcr-center-nav a:hover{
 background:#eaf6f1;
 color:#08754f;
}

.bcr-nav-home{
 border:1px solid #dce7eb;
 background:white;
}

.bcr-nav-right{
 display:flex;
 align-items:center;
 gap:6px;
}

@media(max-width:750px){

 .bcr-center-nav{
   align-items:flex-start;
   flex-direction:column;
 }

 .bcr-nav-right{
   width:100%;
   overflow-x:auto;
 }

 .bcr-nav-right a{
   white-space:nowrap;
 }

}



/* ===== SOURCE: flags.css ===== */
/* ==========================================================
   BAGUET COSTA RICA - BANDERAS ANIMADAS V1
   ========================================================== */

.bcr-country-grid {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}

.bcr-flag-option {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 13px 9px 10px;
  background:#f8fbfc;
  border:1px solid #dfe9ee;
  border-radius:13px;
  color:#17324d;
  font-weight:800;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.bcr-flag-option:hover {
  transform:translateY(-4px);
  border-color:rgba(17,135,93,.35);
  box-shadow:0 12px 25px rgba(16,47,83,.12);
}

.bcr-flag-pole {
  position:relative;
  width:48px;
  height:35px;
  flex:0 0 48px;
  perspective:130px;
}

/* Mástil */
.bcr-flag-pole::before {
  content:"";
  position:absolute;
  left:1px;
  top:-3px;
  width:2px;
  height:40px;
  border-radius:3px;
  background:
    linear-gradient(
      90deg,
      #657783,
      #d3dce1,
      #657783
    );
}

/* Punta dorada */
.bcr-flag-pole::after {
  content:"";
  position:absolute;
  left:-1px;
  top:-7px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#e2b63d;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
}

.bcr-flag {
  position:absolute;
  left:4px;
  top:1px;
  width:42px;
  height:30px;
  overflow:hidden;
  transform-origin:left center;
  animation:bcrFlagWave 2.7s ease-in-out infinite;
  filter:drop-shadow(0 3px 3px rgba(16,47,83,.17));
}

.bcr-flag img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform-origin:left center;
  animation:bcrFlagFabric 2.7s ease-in-out infinite;
}

@keyframes bcrFlagWave {
  0%,100% {
    transform:rotateY(0deg) skewY(0deg);
  }

  25% {
    transform:rotateY(-13deg) skewY(1.5deg);
  }

  50% {
    transform:rotateY(9deg) skewY(-1deg);
  }

  75% {
    transform:rotateY(-7deg) skewY(1deg);
  }
}

@keyframes bcrFlagFabric {
  0%,100% {
    transform:scaleX(1);
  }

  50% {
    transform:scaleX(.92);
  }
}

.bcr-flag-option:hover .bcr-flag,
.bcr-flag-option:hover .bcr-flag img {
  animation-duration:1.4s;
}

.bcr-country-name {
  font-size:13px;
  white-space:nowrap;
}

@media(max-width:650px) {
  .bcr-country-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .bcr-flag-option {
    width:100%;
    box-sizing:border-box;
  }
}

@media(prefers-reduced-motion:reduce) {
  .bcr-flag,
  .bcr-flag img {
    animation:none;
  }
}


/* ===== SOURCE: whatsapp.css ===== */
/* ==========================================================
   BAGUET COSTA RICA - GLOBAL WHATSAPP
   ========================================================== */

.bcr-whatsapp-float{
 position:fixed;
 right:24px;
 bottom:24px;
 z-index:9999;

 display:flex;
 align-items:center;
 gap:10px;

 padding:13px 17px;

 background:#168b62;
 color:white;

 border-radius:999px;

 text-decoration:none;
 font-weight:900;

 box-shadow:
  0 12px 30px rgba(0,0,0,.18);

 transition:
  transform .2s ease,
  box-shadow .2s ease;
}

.bcr-whatsapp-float:hover{
 transform:translateY(-4px);
 box-shadow:
  0 17px 38px rgba(0,0,0,.22);
}

.bcr-whatsapp-icon{
 display:grid;
 place-items:center;

 width:30px;
 height:30px;

 border-radius:50%;
 background:white;
 color:#168b62;

 font-size:17px;
}

@media(max-width:600px){

 .bcr-whatsapp-float{
   right:14px;
   bottom:14px;
   padding:11px 14px;
 }

 .bcr-whatsapp-text{
   font-size:13px;
 }

}

/* Mobile: compact bubble so it does not cover primary CTAs */
@media(max-width:600px){.bcr-whatsapp-float{width:52px;height:52px;padding:0;right:12px;bottom:12px;justify-content:center}.bcr-whatsapp-text{display:none}.bcr-whatsapp-icon{width:34px;height:34px}}


/* ===== SOURCE: one-page.css ===== */
/* ==========================================================
   BAGUET COSTA RICA - ONE PAGE FINAL
   ========================================================== */

.bcr-wrap{
 max-width:1180px;
 margin:0 auto;
 padding:0 24px;
}

.bcr-onepage-hub,
.bcr-onepage-panel{
 padding:85px 0;
 scroll-margin-top:95px;
}

.bcr-onepage-hub{
 background:linear-gradient(180deg,#f5fafb,#edf7f4);
}

.bcr-soft-section{
 background:#f4f8fb;
}

.bcr-section-heading{
 max-width:820px;
 margin-bottom:34px;
}

.bcr-eyebrow{
 color:#08754f;
 font-size:13px;
 font-weight:900;
 letter-spacing:.08em;
}

.bcr-section-heading h2{
 margin:10px 0 14px;
 font-size:clamp(34px,4vw,52px);
 line-height:1.08;
 color:#102f53;
}

.bcr-section-heading p{
 color:#607486;
 font-size:17px;
 line-height:1.65;
}

.bcr-hub-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
}

.bcr-hub-card{
 display:block;
 width:100%;
 text-align:left;
 padding:25px;
 border:1px solid #dce7eb;
 border-radius:20px;
 background:white;
 color:#102f53;
 font:inherit;
 text-decoration:none;
 transition:.25s ease;
}

button.bcr-hub-card{
 cursor:pointer;
}

.bcr-hub-card:hover{
 transform:translateY(-6px);
 border-color:#9bcfbd;
 box-shadow:0 18px 40px rgba(16,47,83,.11);
}

.bcr-hub-card > span{
 display:block;
 font-size:30px;
 margin-bottom:15px;
}

.bcr-hub-card strong{
 display:block;
 font-size:20px;
 margin-bottom:9px;
}

.bcr-hub-card small{
 display:block;
 min-height:65px;
 color:#607486;
 line-height:1.5;
}

.bcr-hub-card b,
.bcr-hub-card a{
 display:inline-block;
 margin-top:15px;
 color:#075a98;
 font-weight:900;
 text-decoration:none;
}

/* CETC */

.bcr-cetc-box{
 padding:30px;
 background:white;
 border:1px solid #dce7eb;
 border-radius:24px;
 box-shadow:0 12px 35px rgba(16,47,83,.06);
}

.bcr-cetc-countries{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:12px;
 margin:20px 0 30px;
}

.bcr-cetc-country{
 display:flex;
 align-items:center;
 gap:12px;
 padding:14px;
 border:2px solid #dfe8ec;
 border-radius:15px;
 background:white;
 cursor:pointer;
 transition:.2s ease;
}

.bcr-cetc-country:hover,
.bcr-cetc-country.selected{
 border-color:#11875d;
 background:#edf9f4;
 transform:translateY(-3px);
}

.bcr-cetc-country img{
 width:55px;
 height:41px;
 object-fit:cover;
 border-radius:4px;
}

.bcr-cetc-questions{
 display:grid;
 gap:17px;
 max-width:780px;
}

.bcr-cetc-questions label:not(.bcr-question-check){
 display:grid;
 gap:7px;
}

.bcr-cetc-questions label small{
 color:#607486;
}

.bcr-cetc-questions input[type="date"],
.bcr-cetc-questions select{
 padding:13px;
 border:1px solid #cadbe2;
 border-radius:11px;
 font-size:16px;
 background:white;
}

.bcr-question-check{
 display:flex;
 align-items:flex-start;
 gap:11px;
 padding:14px;
 background:#f7fafb;
 border-radius:12px;
}

.bcr-question-check input{
 width:19px;
 height:19px;
 margin-top:2px;
}

.bcr-primary-button,
.bcr-secondary-button{
 width:max-content;
 border:0;
 border-radius:12px;
 padding:13px 19px;
 font-weight:900;
 cursor:pointer;
}

.bcr-primary-button{
 background:#125b91;
 color:white;
}

.bcr-secondary-button{
 background:#e9f5f0;
 color:#08754f;
}

.bcr-cetc-result{
 margin-top:24px;
 padding:22px;
 border-radius:16px;
 line-height:1.6;
}

.bcr-result-good{
 background:#eaf8f1;
 border:1px solid #acd8c3;
}

.bcr-result-review{
 background:#fff8df;
 border:1px solid #eadb9e;
}

.bcr-result-stop{
 background:#fff0ed;
 border:1px solid #e4b9b2;
}

/* CHECKLIST */

.bcr-cetc-checklist{
 margin-top:35px;
 padding-top:28px;
 border-top:1px solid #dce7eb;
}

.bcr-check-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:13px;
 margin:20px 0;
}

.bcr-check{
 display:flex;
 gap:12px;
 padding:18px;
 background:#f8fbfc;
 border:1px solid #e0e9ed;
 border-radius:15px;
}

.bcr-check input{
 width:20px;
 height:20px;
 flex:0 0 auto;
}

.bcr-check strong,
.bcr-check small{
 display:block;
}

.bcr-check small{
 margin-top:6px;
 color:#607486;
 line-height:1.45;
}

.bcr-important-note{
 margin:20px 0;
 padding:18px;
 background:#fff7dc;
 border:1px solid #ead88f;
 border-radius:14px;
}

/* CUBA */

.bcr-cuba-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
}

.bcr-cuba-card{
 padding:25px;
 background:white;
 border:1px solid #dce7eb;
 border-radius:20px;
}

.bcr-doc-icon{
 font-size:31px;
}

.bcr-cuba-card p{
 color:#607486;
 line-height:1.55;
}

.bcr-doc-status{
 padding:13px;
 border-radius:12px;
 background:#edf8f3;
}

.bcr-doc-status strong,
.bcr-doc-status span{
 display:block;
}

.bcr-doc-status span{
 margin-top:4px;
 color:#537065;
 font-size:13px;
}

.bcr-doc-help{
 margin-top:15px;
 padding:11px 14px;
 border:0;
 border-radius:10px;
 background:#125b91;
 color:white;
 font-weight:900;
 cursor:pointer;
}

.bcr-cuba-process,
.bcr-cuba-note{
 margin-top:25px;
 padding:24px;
 border-radius:18px;
 background:white;
 border:1px solid #dce7eb;
}

.bcr-process-steps{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin:15px 0;
}

.bcr-process-steps span{
 padding:8px 11px;
 border-radius:999px;
 background:#edf5fa;
 color:#31566e;
 font-size:12px;
 font-weight:800;
}

/* ABOUT */

.bcr-about-lead{
 font-size:20px !important;
}

.bcr-about-quote{
 max-width:850px;
 margin:30px 0 35px;
 padding:25px;
 border-left:5px solid #11875d;
 border-radius:0 18px 18px 0;
 background:#edf8f3;
 font-size:21px;
 line-height:1.5;
 color:#174d3b;
}

.bcr-about-quote > span{
 font-size:40px;
}

.bcr-values-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
}

.bcr-value-card{
 padding:27px;
 border:1px solid #dce7eb;
 border-radius:20px;
 background:white;
}

.bcr-value-card > span{
 font-size:30px;
}

.bcr-value-card p{
 color:#607486;
 line-height:1.55;
}

.bcr-principles{
 margin-top:28px;
 padding:25px;
 background:#f5faf8;
 border-radius:18px;
}

.bcr-principle-list{
 display:flex;
 flex-wrap:wrap;
 gap:9px;
}

.bcr-principle-list span{
 padding:9px 12px;
 border-radius:999px;
 background:white;
 border:1px solid #dce7eb;
 font-weight:800;
 font-size:13px;
}

.bcr-family-block{
 margin-top:25px;
 display:flex;
 gap:18px;
 padding:25px;
 border-radius:20px;
 background:linear-gradient(135deg,#102f53,#175d96);
 color:white;
}

.bcr-family-block > span{
 font-size:38px;
}

.bcr-family-block p{
 color:#dceaf4;
}

/* NEWS */

.bcr-news-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
}

.bcr-news-main,
.bcr-news-info{
 padding:25px;
 border-radius:20px;
 background:white;
 border:1px solid #dce7eb;
}

.bcr-news-main p,
.bcr-news-info p{
 color:#607486;
 line-height:1.55;
}

.bcr-news-main a,
.bcr-news-info a{
 color:#075a98;
 font-weight:900;
 text-decoration:none;
}

/* responsive */

@media(max-width:900px){

 .bcr-hub-grid,
 .bcr-cuba-grid,
 .bcr-values-grid,
 .bcr-news-grid{
   grid-template-columns:1fr 1fr;
 }

 .bcr-cetc-countries{
   grid-template-columns:1fr 1fr;
 }

}

@media(max-width:650px){

 .bcr-hub-grid,
 .bcr-cuba-grid,
 .bcr-values-grid,
 .bcr-news-grid,
 .bcr-check-grid{
   grid-template-columns:1fr;
 }

 .bcr-cetc-box{
   padding:20px;
 }

 .bcr-family-block{
   flex-direction:column;
 }

}


/* ============================
   COTIZADOR DE VUELOS
   ============================ */

.bcr-flight-box{
 background:#fff;
 border:1px solid #dce7eb;
 border-radius:24px;
 padding:30px;
 box-shadow:0 15px 40px rgba(16,47,83,.07);
}

.bcr-flight-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:18px;
 margin-bottom:18px;
}

.bcr-flight-grid label,
.bcr-flight-notes{
 display:grid;
 gap:7px;
}

.bcr-flight-grid input,
.bcr-flight-grid select,
.bcr-flight-notes textarea{
 width:100%;
 box-sizing:border-box;
 padding:13px;
 border:1px solid #cadbe2;
 border-radius:11px;
 background:#fff;
 font:inherit;
}

.bcr-flight-options{
 display:flex;
 flex-wrap:wrap;
 gap:12px;
 margin:10px 0 20px;
}

.bcr-flight-notes{
 margin-bottom:20px;
}

#flightQuoteResult{
 margin-top:20px;
 padding:18px;
 border-radius:14px;
 background:#edf8f3;
 border:1px solid #b7ddcb;
}

@media(max-width:650px){
 .bcr-flight-grid{
   grid-template-columns:1fr;
 }
}


/* BAGUET TRAVEL */

.bcr-travel-brand{
 display:inline-flex;
 padding:8px 13px;
 border-radius:999px;
 background:#e8f4fb;
 color:#075a98;
 font-size:13px;
 font-weight:900;
 letter-spacing:.08em;
}

.bcr-travel-tabs{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
 margin:25px 0 18px;
 padding:7px;
 border-radius:16px;
 background:#edf4f7;
}

.bcr-travel-tab{
 border:0;
 background:transparent;
 padding:12px 17px;
 border-radius:11px;
 font-weight:900;
 color:#496477;
 cursor:pointer;
}

.bcr-travel-tab.active{
 background:white;
 color:#075a98;
 box-shadow:0 5px 15px rgba(16,47,83,.10);
}

.bcr-travel-coming{
 padding:30px;
 border:1px solid #dce7eb;
 border-radius:22px;
 background:white;
}

.bcr-airport-search{
 position:relative;
}

.bcr-airport-results{
 position:absolute;
 left:0;
 right:0;
 top:calc(100% + 5px);
 z-index:1000;
 max-height:350px;
 overflow:auto;
 background:white;
 border:1px solid #d8e5ea;
 border-radius:14px;
 box-shadow:0 18px 45px rgba(16,47,83,.17);
}

.bcr-airport-result{
 display:grid;
 grid-template-columns:65px 1fr;
 width:100%;
 padding:12px;
 border:0;
 border-bottom:1px solid #edf2f4;
 background:white;
 text-align:left;
 cursor:pointer;
}

.bcr-airport-result:hover{
 background:#edf8f3;
}

.bcr-airport-result strong{
 grid-row:1 / 3;
 align-self:center;
 font-size:20px;
 color:#075a98;
}

.bcr-airport-result span{
 font-weight:800;
 color:#17324d;
}

.bcr-airport-result small{
 color:#6b7d89;
 margin-top:3px;
}

