/* ==========================================================================
   Grupo Global Pharma — hoja de estilos del theme
   Tokens y medidas tomados literalmente del handoff de diseño.
   ========================================================================== */

:root{
  --gp-verde:#82C31E;
  --gp-verde-osc:#6EA818;
  --gp-verde-osc2:#5C9F17;
  --gp-azul:#1B3B63;
  --gp-azul-prof:#0F2540;
  --gp-crema:#FAF9F5;
  --gp-gris-txt:#5B6472;
  --gp-gris-claro:#9BB0C9;
  --gp-borde:#EEF1EC;
  --gp-numeral:#C7CFC3;
  --gp-max:1200px;
  --gp-pad:56px;
  --gp-poppins:'Poppins',system-ui,-apple-system,sans-serif;
  --gp-inter:'Inter',system-ui,-apple-system,sans-serif;
}

/* --- base ---------------------------------------------------------------- */
html,body{overflow-x:hidden}
body{margin:0;background:var(--gp-crema);font-family:var(--gp-inter);-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
a{color:var(--gp-verde);text-decoration:none}
a:hover{color:var(--gp-verde-osc2)}
img{max-width:100%}
.gp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gp-skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--gp-azul);padding:12px 18px;font-family:var(--gp-inter);font-size:14px}
.gp-skip:focus{left:8px;top:8px}

