/* ==========================================================================
   GAP – Gestión y Asesoría Profesional
   Hoja única. Cambia la marca desde los tokens de :root.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');

:root{
  --verde:#005c4c;
  --verde-vivo:#017c66;
  --verde-oscuro:#022922;
  --verde-claro:#eef6f3;
  --oro:#e9c27a;
  --crema:#f7f4ef;
  --crema-media:#eae4d8;
  --tinta:#241f1a;
  --tinta-media:#5c554d;
  --tinta-suave:#6b645b;
  --sobre-verde:#cfe6df;
  --sobre-oscuro:#bfd9d1;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-card:24px;
  --r-grande:30px;
  --ancho:1280px;
  --gutter:clamp(20px,4vw,44px);
  --sombra:0 14px 40px rgba(2,41,34,.1);
  --sombra-alta:0 22px 54px rgba(2,41,34,.13);
  --sombra-hover:0 26px 54px rgba(2,41,34,.18);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,iframe{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0;text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.06;letter-spacing:-.025em;color:var(--verde-oscuro)}
h1{font-size:clamp(38px,5.4vw,68px)}
h2{font-size:clamp(28px,3.8vw,46px)}
h3{font-size:20px}
a{color:var(--verde);text-underline-offset:3px}
a:hover{color:var(--verde-oscuro)}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
::selection{background:rgba(233,194,122,.45)}
[id]{scroll-margin-top:110px}
.skip{position:absolute;left:-9999px;top:0;background:var(--verde-oscuro);color:#fff;padding:12px 18px;z-index:99}
.skip:focus{left:0}

/* — estructura — */
.wrap{max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter)}
.serif{font-style:italic;font-weight:800;color:var(--oro)}
.kicker{align-self:flex-start;display:inline-block;padding:8px 15px;border-radius:999px;background:rgba(233,194,122,.16);color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lead{font-size:clamp(17px,1.8vw,20px);color:var(--sobre-oscuro);max-width:46ch}
.body{font-size:16.5px;color:var(--tinta-media);max-width:46ch}
.small{font-size:13.5px;color:var(--tinta-suave)}
.stack{display:flex;flex-direction:column;gap:22px}
.row{display:flex;flex-wrap:wrap;gap:12px}
.row-end{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(18px,2.5vw,28px);align-items:start}
.blob{position:absolute;border-radius:50%;pointer-events:none}

/* — hero verde con corte diagonal — */
.hero{background:var(--verde-oscuro);color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 80px),0 100%);padding:clamp(40px,5vw,72px) 0 clamp(110px,13vw,175px)}
.hero--alto{padding-bottom:clamp(90px,11vw,150px);clip-path:polygon(0 0,100% 0,100% calc(100% - 90px),0 100%)}
.hero h1{color:#fff}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,56px);align-items:center;position:relative}
.hero-foto{position:relative;border-radius:26px;overflow:hidden;min-height:clamp(280px,34vw,420px);background:linear-gradient(160deg,#04463a,#01312a);box-shadow:0 30px 70px rgba(0,0,0,.3);display:flex;align-items:flex-end;padding:22px}
.nota{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:#8fbdb1;background:rgba(2,41,34,.7);padding:9px 12px;border-radius:10px}
.nota--claro{color:var(--tinta-media);background:rgba(255,255,255,.8)}
.nota--edit{font-family:var(--mono);font-size:10.5px;color:#8d8377}

/* — tarjeta que solapa el corte — */
.overlap{position:relative;z-index:2;margin-top:clamp(-80px,-7vw,-50px)}
.panel{background:#fff;border-radius:var(--r-card);box-shadow:var(--sombra-alta);padding:clamp(26px,3vw,38px)}
.panel--crema{background:var(--crema-media);box-shadow:none}
.panel--verde{background:var(--verde);color:#fff;box-shadow:none}
.panel--verde h2,.panel--verde h3{color:#fff}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(20px,3vw,36px)}
.cifra b{display:block;font-size:26px;font-weight:800;color:var(--verde)}
.cifra span{font-size:14px;color:var(--tinta-media)}

/* — botones píldora — */
.btn{display:inline-flex;align-items:center;gap:8px;padding:19px 28px;border-radius:999px;font-family:var(--sans);font-weight:800;font-size:15px;line-height:1.2;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{transform:translateY(-3px)}
.btn--sm{padding:13px 20px;font-size:14px}
.btn--oro{background:var(--oro);color:var(--verde-oscuro);box-shadow:0 10px 28px rgba(233,194,122,.26)}
.btn--oro:hover{color:var(--verde-oscuro);box-shadow:0 18px 38px rgba(233,194,122,.38)}
.btn--verde{background:var(--verde);color:#fff;box-shadow:0 10px 26px rgba(0,92,76,.24)}
.btn--verde:hover{background:var(--verde-vivo);color:#fff}
.btn--tinta{background:var(--verde-oscuro);color:#fff}
.btn--tinta:hover{color:#fff}
.btn--crema{background:var(--crema-media);color:var(--verde-oscuro)}
.btn--crema:hover{background:var(--oro);color:var(--verde-oscuro)}
.btn--vidrio{background:rgba(255,255,255,.12);color:#fff}
.btn--vidrio:hover{background:rgba(255,255,255,.22);color:#fff}
.btn--sombra-tinta{background:rgba(2,41,34,.1);color:var(--verde-oscuro)}
.btn--sombra-tinta:hover{background:rgba(2,41,34,.2);color:var(--verde-oscuro)}

/* — píldoras de contenido — */
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills li,.pill{padding:11px 17px;border-radius:999px;font-size:14.5px;background:#f2efe8;color:#3b352e}
.pills--vidrio li{background:rgba(255,255,255,.1);color:#fff}
.pills--nav a{display:inline-block;padding:11px 17px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s}
.pills--nav a:hover{background:rgba(255,255,255,.22);color:#fff}

/* — tarjetas de servicio (inicio) — */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(266px,1fr));gap:clamp(16px,2vw,24px)}
.card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:30px 26px 26px;border-radius:22px;background:#fff;color:var(--verde-oscuro);text-decoration:none;box-shadow:0 10px 30px rgba(2,41,34,.08);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.card:hover{transform:translateY(-8px);box-shadow:var(--sombra-hover);color:var(--verde-oscuro)}
.card:nth-child(even){margin-top:18px}
.card-num{position:absolute;right:14px;top:-14px;font-size:96px;font-weight:800;letter-spacing:-.06em;line-height:1;color:rgba(2,41,34,.055);pointer-events:none}
.card-titulo{position:relative;font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.15;max-width:15ch}
.card-nota{position:relative;font-size:14.5px;color:var(--tinta-media);max-width:28ch}
.card-cta{position:relative;margin-top:auto;padding-top:14px;font-size:13.5px;font-weight:800;color:var(--verde)}
.card--oscuro{background:var(--verde-oscuro);color:#fff}
.card--oscuro:hover{color:#fff}
.card--oscuro .card-num{color:rgba(255,255,255,.08)}
.card--oscuro .card-nota{color:#a6cabf}
.card--oscuro .card-cta{color:var(--oro)}

/* — cita en serif — */
.cita{position:relative;border-radius:28px;background:var(--crema-media);padding:clamp(36px,6vw,76px) clamp(26px,5vw,72px)}
.cita::before{content:"\201C";position:absolute;left:clamp(18px,4vw,44px);top:clamp(28px,4vw,54px);font-style:italic;font-weight:800;font-size:clamp(70px,10vw,120px);line-height:0;color:rgba(2,41,34,.12)}
.cita p{position:relative;font-style:italic;font-weight:800;letter-spacing:-.025em;font-size:clamp(26px,3.6vw,46px);line-height:1.12;color:var(--verde-oscuro);max-width:30ch}
.valores{position:relative;margin-top:clamp(24px,3vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px}
.valores b{display:block;font-size:16.5px;font-weight:800;color:var(--verde-oscuro)}
.valores span{font-size:14px;color:var(--tinta-media)}

/* — bandas de color con corte diagonal — */
.banda{background:var(--verde);color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 70px,100% 0,100% 100%,0 calc(100% - 70px));padding:clamp(80px,9vw,130px) 0 clamp(90px,10vw,140px)}
.banda h2{color:#fff}
.banda .lead{color:var(--sobre-verde)}
.banda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(30px,5vw,64px);align-items:center;position:relative}
.kicker--vidrio{background:rgba(255,255,255,.14);color:#fff}

/* — pasos — */
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(12px,2vw,20px)}
.pasos li{display:flex;flex-direction:column;gap:13px;padding:26px 22px;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(2,41,34,.07);transition:transform .25s}
.pasos li:hover{transform:translateY(-6px)}
.pasos b{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--verde-claro);color:var(--verde);font-weight:800;font-size:14px}
.pasos span{font-size:16.5px;font-weight:700;color:var(--verde-oscuro);line-height:1.25}

/* — bloques de servicio (página servicios) — */
.bloques{display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}
.bloque{position:relative;overflow:hidden;border-radius:28px;background:#fff;color:var(--verde-oscuro);box-shadow:var(--sombra);padding:clamp(30px,4.5vw,60px) clamp(24px,4vw,56px)}
.bloque--crema{background:var(--crema-media);box-shadow:none}
.bloque--verde{background:var(--verde);color:#fff;box-shadow:none}
.bloque--verde h2{color:#fff}
.bloque-num{position:absolute;right:clamp(-10px,1vw,20px);top:-30px;font-size:clamp(120px,17vw,210px);font-weight:800;letter-spacing:-.07em;line-height:1;color:rgba(2,41,34,.045);pointer-events:none}
.bloque--verde .bloque-num{color:rgba(255,255,255,.07)}
.bloque-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(26px,4vw,56px);align-items:start}
.etiqueta{align-self:flex-start;display:inline-block;padding:7px 14px;border-radius:999px;background:var(--verde-claro);color:var(--verde);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.bloque--crema .etiqueta{background:rgba(255,255,255,.7)}
.bloque--verde .etiqueta{background:rgba(233,194,122,.2);color:var(--oro)}
.bloque--crema .pills li{background:rgba(255,255,255,.72)}
.bloque--verde .pills li{background:rgba(255,255,255,.11);color:#fff}
.bloque--crema .body{color:#4a4034}
.bloque--verde .body{color:var(--sobre-verde)}

/* — listas de incluye / no incluye — */
.chequeo{display:flex;flex-direction:column;gap:11px}
.chequeo li{display:flex;gap:11px;font-size:15px;color:#3b352e}
.chequeo li::before{content:"\2713";color:var(--verde);font-weight:800}
.chequeo--no li{color:#4a4034}
.chequeo--no li::before{content:"\2014";color:#8d8377}

/* — canales de contacto — */
.canales{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(14px,2vw,20px)}
.canal{display:flex;flex-direction:column;gap:8px;padding:26px 24px;border-radius:22px;background:#fff;color:var(--verde-oscuro);text-decoration:none;box-shadow:var(--sombra);transition:transform .25s,box-shadow .25s}
.canal:hover{transform:translateY(-8px);box-shadow:var(--sombra-hover);color:var(--verde-oscuro)}
.canal em{font-style:normal;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--verde)}
.canal strong{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.canal span{font-size:14px;color:var(--tinta-media)}
.canal--verde{background:var(--verde);color:#fff}
.canal--verde:hover{color:#fff}
.canal--verde em{color:var(--oro)}
.canal--verde span{color:var(--sobre-verde)}

/* — datos de la asesoría — */
.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.datos>div{border-radius:20px;background:rgba(255,255,255,.09);padding:22px}
.datos dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8fbdb1;font-weight:700}
.datos dd{margin:8px 0 0;font-size:30px;font-weight:800;color:#fff}
.datos dd.txt{font-size:17px;font-weight:700}

/* — mapa y marcadores — */
.mapa{border-radius:var(--r-card);overflow:hidden;min-height:240px;background:linear-gradient(160deg,#e4ded1,#d8d1c2);display:flex;align-items:flex-end;padding:20px}

/* — formularios — */
.form{border-radius:26px;background:#fff;box-shadow:var(--sombra-alta);padding:clamp(28px,3.5vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.form h2,.full{grid-column:1/-1}
label{display:block;font-size:13px;font-weight:700;color:var(--verde-oscuro);margin-bottom:8px}
input,select,textarea{width:100%;padding:14px 16px;font-family:var(--sans);font-size:15px;background:#faf8f4;color:var(--tinta);border:1.5px solid #ddd6ca;border-radius:14px;transition:border-color .18s,background .18s}
input:hover,select:hover,textarea:hover{border-color:#c3bbac}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--verde);background:#fff}
textarea{resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:13.5px;color:var(--tinta-media);margin:0}
.check input{width:20px;height:20px;flex:0 0 20px;padding:0;border-radius:6px;accent-color:var(--verde)}
.ok{border-radius:26px;background:#fff;box-shadow:var(--sombra-alta);padding:clamp(32px,4vw,48px);display:flex;flex-direction:column;gap:16px}
.ok .marca{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--verde-claro);color:var(--verde);font-size:24px;font-weight:800}
.ok p{font-size:15.5px;color:var(--tinta-media);max-width:46ch}
.pasos-num{display:flex;flex-direction:column;gap:14px}
.pasos-num li{display:flex;gap:13px;align-items:flex-start;font-size:15px;color:#4a4034}
.pasos-num b{flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--verde-oscuro);color:#fff;font-size:12px;font-weight:800}

/* — cierre en oro — */
.cierre{border-radius:var(--r-grande);background:var(--oro);padding:clamp(38px,5.5vw,76px) clamp(26px,5vw,62px);display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:30px;align-items:end;position:relative;overflow:hidden}
.cierre h2{position:relative;color:var(--verde-oscuro);max-width:20ch}
.cierre p{position:relative;font-size:16.5px;color:#4a4034;max-width:40ch}
.cierre .row{position:relative}
.cierre--verde{background:var(--verde)}
.cierre--verde h2{color:#fff}
.cierre--verde p{color:var(--sobre-verde)}

/* — cabecera — */
.site-header{background:var(--verde-oscuro);position:sticky;top:0;z-index:40}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.brand img{width:42px;height:auto;filter:brightness(0) invert(1)}
.brand-name{display:flex;flex-direction:column;line-height:1.05}
.brand-name b{font-size:19px;letter-spacing:.01em;color:#fff}
.brand-name span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8fbdb1;font-weight:600}
.nav{display:flex;align-items:center;gap:8px}
.nav a:not(.btn){padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:600;color:#e4efeb;text-decoration:none;transition:background .18s,color .18s}
.nav a:not(.btn):hover,.nav a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff}
.nav .btn{margin-left:10px;white-space:nowrap}
.burger{display:none;flex-direction:column;gap:5px;background:rgba(255,255,255,.08);border:0;border-radius:12px;padding:14px;cursor:pointer}
.burger i{display:block;width:20px;height:2px;border-radius:2px;background:#fff}
.mobile-nav{display:none;padding:4px var(--gutter) 26px;flex-direction:column;gap:6px}
.mobile-nav a{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);font-weight:600;color:#fff;text-decoration:none}
.mobile-nav .btn{margin-top:6px;justify-content:center}
.mobile-nav.abierto{display:flex}

/* — pie — */
.site-footer{background:var(--verde-oscuro);color:#e4efeb;clip-path:polygon(0 46px,100% 0,100% 100%,0 100%);margin-top:-6px;padding-top:46px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(28px,4vw,56px);padding:clamp(48px,6vw,84px) 0 28px}
.foot-col{display:flex;flex-direction:column;gap:11px}
.foot-col h3{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);font-weight:700;margin-bottom:4px}
.foot-col a{font-size:14.5px;color:#e4efeb;text-decoration:none}
.foot-col a:hover{color:var(--oro)}
.foot-col p{font-size:14.5px;color:#a6cabf}
.foot-logo{width:104px;height:auto;filter:brightness(0) invert(1)}
.social{display:flex;gap:8px;margin-top:8px}
.social a{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12.5px}
.social a:hover{background:rgba(255,255,255,.16)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0 36px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.foot-bottom p{font-size:12.5px;color:#7fa9a0}

/* — CTA flotantes — */
.wa-float{position:fixed;right:20px;bottom:26px;z-index:50;display:inline-flex;align-items:center;padding:15px 20px;border-radius:999px;background:var(--verde);color:#fff;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 14px 34px rgba(2,41,34,.34);transition:transform .18s,background .18s}
.wa-float:hover{transform:translateY(-3px);background:var(--verde-vivo);color:#fff}
.sticky-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:45;border-radius:999px;background:#fff;box-shadow:0 12px 34px rgba(2,41,34,.2);overflow:hidden}
.sticky-cta div{display:grid;grid-template-columns:1fr 1fr}
.sticky-cta a{padding:16px 10px;text-align:center;font-weight:800;font-size:13.5px;text-decoration:none;color:var(--verde-oscuro)}
.sticky-cta a:first-child{background:var(--verde);color:#fff}

/* — aparición al hacer scroll — */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].visto{opacity:1;transform:none}

/* — responsive — */
@media (max-width:1000px){
  .nav{display:none}
  .burger{display:flex}
  .sticky-cta{display:block}
  .wa-float{bottom:84px}
  .foot-bottom{padding-bottom:110px}
}
@media (max-width:640px){
  .card:nth-child(even){margin-top:0}
  .hero,.hero--alto{clip-path:polygon(0 0,100% 0,100% calc(100% - 46px),0 100%)}
  .banda{clip-path:polygon(0 40px,100% 0,100% 100%,0 calc(100% - 40px))}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important}
}
/* — v2: cambios del PDF — */
.cards--5{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,2vw,20px)}
.cards--5 .card{padding:30px 24px 24px}
.card--verde{background:var(--verde);color:#fff}
.card--verde:hover{color:#fff}
.card--verde .card-num{color:rgba(255,255,255,.1)}
.card--verde .card-nota{color:var(--sobre-verde)}
.card--verde .card-cta{color:var(--oro)}
.bloque-grid--centro{align-items:center}
.bloque h2{max-width:24ch}
.int{background:var(--verde);color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 70px,100% 0,100% 100%,0 calc(100% - 70px));padding:clamp(96px,10vw,140px) 0 clamp(100px,11vw,150px)}
.int h2{color:#fff;font-size:clamp(32px,4.6vw,60px);max-width:22ch}
.int-cab{display:flex;flex-direction:column;gap:20px;max-width:900px;position:relative}
.int-sub{font-size:clamp(17px,1.9vw,21px);color:var(--sobre-verde);max-width:56ch}
.int-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,36px);align-items:start;margin-top:clamp(30px,4vw,48px)}
.int-caja{border-radius:var(--r-card);background:rgba(2,41,34,.35);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;gap:14px}
.int-caja p{font-size:15px;color:var(--sobre-verde)}
.int-caja p:first-child{font-size:16px;color:#fff}
.int-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--oro)}
.kicker--oro{background:rgba(233,194,122,.2);color:var(--oro)}
.precio-card{border-radius:var(--r-card);background:var(--crema);color:var(--verde-oscuro);padding:clamp(22px,3vw,30px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.precio-card small{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--verde)}
.precio-card strong{font-size:30px;font-weight:800;letter-spacing:-.02em}
.precio-card strong span{font-size:15px;font-weight:600;color:var(--tinta-media)}
.pills--sm li{padding:9px 14px;font-size:13.5px}
.opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(16px,2.5vw,28px);align-items:stretch}
.opcion{position:relative;overflow:hidden;border-radius:28px;background:#fff;box-shadow:var(--sombra-alta);padding:clamp(28px,3.5vw,44px);display:flex;flex-direction:column;gap:20px}
.opcion>*{position:relative}
.opcion .bloque-num{position:absolute;font-size:130px;top:-22px;right:14px}
.opcion .blob{position:absolute}
.opcion h2{font-size:clamp(24px,2.8vw,32px)}
.precio{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.precio b{font-size:clamp(46px,5vw,60px);font-weight:800;letter-spacing:-.04em;color:var(--verde);line-height:1}
.precio span{font-size:15px;font-weight:600;color:var(--tinta-media)}
.opcion p{font-size:15.5px;color:#4a4034}
.opcion .btn{margin-top:auto;align-self:flex-start}
.opcion .etiqueta-sm{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#8d8377}
.opcion--verde{background:var(--verde);color:#fff}
.opcion--verde h2{color:#fff}
.opcion--verde .bloque-num{color:rgba(255,255,255,.07)}
.opcion--verde .precio b{color:var(--oro)}
.opcion--verde .precio span{color:var(--sobre-verde)}
.opcion--verde p{color:#e4efeb}
.opcion--verde .etiqueta{background:rgba(233,194,122,.2);color:var(--oro)}
.opcion--verde .etiqueta-sm{color:var(--oro)}
.opcion--verde .pills li{background:rgba(255,255,255,.12);color:#fff}
.lead-oscuro{font-size:clamp(17px,1.8vw,20px);color:var(--tinta-media);max-width:52ch}
/* — v3: Javier — */
.javier{padding:clamp(64px,8vw,120px) 0 clamp(40px,5vw,72px)}
.javier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(36px,6vw,88px);align-items:start}
.javier-foto{position:sticky;top:110px;max-width:500px;width:100%;justify-self:center;margin:0}
.javier-foto::before{content:"";position:absolute;inset:28px -22px -22px 28px;border-radius:30px;background:var(--oro)}
.javier-foto .marco{position:relative;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px rgba(2,41,34,.22);aspect-ratio:4/5;background:#dfe7e3}
.javier-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.javier-sello{position:absolute;left:-14px;bottom:28px;border-radius:18px;background:var(--verde-oscuro);color:#fff;padding:16px 20px;box-shadow:0 18px 40px rgba(2,41,34,.3);display:flex;flex-direction:column;gap:2px}
.javier-sello small{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--oro)}
.javier-sello b{font-size:15px}
.javier-cargo{font-size:17px;font-weight:700;color:var(--verde)}
.javier-intro{font-size:clamp(17px,1.8vw,20px);color:#3b352e;max-width:52ch}
.credenciales{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:4px}
.credenciales li{border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(2,41,34,.07);padding:18px;display:flex;flex-direction:column;gap:4px}
.credenciales b{font-size:15px;color:var(--verde-oscuro)}
.credenciales span{font-size:13.5px;color:var(--tinta-media)}
.trayectoria summary{cursor:pointer;list-style:none;font-size:14.5px;font-weight:800;color:var(--verde);padding:12px 0}
.trayectoria summary::-webkit-details-marker{display:none}
.trayectoria summary::after{content:" ↓"}
.trayectoria[open] summary::after{content:" ↑"}
.trayectoria .panel{display:flex;flex-direction:column;gap:14px}
.trayectoria p{font-size:15px;color:#4a4034}
.cita--verde{background:var(--verde);color:#fff;overflow:hidden}
.cita--verde::before{color:rgba(255,255,255,.14);font-style:italic;font-weight:800;top:clamp(28px,4vw,54px);line-height:0}
.cita--verde p{color:#fff}
.cita--verde .valores b{color:var(--oro)}
.cita--verde .valores span{color:var(--sobre-verde)}
.asesor{border-radius:var(--r-card);background:#fff;box-shadow:var(--sombra);padding:clamp(22px,3vw,30px);display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.asesor img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 22%;box-shadow:0 0 0 4px var(--oro)}
.asesor div{flex:1 1 180px;display:flex;flex-direction:column;gap:4px}
.asesor small{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--verde)}
.asesor b{font-size:18px;color:var(--verde-oscuro);line-height:1.2}
.asesor span{font-size:14px;color:var(--tinta-media)}
.duracion{padding:8px 14px;border-radius:999px;background:var(--verde-claro);font-size:14px;font-weight:700;color:var(--verde)}
.opcion--verde .duracion{background:rgba(255,255,255,.12);color:#fff}
/* — v4 — */
.hero-foto--img{padding:0;background:#04463a;min-height:clamp(280px,34vw,440px)}
.hero-foto--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-foto--img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,41,34,0) 45%,rgba(2,41,34,.78) 100%)}
.hero-foto--img figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px}
.hero-foto--img figcaption span{display:flex;flex-direction:column;gap:2px}
.hero-foto--img small{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--oro)}
.hero-foto--img b{font-size:17px;color:#fff}
.hero-foto--img figcaption a{font-size:10.5px;color:rgba(255,255,255,.7);text-decoration:none}
.mapa-embed{border-radius:var(--r-card);overflow:hidden;background:#fff;box-shadow:var(--sombra)}
.mapa-embed iframe{display:block;width:100%;height:300px;border:0}
.mapa-embed div{padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.mapa-embed b{font-size:14px;color:var(--verde-oscuro)}
.mapa-embed a{font-size:14px;font-weight:800;text-decoration:none}
