/* HSE Consultoría - Landing pública
   Archivo separado desde la maqueta aprobada.
   Ruta: public_html/assets/css/public.css */

:root{
      --bg:#f5f5f5;
      --white:#ffffff;
      --black:#111111;
      --black2:#1c1c1c;
      --text:#222222;
      --muted:#666666;
      --line:rgba(0,0,0,.10);

      --yellow:#f5b400;
      --yellow-2:#ffcb2f;
      --yellow-soft:#fff1bc;
      --orange:#ff7a00;

      --dark-section:#0f1720;
      --blue-dark:#102331;
      --card:#ffffff;

      --shadow:0 20px 60px rgba(0,0,0,.12);
      --shadow-soft:0 10px 30px rgba(0,0,0,.08);
      --radius:24px;
      --radius-lg:34px;

      --container:min(1180px, calc(100% - 32px));
      --trans:.28s ease;
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"Inter",system-ui,sans-serif;
      background:var(--bg);
      color:var(--text);
      overflow-x:hidden;
    }
    img{max-width:100%;display:block}
    a{text-decoration:none;color:inherit}
    ul{list-style:none}
    .wrap{width:var(--container);margin-inline:auto}

    .section{padding:90px 0}
    .section--light{background:#fff}
    .section--gray{background:#f2f2f2}
    .section--dark{background:linear-gradient(135deg, #0e1821 0%, #12293a 100%);color:#fff}

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:9px 14px;
      border-radius:999px;
      font-size:13px;
      font-weight:800;
      letter-spacing:.01em;
      background:rgba(245,180,0,.14);
      color:#8b5d00;
      border:1px solid rgba(245,180,0,.18);
    }

    .eyebrow::before{
      content:"";
      width:8px;height:8px;border-radius:50%;
      background:linear-gradient(135deg,var(--yellow),var(--orange));
      box-shadow:0 0 0 6px rgba(245,180,0,.15);
    }

    .section__head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:30px;
      margin-bottom:38px;
    }
    .section__head h2{
      font-family:"Poppins",sans-serif;
      font-size:clamp(32px,4vw,54px);
      line-height:1;
      letter-spacing:-.05em;
      color:inherit;
      max-width:680px;
    }
    .section__head p{
      max-width:470px;
      color:inherit;
      opacity:.75;
      line-height:1.7;
      font-size:15px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:48px;
      padding:0 20px;
      border-radius:999px;
      font-size:14px;
      font-weight:800;
      border:1px solid transparent;
      transition:var(--trans);
      cursor:pointer;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-3px)}
    .btn--primary{
      background:linear-gradient(135deg,var(--yellow),var(--orange));
      color:#111;
      box-shadow:0 16px 30px rgba(245,180,0,.28);
    }
    .btn--dark{
      background:#111;
      color:#fff;
      box-shadow:0 14px 28px rgba(0,0,0,.18);
    }
    .btn--ghost{
      background:#fff;
      border-color:rgba(255,255,255,.18);
      color:#111;
    }
    .btn--line{
      background:transparent;
      border-color:rgba(255,255,255,.25);
      color:#fff;
    }

    /* HEADER */
    .header{
      position:sticky;
      top:0;
      z-index:1000;
      backdrop-filter:blur(16px);
      background:rgba(17,17,17,.82);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .header__inner{
      width:var(--container);
      margin-inline:auto;
      height:78px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:14px;
      color:#fff;
      font-weight:900;
    }
    .brand__mark{
      width:46px;height:46px;border-radius:16px;
      background:linear-gradient(135deg,var(--yellow),var(--orange));
      display:grid;place-items:center;
      color:#111;
      font-family:"Poppins",sans-serif;
      font-weight:800;
      box-shadow:0 14px 28px rgba(245,180,0,.22);
    }
    .brand__text{
      display:flex;
      flex-direction:column;
      line-height:1;
    }
    .brand__text strong{
      font-family:"Poppins",sans-serif;
      font-size:19px;
      letter-spacing:-.04em;
    }
    .brand__text span{
      font-size:12px;
      opacity:.7;
      margin-top:4px;
      font-weight:600;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:24px;
      color:#fff;
      font-weight:700;
      font-size:14px;
    }
    .nav a:not(.btn){
      opacity:.82;
      transition:var(--trans);
      position:relative;
    }
    .nav a:not(.btn):hover{
      opacity:1;
      color:var(--yellow-2);
    }
    .nav__cta{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:12px;
    }
    .hamb{
      display:none;
      width:44px;height:44px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.06);
      color:#fff;
      font-size:24px;
      cursor:pointer;
    }

    /* HERO */
    .hero{
      position:relative;
      min-height:100vh;
      display:flex;
      align-items:center;
      color:#fff;
      overflow:hidden;
      background:
        linear-gradient(90deg, rgba(8,14,20,.86) 0%, rgba(10,18,25,.70) 42%, rgba(10,18,25,.38) 72%, rgba(10,18,25,.18) 100%),
        url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 20%, rgba(245,180,0,.18), transparent 30%),
        radial-gradient(circle at 85% 30%, rgba(255,122,0,.16), transparent 26%);
      pointer-events:none;
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:-5%;
      background:inherit;
      z-index:-1;
      transform:scale(1.05);
      animation:slowZoom 18s linear infinite alternate;
      opacity:.4;
    }
    @keyframes slowZoom{
      from{transform:scale(1.02) translateY(0)}
      to{transform:scale(1.08) translateY(-10px)}
    }

    .hero__grid{
      width:var(--container);
      margin-inline:auto;
      padding:120px 0 80px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:40px;
      align-items:center;
      position:relative;
      z-index:2;
    }
    .hero__copy h1{
      font-family:"Poppins",sans-serif;
      font-size:clamp(42px,7vw,78px);
      line-height:.96;
      letter-spacing:-.07em;
      margin:18px 0 18px;
      max-width:760px;
    }
    .hero__copy h1 .accent{
      background:linear-gradient(135deg,var(--yellow),var(--orange));
      -webkit-background-clip:text;
      color:transparent;
    }
    .hero__copy p{
      font-size:18px;
      line-height:1.75;
      max-width:630px;
      color:rgba(255,255,255,.82);
      margin-bottom:28px;
    }
    .hero__actions{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:30px;
    }
    .hero__badges{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:14px;
      max-width:760px;
    }
    .hero__badge{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(12px);
      border-radius:22px;
      padding:18px;
      transition:var(--trans);
    }
    .hero__badge:hover{transform:translateY(-4px);border-color:rgba(245,180,0,.35)}
    .hero__badge strong{
      display:block;
      color:var(--yellow-2);
      font-size:24px;
      line-height:1;
      font-family:"Poppins",sans-serif;
      margin-bottom:8px;
      letter-spacing:-.04em;
    }
    .hero__badge span{
      color:rgba(255,255,255,.82);
      font-size:13px;
      line-height:1.4;
      font-weight:600;
    }

    .hero__panel{
      position:relative;
      background:rgba(255,255,255,.10);
      backdrop-filter:blur(16px);
      border:1px solid rgba(255,255,255,.14);
      border-radius:30px;
      padding:18px;
      box-shadow:0 26px 70px rgba(0,0,0,.30);
      transform:translateY(20px);
      animation:floatCard 5s ease-in-out infinite;
    }
    @keyframes floatCard{
      0%,100%{transform:translateY(20px)}
      50%{transform:translateY(6px)}
    }
    .panel__top{
      height:48px;
      border-radius:20px 20px 12px 12px;
      background:rgba(0,0,0,.24);
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 16px;
      margin-bottom:14px;
    }
    .dot{width:11px;height:11px;border-radius:50%}
    .dot.red{background:#ff605c}
    .dot.yellow{background:#ffbd44}
    .dot.green{background:#00ca4e}
    .panel__top span:last-child{
      margin-left:8px;
      color:rgba(255,255,255,.78);
      font-size:13px;
      font-weight:700;
    }
    .panel__body{
      display:grid;
      gap:14px;
    }
    .panel__metric{
      background:linear-gradient(135deg, rgba(245,180,0,.95), rgba(255,122,0,.95));
      color:#111;
      border-radius:24px;
      padding:22px;
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:16px;
      overflow:hidden;
      position:relative;
    }
    .panel__metric::after{
      content:"";
      position:absolute;
      right:-30px;
      top:-30px;
      width:120px;height:120px;border-radius:50%;
      background:rgba(255,255,255,.18);
    }
    .metric__label{
      font-size:13px;
      font-weight:800;
      opacity:.9;
      margin-bottom:6px;
    }
    .metric__value{
      font-family:"Poppins",sans-serif;
      font-size:46px;
      line-height:1;
      letter-spacing:-.06em;
      position:relative;
      z-index:2;
    }
    .metric__chip{
      background:rgba(17,17,17,.10);
      border:1px solid rgba(17,17,17,.08);
      border-radius:999px;
      padding:8px 12px;
      font-size:12px;
      font-weight:900;
      position:relative;
      z-index:2;
    }

    .panel__grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .mini{
      background:rgba(255,255,255,.92);
      color:#111;
      border-radius:22px;
      padding:18px;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow-soft);
    }
    .mini:first-child{grid-column:1/-1}
    .mini__tag{
      font-size:12px;
      font-weight:900;
      color:#a96900;
      margin-bottom:10px;
    }
    .mini__ttl{
      font-family:"Poppins",sans-serif;
      font-size:20px;
      letter-spacing:-.04em;
      line-height:1.05;
      margin-bottom:6px;
    }
    .mini__sub{
      color:#666;
      font-size:13px;
      line-height:1.55;
      font-weight:600;
    }

    .panel__bar{
      background:rgba(255,255,255,.92);
      color:#111;
      border-radius:22px;
      padding:18px;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow-soft);
    }
    .panel__bar-top{
      display:flex;
      justify-content:space-between;
      font-size:13px;
      font-weight:900;
      margin-bottom:10px;
    }
    .track{
      height:10px;
      border-radius:999px;
      background:#ececec;
      overflow:hidden;
    }
    .fill{
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg,var(--yellow),var(--orange));
      width:0;
      transition:1.3s ease;
    }

    /* STATS */
    .stats{
      position:relative;
      z-index:5;
      margin-top:-56px;
    }
    .stats__grid{
      width:var(--container);
      margin-inline:auto;
      background:#fff;
      border-radius:28px;
      box-shadow:var(--shadow);
      border:1px solid rgba(0,0,0,.06);
      display:grid;
      grid-template-columns:repeat(4,1fr);
      overflow:hidden;
    }
    .stat{
      padding:30px 24px;
      border-right:1px solid rgba(0,0,0,.08);
      display:flex;
      gap:16px;
      align-items:flex-start;
      transition:var(--trans);
    }
    .stat:last-child{border-right:0}
    .stat:hover{
      background:#fffdf6;
      transform:translateY(-4px);
    }
    .stat__icon{
      min-width:58px;
      width:58px;height:58px;
      border-radius:18px;
      background:linear-gradient(135deg, rgba(245,180,0,.16), rgba(255,122,0,.14));
      display:grid;place-items:center;
      font-size:26px;
    }
    .stat__num{
      font-family:"Poppins",sans-serif;
      font-size:38px;
      line-height:1;
      letter-spacing:-.05em;
      color:#111;
      margin-bottom:6px;
    }
    .stat__txt{
      color:#666;
      font-size:13px;
      line-height:1.45;
      font-weight:600;
    }

    /* ABOUT SPLIT */
    .about__grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:stretch;
    }
    .about__card{
      background:linear-gradient(135deg,#0f1820 0%, #132b3d 100%);
      color:#fff;
      border-radius:30px;
      padding:40px;
      position:relative;
      overflow:hidden;
      box-shadow:var(--shadow);
      min-height:420px;
    }
    .about__card::before{
      content:"";
      position:absolute;
      width:240px;height:240px;
      background:linear-gradient(135deg,var(--yellow),var(--orange));
      clip-path:polygon(0 0, 100% 0, 58% 100%, 0 100%);
      right:-20px;
      top:30px;
      opacity:.85;
    }
    .about__card h3{
      font-family:"Poppins",sans-serif;
      font-size:38px;
      letter-spacing:-.05em;
      line-height:1;
      margin:16px 0 18px;
      max-width:430px;
      position:relative;
      z-index:2;
    }
    .about__card p{
      max-width:520px;
      line-height:1.8;
      color:rgba(255,255,255,.82);
      position:relative;
      z-index:2;
      margin-bottom:24px;
    }
    .about__card ul{
      display:grid;
      gap:12px;
      position:relative;
      z-index:2;
      margin-bottom:24px;
    }
    .about__card li{
      padding-left:26px;
      position:relative;
      color:rgba(255,255,255,.86);
      font-weight:600;
    }
    .about__card li::before{
      content:"✓";
      position:absolute;
      left:0;
      top:0;
      color:var(--yellow-2);
      font-weight:900;
    }

    .about__image{
      position:relative;
      border-radius:30px;
      overflow:hidden;
      min-height:420px;
      box-shadow:var(--shadow);
    }
    .about__image img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform 1.2s ease;
    }
    .about__image:hover img{
      transform:scale(1.06);
    }
    .about__overlay{
      position:absolute;
      inset:auto 0 0 0;
      padding:28px;
      background:linear-gradient(180deg, transparent, rgba(0,0,0,.78));
      color:#fff;
    }
    .about__overlay strong{
      display:block;
      font-family:"Poppins",sans-serif;
      font-size:28px;
      line-height:1;
      margin-bottom:10px;
      letter-spacing:-.04em;
    }
    .about__overlay span{
      color:rgba(255,255,255,.85);
      font-size:14px;
      line-height:1.6;
    }

    /* SERVICES */
    .services{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .service{
      background:#fff;
      border-radius:24px;
      padding:28px;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow-soft);
      transition:var(--trans);
      position:relative;
      overflow:hidden;
    }
    .service::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      width:100%;
      height:5px;
      background:linear-gradient(90deg,var(--yellow),var(--orange));
      transform:scaleX(0);
      transform-origin:left;
      transition:var(--trans);
    }
    .service:hover{
      transform:translateY(-8px);
      box-shadow:0 22px 50px rgba(0,0,0,.12);
    }
    .service:hover::before{transform:scaleX(1)}
    .service__icon{
      width:60px;height:60px;border-radius:18px;
      background:linear-gradient(135deg, rgba(245,180,0,.18), rgba(255,122,0,.12));
      display:grid;place-items:center;
      font-size:28px;
      margin-bottom:18px;
    }
    .service h3{
      font-family:"Poppins",sans-serif;
      font-size:24px;
      letter-spacing:-.04em;
      margin-bottom:10px;
      color:#111;
      line-height:1.05;
    }
    .service p{
      color:#666;
      line-height:1.7;
      margin-bottom:16px;
      font-size:14px;
    }
    .service ul{
      display:grid;
      gap:8px;
      margin-bottom:16px;
    }
    .service li{
      color:#444;
      font-size:13px;
      font-weight:600;
      position:relative;
      padding-left:18px;
    }
    .service li::before{
      content:"•";
      position:absolute;
      left:4px;
      color:#c78000;
      font-size:18px;
      top:-2px;
    }
    .service a{
      font-size:14px;
      font-weight:800;
      color:#d97a00;
    }

    /* FEATURE BANNER */
    .feature{
      display:grid;
      grid-template-columns:1fr 1fr;
      background:#fff;
      border-radius:30px;
      overflow:hidden;
      box-shadow:var(--shadow);
      border:1px solid rgba(0,0,0,.06);
    }
    .feature__image{
      min-height:360px;
      position:relative;
      overflow:hidden;
    }
    .feature__image img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform 1.2s ease;
    }
    .feature:hover .feature__image img{transform:scale(1.05)}
    .feature__copy{
      background:linear-gradient(135deg,#13324a 0%, #16486c 100%);
      color:#fff;
      padding:42px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
      overflow:hidden;
    }
    .feature__copy::before{
      content:"";
      position:absolute;
      width:190px;height:190px;
      border-radius:50%;
      right:-40px;bottom:-40px;
      background:rgba(245,180,0,.16);
      filter:blur(4px);
    }
    .feature__copy h3{
      font-family:"Poppins",sans-serif;
      font-size:42px;
      line-height:1;
      letter-spacing:-.05em;
      margin-bottom:16px;
      max-width:470px;
      position:relative;
      z-index:2;
    }
    .feature__copy p{
      max-width:500px;
      color:rgba(255,255,255,.82);
      line-height:1.8;
      margin-bottom:22px;
      position:relative;
      z-index:2;
    }
    .feature__chips{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
      position:relative;
      z-index:2;
    }
    .feature__chips div{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      padding:16px;
    }
    .feature__chips strong{
      display:block;
      color:var(--yellow-2);
      font-size:18px;
      margin-bottom:5px;
      font-family:"Poppins",sans-serif;
    }
    .feature__chips span{
      color:rgba(255,255,255,.78);
      font-size:13px;
      line-height:1.45;
      font-weight:600;
    }

    /* LOGOS / BRANDS */
    .brands{
      overflow:hidden;
      position:relative;
      mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
      -webkit-mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    }
    .brands__track{
      display:flex;
      width:max-content;
      gap:18px;
      animation:marquee 26s linear infinite;
    }
    .brand-chip{
      min-width:180px;
      height:72px;
      background:#fff;
      border:1px solid rgba(0,0,0,.06);
      border-radius:18px;
      display:grid;place-items:center;
      box-shadow:var(--shadow-soft);
      font-weight:900;
      letter-spacing:.04em;
      color:#353535;
      padding:0 14px;
    }
    @keyframes marquee{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }

    /* TESTIMONIALS */
    .testimonial-box{
      background:linear-gradient(135deg,var(--orange), #ff6a00);
      border-radius:32px;
      padding:40px;
      box-shadow:var(--shadow);
      color:#fff;
      position:relative;
      overflow:hidden;
    }
    .testimonial-box::before{
      content:"";
      position:absolute;
      inset:auto -40px -40px auto;
      width:180px;height:180px;border-radius:50%;
      background:rgba(255,255,255,.12);
    }
    .testimonial-slider{
      position:relative;
      min-height:180px;
    }
    .t-item{
      display:none;
      animation:fadeIn .4s ease;
    }
    .t-item.active{display:block}
    @keyframes fadeIn{
      from{opacity:0;transform:translateY(8px)}
      to{opacity:1;transform:none}
    }
    .t-item p{
      font-size:21px;
      line-height:1.8;
      font-weight:500;
      max-width:840px;
      margin-bottom:18px;
    }
    .t-item strong{
      font-family:"Poppins",sans-serif;
      font-size:20px;
      display:block;
    }
    .t-item span{
      font-size:14px;
      color:rgba(255,255,255,.82);
      margin-top:5px;
      display:block;
    }
    .testimonial-dots{
      display:flex;
      gap:8px;
      margin-top:18px;
    }
    .testimonial-dots button{
      width:12px;height:12px;border-radius:50%;
      border:0;
      background:rgba(255,255,255,.35);
      cursor:pointer;
      transition:var(--trans);
    }
    .testimonial-dots button.active{background:#fff;transform:scale(1.15)}

    /* COVERAGE */
    .coverage{
      position:relative;
      border-radius:32px;
      overflow:hidden;
      min-height:460px;
      background:
        linear-gradient(90deg, rgba(10,18,25,.82), rgba(10,18,25,.62)),
        url('https://images.unsplash.com/photo-1513828583688-c52646db42da?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
      box-shadow:var(--shadow);
      color:#fff;
      padding:46px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:34px;
      align-items:center;
    }
    .coverage__map{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:26px;
      padding:26px;
      backdrop-filter:blur(8px);
    }
    .coverage__map h3,
    .coverage__copy h3{
      font-family:"Poppins",sans-serif;
      font-size:34px;
      line-height:1;
      letter-spacing:-.04em;
      margin-bottom:14px;
    }
    .coverage__map p,
    .coverage__copy p{
      color:rgba(255,255,255,.82);
      line-height:1.8;
      margin-bottom:18px;
    }
    .zones{
      display:grid;
      gap:12px;
    }
    .zones div{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:700;
      color:rgba(255,255,255,.9);
    }
    .pin{
      width:12px;height:12px;border-radius:50%;
      background:var(--yellow-2);
      box-shadow:0 0 0 6px rgba(245,180,0,.16);
    }
    .coverage__industries{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:18px;
    }
    .coverage__industries div{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      padding:14px;
      font-size:14px;
      font-weight:700;
    }

    /* BLOG */
    .blog{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .post{
      background:#fff;
      border-radius:24px;
      overflow:hidden;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow-soft);
      transition:var(--trans);
    }
    .post:hover{
      transform:translateY(-8px);
      box-shadow:0 20px 50px rgba(0,0,0,.12);
    }
    .post__img{
      height:220px;
      overflow:hidden;
    }
    .post__img img{
      width:100%;height:100%;object-fit:cover;
      transition:transform 1s ease;
    }
    .post:hover .post__img img{transform:scale(1.06)}
    .post__body{padding:22px}
    .post__meta{
      color:#a16a00;
      font-size:12px;
      font-weight:900;
      margin-bottom:10px;
    }
    .post h3{
      font-family:"Poppins",sans-serif;
      font-size:24px;
      line-height:1.08;
      letter-spacing:-.04em;
      margin-bottom:10px;
      color:#111;
    }
    .post p{
      color:#666;
      line-height:1.7;
      font-size:14px;
      margin-bottom:14px;
    }
    .post a{
      color:#d97a00;
      font-weight:800;
      font-size:14px;
    }

    /* CERTS */
    .certs{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .cert{
      background:#fff;
      border-radius:22px;
      padding:24px;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow-soft);
      text-align:center;
      transition:var(--trans);
    }
    .cert:hover{transform:translateY(-6px)}
    .cert__icon{
      width:66px;height:66px;border-radius:20px;
      display:grid;place-items:center;
      margin:0 auto 16px;
      background:linear-gradient(135deg, rgba(245,180,0,.18), rgba(255,122,0,.12));
      font-size:30px;
    }
    .cert h4{
      font-family:"Poppins",sans-serif;
      font-size:20px;
      line-height:1.05;
      letter-spacing:-.04em;
      margin-bottom:8px;
    }
    .cert p{
      color:#666;
      line-height:1.65;
      font-size:13px;
    }

    /* CTA + CONTACT */
    .cta-contact{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:22px;
    }
    .cta-panel{
      background:linear-gradient(135deg,#111 0%, #1f1f1f 100%);
      color:#fff;
      border-radius:28px;
      padding:36px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .cta-panel::before{
      content:"";
      position:absolute;
      right:-30px;
      bottom:-30px;
      width:160px;height:160px;
      border-radius:50%;
      background:rgba(245,180,0,.12);
    }
    .cta-panel h3{
      font-family:"Poppins",sans-serif;
      font-size:42px;
      line-height:1;
      letter-spacing:-.05em;
      margin-bottom:16px;
      max-width:520px;
      position:relative;
      z-index:2;
    }
    .cta-panel p{
      color:rgba(255,255,255,.82);
      line-height:1.8;
      margin-bottom:24px;
      max-width:580px;
      position:relative;
      z-index:2;
    }
    .contact-list{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
      position:relative;
      z-index:2;
      margin-bottom:22px;
    }
    .contact-list div{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      padding:16px;
    }
    .contact-list strong{
      display:block;
      color:var(--yellow-2);
      margin-bottom:5px;
      font-size:15px;
    }
    .contact-list span{
      font-size:14px;
      color:rgba(255,255,255,.86);
      line-height:1.5;
    }

    .form-card{
      background:#fff;
      border-radius:28px;
      padding:30px;
      border:1px solid rgba(0,0,0,.06);
      box-shadow:var(--shadow);
    }
    .form-card h3{
      font-family:"Poppins",sans-serif;
      font-size:36px;
      line-height:1;
      letter-spacing:-.05em;
      margin-bottom:12px;
      color:#111;
    }
    .form-card p{
      color:#666;
      line-height:1.75;
      margin-bottom:18px;
    }
    .form{
      display:grid;
      gap:14px;
    }
    .form input,
    .form textarea,
    .form select{
      width:100%;
      border:1px solid rgba(0,0,0,.10);
      background:#fafafa;
      border-radius:16px;
      padding:14px 16px;
      outline:none;
      font:inherit;
      transition:var(--trans);
    }
    .form input:focus,
    .form textarea:focus,
    .form select:focus{
      border-color:rgba(245,180,0,.6);
      box-shadow:0 0 0 4px rgba(245,180,0,.12);
      background:#fff;
    }
    .form textarea{min-height:120px;resize:vertical}
    .form__row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }

    /* FOOTER */
    .footer{
      background:#0f1114;
      color:#fff;
      padding:36px 0 18px;
      margin-top:0;
    }
    .footer__top{
      width:var(--container);
      margin-inline:auto;
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr .8fr;
      gap:24px;
      padding-bottom:28px;
      border-bottom:1px solid rgba(255,255,255,.10);
    }
    .footer__brand p{
      color:rgba(255,255,255,.72);
      line-height:1.8;
      margin-top:14px;
      max-width:420px;
      font-size:14px;
    }
    .footer h4{
      font-family:"Poppins",sans-serif;
      font-size:18px;
      margin-bottom:14px;
      letter-spacing:-.03em;
    }
    .footer ul{display:grid;gap:10px}
    .footer li,
    .footer a{
      color:rgba(255,255,255,.74);
      font-size:14px;
      transition:var(--trans);
    }
    .footer a:hover{color:var(--yellow-2)}
    .footer__bottom{
      width:var(--container);
      margin-inline:auto;
      padding-top:18px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.62);
      font-size:13px;
    }

    /* WA */
    .wa{
      position:fixed;
      right:18px;
      bottom:18px;
      width:62px;height:62px;
      border-radius:50%;
      background:linear-gradient(135deg,#2ad15b,#15b447);
      display:grid;place-items:center;
      color:#fff;
      font-size:28px;
      box-shadow:0 18px 36px rgba(0,0,0,.20);
      z-index:1200;
      animation:pulse 2s infinite;
    }
    @keyframes pulse{
      0%{box-shadow:0 0 0 0 rgba(42,209,91,.35), 0 18px 36px rgba(0,0,0,.20)}
      70%{box-shadow:0 0 0 18px rgba(42,209,91,0), 0 18px 36px rgba(0,0,0,.20)}
      100%{box-shadow:0 0 0 0 rgba(42,209,91,0), 0 18px 36px rgba(0,0,0,.20)}
    }

    /* reveal */
    .reveal{
      opacity:0;
      transform:translateY(30px);
      transition:opacity .7s ease, transform .7s ease;
    }
    .reveal.is-visible{
      opacity:1;
      transform:none;
    }

    /* responsive */
    @media (max-width: 1080px){
      .hero__grid,
      .about__grid,
      .feature,
      .coverage,
      .cta-contact{
        grid-template-columns:1fr;
      }
      .hero{min-height:auto}
      .hero__grid{padding-top:120px}
      .services,
      .blog{grid-template-columns:1fr 1fr}
      .certs{grid-template-columns:1fr 1fr}
      .stats__grid{grid-template-columns:1fr 1fr}
      .footer__top{grid-template-columns:1fr 1fr}
    }

    @media (max-width: 860px){
      .nav{
        position:fixed;
        top:86px;
        left:16px;
        right:16px;
        background:#151515;
        border:1px solid rgba(255,255,255,.08);
        border-radius:24px;
        box-shadow:var(--shadow);
        padding:18px;
        flex-direction:column;
        align-items:stretch;
        display:none;
      }
      .nav.is-open{display:flex}
      .nav__cta{
        margin-left:0;
        display:grid;
        gap:10px;
      }
      .hamb{display:block}
      .hero__badges,
      .feature__chips,
      .contact-list,
      .form__row{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 680px){
      .section{padding:74px 0}
      .section__head{flex-direction:column;align-items:flex-start}
      .hero__copy p{font-size:16px}
      .services,
      .blog,
      .certs,
      .stats__grid{
        grid-template-columns:1fr;
      }
      .stat{border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}
      .stat:last-child{border-bottom:0}
      .footer__top{grid-template-columns:1fr}
      .hero__panel{animation:none}
      .about__card,
      .feature__copy,
      .cta-panel,
      .form-card{
        padding:28px 22px;
      }
      .coverage{padding:24px}
      .about__card h3,
      .feature__copy h3,
      .cta-panel h3{font-size:32px}
    }/* CTA profesional para compra de cursos */
.btn--course{
  position:relative;
  overflow:hidden;
  min-height:58px;
  padding:8px 22px;
  border-radius:999px;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  background:linear-gradient(135deg,#f5b400,#ff7a00);
  color:#111;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 38px rgba(245,180,0,.30);
  isolation:isolate;
}

.btn--course span:not(.btn__shine){
  position:relative;
  z-index:2;
  font-size:15px;
  line-height:1;
  font-weight:900;
}

.btn--course small{
  position:relative;
  z-index:2;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  opacity:.78;
}

.btn--course:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 24px 48px rgba(245,180,0,.38);
}

.btn__shine{
  position:absolute;
  inset:-2px;
  z-index:1;
  background:linear-gradient(115deg,transparent 0%,transparent 34%,rgba(255,255,255,.55) 46%,transparent 58%,transparent 100%);
  transform:translateX(-120%);
  animation:courseShine 3.5s ease-in-out infinite;
}

@keyframes courseShine{
  0%,45%{
    transform:translateX(-120%);
  }
  70%,100%{
    transform:translateX(120%);
  }
}

.btn--course-dark{
  background:linear-gradient(135deg,#111,#2c2c2c);
  color:#fff;
  border-color:rgba(245,180,0,.35);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
}

.btn--course-dark small{
  color:#f5b400;
  opacity:1;
}

.contact-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

/* WhatsApp flotante con logo PNG sin fondo */
.wa--logo{
  width:74px;
  height:74px;
  right:18px;
  bottom:18px;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0;
  padding:0;
  display:grid;
  place-items:center;
  animation:waJump 2.2s ease-in-out infinite;
}

.wa--logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,.28));
  transition:transform .25s ease, filter .25s ease;
}

.wa--logo:hover{
  transform:none;
}

.wa--logo:hover img{
  transform:scale(1.08) rotate(-2deg);
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.34));
}

@keyframes waJump{
  0%,100%{
    transform:translateY(0);
  }
  12%{
    transform:translateY(-8px);
  }
  24%{
    transform:translateY(0);
  }
  36%{
    transform:translateY(-4px);
  }
  48%{
    transform:translateY(0);
  }
}

/* Ajuste movil */
@media(max-width:680px){
  .btn--course{
    width:100%;
    align-items:center;
    text-align:center;
  }

  .hero__actions{
    width:100%;
  }

  .wa--logo{
    width:64px;
    height:64px;
    right:14px;
    bottom:14px;
  }
}
.brand--image{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.brand__img{
  display:block;
  height:62px;
  width:auto;
  max-width:260px;
  object-fit:contain;
}

@media(max-width:760px){
  .brand__img{
    height:48px;
    max-width:220px;
  }
}
/* Logo landing con brillo blanco */
.brand__img{
  height:82px !important;
  max-width:340px !important;
  width:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.95))
    drop-shadow(0 0 12px rgba(255,255,255,.80))
    drop-shadow(0 10px 22px rgba(0,0,0,.28));
}

@media(max-width:760px){
  .brand__img{
    height:62px !important;
    max-width:270px !important;
  }
}
/* Bloque informativo DC3 / EHS */
.info-section{
  position:relative;
  padding:80px 0;
  background:
    radial-gradient(circle at 10% 10%, rgba(245,180,0,.12), transparent 28%),
    linear-gradient(180deg,#fff,#fff8df);
}

.info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
}

.info-card{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:34px;
  min-height:330px;
  box-shadow:0 24px 60px rgba(0,0,0,.10);
}

.info-card::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-90px;
  bottom:-90px;
  background:rgba(255,255,255,.16);
}