/* --- botones ------------------------------------------------------------- */
.btn-primary{background:var(--gp-verde);color:#fff;font-family:var(--gp-inter);font-weight:600;font-size:14px;padding:12px 24px;border-radius:8px;display:inline-block;border:none;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.btn-primary:hover{background:var(--gp-verde-osc);color:#fff;transform:translateY(-3px);box-shadow:0 10px 22px rgba(130,195,30,.35)}
.btn-outline{border:1.5px solid var(--gp-azul);color:var(--gp-azul);font-family:var(--gp-inter);font-weight:600;font-size:14px;padding:12px 24px;border-radius:8px;display:inline-block;transition:all .25s ease;background:transparent;cursor:pointer}
.btn-outline:hover{background:var(--gp-azul);color:#fff;transform:translateY(-3px)}
.btn-glass{background:rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.35);color:#fff;font-family:var(--gp-inter);font-weight:600;font-size:14px;padding:12px 24px;border-radius:40px;display:inline-block;transition:all .25s ease}
.btn-glass:hover{background:rgba(255,255,255,.28);color:#fff;transform:translateY(-3px)}
.btn-sm{padding:8px 18px;font-size:13px}
.btn-block{text-align:center}

/* --- kickers y titulares ------------------------------------------------- */
.kicker{font-family:var(--gp-inter);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gp-verde);display:block}
.kicker-v{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--gp-inter);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gp-verde)}
.kicker-pill{display:inline-block;font-family:var(--gp-inter);font-weight:700;font-size:13px;color:#fff;background:var(--gp-verde);padding:7px 16px;border-radius:999px}
.h2{font-family:var(--gp-poppins);font-weight:800;font-size:40px;color:var(--gp-azul);margin:14px 0 16px;line-height:1.12}
.h2--sm{font-size:36px}
.h2--xs{font-size:30px}
.lead{font-family:var(--gp-inter);font-size:16px;line-height:1.7;color:var(--gp-gris-txt);margin:0}
.hl{color:var(--gp-verde)}

/* --- animaciones --------------------------------------------------------- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeInUp .8s ease-out both}
.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}
.parallax{will-change:transform;transition:transform .12s linear}
@keyframes kenBurns{0%{transform:scale(1.06) translate3d(0,0,0)}50%{transform:scale(1.16) translate3d(-1.5%,-1.5%,0)}100%{transform:scale(1.06) translate3d(0,0,0)}}
.ken-burns{animation:kenBurns 28s ease-in-out infinite;will-change:transform}
@media (prefers-reduced-motion:reduce){
  .ken-burns{animation:none}
  .parallax{transform:none !important}
  .fade-in{animation:none}
}

/* --- barra superior + header --------------------------------------------- */
.gp-topbar{height:5px;background:var(--gp-verde);width:100%}
.site-header{padding:18px 0;background:#fff;border-bottom:1px solid var(--gp-borde);position:relative;z-index:20}
.site-header__inner{max-width:var(--gp-max);margin:0 auto;padding:0 var(--gp-pad);display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-brand{display:flex;align-items:center;gap:10px}
.site-brand img{height:44px;width:auto;display:block}
.site-nav{display:flex;align-items:center;gap:28px;white-space:nowrap;list-style:none;margin:0;padding:0}
.site-nav li{margin:0}
.navlink{color:var(--gp-azul);font-family:var(--gp-inter);font-weight:500;font-size:14px;letter-spacing:.02em;transition:color .2s ease;white-space:nowrap;display:inline-block}
.navlink:hover{color:var(--gp-verde)}
.site-nav .current-menu-item > .navlink,
.site-nav .current_page_item > .navlink,
.site-nav .current-menu-ancestor > .navlink,
.navlink.is-active{color:var(--gp-verde);border-bottom:2px solid var(--gp-verde);padding-bottom:4px}
.site-header .btn-primary{white-space:nowrap;flex-shrink:0}
.nav-toggle{display:none;background:none;border:1px solid var(--gp-borde);border-radius:8px;padding:8px 10px;cursor:pointer;line-height:0}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--gp-azul);margin:4px 0;transition:transform .25s ease,opacity .25s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* --- hero ---------------------------------------------------------------- */
.hero{position:relative;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg .ken-burns{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;display:block}
.hero__veil{position:absolute;inset:0;background:rgba(250,249,245,.86);pointer-events:none}
.hero__top{position:relative;z-index:1;max-width:var(--gp-max);margin:0 auto;padding:64px var(--gp-pad) 0;display:grid;grid-template-columns:44px 1fr;gap:24px}
.hero__top--tight{padding-bottom:72px}
.hero__title{font-family:var(--gp-poppins);font-weight:800;font-size:82px;line-height:.98;color:var(--gp-azul);margin:0;letter-spacing:-.02em}
.hero__title--64{font-size:64px;line-height:1.02}
.hero__title--60{font-size:60px;line-height:1.04}
.hero__title--56{font-size:56px;line-height:1.05;font-weight:900;margin:0 0 18px;max-width:820px;text-wrap:pretty}
.hero__intro{font-family:var(--gp-inter);font-size:17px;line-height:1.7;color:var(--gp-gris-txt);margin:0;max-width:640px}
.hero__lower{position:relative;z-index:1;max-width:var(--gp-max);margin:0 auto;padding:40px var(--gp-pad) 96px;display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:end}
.hero__lower--rev{grid-template-columns:1fr 280px}
.hero__lower--plain{display:block}
.hero__actions{display:flex;flex-direction:column;gap:16px}
.hero__media{position:relative}
.hero__media img{width:100%;height:460px;object-fit:cover;border-radius:20px;display:block}
.hero__media--420 img{height:420px}
.hero__media--380 img{height:380px}
.hero__badge{position:absolute;top:24px;right:24px}
.hero__badge--bl{top:auto;bottom:24px;right:auto;left:24px}
.hero__chips{position:relative;z-index:1;max-width:var(--gp-max);margin:0 auto;padding:40px var(--gp-pad) 80px;display:flex;gap:14px;flex-wrap:wrap}

/* --- franja de stats ----------------------------------------------------- */
.stats-band{background:var(--gp-azul);padding:56px 0}
.stats-band__inner{max-width:var(--gp-max);margin:0 auto;padding:0 var(--gp-pad);display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.stat__num{font-family:var(--gp-poppins);font-weight:800;font-size:48px;color:#fff;display:block;line-height:1}
.stat__num--sm{font-size:40px}
.stat__num--accent{color:var(--gp-verde)}
.stat__label{font-family:var(--gp-inter);font-size:13px;color:var(--gp-gris-claro)}

/* --- sección ventaja (fondo azul con capas) ------------------------------ */
.advantage{position:relative;overflow:hidden}
.advantage__l1,.advantage__l2,.advantage__l3,.advantage__l4{position:absolute;inset:0;z-index:0}
.advantage__l1{background:radial-gradient(120% 120% at 15% 10%,#123456 0%,#0B1A2E 45%,#081321 100%)}
.advantage__l2{background:radial-gradient(60% 90% at 85% 20%,rgba(45,140,200,.35) 0%,rgba(45,140,200,0) 60%),radial-gradient(70% 100% at 95% 100%,rgba(28,180,150,.28) 0%,rgba(28,180,150,0) 55%)}
.advantage__l3{opacity:.5;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:24px 24px}
.advantage__l4{background:linear-gradient(115deg,transparent 0%,transparent 42%,rgba(255,255,255,.04) 43%,rgba(255,255,255,.04) 46%,transparent 47%,transparent 62%,rgba(255,255,255,.03) 63%,rgba(255,255,255,.03) 65%,transparent 66%)}
.advantage__inner{position:relative;z-index:1;max-width:var(--gp-max);margin:0 auto;padding:104px var(--gp-pad);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.advantage__media img{width:100%;height:420px;object-fit:cover;border-radius:20px;display:block}
.advantage__title{font-family:var(--gp-poppins);font-weight:800;font-size:40px;color:#fff;margin:14px 0 28px;line-height:1.12}
.advantage__text{font-family:var(--gp-inter);font-size:16px;line-height:1.75;color:#C6D2E0;margin:0 0 32px;max-width:440px}
.advantage__stats{display:flex;gap:32px;flex-wrap:wrap}
.advantage__stats strong{font-family:var(--gp-poppins);font-size:26px;color:#fff;display:block}
.advantage__stats span{font-family:var(--gp-inter);font-size:12.5px;color:#C6D2E0}

/* --- fondo con patrón + parallax ----------------------------------------- */
.pattern-bg{position:relative;overflow:hidden;background-color:var(--gp-crema);
  background-image:radial-gradient(circle at 12% 18%,rgba(130,195,30,.10) 0%,transparent 42%),
                   radial-gradient(circle at 88% 72%,rgba(27,59,99,.09) 0%,transparent 46%),
                   radial-gradient(rgba(27,59,99,.10) 1px,transparent 1px);
  background-size:auto,auto,26px 26px}
.pattern-bg__inner{position:relative;z-index:1}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.orb-1{top:6%;left:4%;width:460px;height:460px;background:radial-gradient(circle,rgba(130,195,30,.16) 0%,transparent 65%)}
.orb-2{bottom:4%;right:6%;width:520px;height:520px;background:radial-gradient(circle,rgba(27,59,99,.14) 0%,transparent 65%)}
.orb-3{top:-120px;right:-140px;width:420px;height:420px;border:1px solid rgba(27,59,99,.08)}
.orb-4{top:-60px;right:-80px;width:300px;height:300px;border:1px solid rgba(130,195,30,.14)}
.orb-5{top:18%;left:16%;width:10px;height:10px;background:rgba(130,195,30,.45)}
.orb-6{top:52%;left:8%;width:6px;height:6px;background:rgba(27,59,99,.35)}
.orb-7{top:34%;right:14%;width:8px;height:8px;background:rgba(27,59,99,.28)}
.orb-8{bottom:16%;left:42%;width:7px;height:7px;background:rgba(130,195,30,.38)}

/* --- filas de índice ----------------------------------------------------- */
.idx-section{max-width:var(--gp-max);margin:0 auto;padding:80px var(--gp-pad) 104px}
.idx-section--top{padding:96px var(--gp-pad) 0}
.idx-row{border-top:1px solid #E1E7DA;padding:36px 0;display:grid;grid-template-columns:80px 1.3fr 1fr auto;gap:32px;align-items:center;transition:background .3s ease}
.idx-row--nolink{grid-template-columns:80px 1.3fr 1fr}
.idx-row:hover{background:rgba(130,195,30,.05)}
.idx-row:hover .idx-num{color:var(--gp-verde)}
.idx-row:last-child{border-bottom:1px solid #E1E7DA}
.idx-num{font-family:var(--gp-poppins);font-weight:800;font-size:22px;color:var(--gp-numeral);transition:color .3s ease}
.idx-row h4{font-family:var(--gp-poppins);font-size:20px;color:var(--gp-azul);margin:0;font-weight:600}
.idx-row--sm h4{font-size:19px}
.idx-row p{font-family:var(--gp-inter);font-size:14px;color:var(--gp-gris-txt);line-height:1.6;margin:0}

/* --- certificaciones ----------------------------------------------------- */
.certs{max-width:var(--gp-max);margin:0 auto;padding:24px var(--gp-pad) 104px;display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center}
.certs__text .h2{margin:22px 0 18px}
.certs__text p{max-width:460px}
.certs__seals{display:flex;gap:40px;align-items:center;justify-content:center;flex-wrap:wrap}
.certs__seals img{width:190px;height:auto}

/* --- misión / visión ----------------------------------------------------- */
.mv{max-width:var(--gp-max);margin:0 auto;padding:104px var(--gp-pad);display:grid;grid-template-columns:1fr 1fr;gap:40px}
.mv__card{border-radius:20px;padding:48px;position:relative;overflow:hidden}
.mv__card--mision{background:var(--gp-azul)}
.mv__card--vision{background:var(--gp-verde)}
.mv__ghost{position:absolute;top:-10px;right:14px;font-family:var(--gp-poppins);font-weight:800;font-size:120px;line-height:1}
.mv__card--mision .mv__ghost{color:rgba(255,255,255,.07)}
.mv__card--vision .mv__ghost{color:rgba(27,59,99,.1)}
.mv__label{position:relative;font-family:var(--gp-inter);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:block}
.mv__card--mision .mv__label{color:#B7E36B}
.mv__card--vision .mv__label{color:#16304F}
.mv__text{position:relative;font-family:var(--gp-poppins);font-weight:600;font-size:22px;line-height:1.4;margin:16px 0 0}
.mv__card--mision .mv__text{color:#fff}
.mv__card--vision .mv__text{color:var(--gp-azul)}

/* --- carrusel de especialidades ------------------------------------------ */
.spec{max-width:var(--gp-max);margin:0 auto;padding:0 var(--gp-pad) 104px}
.spec--pad{padding:96px var(--gp-pad)}
.spec__head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.spec__head .h2{margin:14px 0 0}
.spec__nav{display:flex;gap:10px;flex-shrink:0}
.spec__btn{width:40px;height:40px;border-radius:50%;border:1px solid #DDE2D8;background:#fff;color:var(--gp-azul);font-family:var(--gp-poppins);font-size:16px;cursor:pointer;line-height:1;transition:border-color .2s ease,color .2s ease}
.spec__btn:hover{border-color:var(--gp-verde);color:var(--gp-verde)}
.spec__track{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.spec__track::-webkit-scrollbar{display:none}
.spec-chip{transition:transform .3s ease,box-shadow .3s ease}
.spec-chip:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(27,59,99,.12)}
.spec__item{flex:0 0 calc((100% - 80px)/5);scroll-snap-align:start;text-align:center}
.spec__thumb{width:100%;height:120px;border-radius:14px;background:#F4F6F1;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.spec__thumb img{width:72px;height:72px;object-fit:contain}
.spec__item p{font-family:var(--gp-inter);font-weight:600;font-size:12.5px;color:var(--gp-azul);margin:0}

/* --- catálogo de productos ----------------------------------------------- */
.catalog{max-width:var(--gp-max);margin:0 auto;padding:96px var(--gp-pad)}
.catalog__intro{font-family:var(--gp-inter);font-size:15px;color:var(--gp-gris-txt);margin:0 0 40px;max-width:620px}
.catalog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod-card{background:#fff;border:1px solid var(--gp-borde);border-radius:18px;padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.prod-card__head{display:flex;align-items:center;gap:12px}
.prod-card__num{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:#F1F6E8;color:var(--gp-verde-osc2);font-family:var(--gp-poppins);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.prod-card h3{font-family:var(--gp-poppins);font-weight:700;font-size:17px;color:var(--gp-azul);margin:0;line-height:1.25}
.prod-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.prod-card li{font-family:var(--gp-inter);font-size:13.5px;color:var(--gp-gris-txt);line-height:1.45;padding-left:14px;position:relative}
.prod-card li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gp-verde)}

/* --- pasos --------------------------------------------------------------- */
.steps-section{max-width:var(--gp-max);margin:0 auto;padding:96px var(--gp-pad)}
.steps-section .h2{margin:14px 0 44px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps__line{position:absolute;top:20px;left:12.5%;right:12.5%;height:2px;background:#D8E3CA;z-index:0}
.step{position:relative;z-index:1;padding-right:20px}
.step__num{width:40px;height:40px;border-radius:50%;background:var(--gp-verde);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--gp-poppins);font-weight:700;margin:0 0 16px}
.step h4{font-family:var(--gp-poppins);font-size:15px;color:var(--gp-azul);margin:0 0 6px;font-weight:600}
.step p{font-family:var(--gp-inter);font-size:13px;color:var(--gp-gris-txt);margin:0;line-height:1.5}

/* --- CTA final ----------------------------------------------------------- */
.cta{position:relative;min-height:460px;display:flex;align-items:center;overflow:hidden}
.cta--420{min-height:420px}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;display:block}
.cta__scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(11,26,46,.78) 0%,rgba(11,26,46,.35) 70%)}
.cta__scrim--wide{background:linear-gradient(90deg,rgba(11,26,46,.88) 0%,rgba(11,26,46,.55) 55%,rgba(11,26,46,.25) 100%)}
.cta__inner{position:relative;z-index:1;max-width:var(--gp-max);margin:0 auto;padding:80px var(--gp-pad);width:100%}
.cta__card{max-width:600px;background:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:44px;box-shadow:0 20px 60px rgba(11,26,46,.35)}
.cta__card--plain{max-width:600px;background:none;border:0;box-shadow:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.cta__title{font-family:var(--gp-poppins);font-weight:800;font-size:32px;color:#fff;margin:0 0 14px;line-height:1.15}
.cta__title--sm{font-size:30px}
.cta__text{font-family:var(--gp-inter);font-size:15px;color:rgba(255,255,255,.85);margin:0 0 28px}
.cta__text--lg{font-size:16px;line-height:1.7;margin:0 0 26px}
.cta__actions{display:flex;gap:16px;flex-wrap:wrap}

/* --- formulario de contacto ---------------------------------------------- */
.contact-card{background:#fff;border-radius:24px;box-shadow:0 20px 50px rgba(27,59,99,.1);padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px}
.contact-card h2{font-family:var(--gp-poppins);font-weight:700;font-size:20px;color:var(--gp-azul);margin:0 0 20px}
.field{width:100%;padding:13px 16px;border-radius:8px;border:1px solid #DDE2D8;font-family:var(--gp-inter);font-size:14px;background:var(--gp-crema);margin-bottom:14px;color:var(--gp-azul);transition:border-color .2s ease}
.field:focus{outline:none;border-color:var(--gp-verde)}
.field::placeholder{color:#9AA5B2}
textarea.field{resize:vertical;min-height:104px}
.field-check{display:flex;align-items:center;gap:8px;font-family:var(--gp-inter);font-size:13px;color:var(--gp-gris-txt);margin-bottom:20px}
.field-check input{accent-color:var(--gp-verde)}
.field.has-error{border-color:#D24B4B;background:#FFF7F7}
.form-msg{font-family:var(--gp-inter);font-size:13.5px;line-height:1.6;margin:16px 0 0;padding:12px 14px;border-radius:8px;display:none}
.form-msg.is-ok{display:block;background:#F1F6E8;color:var(--gp-verde-osc2)}
.form-msg.is-error{display:block;background:#FFF1F1;color:#B93A3A}
.gp-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.contact-aside{display:flex;flex-direction:column;gap:20px;padding-left:8px;border-left:1px solid #EDEFEA}
.contact-aside > div{padding-left:24px}
.contact-aside iframe{width:100%;height:260px;border:0;border-radius:12px;display:block}
.contact-aside h4{font-family:var(--gp-poppins);font-size:14.5px;color:var(--gp-azul);margin:0 0 6px;font-weight:600}
.contact-aside p{font-family:var(--gp-inter);font-size:13.5px;color:var(--gp-gris-txt);margin:0}
.contact-aside__mails{display:flex;flex-direction:column;gap:4px}
.contact-aside__mails a{font-family:var(--gp-inter);font-size:13.5px}
.contact-aside__tel{margin:0 0 8px !important}
.contact-aside__tel a{color:var(--gp-azul);font-weight:600}

/* --- FAQ ----------------------------------------------------------------- */
.faq-section{max-width:var(--gp-max);margin:0 auto;padding:96px var(--gp-pad)}
.faq-section .h2{margin:14px 0 32px}
.faq__item{border-bottom:1px solid #EDEFEA;padding:22px 0}
.faq__q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:24px;width:100%;background:none;border:0;padding:0;text-align:left}
.faq__q h4{font-family:var(--gp-poppins);font-size:17px;color:var(--gp-azul);margin:0;font-weight:600}
.faq__sym{color:var(--gp-verde);font-size:22px;font-family:var(--gp-poppins);line-height:1;flex-shrink:0}
.faq__a{font-family:var(--gp-inter);font-size:14.5px;color:var(--gp-gris-txt);line-height:1.6;margin:12px 0 0;display:none}
.faq__item.is-open .faq__a{display:block}

/* --- footer -------------------------------------------------------------- */
.site-footer{position:relative;background:var(--gp-azul-prof);padding:72px var(--gp-pad) 32px;overflow:hidden;
  background-image:radial-gradient(circle at 15% 20%,rgba(130,195,30,.10) 0%,transparent 45%),
                   radial-gradient(circle at 85% 85%,rgba(70,130,200,.14) 0%,transparent 50%),
                   repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 64px),
                   repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 64px)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;max-width:var(--gp-max);margin:0 auto;position:relative}
.site-footer__grid--3{grid-template-columns:1.4fr 1fr 1.2fr}
.footer-logo{display:inline-flex;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:18px}
.footer-logo img{height:40px;width:auto;display:block}
.site-footer__about{font-family:var(--gp-inter);font-size:13.5px;color:#8FA0B8;line-height:1.7;margin:0 0 22px;max-width:280px}
.socials{display:flex;gap:12px}
.socials a,.socials span{width:32px;height:32px;border-radius:50%;border:1px solid #3A5170;color:#C9D3E0;display:flex;align-items:center;justify-content:center;font-family:var(--gp-inter);font-size:12px;transition:border-color .2s ease,color .2s ease}
.socials a:hover{border-color:var(--gp-verde);color:var(--gp-verde)}
.site-footer h4{font-family:var(--gp-poppins);font-weight:600;font-size:13px;color:#fff;margin:0 0 18px;letter-spacing:.04em;text-transform:uppercase}
.footer-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}
.footer-list li{margin:0}
.footer-list a,.site-footer__contact a{color:#C9D3E0;font-family:var(--gp-inter);font-size:13.5px}
.footer-list a:hover,.site-footer__contact a:hover{color:var(--gp-verde)}
.site-footer__contact{display:flex;flex-direction:column;gap:12px}
.site-footer__contact p{font-family:var(--gp-inter);font-size:13.5px;color:#C9D3E0;margin:0;line-height:1.6}
.site-footer__contact .muted{font-size:13px;color:#8FA0B8}
.site-footer__bottom{max-width:var(--gp-max);margin:40px auto 0;padding-top:24px;border-top:1px solid #2A415F;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;position:relative}
.site-footer__bottom p{font-family:var(--gp-inter);font-size:12px;color:#66748C;margin:0}

/* --- WhatsApp flotante --------------------------------------------------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.22);transition:transform .25s ease}
.wa-float:hover{transform:translateY(-4px)}
.wa-float svg{width:28px;height:28px;fill:#fff}

/* --- páginas genéricas / editor ------------------------------------------ */
.page-basic{max-width:860px;margin:0 auto;padding:80px var(--gp-pad) 96px}
.page-basic h1{font-family:var(--gp-poppins);font-weight:800;font-size:44px;color:var(--gp-azul);margin:0 0 24px;line-height:1.1}
.entry-content{font-family:var(--gp-inter);font-size:16px;line-height:1.75;color:var(--gp-gris-txt)}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--gp-poppins);color:var(--gp-azul)}
.entry-content img{border-radius:12px;height:auto}
.entry-content ul,.entry-content ol{padding-left:20px}

/* ==========================================================================
   Responsive — breakpoints replicados del handoff
   ========================================================================== */
@media (max-width:1180px){
  .site-header__inner{padding:0 24px}
  .site-nav{gap:18px}
  .navlink{font-size:14px}
}
@media (max-width:980px){
  :root{--gp-pad:24px}
  .nav-toggle{display:block;order:3}
  .site-header__inner{flex-wrap:wrap;justify-content:space-between;row-gap:10px}
  .site-nav{display:none;width:100%;order:4;justify-content:center;flex-wrap:wrap;white-space:normal;gap:14px 18px}
  .site-nav.is-open{display:flex}
  .navlink{font-size:13px}
  .site-header .btn-primary{order:2}

  .hero__top,.hero__lower,.hero__chips{grid-template-columns:1fr}
  .hero__lower--rev{grid-template-columns:1fr}
  .kicker-v{display:none}
  .hero__title,.hero__title--64,.hero__title--60,.hero__title--56{font-size:38px;line-height:1.1}
  .h2,.h2--sm,.h2--xs,.advantage__title{font-size:27px;line-height:1.15}
  .hero__media img,.hero__media--420 img,.hero__media--380 img,.advantage__media img{height:340px}

  .advantage__inner,.mv,.certs,.contact-card,.catalog__grid,.steps{grid-template-columns:1fr}
  .certs{gap:32px}
  .steps__line{display:none}
  .step{padding-right:0;margin-bottom:28px}
  .steps .step:last-child{margin-bottom:0}
  .contact-aside{border-left:0;padding-left:0;border-top:1px solid #EDEFEA;padding-top:24px}
  .contact-aside > div{padding-left:0}
  .mv__card{padding:36px}
  .idx-row{grid-template-columns:56px 1fr;gap:10px 18px}
  .idx-row p{grid-column:2}
  .idx-row .btn-outline{grid-column:2;justify-self:start}
  .spec__item{flex:0 0 45%}
  .spec__head{flex-direction:column;align-items:flex-start}
  .pattern-bg .orb{opacity:.5}
}
@media (max-width:640px){
  .hero__top{padding-top:40px}
  .hero__lower,.stats-band,.advantage__inner,.idx-section,.spec,.spec--pad,.catalog,.steps-section,.faq-section,.certs,.mv,.cta__inner{padding-top:56px;padding-bottom:56px}
  .site-footer{padding-top:56px;padding-bottom:32px}
  .hero__title,.hero__title--64,.hero__title--60,.hero__title--56{font-size:30px}
  .h2,.h2--sm,.h2--xs,.advantage__title{font-size:23px}
  .field{font-size:16px}
  .contact-card{padding:28px}
  .cta__card{padding:28px}
  .site-footer__grid{grid-template-columns:1fr;gap:32px}
  .stat__num{font-size:38px}
  .spec__item{flex:0 0 72%}
  .certs__seals img{width:150px}
}
