:root{
  --maroon:#4d1f32;
  --ink:#0f0f12;
  --muted:#6b7076;
  --soft:#f6f6f7;
  --soft-2:#e9e9ec;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6}
.serif{font-family:"Source Serif Pro",Georgia,serif}
.py-6{padding-block:4.5rem}
.bg-maroon{background:var(--maroon)}
.btn-maroon{background:var(--maroon);color:#fff}
.btn-maroon:hover{background:#3b1626;color:#fff}
.btn-outline-maroon{border:1px solid var(--maroon);color:var(--maroon)}
.btn-outline-maroon:hover{background:var(--maroon);color:#fff}

/* Navbar */
.navbar .nav-link{opacity:.9}
.navbar .nav-link.active,.navbar .nav-link:hover{opacity:1}

/* HERO */
#hero{min-height:100vh}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(10%) contrast(105%)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(77,31,50,.75),rgba(77,31,50,.65))}
.hero-bullets{list-style:disc;padding-left:1.2rem}

/* Cards */
.feature,.value-card{background:#fff;border:1px solid var(--soft-2)}
.feature:hover,.value-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.06);transform:translateY(-2px);transition:.3s}

/* Testimonial */
.testimonial{background:#fff;border:1px solid var(--soft-2)}

/* Steps */
.steps{display:flex;flex-direction:column;gap:1rem}
.step{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--soft-2);border-radius:1rem;padding:1rem 1.25rem}
.step .num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--maroon);color:#fff;font-weight:700}

/* Footer */
footer{border-top:1px solid rgba(255,255,255,.1)}

/* Helpers */
.rounded-4{border-radius:1rem}

@media (prefers-reduced-motion:no-preference){
  .feature,.value-card,.testimonial,.step{transition:transform .25s ease, box-shadow .25s ease}
}

/* FAQ */
.faq .accordion-item {
  border: 1px solid var(--soft-2);
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  margin-bottom: 1rem;
}
.faq .accordion-button {
  font-weight: 600;
}
.faq .accordion-button:not(.collapsed) {
  color: #fff;
  background-color: var(--maroon);
  box-shadow: none;
}
.faq .accordion-button:focus {
  border-color: var(--maroon);
  box-shadow: 0 0 0 .25rem rgba(77,31,50,.15);
}
.faq .accordion-body {
  color: var(--ink);
}


/* Desktop (≥992px): menú siempre visible, sin hamburguesa */
#navbarAirception{ display:flex !important; }
.navbar-toggler{ display:none !important; }

/* Móviles/Tablets (<992px): menú colapsable (hamburguesa) */
@media (max-width: 991.98px){
  #navbarAirception{ display:none !important; }      /* oculto por defecto */
  #navbarAirception.show{ display:block !important; }
  .navbar-toggler{ display:inline-flex !important; }
}

/* Team headshots */
.avatar{
  width: 140px;               /* tamaño uniforme */
  height: 140px;
  border-radius: 50%;         /* círculo perfecto */
  object-fit: cover;          /* rellena sin deformarse */
  background: #fff;           
  border: 4px solid #fff;   
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

@media (min-width: 992px){
  .avatar{ width: 160px; height: 160px; }
}

:root{
  --maroon:#4d1f32;
  --ink:#0f0f12;
  --muted:#6b7076;
  --soft:#f6f6f7;
  --soft-2:#e9e9ec;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6}
.serif{font-family:"Source Serif Pro",Georgia,serif}
.py-6{padding-block:4.5rem}
.bg-maroon{background:var(--maroon)}
.btn-maroon{background:var(--maroon);color:#fff}
.btn-maroon:hover{background:#3b1626;color:#fff}
.btn-outline-maroon{border:1px solid var(--maroon);color:var(--maroon)}
.btn-outline-maroon:hover{background:var(--maroon);color:#fff}

/* Navbar */
.navbar .nav-link{opacity:.9}
.navbar .nav-link.active,.navbar .nav-link:hover{opacity:1}

/* HERO */
#hero{min-height:100vh}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(10%) contrast(105%)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(77,31,50,.75),rgba(77,31,50,.65))}
.hero-bullets{list-style:disc;padding-left:1.2rem}

/* Cards */
.feature,.value-card{background:#fff;border:1px solid var(--soft-2)}
.feature:hover,.value-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.06);transform:translateY(-2px);transition:.3s}

/* Testimonial */
.testimonial{background:#fff;border:1px solid var(--soft-2)}

/* Steps */
.steps{display:flex;flex-direction:column;gap:1rem}
.step{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--soft-2);border-radius:1rem;padding:1rem 1.25rem}
.step .num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--maroon);color:#fff;font-weight:700}

/* Footer */
footer{border-top:1px solid rgba(255,255,255,.1)}

/* Helpers */
.rounded-4{border-radius:1rem}

@media (prefers-reduced-motion:no-preference){
  .feature,.value-card,.testimonial,.step{transition:transform .25s ease, box-shadow .25s ease}
}

/* FAQ */
.faq .accordion-item {
  border: 1px solid var(--soft-2);
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  margin-bottom: 1rem;
}
.faq .accordion-button {
  font-weight: 600;
}
.faq .accordion-button:not(.collapsed) {
  color: #fff;
  background-color: var(--maroon);
  box-shadow: none;
}
.faq .accordion-button:focus {
  border-color: var(--maroon);
  box-shadow: 0 0 0 .25rem rgba(77,31,50,.15);
}
.faq .accordion-body {
  color: var(--ink);
}

#navbarAirception{ display:flex !important; }
.navbar-toggler{ display:none !important; }


@media (max-width: 991.98px){
  #navbarAirception{ display:none !important; } 
  #navbarAirception.show{ display:block !important; }
  .navbar-toggler{ display:inline-flex !important; }
}


.navbar{ z-index: 1100 !important; } 

@media (max-width: 991.98px){

  #navbarAirception.collapse.show{
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: #4d1f32;              
    padding: .75rem 1rem 1rem;
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
  }

  /* Links legibles en móvil */
  #navbarAirception .nav-link{
    color: #ffffff;
    font-weight: 600;
    font-size: 1.05rem;
    padding: .6rem 0.25rem;
    border-radius: .4rem;
  }
  #navbarAirception .nav-link:hover,
  #navbarAirception .nav-link:focus{
    background: rgba(255,255,255,.08);
  }

  /* Icono hamburguesa más visible */
  .navbar .navbar-toggler{ border-color: rgba(255,255,255,.6); }
  .navbar .navbar-toggler-icon{ filter: brightness(1.15); }
}

.navbar{ z-index: 1100 !important; }

/* Menú colapsado abierto en móvil */
@media (max-width: 991.98px){
  #navbarAirception.collapse.show{
    position: absolute;
    top: 100%; left: 0; right: 0;
    z-index: 1200;              
    background: #4d1f32;
    padding: .75rem 1rem 1rem;
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
  }
}

/* Modales SIEMPRE por encima de navbar y menú */
.modal-backdrop{ z-index: 2000 !important; }
.modal{ z-index: 2005 !important; }


/* ==== IMPACT (Aspectos destacados) ==== */
#impact{
  background: #faf9fb;            /* suave, no blanco puro */
}

