/*
Theme Name: Avila Holdings Theme
Theme URI: https://avilaholdings.com
Author: Oinfante
Description: Custom WordPress Theme for Avila Holdings Group.
Version: 1.0
Text Domain: avila-theme
*/

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
    }

    html {
      font-size: 16px;
      scroll-behavior: smooth
    }

    body {
      font-family: 'Montserrat', sans-serif;
      color: #222;
      overflow-x: hidden
    }

    a {
      text-decoration: none;
      color: inherit
    }

    img {
      display: block;
      max-width: 100%;
      height: auto
    }

    :root {
      --G: #1b3028;
      --G2: #152520;
      --AU: #b8933a;
      --AL: #c9a84c;
      --CRM: #f2ede2;
      --WHT: #ffffff;
      --TXT: #2c2c2c;
      --MID: #4a5a50;
      --SRF: 'Cormorant Garamond', Georgia, serif;
      --SAN: 'Montserrat', sans-serif;
    }


    /* ═══════════════════════════════════════════
   NAV
═══════════════════════════════════════════ */
    .site-nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 999;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 48px;
      background: rgba(27, 48, 40, .9);
      backdrop-filter: blur(8px);
      border-bottom: 1px solid rgba(184, 147, 58, .22);
      transition: background .3s;
    }

    .site-nav.scrolled {
      background: rgba(21, 37, 32, .98)
    }

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

    .nav-logo-img {
      height: 33px;
      width: auto;
      display: block;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 36px;
      list-style: none
    }

    .nav-links a {
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .1em;
      color: rgba(255, 255, 255, .8);
      transition: .2s;
    }

    .nav-links a:hover,
    .nav-links a.act {
      color: var(--AL)
    }

    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer
    }

    .hamburger span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--AL)
    }


    /* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
    .hero {
      min-height: 560px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 100px 24px 70px;
      position: relative;
      overflow: hidden;
      background: url('assets/Header_Avila_Background.webp') center center/cover no-repeat;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(10, 24, 18, .45);
      pointer-events: none;
    }

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

    /* Logo centrado en hero */
    .hero-logo {
      display: flex;
      align-items: center;
      gap: 22px;
      margin-bottom: 48px;
      justify-content: center;
    }

    .hero-logo-img {
      height: auto;
      width: 100%;
      max-width: 380px;
      display: block;
    }

    .hero-h1 {
      font-family: var(--SAN);
      font-size: clamp(2rem, 5.5vw, 4rem);
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: .04em;
      line-height: 1.02;
      margin-bottom: 8px;
    }

    .hero-sub {
      font-family: var(--SAN);
      font-size: clamp(.82rem, 1.8vw, 1.1rem);
      font-weight: 600;
      color: var(--AL);
      text-transform: uppercase;
      letter-spacing: .2em;
      margin-bottom: 40px;
    }

    .btn-exp {
      display: inline-block;
      background: rgba(184, 147, 58, .16);
      color: rgba(255, 255, 255, .92);
      font-family: var(--SAN);
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      padding: 14px 54px;
      border: 1px solid var(--AU);
      transition: .25s;
      cursor: pointer;
    }

    .btn-exp:hover {
      background: var(--AU);
      color: #fff
    }


    /* ═══════════════════════════════════════════
   SUB-HERO STRIP
═══════════════════════════════════════════ */
    .sub-hero {
      background: var(--G);
      padding: 40px 24px 0;
      text-align: center;
    }

    .sub-hero .italic {
      font-family: var(--SRF);
      font-size: clamp(1.1rem, 2.2vw, 1.55rem);
      font-style: italic;
      color: var(--AL);
      margin-bottom: 0;
      line-height: 1.45;
    }

    .sub-hero p {
      font-size: .78rem;
      color: rgba(255, 255, 255, .58);
      max-width: 640px;
      margin: 0 auto;
      line-height: 1.9;
      font-weight: 300;
    }


    /* ═══════════════════════════════════════════
   MVV CARD  (flota sobre la sección siguiente)
═══════════════════════════════════════════ */
    .mvv-wrap {
      background: var(--G);
      padding: 0 24px 0;
      position: relative;
      z-index: 10;
    }

    .mvv-card {
      max-width: 840px;
      margin: 0 auto;
      transform: translateY(50%);
      display: grid;
      grid-template-columns: 1fr 1px 1fr 1px 1fr;
      background: var(--CRM);
      border: 1px solid #ddd4b4;
      box-shadow: 0 8px 32px rgba(0, 0, 0, .22);
    }

    .mvv-col {
      padding: 20px 20px 24px;
      text-align: center
    }

    .mvv-icon {
      width: 44px;
      height: 44px;
      margin: 0 auto 10px
    }

    .mvv-icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .mvv-col h4 {
      font-family: var(--SRF);
      font-size: 1.3rem;
      font-weight: 600;
      color: #1e2e22;
      margin-bottom: 14px;
    }

    .mvv-col p {
      font-size: .73rem;
      color: var(--MID);
      line-height: 1.72;
      font-weight: 400
    }

    .mvv-col ul {
      display: inline-block;
      text-align: left;
      margin: 0
    }

    .mvv-col ul li {
      font-size: .73rem;
      color: var(--MID);
      line-height: 1.9;
      list-style: disc;
      margin-left: 16px
    }

    .mvv-div {
      background: #cec5a0;
      width: 1px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .mvv-div::after {
      content: '»';
      position: absolute;
      font-size: .9rem;
      font-weight: 700;
      color: #8a7a52;
      background: var(--CRM);
      padding: 5px 3px;
      line-height: 1;
    }


    /* ═══════════════════════════════════════════
   GLOBAL PRESENCE
═══════════════════════════════════════════ */
    .presence {
      position: relative;
      overflow: hidden;
      padding-top: 130px;
      /* espacio para la MVV card que flota */
      background: #dde8f0;
    }

    .presence-map-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      opacity: 1;
    }

    .presence-overlay {
      position: absolute;
      inset: 0;
      background: rgba(220, 232, 242, .18);
    }

    .presence-body {
      position: relative;
      z-index: 2;
      padding: 40px 24px 70px;
      text-align: center;
      height: 800px;
    }

    .sec-h {
      font-family: var(--SRF);
      font-size: clamp(1.7rem, 3.5vw, 2.6rem);
      font-weight: 600;
      color: #2c3a30;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .gold-line {
      display: block;
      max-width: 200px;
      height: 1px;
      background: var(--AU);
      margin: 14px auto;
    }

    .sec-sub {
      font-family: var(--SRF);
      font-size: 1rem;
      font-style: italic;
      color: var(--AU);
    }


    /* ═══════════════════════════════════════════
   WHAT WE DO  (fondo lino/crema)
═══════════════════════════════════════════ */
    .whatwedo {
      position: relative;
      padding: 72px 40px;
      text-align: center;
      background: url('assets/Background_What_we_do_Avila_Holdings_Group.webp') center center/cover no-repeat;
    }

    .whatwedo::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(237, 233, 223, .78);
    }

    .whatwedo > * {
      position: relative;
      z-index: 1;
    }

    .whatwedo .sec-h {
      font-size: clamp(1.9rem, 3.8vw, 2.8rem);
      font-weight: 400;
      color: #2c3a2e;
      margin-bottom: 12px;
    }

    .wwd-sub {
      font-family: var(--SRF);
      font-size: 1rem;
      font-style: italic;
      color: var(--AU);
      margin-bottom: 0;
    }

    /* Tabs: separados por línea dorada vertical */
    .tabs-row {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      margin: 38px auto 42px;
      max-width: 900px;
    }

    .tabs-row button {
      background: none;
      border: none;
      font-family: var(--SAN);
      font-size: .72rem;
      font-weight: 400;
      letter-spacing: .06em;
      color: #666;
      padding: 8px 26px;
      cursor: pointer;
      transition: .2s;
      line-height: 1;
      border-right: 1px solid var(--AU);
    }

    .tabs-row button:last-child {
      border-right: none
    }

    .tabs-row button.on,
    .tabs-row button:hover {
      color: #2c3a2e;
      font-weight: 600
    }

    /* Service cards: borde dorado, label DEBAJO de la imagen */
    .svc-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
      max-width: 920px;
      margin: 0 auto 38px;
    }

    .svc-card {
      cursor: pointer;
      border: 1.5px solid var(--AU);
      background: #d8d0c0;
    }

    .svc-card .img-box {
      width: 100%;
      aspect-ratio: 4/3;
      overflow: hidden;
      position: relative;
    }

    .svc-card .img-box img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .5s;
    }

    .svc-card:hover .img-box img {
      transform: scale(1.05)
    }

    .svc-label {
      font-family: var(--SRF);
      font-size: 1.2rem;
      font-weight: 400;
      color: #2c3a2e;
      padding: 14px 8px 16px;
      text-align: center;
      letter-spacing: .02em;
    }

    /* Botón dorado sólido */
    .btn-g {
      display: inline-block;
      background: var(--AU);
      color: #fff;
      font-family: var(--SAN);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      padding: 14px 58px;
      border: none;
      cursor: pointer;
      transition: .2s;
    }

    .btn-g:hover {
      background: var(--AL)
    }


    /* ═══════════════════════════════════════════
   FEATURED DEVELOPMENT  (verde oscuro)
═══════════════════════════════════════════ */
    .featured {
      background: var(--G);
      padding: 66px 60px 58px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .featured-bg {
      position: absolute;
      inset: 0;
      background: url('assets/Featured_Development_background_Avila_Holdings_Group.webp') center/cover no-repeat;
      opacity: .1;
    }

    .featured>* {
      position: relative;
      z-index: 1
    }

    .feat-h {
      font-family: var(--SRF);
      font-size: clamp(1.8rem, 3.5vw, 2.7rem);
      font-weight: 400;
      color: var(--AL);
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

    .feat-rule {
      display: block;
      max-width: 180px;
      height: 1px;
      background: rgba(201, 168, 76, .4);
      margin: 0 auto 16px;
    }

    .feat-sub {
      font-family: var(--SAN);
      font-size: .78rem;
      font-weight: 300;
      color: rgba(255, 255, 255, .62);
      margin-bottom: 42px;
      line-height: 1.65;
    }

    /* Grid 2×2: label ARRIBA de la imagen */
    .proj-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      max-width: 900px;
      margin: 0 auto 38px;
    }

    .proj-lbl {
      font-family: var(--SAN);
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .08em;
      color: rgba(255, 255, 255, .88);
      text-align: left;
      margin-bottom: 7px;
      padding-left: 2px;
    }

    .proj-img {
      width: 100%;
      aspect-ratio: 16/10;
      background: #5a6b5e;
      overflow: hidden;
    }

    .proj-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .5s;
    }

    .proj-item:hover .proj-img img {
      transform: scale(1.04)
    }

    /* Botón outline dorado */
    .btn-ol {
      display: inline-block;
      background: rgba(184, 147, 58, .14);
      border: 1px solid var(--AU);
      color: rgba(255, 255, 255, .9);
      font-family: var(--SAN);
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      padding: 13px 54px;
      transition: .25s;
    }

    .btn-ol:hover {
      background: var(--AU);
      color: #fff
    }


    /* ═══════════════════════════════════════════
   KEY METRICS  (dos bandas de verde oscuro)
═══════════════════════════════════════════ */
    .metrics-header {
      background: #1d3829;
      padding: 22px 40px;
      text-align: center;
    }

    .metrics-h {
      font-family: var(--SAN);
      font-size: .95rem;
      font-weight: 800;
      color: #fff;
      letter-spacing: .22em;
      text-transform: uppercase;
      margin: 0;
    }

    .metrics {
      background: #112018;
      padding: 0;
    }

    .metrics-inner {
      padding: 0 60px;
      max-width: 1100px;
      margin: 0 auto;
    }

    .metrics-line {
      height: 1px;
      background: linear-gradient(to right,
          rgba(184, 147, 58, .75) 0%,
          rgba(184, 147, 58, .75) 68%,
          rgba(184, 147, 58, 0) 100%);
    }

    .metrics-line.bot {
      background: linear-gradient(to right,
          rgba(184, 147, 58, .7) 0%,
          rgba(184, 147, 58, .7) 44%,
          rgba(184, 147, 58, 0) 100%);
    }

    .metrics-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      text-align: center;
      gap: 0;
    }

    .met {
      padding: 38px 24px
    }

    .met-num {
      font-family: var(--SAN);
      font-size: 3.2rem;
      font-weight: 700;
      color: var(--AU);
      line-height: 1;
      margin-bottom: 12px;
    }

    .met-lbl {
      font-family: var(--SAN);
      font-size: .8rem;
      font-weight: 400;
      color: #fff;
      letter-spacing: .02em;
    }

    .met-svg {
      width: 52px;
      height: 52px;
      margin: 0 auto 12px
    }

    .met-svg img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }


    /* ═══════════════════════════════════════════
   TRUSTED BY PARTNERS  (blanco)
═══════════════════════════════════════════ */
    .trusted {
      background: var(--WHT);
      padding: 58px 40px;
      text-align: center;
    }

    .trusted-h {
      font-family: var(--SAN);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: #444;
      margin-bottom: 42px;
    }

    .partner-logos {
      max-width: 880px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .partner-logos img {
      width: 100%;
      max-width: 780px;
      display: block;
      margin: 0 auto;
      object-fit: contain;
      filter: brightness(.85) saturate(.9);
      transition: filter .3s;
      padding: 12px 0;
      border-bottom: 1px solid #f0ece2;
    }

    .partner-logos img:last-child {
      border-bottom: none
    }

    .partner-logos img:hover {
      filter: brightness(1.05) saturate(1)
    }


    /* ═══════════════════════════════════════════
   STRATEGIC APPROACH  (blanco, banner verde)
═══════════════════════════════════════════ */
    .approach {
      background: var(--WHT);
      padding: 62px 24px;
      text-align: center;
    }

    .sec-banner {
      display: inline-block;
      background: var(--G);
      color: var(--AL);
      font-family: var(--SAN);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .2em;
      text-transform: uppercase;
      padding: 14px 38px;
      margin-bottom: 22px;
    }

    .approach-desc {
      font-size: .76rem;
      color: #555;
      max-width: 620px;
      margin: 0 auto 42px;
      line-height: 1.88;
      font-weight: 400;
    }

    .cards4 {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      max-width: 900px;
      margin: 0 auto;
    }

    .c4 {
      background: var(--WHT);
      border: 1px solid #d8cfa6;
      padding: 32px 18px 28px;
      text-align: center;
      transition: box-shadow .3s;
    }

    .c4:hover {
      box-shadow: 0 4px 20px rgba(184, 147, 58, .15)
    }

    .c4-icon {
      width: 60px;
      height: 60px;
      margin: 0 auto 18px
    }

    .c4-icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .c4 h5 {
      font-family: var(--SAN);
      font-size: .75rem;
      font-weight: 600;
      color: var(--TXT);
      line-height: 1.45;
      letter-spacing: .02em;
    }


    /* ═══════════════════════════════════════════
   STRATEGIC OPPORTUNITIES  (blanco, banner verde)
═══════════════════════════════════════════ */
    .opps {
      background: var(--WHT);
      padding: 52px 24px 68px;
      text-align: center;
    }


    /* ═══════════════════════════════════════════
   CTA  (blanco)
═══════════════════════════════════════════ */
    .cta {
      background: var(--WHT);
      padding: 66px 24px 82px;
      text-align: center;
      border-top: 1px solid #ece6d2;
    }

    .cta-eyebrow {
      font-family: var(--SAN);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--AU);
      display: block;
      margin-bottom: 20px;
    }

    .cta p {
      font-family: var(--SAN);
      font-size: clamp(.9rem, 2vw, 1.22rem);
      font-weight: 700;
      color: var(--TXT);
      max-width: 540px;
      margin: 0 auto;
      line-height: 1.45;
    }


    /* ═══════════════════════════════════════════
   FOOTER  (verde oscuro + foto)
═══════════════════════════════════════════ */
    .footer {
      background: var(--G);
      position: relative;
      overflow: hidden;
      padding: 54px 60px 0;
    }

    .footer-bg {
      position: absolute;
      inset: 0;
      background: url('assets/Footer_Background_Avila_Holdings_Group.webp') center/cover no-repeat;
      opacity: .18;
    }

    .footer-body {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      padding-bottom: 46px;
      gap: 40px;
    }

    .footer-logo {
      display: flex;
      align-items: center;
      gap: 16px
    }

    .footer-logo-img {
      height: auto;
      width: 100%;
      max-width: 280px;
      display: block;
    }

    .footer-right {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
    }

    .footer-follow {
      font-size: .72rem;
      font-weight: 400;
      color: rgba(255, 255, 255, .65);
      margin-bottom: 8px;
    }

    .socials {
      display: flex;
      gap: 6px;
      margin-bottom: 22px
    }

    .soc {
      width: 36px;
      height: 36px;
      background: rgba(184,147,58,.12);
      border: 1px solid rgba(184,147,58,.4);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: .2s;
      padding: 6px;
    }

    .soc img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .soc:hover {
      background: var(--AL)
    }

    .footer-nav-links a {
      display: block;
      font-size: .88rem;
      font-weight: 400;
      color: rgba(255, 255, 255, .8);
      margin-bottom: 4px;
      transition: .2s;
      line-height: 1.5;
    }

    .footer-nav-links a:hover {
      color: var(--AL)
    }

    .footer-nav-links .gap {
      margin-top: 10px
    }

    .footer-rule {
      position: relative;
      z-index: 1;
      border: none;
      border-top: 1px solid rgba(201, 168, 76, .28);
      margin: 0;
    }

    .footer-legal {
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 18px;
      padding: 16px 0;
      font-size: .68rem;
      color: rgba(255, 255, 255, .48);
    }

    .footer-legal a {
      color: rgba(255, 255, 255, .48);
      transition: .2s
    }

    .footer-legal a:hover {
      color: var(--AL)
    }

    .footer-legal span {
      color: rgba(255, 255, 255, .28)
    }

    .footer-cr {
      background: #060606;
      text-align: center;
      padding: 14px;
      font-family: var(--SRF);
      font-size: .72rem;
      font-style: italic;
      color: rgba(255, 255, 255, .36);
      letter-spacing: .1em;
    }


    /* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
    @media(max-width:900px) {
      .mvv-card {
        grid-template-columns: 1fr;
      }

      .mvv-div {
        display: none
      }

      .cards4 {
        grid-template-columns: repeat(2, 1fr)
      }

      .proj-grid {
        grid-template-columns: 1fr
      }

      .svc-grid {
        grid-template-columns: 1fr
      }

      .footer-body {
        flex-direction: column
      }

      .featured {
        padding: 50px 24px 44px
      }
    }

    @media(max-width:768px) {
      .site-nav {
        padding: 12px 20px
      }

      .nav-links {
        display: none
      }

      .hamburger {
        display: flex
      }

      .nav-links.open {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(21, 37, 32, .98);
        padding: 20px 24px;
        gap: 14px;
        border-bottom: 1px solid rgba(184, 147, 58, .25);
      }
    }

    @media(max-width:560px) {
      .metrics-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .cards4 {
        grid-template-columns: 1fr
      }

      .footer {
        padding: 40px 24px 0
      }
    }
  