.info-card--yellow{
  background:linear-gradient(135deg,#f5b400,#ff7a00);
  color:#111;
}

.info-card--dark{
  background:
    radial-gradient(circle at 20% 20%, rgba(245,180,0,.16), transparent 35%),
    linear-gradient(135deg,#111827,#020617);
  color:#fff;
}

.info-kicker{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  background:rgba(255,255,255,.22);
  margin-bottom:18px;
}

.info-card h2{
  position:relative;
  z-index:2;
  font-size:34px;
  line-height:1;
  margin:0 0 18px;
}

.info-card p{
  position:relative;
  z-index:2;
  font-size:17px;
  line-height:1.75;
  margin:0;
}

.info-card--dark p{
  color:rgba(255,255,255,.78);
}

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

  .info-section{
    padding:54px 0;
  }

  .info-card{
    min-height:auto;
    padding:26px;
  }

  .info-card h2{
    font-size:28px;
  }
}
.footer .brand--image{
  display:flex;
  align-items:center;
  width:max-content;
}

.footer .brand__img{
  height:84px !important;
  max-width:310px !important;
  object-fit:contain;
}

.brand__img{
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.96))
    drop-shadow(0 0 14px rgba(255,255,255,.82))
    drop-shadow(0 12px 26px rgba(0,0,0,.28));
}

.hero .brand__img,
.header .brand__img{
  height:92px !important;
  max-width:380px !important;
}

@media(max-width:760px){
  .header .brand__img{
    height:68px !important;
    max-width:285px !important;
  }

  .footer .brand__img{
    height:68px !important;
    max-width:260px !important;
  }
}