.kpi.card{
  border: 1px solid rgba(77,31,50,.12);   /* borde sutil con maroon */
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  border-radius: 1rem;
}

.kpi .card-body{
  padding: 1.5rem 1.25rem;
}

.kpi .kpi-value{
  display:inline-block;
  font-weight: 800;
  font-size: 1.3rem;
  letter-spacing:.2px;
  color: #4d1f32;                 /* maroon */
  background: rgba(77,31,50,.08); /* pill */
  border: 1px solid rgba(77,31,50,.18);
  padding: .25rem .6rem;
  border-radius: 999px;
  margin-bottom:.5rem;
}

.kpi .kpi-label{
  font-weight: 700;
  color: #2b2230;
}

.kpi .kpi-note{
  color: #6b6776;
}

/* Hover/Focus para desktop; en móvil queda limpio */
@media (hover:hover){
  .kpi.card:hover{
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(77,31,50,.12);
    border-color: rgba(77,31,50,.28);
  }
}


#impact .section-subtitle{
  color:#6b6776;
}

@media (min-width: 992px) and (max-width:1200px){
  .kpi .card-body{ padding: 1.25rem 1rem; }
}

/* KPI icons */
.kpi-icon{
  font-size: 2rem;              
  color: #4d1f32;                 
  display:block;
  margin: 0 auto .5rem auto;
  opacity: .95;
}
.hero-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;padding:0;list-style:none;color:#fff;font-weight:600}
.hero-stats li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.35rem .75rem;white-space:nowrap}
@media (max-width:576px){.hero-stats{font-size:.95rem}}

/* Value-Based Care (Bootstrap Icons version) */
#value-care .vbc-card{background:#fff;border:1px solid var(--soft-2,#eee9ec)}
#value-care .vbc-icon{font-size:28px;line-height:1;color:var(--maroon,#4d1f32)}
#value-care .vbc-ribbon{background:rgba(77,31,50,.88);font-weight:600;border-top-right-radius:.75rem}
#value-care .object-cover{object-fit:cover}
@media (max-width:991.98px){
  #value-care .vbc-ribbon{position:static;border-radius:0;margin-top:.25rem}
}

/* ===== Flag ===== */
.flags-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem 1.25rem !important;
  justify-content: flex-start;
  margin-bottom: 2rem !important;
}


.flag-item{
  display:flex;
  flex-direction:column;    
  align-items:center;
  gap:.35rem;
  padding:.35rem .6rem;
  border-radius:999px;      
  background:#fff;
  border:1px solid #ececef;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}

.flag-img{
  width:32px;               
  height:24px;
  object-fit:cover;          
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.12) inset;
}

.flag-label{
  font-size:.95rem;
  font-weight:700;
  color:#111;                
  line-height:1.1;
  text-align:center;
  white-space:nowrap;       
}


@media (min-width: 768px){
  .flag-img{ width:36px; height:26px; }
  .flag-label{ font-size:.98rem; }
}

