
.navbar-main{border-bottom:1px solid #e6ecf5}
.navbar-main .navbar-brand{padding-top:1.25rem;padding-bottom:1.25rem;transition:padding .2s ease}
.navbar-main .brand-logo{width:130px;height:auto;transition:width .2s ease}
.navbar-main .nav-link{font-weight:600;color:#1f2b3a;padding:1rem 1.25rem;font-size:1.35rem;transition:padding .2s ease, font-size .2s ease}
.navbar-main .nav-link.active,.navbar-main .nav-link:hover{color:#0f2b57}
.navbar-main .navbar-toggler{border:0}
::root{
  --navy:#0f2b57;
  --navy-800:#0b2347;
  --blue:#1a4dff;
  --cyan:#20c997;
  --accent:#ff7b54;
  --page-bg:#eef2f7;
}
:root{
  --navy:#0F1B50;
  --navy-800:#0b2347;
  --blue:#1a4dff;
  --cyan:#20c997;
  --accent:#ff7b54;
  --page-bg:#eef2f7;
}

*{box-sizing:border-box}
body{font-family:'Urbanist',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--page-bg)}

.bg-navy{background:var(--navy)}
.top-social{font-size:1.05rem}
.top-social i{font-size:1.1em}
.bg-deep{background:#0b2c5f}
.bg-deep-alt{background:#f5f7fb}
.text-light-opaque{color:rgba(255,255,255,.7)}
.fw-extrabold{font-weight:800}
/* Brand text utilities */
.text-brand{color:var(--blue)}
.text-accent{color:var(--accent)}

.brand-logo{width:40px;height:40px;object-fit:cover}
.brand-emblem{width:48px;height:48px;border-radius:50%;background:#1aa3ff;box-shadow:0 0 0 6px rgba(255,255,255,.15)}

/* Shrink navbar when scrolling */
.navbar-main.is-shrunk .navbar-brand{padding-top:.5rem;padding-bottom:.5rem}
.navbar-main.is-shrunk .brand-logo{width:120px}
.navbar-main.is-shrunk .nav-link{padding:.5rem .75rem;font-size:1.1rem}

.section-title{font-weight:800}

/* Reusable section headers (based on provided style) */
.section-header{position:relative;padding:2.5rem 0}
.section-header--center{text-align:center}
.section-title-xl{font-size:clamp(1.75rem,2vw + 1.25rem,3rem);line-height:1.1}
.section-title--accent{color:var(--blue)}
.section-subtitle{color:#2542ff;font-weight:700;opacity:.95}
@media (min-width:992px){
  .section-header{padding:3.5rem 0 2.5rem}
}

/* Decorative rings behind section titles */
.section-header--decor{overflow:visible}
.section-header--decor::before{content:"";position:absolute;left:50%;top:-220px;width:900px;height:900px;transform:translateX(-50%) rotate(-4deg);border-radius:50%;border:60px solid rgba(32,201,151,.35);border-bottom-color:transparent;border-left-color:transparent;pointer-events:none;filter:drop-shadow(0 8px 32px rgba(0,0,0,.06))}
.section-header--decor::after{content:"";position:absolute;left:50%;top:-150px;width:760px;height:760px;transform:translateX(-50%) rotate(-4deg);border-radius:50%;border:3px dashed rgba(32,201,151,.45);border-right-color:transparent;border-top-color:transparent;pointer-events:none;opacity:.85}

/* Hero */
.hero{background:var(--page-bg)}
.hero-slider{border-radius:1.25rem;height:clamp(280px,38vw,560px)}
.hero-slider .slider-track{display:flex;touch-action:pan-y pinch-zoom;cursor:grab;height:100%}
.hero-slider .slider-track:active{cursor:grabbing}
.hero-slider img{width:100%;height:100%;object-fit:contain;flex:0 0 100%}
.hero-banner{border-radius:1.25rem}
.hero-banner img{display:block;width:100%;height:auto;object-fit:cover}
.hero-bullets{display:flex;gap:.5rem;justify-content:center}
.hero-bullets .bullet{width:16px;height:16px;border-radius:999px;border:2px solid #a6c1ff;background:transparent;box-shadow:none}
.hero-bullets .bullet.active{background:#00e0c7;border-color:#00e0c7}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#ff6a3c;color:#fff}

/* Equal height helper for mixed image/text rows */
.equal-cols>[class*="col-"]{display:flex}
.equal-cols>[class*="col-"]>*{width:100%}

.whatsapp-float{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:999px;box-shadow:0 10px 25px rgba(0,0,0,.25);z-index:1040}
.whatsapp-float:hover{color:#fff;filter:brightness(.95)}

/* Allies */
.ally-tile{height:200px;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:none;padding:1rem;overflow:hidden}
.ally-tile img{max-width:85%;max-height:140px;object-fit:contain;filter:saturate(.95);transition:transform .25s ease, filter .25s ease;will-change:transform}
.ally-tile:hover img{transform:scale(1.06);filter:saturate(1) contrast(1.05)}
@media (min-width:992px){
  .ally-tile{height:240px;border-radius:1.5rem}
  .ally-tile img{max-height:250px}
}

/* Forms */
.wpcf7-form input, .wpcf7-form textarea {
    padding: 11px 20px;
    border: solid 1px #4f6cff !important;
    border-radius: .75rem !important;
    width: 100% !important;
    padding: .375rem .75rem !important;

}

.wpcf7-form input[type="submit"]{width: 31% !important;    background: var(--accent);
    color: #fff; border:none !important;}

.btn-primary{background:#4f6cff;border-color:#4f6cff}
.btn-primary:hover{background:#3e57e6;border-color:#3e57e6}

/* Utilities */
.object-fit-cover{object-fit:cover}
.ratio-21x9{--bs-aspect-ratio:42.857%}

@media (min-width:992px){
  .hero .hero-figure{height:420px}
}

/* Gallery */
.gallery-thumb{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:.75rem;aspect-ratio:1/1;display:block}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:.75rem;display:block;transition:transform .35s ease;transform-origin:center}
.gallery-item{position:relative}
/* Big centered plus built with two bars */
.gallery-item::before,.gallery-item::after{content:"";position:absolute;top:50%;left:50%;background:#fff;border-radius:2px;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .25s ease, transform .25s ease;pointer-events:none;z-index:3}
.gallery-item::before{width:68px;height:6px}
.gallery-item::after{width:6px;height:68px}
.gallery-item:hover::before,.gallery-item:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gallery-item .hover-blue{position:relative;border-radius:.75rem;overflow:hidden}
.gallery-item .hover-blue::before{content:"";position:absolute;inset:0;background:rgb(8 56 227 / 65%);opacity:0;transition:opacity .35s ease;z-index:2}
.gallery-item .hover-blue:hover::before{opacity:1}
/* Zoom-in on hover without overflow */
.gallery-item:hover .gallery-thumb img{transform:scale(1.08)}

/* Surfaces */
.surface{position:relative;overflow:hidden;border-radius:1.25rem;background:transparent;box-shadow:none}
.surface-blue{background:var(--blue);color:#fff}
.surface-blue .text-muted{color:rgba(255,255,255,.75)!important}

/* Parallax decorative layers */
.parallax-layer{position:absolute;pointer-events:none;user-select:none;opacity:.22;will-change:transform;transform:translate3d(0,0,0)}

/* Typography */
h1,h2,h3,h4,h5,h6{color:var(--navy)}
.surface-blue h1,.surface-blue h2,.surface-blue h3,.surface-blue h4,.surface-blue h5,.surface-blue h6{color:#ffffff}
.surface-blue p,.surface-blue .lead,.surface-blue li{color:rgba(255,255,255,.9)}

/* Somos background (static, no parallax) */
#somos .surface-blue{background-image:url('https://cesvan.com/wp-content/themes/g13/assets/images/bg-somos.png') !important;background-repeat:no-repeat;;background-size:cover}


/* Accordion theme */
.accordion .accordion-item{border:none;border-radius:0;overflow:hidden;background:#fff}
.accordion .accordion-item+.accordion-item{margin-top:.75rem}
.accordion-button{padding:1rem 1.25rem;font-weight:600;color:#0f2b57;background-color:#f7f9fd}
.accordion-button:not(.collapsed){color:#0f2b57;background-color:#e9f0ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.05)}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(26,77,255,.1)}
.accordion-body{padding:1rem 1.25rem}
.accordion-body ul{padding-left:1.25rem}
.accordion-body li{margin-bottom:.25rem}

/* Accordions gold active style and plus/minus icons */
.accordion .accordion-item{border:0}
.accordion .accordion-header{border:none;border-radius:0;overflow:hidden}
.accordion .accordion-item+.accordion-item .accordion-header{margin-top:.75rem}
.accordion-button{background:#f8fbff;color:#0f2b57;position:relative}
.accordion-button::after{content:"\002B"; /* plus */ font-weight:700; transform:none; background:none; background-image:none !important; width:1.25rem; height:1.25rem; display:inline-flex; align-items:center; justify-content:center; font-size:1.25rem}
.accordion-button:not(.collapsed){background:#e9c675;color:#0f2b57}
.accordion-button:not(.collapsed)::after{content:"\2212"; /* minus */}
.accordion-collapse{border:0;border-top:0;border-radius:0}

/* Force square corners */
.accordion-button{border-radius:0 !important}
.accordion .accordion-item{border-radius:0 !important}
.accordion .accordion-header{border-radius:0 !important}
.accordion-collapse{border-radius:0 !important}

/* Rule accent below RVOE */
.rule-cyan{height:4px;border:0;background:#20c997;opacity:.7}

/* Parsley error styles */
.parsley-errors-list{margin:.25rem 0 0; padding:0; list-style:none; color:#dc3545; font-size:.9rem}
.is-invalid, .parsley-error{border-color:#dc3545 !important}
.is-valid, .parsley-success{border-color:#198754 !important}

.wp-block-embed__wrapper iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9;
}
#gallery-2 img {
        max-width: 100%;
    width: 100%;
    height: auto;
    border: none !important;
}
#gallery-1 img {
    border: none !important;
}

.surface-blue .ratio::before {
    padding-top: 0 !important;
}