
    :root{
      --bg:#0b1f1b;
      --bg-soft:#102923;
      --panel:#ffffff;
      --panel-soft:#f3f7f5;
      --text:#12322b;
      --muted:#5e746d;
      --line:rgba(18,50,43,.12);
      --brand:#1f7a53;
      --brand-2:#63b68c;
      --accent:#e3f5ea;
      --shadow:0 18px 50px rgba(11,31,27,.12);
      --radius:24px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
        #inicio{scroll-margin-top:110px}
    #nosotros{scroll-margin-top:110px}
    #ambiental{scroll-margin-top:110px}
    #riesgos{scroll-margin-top:110px}
    #urbanismo{scroll-margin-top:110px}
    #asociaciones{scroll-margin-top:110px}
    #clientes{scroll-margin-top:110px}
    #contacto{scroll-margin-top:110px}
    body{
      margin:0;
      font-family: Inter, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--text);
      background:linear-gradient(180deg,#f8fbf9 0%,#eef5f1 100%);
    }
    a{text-decoration:none;color:inherit}
    img{max-width:100%}
    .container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
    .topbar{
      position:sticky;top:0;z-index:50;
      backdrop-filter: blur(12px);
      background:rgba(255,255,255,.86);
      border-bottom:1px solid rgba(18,50,43,.08);
    }
    .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
    .brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:.02em}
    .brand-mark{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;box-shadow:var(--shadow)}
    .brand-mark svg{width:24px;height:24px;fill:#fff}
    .brand small{display:block;color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11px}
    .menu{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
    .menu a{font-size:14px;color:#28453e;font-weight:600}
    .menu .cta{padding:11px 16px;background:var(--brand);color:#fff;border-radius:999px}

    .nav-item{position:relative}
    .nav-item > a{display:inline-flex;align-items:center;gap:6px}
    .submenu{
      position:absolute;
      top:100%;
      left:0;
      min-width:270px;
      background:#fff;
      border:1px solid rgba(18,50,43,.10);
      border-radius:18px;
      box-shadow:0 18px 50px rgba(11,31,27,.16);
      padding:10px;
      display:none;
      z-index:100;
    }
    .submenu a{
      display:block;
      padding:11px 12px;
      border-radius:12px;
      color:#28453e;
      font-size:13px;
      line-height:1.35;
      white-space:normal;
    }
    .submenu a:hover{background:#e8f6ee;color:var(--brand)}
    .nav-item:hover .submenu{display:block}


    .hero{
      position:relative;overflow:hidden;
      background:radial-gradient(circle at 15% 10%, rgba(99,182,140,.24), transparent 28%),
                 radial-gradient(circle at 85% 20%, rgba(31,122,83,.22), transparent 28%),
                 linear-gradient(135deg,#0d241f 0%,#123129 56%,#1f4f40 100%);
      color:#fff;
    }
    .hero:before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(255,255,255,.03) 1px, transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px);
      background-size:32px 32px;mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%);
      pointer-events:none;
    }
    .hero-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:24px 34px;align-items:center;padding:84px 0 34px;position:relative}
    .hero-badge{grid-column:1/-1;justify-self:start}
    .hero-copy{display:flex;align-items:center;min-width:0}
    .hero-copy h1{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
    .hero-video-card{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:32px;
      padding:10px;
      box-shadow:0 30px 80px rgba(0,0,0,.25);
      overflow:hidden;
    }
    .hero-video-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;background:#0a1c18}
    .hero-highlights{grid-column:1/-1;padding-top:8px;padding-bottom:38px}
    .hero-highlights-title{margin:0 0 16px;text-align:center;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
    .hero-highlights .hero-card{padding:18px}
    .hero-highlights .hero-grid{grid-template-columns:repeat(4,1fr)}
    .hero-highlights .mini-card{min-height:132px}
    .eyebrow{display:inline-flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .eyebrow span{width:8px;height:8px;border-radius:50%;background:#93e8b1;display:inline-block}
    h1{font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.04em;margin:18px 0 18px}
    .hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.84);max-width:700px}
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
    .btn{padding:14px 20px;border-radius:999px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px}
    .btn-primary{background:#fff;color:#113027}
    .btn-secondary{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
    .hero-card{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:32px;
      padding:24px;
      box-shadow:0 30px 80px rgba(0,0,0,.25);
    }
    .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .mini-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.08);min-height:140px;display:flex;flex-direction:column;justify-content:space-between}
    .mini-card strong{font-size:18px}
    .mini-card p{font-size:14px;line-height:1.55;margin:0;color:rgba(255,255,255,.74)}
    .mini-icon{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center}
    .mini-icon svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.7}

    .section{padding:84px 0}
    .section-title{max-width:760px;margin-bottom:34px}
    .section-title .kicker{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
    .section-title h2{margin:10px 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.03;letter-spacing:-.03em}
    .section-title p{margin:0;color:var(--muted);font-size:17px;line-height:1.75}

    .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-38px;position:relative;z-index:4}
    .stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:22px}
    .stat .num{font-size:34px;font-weight:900;color:var(--brand)}
    .stat .label{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;margin-top:8px}

    .about{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
    .panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
    .panel.padded{padding:30px}
    .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
    .feature{padding:20px;border-radius:20px;background:var(--panel-soft);border:1px solid var(--line)}
    .feature h3{margin:12px 0 8px;font-size:18px}
    .feature p{margin:0;color:var(--muted);line-height:1.7;font-size:15px}
    .feature .icon{width:48px;height:48px;border-radius:16px;background:#dff2e8;display:grid;place-items:center}
    .feature .icon svg{width:24px;height:24px;stroke:var(--brand);fill:none;stroke-width:1.8}
    .quote-box{height:100%;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#113127 0%,#1c5543 100%);color:#fff}
    .quote-box p{color:rgba(255,255,255,.82);font-size:17px;line-height:1.8}
    .about-mission-title{margin:0 0 14px;color:var(--brand);font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
    .about-story{margin-top:28px;padding:30px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
    .about-story p{margin:0;color:var(--muted);font-size:17px;line-height:1.85;text-align:justify}
    .about-story p+p{margin-top:18px}
    .pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
    .pill{padding:10px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:13px;font-weight:700}

    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .service{padding:26px}
    .service-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
    .service h3{margin:16px 0 10px;font-size:24px;letter-spacing:-.03em}
    .service p{margin:0 0 18px;color:var(--muted);line-height:1.75}
    .service ul{margin:0;padding-left:18px;color:#24443c;line-height:1.9}
    .service .badge{padding:10px 14px;border-radius:999px;background:#e8f6ee;color:var(--brand);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}

    
    .biosfera-accordion-wrap{
      margin-top:28px;
      padding:18px;
      border-radius:28px;
      background:
        radial-gradient(circle at 0% 100%, rgba(117,176,63,.10), transparent 28%),
        radial-gradient(circle at 100% 20%, rgba(0,30,119,.07), transparent 32%),
        linear-gradient(180deg,#ffffff 0%,#f4faf6 100%);
      border:1px solid rgba(18,50,43,.08);
      box-shadow:0 18px 45px rgba(11,31,27,.09);
      overflow:hidden;
    }

    .biosfera-accordion{
      display:flex;
      align-items:stretch;
      gap:6px;
      height:clamp(220px, 26vw, 320px);
      width:100%;
    }

    .ba-tab{
      position:relative;
      flex:0 0 clamp(48px, 5vw, 70px);
      border-radius:16px;
      color:#fff;
      cursor:pointer;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(11,31,27,.10);
      transition:flex-basis .35s ease, transform .25s ease, box-shadow .25s ease;
      display:flex;
      align-items:center;
      justify-content:center;
      min-width:0;
    }

    .ba-tab:hover{
      transform:translateY(-3px);
      box-shadow:0 16px 34px rgba(11,31,27,.14);
    }

    .ba-tab.active{
      flex:1 1 auto;
      background:#fff !important;
      color:#12322b;
      cursor:default;
      align-items:stretch;
      justify-content:flex-start;
    }

    .ba-tab-inner{
      position:absolute;
      inset:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:space-between;
      padding:14px 7px 12px;
      transition:.25s ease;
    }

    .ba-tab.active .ba-tab-inner{
      opacity:0;
      pointer-events:none;
    }

    .ba-icon{
      width:clamp(22px, 2.8vw, 34px);
      height:clamp(22px, 2.8vw, 34px);
      display:grid;
      place-items:center;
      flex:0 0 auto;
    }

    .ba-icon svg{
      width:100%;
      height:100%;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .ba-title-vertical{
      writing-mode:vertical-rl;
      transform:rotate(180deg);
      font-size:clamp(10px, 1vw, 14px);
      line-height:1.1;
      font-weight:900;
      text-align:center;
      letter-spacing:.03em;
      max-height:190px;
    }

    .ba-number{
      font-size:clamp(13px, 1.4vw, 20px);
      font-weight:900;
      letter-spacing:.04em;
    }

    .ba-content{
      opacity:0;
      pointer-events:none;
      padding:clamp(16px, 2.4vw, 28px);
      width:100%;
      height:100%;
      transition:.25s ease;
      background:#fff;
      color:#12322b;
      display:flex;
      flex-direction:column;
      justify-content:center;
      overflow:hidden;
    }

    .ba-tab.active .ba-content{
      opacity:1;
      pointer-events:auto;
    }

    .ba-content-top{
      display:flex;
      align-items:center;
      gap:14px;
      margin-bottom:10px;
    }

    .ba-content-icon{
      width:clamp(36px, 4vw, 52px);
      height:clamp(36px, 4vw, 52px);
      border-radius:16px;
      background:#e8f6ee;
      display:grid;
      place-items:center;
      color:var(--brand);
      flex:0 0 auto;
    }

    .ba-content-icon svg{
      width:60%;
      height:60%;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .ba-content h3{
      margin:0;
      font-size:clamp(18px, 2.4vw, 30px);
      line-height:1.08;
      letter-spacing:-.03em;
      color:#12322b;
    }

    .ba-content .divider{
      width:58px;
      height:3px;
      background:var(--brand);
      border-radius:999px;
      margin:8px 0 12px;
    }

    .ba-content p{
      margin:0 0 12px;
      color:#4e665f;
      line-height:1.55;
      font-size:clamp(12px, 1.15vw, 15px);
      text-align:justify;
    }

    .ba-content ul{
      margin:0 0 14px;
      padding:0;
      list-style:none;
      display:grid;
      gap:6px;
      color:#24443c;
      font-size:clamp(11px, 1.05vw, 14px);
    }

    .ba-content li{
      position:relative;
      padding-left:24px;
      line-height:1.35;
    }

    .ba-content li:before{
      content:"✓";
      position:absolute;
      left:0;
      top:0;
      width:17px;
      height:17px;
      border-radius:50%;
      background:#e8f6ee;
      color:var(--brand);
      display:grid;
      place-items:center;
      font-size:10px;
      font-weight:900;
    }

    .ba-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:9px 16px;
      border-radius:999px;
      background:var(--brand);
      color:#fff;
      font-weight:900;
      font-size:clamp(12px, 1vw, 14px);
      text-decoration:none;
      width:max-content;
    }

    .ba-btn:hover{background:#176844}

    .ba-tab:nth-child(1){background:#0f5f2e}
    .ba-tab:nth-child(2){background:#1f7a53}
    .ba-tab:nth-child(3){background:#75B03F}
    .ba-tab:nth-child(4){background:#2f8f7a}
    .ba-tab:nth-child(5){background:#1d776e}
    .ba-tab:nth-child(6){background:#001E77}
    .ba-tab:nth-child(7){background:#173f8f}
    .ba-tab:nth-child(8){background:#F6BC00;color:#12322b}

    @media (max-width: 980px){
      .biosfera-accordion{
        height:auto;
        display:grid;
        grid-template-columns:1fr;
      }

      .ba-tab,
      .ba-tab.active{
        flex:none;
        width:100%;
        min-height:auto;
        border-radius:18px;
      }

      .ba-tab-inner{
        position:relative;
        inset:auto;
        flex-direction:row;
        justify-content:flex-start;
        gap:14px;
        padding:16px 18px;
        min-height:74px;
      }

      .ba-title-vertical{
        writing-mode:initial;
        transform:none;
        text-align:left;
        font-size:15px;
        max-height:none;
      }

      .ba-number{
        margin-left:auto;
        font-size:16px;
      }

      .ba-tab.active .ba-tab-inner{
        display:none;
      }

      .ba-tab.active{
        background:#fff !important;
      }

      .ba-content{
        opacity:0;
        max-height:0;
        padding:0 18px;
        transition:max-height .35s ease, padding .35s ease, opacity .25s ease;
      }

      .ba-tab.active .ba-content{
        opacity:1;
        max-height:520px;
        padding:20px 18px;
      }
    }

    @media (max-width: 520px){
      .biosfera-accordion-wrap{
        padding:12px;
        border-radius:22px;
      }

      .ba-content-top{
        align-items:flex-start;
      }

      .ba-content h3{
        font-size:20px;
      }

      .ba-content p{
        font-size:13px;
        line-height:1.55;
      }

      .ba-content ul{
        font-size:13px;
      }
    }

    @media (max-width: 1080px){
      .hero-wrap,.about,.contact-wrap{grid-template-columns:1fr}
      .hero-badge{grid-column:1}
      .hero-copy{height:auto !important;align-items:flex-start}
      .hero-copy h1{font-size:clamp(38px,9vw,58px)}
      .hero-highlights{grid-column:1}
      .hero-highlights .hero-grid{grid-template-columns:repeat(2,1fr)}
      .stats,.cards,.phases,.clients{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width: 760px){
      .menu{display:none}
      .stats,.cards,.phases,.clients,.feature-list,form,.hero-grid,.hero-highlights .hero-grid{grid-template-columns:1fr}
      .section{padding:68px 0}
      .hero-wrap{padding:62px 0 28px}
      .hero-highlights{padding-bottom:42px}
      .stat .num{font-size:30px}
      .service h3,.phase h3{font-size:22px}
    }
  
    .risk-section{
      padding:96px 0;
      background:
        radial-gradient(circle at 92% 12%, rgba(117,176,63,.08), transparent 28%),
        linear-gradient(180deg,#f8fbf9 0%,#ffffff 100%);
    }

    .risk-header{
      max-width:960px;
      margin-bottom:38px;
    }

    .risk-header .kicker{
      color:var(--brand);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:12px;
    }

    .risk-header h2{
      margin:0 0 16px;
      font-size:clamp(34px,5vw,58px);
      line-height:1.02;
      letter-spacing:-.04em;
      color:#092f2a;
    }

    .risk-header p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.85;
      max-width:850px;
    }

    .risk-layout{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:28px;
      align-items:stretch;
    }

    .risk-box-dark{
      background:linear-gradient(135deg,#062c29 0%,#124f43 100%);
      color:#fff;
      border-radius:28px;
      padding:34px;
      box-shadow:0 28px 65px rgba(6,44,41,.16);
      border:1px solid rgba(255,255,255,.08);
    }

    .risk-box-light{
      background:#fff;
      color:#12322b;
      border-radius:28px;
      padding:34px;
      box-shadow:0 20px 50px rgba(11,31,27,.10);
      border:1px solid rgba(18,50,43,.10);
    }

    .risk-label{
      display:inline-flex;
      align-items:center;
      gap:10px;
      color:#7fc241;
      font-weight:900;
      font-size:13px;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:18px;
    }

    .risk-label:after{
      content:"";
      width:54px;
      height:2px;
      background:currentColor;
      opacity:.45;
      border-radius:999px;
    }

    .risk-box-dark h3,
    .risk-box-light h3{
      margin:0 0 18px;
      font-size:clamp(25px,3vw,36px);
      line-height:1.1;
      letter-spacing:-.03em;
    }

    .risk-box-dark p,
    .risk-box-light p{
      font-size:16px;
      line-height:1.85;
      text-align:justify;
      margin:0 0 18px;
    }

    .risk-box-dark p{color:rgba(255,255,255,.9)}
    .risk-box-light p{color:#4f6962}

    .risk-icons{
      display:flex;
      gap:16px;
      flex-wrap:wrap;
      margin-top:26px;
    }

    .risk-icon{
      width:68px;
      height:68px;
      border-radius:20px;
      display:grid;
      place-items:center;
      color:#7fc241;
      background:rgba(127,194,65,.12);
    }

    .risk-box-dark .risk-icon{
      background:rgba(255,255,255,.08);
      color:#a7e46f;
    }

    .risk-icon svg{
      width:34px;
      height:34px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .risk-highlight{
      margin-top:28px;
      border-radius:28px;
      padding:28px 32px;
      background:linear-gradient(90deg,#eef6ef 0%,#f7fbf8 100%);
      border:1px solid rgba(18,50,43,.10);
      display:flex;
      align-items:center;
      gap:24px;
      box-shadow:0 18px 40px rgba(11,31,27,.07);
    }

    .risk-highlight-icon{
      width:86px;
      height:86px;
      border-radius:50%;
      background:#dff2e8;
      display:grid;
      place-items:center;
      color:var(--brand);
      flex:0 0 auto;
    }

    .risk-highlight-icon svg{
      width:48px;
      height:48px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .risk-highlight p{
      margin:0;
      color:#2f7a35;
      font-size:clamp(22px,3vw,32px);
      line-height:1.28;
      font-style:italic;
      font-weight:700;
    }

    @media (max-width:980px){
      .risk-layout{grid-template-columns:1fr}
    }

    @media (max-width:640px){
      .risk-section{padding:72px 0}
      .risk-box-dark,.risk-box-light{padding:24px}
      .risk-highlight{flex-direction:column;text-align:center;padding:24px}
      .risk-icon{width:56px;height:56px}
    }

  
    .urban-section{
      padding:96px 0;
      background:
        radial-gradient(circle at 10% 15%, rgba(0,30,119,.08), transparent 28%),
        radial-gradient(circle at 88% 20%, rgba(117,176,63,.10), transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#eef6f2 100%);
    }

    .urban-header{
      max-width:920px;
      margin-bottom:34px;
    }

    .urban-header .kicker{
      color:var(--brand);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:12px;
    }

    .urban-header h2{
      margin:0 0 14px;
      font-size:clamp(34px,5vw,56px);
      line-height:1.02;
      letter-spacing:-.04em;
      color:#092f2a;
    }

    .urban-header p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.85;
      max-width:850px;
    }

    .urban-accordion{
      display:flex;
      gap:8px;
      height:clamp(300px, 36vw, 460px);
      width:100%;
      border-radius:30px;
      padding:18px;
      background:#fff;
      box-shadow:0 22px 55px rgba(11,31,27,.10);
      border:1px solid rgba(18,50,43,.10);
      overflow:hidden;
    }

    .urban-tab{
      position:relative;
      flex:0 0 clamp(60px,6vw,82px);
      border-radius:18px;
      overflow:hidden;
      cursor:pointer;
      color:#fff;
      background:#001E77;
      transition:flex-basis .35s ease, transform .25s ease, box-shadow .25s ease;
      min-width:0;
    }

    .urban-tab:nth-child(1){background:linear-gradient(180deg,#001E77 0%,#173f8f 100%)}
    .urban-tab:nth-child(2){background:linear-gradient(180deg,#1f7a53 0%,#0d5b44 100%)}
    .urban-tab:nth-child(3){background:linear-gradient(180deg,#75B03F 0%,#4b8a2b 100%)}

    .urban-tab:hover{
      transform:translateY(-3px);
      box-shadow:0 16px 34px rgba(11,31,27,.14);
    }

    .urban-tab.active{
      flex:1 1 auto;
      background:#fff !important;
      color:#12322b;
      cursor:default;
    }

    .urban-tab-closed{
      position:absolute;
      inset:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:space-between;
      padding:18px 8px 14px;
      transition:.25s ease;
    }

    .urban-tab.active .urban-tab-closed{
      opacity:0;
      pointer-events:none;
    }

    .urban-tab-icon{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
    }

    .urban-tab-icon svg{
      width:100%;
      height:100%;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .urban-title-vertical{
      writing-mode:vertical-rl;
      transform:rotate(180deg);
      font-size:clamp(12px,1.1vw,15px);
      line-height:1.1;
      font-weight:900;
      text-align:center;
      letter-spacing:.03em;
      max-height:260px;
    }

    .urban-number{
      font-size:18px;
      font-weight:900;
    }

    .urban-content{
      opacity:0;
      pointer-events:none;
      padding:clamp(20px,2.8vw,34px);
      height:100%;
      overflow:auto;
      background:#fff;
      transition:.25s ease;
    }

    .urban-tab.active .urban-content{
      opacity:1;
      pointer-events:auto;
    }

    .urban-content-head{
      display:flex;
      align-items:center;
      gap:16px;
      margin-bottom:14px;
    }

    .urban-content-icon{
      width:56px;
      height:56px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:#e8f6ee;
      color:var(--brand);
      flex:0 0 auto;
    }

    .urban-content-icon svg{
      width:34px;
      height:34px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .urban-content h3{
      margin:0;
      font-size:clamp(24px,3vw,36px);
      line-height:1.08;
      letter-spacing:-.03em;
      color:#092f2a;
    }

    .urban-content p{
      color:#4e665f;
      line-height:1.75;
      font-size:15px;
      text-align:justify;
      margin:0 0 14px;
    }

    .urban-content ul{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      padding:0;
      margin:18px 0 0;
      list-style:none;
    }

    .urban-content li{
      position:relative;
      padding:10px 12px 10px 34px;
      background:#f3f7f5;
      border:1px solid rgba(18,50,43,.10);
      border-radius:14px;
      color:#24443c;
      font-size:14px;
      line-height:1.35;
    }

    .urban-content li:before{
      content:"";
      position:absolute;
      left:13px;
      top:15px;
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--brand);
    }

    @media(max-width:980px){
      .urban-accordion{
        display:grid;
        grid-template-columns:1fr;
        height:auto;
      }

      .urban-tab,
      .urban-tab.active{
        flex:none;
        width:100%;
        border-radius:18px;
      }

      .urban-tab-closed{
        position:relative;
        flex-direction:row;
        justify-content:flex-start;
        gap:14px;
        padding:16px 18px;
      }

      .urban-title-vertical{
        writing-mode:initial;
        transform:none;
        max-height:none;
        text-align:left;
        font-size:15px;
      }

      .urban-number{
        margin-left:auto;
      }

      .urban-tab.active .urban-tab-closed{
        display:none;
      }

      .urban-content{
        max-height:0;
        padding:0 18px;
        opacity:0;
        transition:max-height .35s ease, padding .35s ease, opacity .25s ease;
      }

      .urban-tab.active .urban-content{
        max-height:900px;
        padding:22px 18px;
        opacity:1;
      }
    }

    @media(max-width:640px){
      .urban-section{padding:72px 0}
      .urban-content ul{grid-template-columns:1fr}
      .urban-content-head{align-items:flex-start}
      .urban-content h3{font-size:24px}
      .urban-content p{font-size:14px}
    }

  
    /* Asociaciones y Registros */
    .assoc-section{
      padding:96px 0;
      background:
        radial-gradient(circle at 8% 12%, rgba(117,176,63,.11), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(0,30,119,.08), transparent 30%),
        linear-gradient(180deg,#f8fbf9 0%,#ffffff 100%);
    }
    .assoc-wrap{display:grid;gap:28px}
    .assoc-head{
      max-width:940px;
    }
    .assoc-head .kicker{
      color:var(--brand);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:12px;
    }
    .assoc-head h2{
      margin:0 0 14px;
      font-size:clamp(34px,5vw,56px);
      line-height:1.02;
      letter-spacing:-.04em;
      color:#092f2a;
    }
    .assoc-head p{
      margin:0 0 12px;
      color:var(--muted);
      font-size:17px;
      line-height:1.85;
      max-width:860px;
    }
    .assoc-stats{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:18px;
    }
    .assoc-stat{
      border-radius:26px;
      padding:26px;
      color:#fff;
      background:linear-gradient(135deg,#0d3b30 0%,#1f7a53 100%);
      box-shadow:0 22px 50px rgba(11,31,27,.12);
      position:relative;
      overflow:hidden;
    }
    .assoc-stat:after{
      content:"";
      position:absolute;
      right:-45px;
      bottom:-45px;
      width:130px;
      height:130px;
      border-radius:50%;
      background:rgba(246,188,0,.16);
    }
    .assoc-stat strong{
      display:block;
      font-size:46px;
      line-height:1;
      margin-bottom:8px;
      color:#F6BC00;
      letter-spacing:-.04em;
    }
    .assoc-stat span{
      display:block;
      font-size:14px;
      line-height:1.5;
      color:rgba(255,255,255,.9);
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.06em;
      max-width:430px;
      position:relative;
      z-index:1;
    }
    .assoc-logos{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:24px;
    }
    .assoc-card{
      background:#fff;
      border:1px solid rgba(18,50,43,.10);
      border-radius:28px;
      padding:30px;
      box-shadow:0 22px 50px rgba(11,31,27,.09);
      position:relative;
      overflow:hidden;
    }
    .assoc-card:before{
      content:"";
      position:absolute;
      right:-70px;
      bottom:-70px;
      width:180px;
      height:180px;
      border-radius:50%;
      background:rgba(117,176,63,.08);
    }
    .assoc-logo-box{
      min-height:104px;
      display:flex;
      align-items:center;
      justify-content:center;
      margin-bottom:22px;
      padding:18px;
      border-radius:24px;
      background:
        radial-gradient(circle at 20% 20%, rgba(117,176,63,.13), transparent 30%),
        linear-gradient(135deg,#f7fbf8 0%,#eef6f2 100%);
      border:1px solid rgba(18,50,43,.08);
      position:relative;
      z-index:1;
    }
    .assoc-logo-image{
      display:block;
      max-width:100%;
      width:auto;
      max-height:78px;
      height:auto;
      object-fit:contain;
    }
    .assoc-logo-image.amia{
      max-height:88px;
    }
    .assoc-logo-mark{
      display:flex;
      align-items:center;
      gap:14px;
      color:#12322b;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .assoc-logo-symbol{
      width:62px;
      height:62px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:#fff;
      color:var(--brand);
      box-shadow:0 12px 28px rgba(11,31,27,.10);
      border:1px solid rgba(18,50,43,.08);
    }
    .assoc-logo-symbol svg{
      width:36px;
      height:36px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }
    .assoc-logo-text{
      display:flex;
      flex-direction:column;
      line-height:1;
    }
    .assoc-logo-text b{
      font-size:36px;
      color:#001E77;
      letter-spacing:-.05em;
    }
    .assoc-logo-text small{
      margin-top:8px;
      font-size:11px;
      color:var(--brand);
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:900;
    }
    .assoc-card h3{
      margin:0 0 12px;
      font-size:24px;
      line-height:1.12;
      letter-spacing:-.03em;
      color:#092f2a;
      position:relative;
      z-index:1;
    }
    .assoc-card p{
      margin:0;
      color:#4e665f;
      line-height:1.75;
      position:relative;
      z-index:1;
    }
    .assoc-map-card{
      border-radius:30px;
      background:
        radial-gradient(circle at 50% 42%, rgba(117,176,63,.20), transparent 28%),
        linear-gradient(135deg,#ffffff 0%,#eef6f2 100%);
      border:1px solid rgba(18,50,43,.10);
      box-shadow:0 22px 55px rgba(11,31,27,.09);
      padding:32px;
      overflow:hidden;
      position:relative;
    }
    .assoc-map-card h3{
      margin:0 0 10px;
      font-size:32px;
      letter-spacing:-.03em;
      color:#092f2a;
    }
    .assoc-map-card p{
      margin:0 0 16px;
      color:var(--muted);
      line-height:1.75;
      max-width:760px;
    }
    .assoc-map{
      width:100%;
      max-width:780px;
      margin:12px auto 0;
      display:block;
      filter:drop-shadow(0 18px 24px rgba(11,31,27,.10));
    }
    .assoc-map .base{fill:#dcebe0;stroke:#fff;stroke-width:2}
    .assoc-map .coverage{fill:#75B03F;stroke:#fff;stroke-width:2}
    .assoc-map .core{fill:#001E77;opacity:.88}
    .assoc-map .dot{fill:#F6BC00;stroke:#fff;stroke-width:3}
    .assoc-map text{font-family:Inter, Segoe UI, Roboto, Arial, sans-serif}
    @media(max-width:980px){
      .assoc-stats,.assoc-logos{grid-template-columns:1fr}
    }
    @media(max-width:640px){
      .assoc-section{padding:72px 0}
      .assoc-card,.assoc-map-card,.assoc-stat{padding:22px}
      .assoc-stat strong{font-size:36px}
      .assoc-logo-mark{align-items:flex-start}
      .assoc-logo-text b{font-size:30px}
      .assoc-map-card h3{font-size:26px}
    }


    .assoc-map-final{
      width:100%;
      max-width:980px;
      display:block;
      margin:20px auto 0;
      border-radius:30px;
      box-shadow:0 20px 50px rgba(11,31,27,.14);
    }

  /* Clientes - Carrusel */
    .clients-section{
      padding:96px 0;
      background:
        radial-gradient(circle at 12% 18%, rgba(117,176,63,.12), transparent 28%),
        radial-gradient(circle at 88% 16%, rgba(0,30,119,.07), transparent 30%),
        linear-gradient(180deg,#f8fbf9 0%,#eef6f2 100%);
      overflow:hidden;
    }

    .clients-head{
      text-align:center;
      max-width:860px;
      margin:0 auto 40px;
    }

    .clients-head .kicker{
      color:var(--brand);
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:12px;
    }

    .clients-head h2{
      margin:0 0 14px;
      font-size:clamp(34px,5vw,56px);
      line-height:1.02;
      letter-spacing:-.04em;
      color:#092f2a;
    }

    .clients-head p{
      margin:0 auto;
      color:var(--muted);
      font-size:17px;
      line-height:1.75;
      max-width:760px;
    }

    .clients-carousel{
      position:relative;
      width:100%;
      overflow:hidden;
      border-radius:30px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(18,50,43,.10);
      box-shadow:0 22px 55px rgba(11,31,27,.09);
      padding:28px 0;
      isolation:isolate;
    }

    .clients-carousel:before,
    .clients-carousel:after{
      content:"";
      position:absolute;
      top:0;
      width:130px;
      height:100%;
      z-index:2;
      pointer-events:none;
    }

    .clients-carousel:before{
      left:0;
      background:linear-gradient(90deg,#f8fbf9 0%,rgba(248,251,249,0) 100%);
    }

    .clients-carousel:after{
      right:0;
      background:linear-gradient(270deg,#f8fbf9 0%,rgba(248,251,249,0) 100%);
    }

    .clients-track{
      display:flex;
      align-items:center;
      gap:22px;
      width:max-content;
      animation:clients-scroll 34s linear infinite;
    }

    .clients-carousel:hover .clients-track{
      animation-play-state:paused;
    }

    .client-logo-card{
      width:220px;
      height:108px;
      flex:0 0 220px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:24px;
      background:#fff;
      border:1px solid rgba(18,50,43,.08);
      box-shadow:0 12px 28px rgba(11,31,27,.08);
      padding:18px;
    }

    .client-logo-card img{
      width:100%;
      height:100%;
      object-fit:contain;
      display:block;
      filter:contrast(1.02) saturate(.98);
    }

    @keyframes clients-scroll{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }

    @media(max-width:760px){
      .clients-section{padding:72px 0}
      .clients-carousel{padding:20px 0;border-radius:24px}
      .client-logo-card{
        width:170px;
        height:88px;
        flex-basis:170px;
        padding:14px;
      }
      .clients-track{gap:16px;animation-duration:28s}
      .clients-carousel:before,
      .clients-carousel:after{width:70px}
    }

    /* Contadores compactos en franja principal */
    .biosfera-stats-inline{
      grid-template-columns:repeat(6,1fr);
      gap:16px;
      align-items:stretch;
    }

    .biosfera-counter-card{
      text-align:center;
      min-height:140px;
      padding:20px 18px;
      overflow:hidden;
      position:relative;
    }

    .biosfera-counter-card:after{
      content:"";
      position:absolute;
      right:-34px;
      bottom:-34px;
      width:92px;
      height:92px;
      border-radius:50%;
      background:rgba(31,122,83,.07);
      pointer-events:none;
    }

    .counter-icon{
      width:48px;
      height:48px;
      border-radius:14px;
      background:#e8f6ee;
      color:var(--brand);
      display:grid;
      place-items:center;
      margin:0 auto 14px;
      position:relative;
      z-index:1;
    }

    .counter-icon svg{
      width:30px;
      height:30px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.8;
    }

    .biosfera-counter-card .num{
      text-align:center;
      font-size:clamp(30px,3.2vw,40px);
      line-height:1;
      letter-spacing:-.04em;
      position:relative;
      z-index:1;
    }

    .biosfera-counter-card .label{
      text-align:center;
      font-size:11px;
      line-height:1.35;
      margin-top:10px;
      position:relative;
      z-index:1;
    }

    .biosfera-counter-card{
      transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .biosfera-counter-card:hover{
      transform:translateY(-6px);
      box-shadow:0 28px 70px rgba(11,31,27,.15);
      border-color:rgba(31,122,83,.22);
    }

    @media (max-width:1080px){
      .biosfera-stats-inline{grid-template-columns:repeat(3,1fr)}
    }

    @media (max-width:760px){
      .biosfera-stats-inline{grid-template-columns:repeat(2,1fr)}
      .biosfera-counter-card{min-height:130px}
    }

    @media (max-width:480px){
      .biosfera-stats-inline{grid-template-columns:1fr}
    }


    /* Interactividad premium controlada */
    .reveal{
      opacity:0;
      transform:translateY(26px);
      transition:opacity .72s ease, transform .72s ease;
      will-change:opacity, transform;
    }

    .reveal.is-visible{
      opacity:1;
      transform:translateY(0);
    }

    .panel,
    .feature,
    .stat,
    .service,
    .risk-box-dark,
    .risk-box-light,
    .risk-highlight,
    .urban-tab,
    .ba-tab,
    .assoc-card,
    .assoc-stat,
    .assoc-map-card,
    .client-logo-card,
    .contact-premium-card{
      transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease,
        background-color .28s ease;
    }

    .panel:hover,
    .feature:hover,
    .stat:hover,
    .service:hover,
    .risk-box-dark:hover,
    .risk-box-light:hover,
    .risk-highlight:hover,
    .assoc-card:hover,
    .assoc-stat:hover,
    .assoc-map-card:hover,
    .client-logo-card:hover,
    .contact-premium-card:hover{
      transform:translateY(-6px);
      box-shadow:0 28px 70px rgba(11,31,27,.15);
      border-color:rgba(31,122,83,.22);
    }

    .ba-tab,
    .urban-tab{
      transition:
        flex-basis .48s cubic-bezier(.22,1,.36,1),
        transform .25s ease,
        box-shadow .25s ease,
        background .28s ease,
        color .28s ease;
    }

    .ba-content,
    .urban-content{
      transition:
        opacity .34s ease,
        max-height .42s ease,
        padding .42s ease;
    }

    .mobile-menu-toggle{
      display:none;
      width:46px;
      height:46px;
      border:1px solid rgba(18,50,43,.10);
      border-radius:14px;
      background:#fff;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:5px;
      cursor:pointer;
      box-shadow:0 10px 26px rgba(11,31,27,.08);
    }

    .mobile-menu-toggle span{
      width:22px;
      height:2px;
      border-radius:999px;
      background:#12322b;
      transition:transform .25s ease, opacity .25s ease;
    }

    .mobile-menu-toggle.is-open span:nth-child(1){
      transform:translateY(7px) rotate(45deg);
    }

    .mobile-menu-toggle.is-open span:nth-child(2){
      opacity:0;
    }

    .mobile-menu-toggle.is-open span:nth-child(3){
      transform:translateY(-7px) rotate(-45deg);
    }

    .whatsapp-contact-float{
      position:fixed;
      right:22px;
      bottom:22px;
      z-index:120;
      width:60px;
      height:60px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:#25D366;
      color:#fff;
      box-shadow:0 18px 44px rgba(0,0,0,.24);
      transition:transform .25s ease, box-shadow .25s ease;
    }

    .whatsapp-contact-float:hover{
      transform:translateY(-5px) scale(1.04);
      box-shadow:0 24px 58px rgba(0,0,0,.28);
    }

    .whatsapp-contact-float svg{
      width:32px;
      height:32px;
      fill:currentColor;
    }

    @media (max-width:760px){
      .mobile-menu-toggle{display:flex}

      .topbar .nav{
        position:relative;
      }

      .menu{
        position:absolute;
        top:calc(100% + 12px);
        left:0;
        right:0;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:6px;
        padding:16px;
        border-radius:22px;
        background:rgba(255,255,255,.98);
        border:1px solid rgba(18,50,43,.10);
        box-shadow:0 24px 60px rgba(11,31,27,.16);
        max-height:calc(100vh - 120px);
        overflow:auto;
      }

      .menu.is-open{
        display:flex;
      }

      .menu a,
      .nav-item > a{
        padding:12px 14px;
        border-radius:14px;
        background:#f3f7f5;
      }

      .menu .cta{
        text-align:center;
        background:var(--brand);
        color:#fff;
      }

      .nav-item:hover .submenu{
        display:none;
      }

      .nav-item.is-open .submenu{
        display:block;
      }

      .submenu{
        position:static;
        min-width:0;
        box-shadow:none;
        margin-top:6px;
        border-radius:16px;
        background:#fff;
      }

      .whatsapp-contact-float{
        right:16px;
        bottom:16px;
        width:54px;
        height:54px;
      }

      .whatsapp-contact-float svg{
        width:29px;
        height:29px;
      }
    }

    @media (prefers-reduced-motion: reduce){
      .reveal,
      .panel,
      .feature,
      .stat,
      .service,
      .risk-box-dark,
      .risk-box-light,
      .risk-highlight,
      .assoc-card,
      .assoc-stat,
      .assoc-map-card,
      .client-logo-card,
      .contact-premium-card,
      .ba-tab,
      .urban-tab,
      .ba-content,
      .urban-content{
        transition:none !important;
      }
    }


    /* Ajuste fino de ritmo vertical entre secciones */
    #nosotros{
      padding-bottom:54px !important;
    }

    #ambiental{
      padding-top:54px !important;
      padding-bottom:64px !important;
    }

    #ambiental .section-title{
      margin-bottom:28px;
    }

    #riesgos,
    #urbanismo,
    #asociaciones,
    #clientes,
    #contacto{
      padding-top:68px !important;
      padding-bottom:68px !important;
    }

    #riesgos .risk-header,
    #urbanismo .urban-header,
    #asociaciones .assoc-head,
    #clientes .clients-head{
      margin-bottom:28px;
    }

    @media(max-width:760px){
      #nosotros{
        padding-bottom:44px !important;
      }

      #ambiental,
      #riesgos,
      #urbanismo,
      #asociaciones,
      #clientes,
      #contacto{
        padding-top:52px !important;
        padding-bottom:56px !important;
      }

      #ambiental .section-title,
      #riesgos .risk-header,
      #urbanismo .urban-header,
      #asociaciones .assoc-head,
      #clientes .clients-head{
        margin-bottom:24px;
      }
    }


    /* Encabezados unificados de secciones */
    :root{
      --brand-blue:#001E77;
    }

    .section-title .kicker,
    .risk-header .kicker,
    .urban-header .kicker,
    .assoc-head .kicker,
    .clients-head .kicker,
    .contact-premium-head .kicker,
    .unified-kicker{
      color:var(--brand-blue) !important;
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:12px;
    }

    .section-title,
    .risk-header,
    .urban-header,
    .assoc-head,
    .clients-head,
    .contact-premium-head{
      max-width:860px;
      margin-left:auto;
      margin-right:auto;
      text-align:center;
    }

    .section-title h2,
    .risk-header h2,
    .urban-header h2,
    .assoc-head h2,
    .clients-head h2,
    .contact-premium-head h2{
      margin:0 0 14px;
      font-size:clamp(34px,5vw,56px);
      line-height:1.02;
      letter-spacing:-.04em;
      color:#092f2a;
    }

    .section-title p,
    .risk-header p,
    .urban-header p,
    .assoc-head p,
    .clients-head p,
    .contact-premium-head p{
      margin-left:auto;
      margin-right:auto;
      color:var(--muted);
      font-size:17px;
      line-height:1.75;
      max-width:760px;
      text-align:center !important;
    }

    @media(max-width:640px){
      .section-title h2,
      .risk-header h2,
      .urban-header h2,
      .assoc-head h2,
      .clients-head h2,
      .contact-premium-head h2{
        font-size:32px;
      }
    }


    /* Botón flotante volver arriba */
    .back-to-top{
      position:fixed;
      right:24px;
      bottom:92px;
      z-index:120;
      width:48px;
      height:48px;
      border:0;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:#001E77;
      color:#fff;
      cursor:pointer;
      box-shadow:0 14px 34px rgba(0,30,119,.25);
      opacity:0;
      visibility:hidden;
      transform:translateY(10px);
      transition:opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .25s ease;
    }

    .back-to-top.is-visible{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }

    .back-to-top:hover{
      transform:translateY(-4px);
      box-shadow:0 20px 48px rgba(0,30,119,.32);
    }

    .back-to-top svg{
      width:24px;
      height:24px;
      stroke:currentColor;
      fill:none;
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    @media(max-width:760px){
      .back-to-top{
        right:19px;
        bottom:82px;
        width:44px;
        height:44px;
      }
    }



    /* Ajustes exclusivos de la sección Nosotros */
    #nosotros .quote-box h2{
      font-size:clamp(20px,2vw,27px);
      line-height:1.2;
      margin-bottom:14px;
    }
    #nosotros .about-story{
      border-color:rgba(31,122,83,.32);
    }
    #nosotros .about-story-badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin:0 0 16px;
      padding:9px 16px;
      border:1px solid rgba(31,122,83,.34);
      border-radius:999px;
      color:var(--brand);
      font-size:13px;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
      background:rgba(31,122,83,.05);
    }
    #nosotros .about-story-badge::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--brand);
      box-shadow:0 0 0 4px rgba(31,122,83,.10);
      flex:0 0 auto;
    }
    #nosotros .about-story p{
      color:var(--brand);
      font-weight:800;
      text-align:justify;
      text-justify:inter-word;
    }
    #nosotros .about-carousel{
      position:relative;
      margin-top:18px;
      height:230px;
      border-radius:18px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.30);
      background:rgba(0,0,0,.12);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
    }
    #nosotros .about-carousel-slide{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      opacity:0;
      transform:scale(1.02);
      transition:opacity .8s ease, transform 5.5s ease;
    }
    #nosotros .about-carousel-slide.is-active{
      opacity:1;
      transform:scale(1);
    }
    #nosotros .about-carousel-dots{
      position:absolute;
      left:50%;
      bottom:12px;
      transform:translateX(-50%);
      display:flex;
      gap:7px;
      z-index:2;
    }
    #nosotros .about-carousel-dot{
      width:8px;
      height:8px;
      padding:0;
      border:1px solid rgba(255,255,255,.9);
      border-radius:50%;
      background:transparent;
      cursor:pointer;
    }
    #nosotros .about-carousel-dot.is-active{
      background:#fff;
    }
    @media(max-width:760px){
      #nosotros .about-carousel{height:210px}
      #nosotros .about-story p{font-size:16px}
    }

  

  /* Vista previa del Blog en página principal */
  .home-blog-section{
    padding:88px 0;
    background:linear-gradient(180deg,#f7fbf8 0%,#eef6f2 100%);
  }
  .home-blog-head{
    max-width:780px;
    margin:0 auto 32px;
    text-align:center;
  }
  .home-blog-head .kicker{
    color:var(--brand);
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .home-blog-head h2{
    margin:10px 0 12px;
    font-size:clamp(30px,4vw,48px);
    line-height:1.05;
    letter-spacing:-.03em;
  }
  .home-blog-head p{
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.75;
  }
  .home-blog-filters{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 32px;
  }
  .home-blog-filter{
    appearance:none;
    border:1px solid rgba(17,93,67,.22);
    background:#fff;
    color:var(--ink);
    border-radius:999px;
    padding:10px 18px;
    font:inherit;
    font-size:14px;
    font-weight:750;
    cursor:pointer;
    transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
  }
  .home-blog-filter:hover{
    transform:translateY(-1px);
    border-color:var(--brand);
  }
  .home-blog-filter.is-active{
    color:#fff;
    background:var(--brand);
    border-color:var(--brand);
  }
  .home-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
  .home-blog-card{
    display:none;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(17,93,67,.14);
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 46px rgba(23,70,52,.10);
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .home-blog-card.is-visible{display:flex;flex-direction:column}
  .home-blog-card:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 54px rgba(23,70,52,.16);
  }
  .home-blog-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#dfece6;
  }
  .home-blog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
  }
  .home-blog-card:hover .home-blog-image img{transform:scale(1.045)}
  .home-blog-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px;
  }
  .home-blog-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:var(--muted);
    font-size:12px;
    line-height:1.4;
  }
  .home-blog-meta span{
    color:var(--brand);
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .home-blog-card h3{
    margin:15px 0 11px;
    font-size:22px;
    line-height:1.2;
    letter-spacing:-.025em;
  }
  .home-blog-card h3 a{color:inherit;text-decoration:none}
  .home-blog-card p{
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
  }
  .home-blog-read{
    display:inline-flex;
    align-items:center;
    gap:8px;
    align-self:flex-start;
    margin-top:22px;
    color:var(--brand);
    font-weight:800;
    text-decoration:none;
  }
  .home-blog-read span{transition:transform .2s ease}
  .home-blog-read:hover span{transform:translateX(4px)}
  .home-blog-footer{
    display:flex;
    justify-content:center;
    margin-top:34px;
  }
  .home-blog-all{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(17,93,67,.20);
    transition:transform .25s ease,box-shadow .25s ease;
  }
  .home-blog-all:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(17,93,67,.26)}
  @media(max-width:900px){
    .home-blog-section{padding:72px 0}
    .home-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:640px){
    .home-blog-section{padding:62px 0}
    .home-blog-grid{grid-template-columns:1fr}
    .home-blog-meta{align-items:flex-start;flex-direction:column;gap:6px}
    .home-blog-filter{padding:9px 14px;font-size:13px}
  }