/* Más aire debajo de las banderas */
.flags-row{
  margin-bottom: 1.25rem;   
}

@media (min-width: 768px){
  .flags-row{
    margin-bottom: 1.75rem; 
  }
}


/* === Ajuste de aire en chips de banderas (override) === */
.flags-row .flag-item{
  /* más espacio interno, especialmente a los lados */
  padding: .60rem 1.25rem !important;   /* antes: .35rem .6rem */
  gap: .50rem !important;               /* separa banderita y texto */
  border-radius: 999px !important;
}


.flags-row .flag-label{
  padding: 0 .10rem !important;
}


.flags-row{
  margin-bottom: 1.75rem !important;
}

@media (min-width: 768px){
  .flags-row{
    margin-bottom: 2rem !important;
  }
}

/* === Alineación y consistencia de las banderas (grid responsive) === */
.flags-row{
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr)); 
  gap: 1rem 1.25rem;                                 
  align-items: center;                                 
  justify-items: start;                              
  margin-bottom: 1.75rem !important;
}


.flags-row .flag-item{
  width: 100%;
  justify-content: center;   
}

/* 2 columnas en tablet */
@media (max-width: 992px){
  .flags-row{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

/* 1 columna en móvil */
@media (max-width: 576px){
  .flags-row{
    grid-template-columns: 1fr;
  }
}

/* ===== Tighten global whitespace ===== */
section { padding-top: 2.4rem; padding-bottom: 2.4rem; }
@media (max-width: 992px){
  section { padding-top: 1.8rem; padding-bottom: 1.8rem; }
}
ings y leads más compactos */
h2.serif { 
  margin-bottom: .8rem;
 }
.section-lead, .text-muted.lead { margin-bottom: .9rem; }
.row.g-5, .row.g-4 { --bs-gutter-x: 1.15rem; --bs-gutter-y: 1.15rem; }

.card.rounded-4 { border-radius: 1rem; }
.shadow-sm { box-shadow: 0 6px 20px rgba(0,0,0,.06)!important; }

.badge-chip, .hero-stats li {
  padding: .32rem .62rem;
  border-radius: 999px;
}
html, body { overflow-x: hidden; }

/* Carrusel: imágenes del mismo marco y sin deformar */
.object-fit-contain { object-fit: contain; }

/* Franjas maroon (doble franja; solo la inferior lleva texto) */
.maroon-strip{
  position:absolute; left:0; right:0;
  background:#4d1f32; color:#fff;
  display:flex; justify-content:center; align-items:center;
  min-height:34px; padding:6px 12px;
  font-size:.875rem; line-height:1.1;
  pointer-events:none; /* no bloquea gestos */
}
.maroon-strip.top{ top:0; }
.maroon-strip.bottom{ bottom:0; }

/* Título centrado con subrayado sutil (ancho auto bajo el texto) */
.heading-underline{
  display:inline-block;
  width:100%;
  text-align:center;
  position:relative;
  padding-bottom:.25rem;
}
.heading-underline::after{
  content:"";
  display:block;
  width:220px;           /* largo del subrayado */
  max-width:60%;
  height:2px;
  margin:.25rem auto 0;
  background:rgba(107,13,40,.35);
  border-radius:1px;
}

/* Pastilla de icono con paleta de marca */
.icon-pill{
  display:inline-flex; justify-content:center; align-items:center;
  width:56px; height:56px; border-radius:50%;
  background:rgba(107,13,40,.08); color:#6B0D28;
  font-size:28px;
}

/* Tarjetas con hover sutil */
.kf-card{ transition:transform .18s ease, box-shadow .18s ease; }
.kf-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }

/* Menú y layout sólidos en móvil (sin scroll lateral) */
html, body { overflow-x: hidden; }
.bg-maroon { background:#4d1f32; }

@media (max-width: 991.98px){
  #navMenu {
    background:#4d1f32;
    padding:.75rem 1rem;
    margin:0 -1rem;
  }
  #navMenu .nav-link { color:#fff; padding:.5rem 0; }
  #navMenu .btn { width:100%; margin-top:.25rem; }
}

@media (min-width: 992px){
  #navMenu .navbar-nav { gap:.5rem; }
}

/* ==== BOOK YOUR DEMO (scoped) ==== */

/* Separación columnas en desktop */
#book .col-lg-6:first-child { padding-right: 2rem; }
#book .col-lg-6:last-child  { padding-left: 1rem; }

/* Forzar CTA primero en móvil */
@media (max-width: 991.98px){
  #book .order-1 { order: 1 !important; }
  #book .order-2 { order: 2 !important; }
}

/* Banderas: FLEX (override a cualquier grid previo) */
#book .flags-row{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem 1.25rem !important;
  justify-content: flex-start;
  margin-bottom: 2rem !important;
}
#book .flag-item{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #ececef;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
#book .flag-img{
  width: 32px; height: 24px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.12) inset;
}
#book .flag-label{
  font-size: .95rem;
  font-weight: 700;
  color: #111;
  line-height: 1.1;
}

/* Por si quieres asegurar el cover */
#book img.object-cover{ object-fit: cover; }
